F6.04.3hit area vs icon size设计研究
图标尺寸与其命中区尺寸无关
别名: 命中区 · 热区 · hit target · tap target
概念解释
屏上那 16 像素的图形是给人看的,手指点到的是它下面那块更大的命中区(hit area)。两个尺寸各管一件事:图形尺寸管能不能辨认,命中区管能不能点中。把图形画大来「好点」,或把命中区收成图形那么大来「更精致」,都是把两笔账合成了一笔。图标尺寸与命中区尺寸没有换算关系,只是常常叠在同一个控件里。
机制
指向运动的难度由目标的有效宽度和距离决定,不由那几根可见的线决定。手指的接触面远大于一枚小图标的轮廓,若命中区贴着轮廓走,实际能点中的宽度被轮廓裁掉,误差直接变成邻项误触。反过来,把图形撑到命中区那么大,是在用可辨认性去填指向难度:图形糊了,点起来倒是容易。两条通道的限制来源不同——一个是像素与细节,一个是运动与接触面——所以没有「边长等于热区」的必要。桌面上的光标热点更小,命中区仍可大于图形,因为要给瞄偏留余量;触屏上这个余量只是更大。
怎么研究
Fitts 类指向任务可以把可见图形边长和可点矩形边长拆成两个自变量。经典结果是:时间跟着有效目标走,不跟着那枚可见方块走——只要命中区真的在响应。漏报的情况也很说明问题:图形很大但命中区仍是默认的小方块,人会按看到的大小去点,点在「看起来属于图标」的空白上却落空。因变量:指向时间、错误率、落空点击的位置分布。必须同时记录可见框和响应框,只报其中一个等于没拆开。
边界
- 可见图形如果明显小于命中区,又没有其他边界(底、框、整块列表行),用户会低估可点范围,去点轮廓本身;这时要让容器(行、按钮底)把命中区露出,而不是把图画大。
- 相邻控件的命中区不能重叠;加大命中区的上限是邻项的间距,不是「热区越大越好」。
- 图形自己糊掉是细节密度的问题,加大命中区救不了可辨性。
- 这条禁止把两笔账合成一笔,不规定小档要不要另画主稿。
怎么落地
- 分别规定:图形边长按可辨来定,命中区按指向来定。触屏上的图标按钮尤其不要让响应框等于路径框。
- 用列表行、按钮底或透明扩展来露出命中区,避免「只有线是可点的」。
- 验证办法:在调试态把命中区画出来,看它是否大于图形、是否与邻项脱开;再在真机上点图形周围的「空白」。空白点不中,就是两笔账还叠在轮廓上。