横向可滚动需要显式的视觉提示
别名: 横向滚动提示 · 溢出阴影 · 可滚动暗示 · scroll shadow
概念解释
列比视口宽时,未入场的列默认是不可见的。若裁切边缘看起来像一张表的自然终点,用户会以为已经看到全部属性。横向溢出提示(horizontal overflow affordance)用切断的单元格、边缘渐隐、阴影或可滑动的示意,声明「这边还有列」。它不负责冻住表头或首列,只负责让人知道滚动这个动作存在。
机制
视口是一个窗口,窗口外的内容没有形状。人把整齐的右缘读成对象的结束——表格尤其如此,因为网格本身就在画边界。没有溢出提示时,结束被误判为数据集的结束,远端列上的比较根本不会被发起。提示必须是边缘上的残缺,而不是角落里的小箭头:残缺让人看到「对象被窗子切了一刀」,箭头则要先被找到、再被理解成控件。滚动一旦到达尽头,提示应消失或反向,否则会继续承诺已经不存在的列。只在初次进入时闪一下的提示会被习惯化掉,之后每次进入宽表仍会当成完整表。触屏上没有悬停,更不能指望鼠标形状来泄露可滚动。
怎么研究
把同一张宽表做成有切断列、有边缘阴影、只有细滚动条、以及无任何提示四种,问「这张表有几列」并让被试找出藏在远端的属性。记录是否尝试横向滑动、发现远端列的时间、以及自信「已经看全」的误报。自变量:提示类型、右缘是否碰巧落在列边界上(齐缝裁切最像终点)。因变量:溢出发现率、错误的「到头了」判断。齐缝裁切条件下若无提示,发现率应最低。
边界
列全部在视口内时仍画阴影,是在撒谎,会诱出无效滑动。自定义滚动条被系统隐藏(尤其是触屏叠层滚动条)时,滚动条不能当提示用。屏幕阅读器不看阴影,列必须能被表头导航或列选择器到达,视觉提示只服务看见网格的人。把提示做成「向右看更多」按钮会把滚动变成显式分页,发现性上升,但比较平面被切成一页一页,那是另一种交互,不能替代边缘残缺。
怎么落地
- 让最后一列可见部分被裁切,或在溢出边缘加随滚动方向出现、到达尽头消失的阴影。
- 不要让视口宽度刚好卡在列与列的缝上;齐缝是最像「到头」的裁切。
- 滚动条可作补充,不能当唯一提示,尤其是系统会自动隐藏滚动条的平台。
- 验证:截一张未滚动的首屏给没见过这张表的人,问「还有没有没看见的列」。答「没有」而实际有,就是提示失败。