间距与尺寸需同时满足
别名: 目标间距 · 触达间距 · size and spacing
概念解释
单个目标够大,挨着的另一个也够大,中间只留 2 像素缝,仍然会点错。尺寸决定能不能点中自己,间距决定会不会点成邻居。两条失败模式不同,所以下限要同时成立:放大目标却挤在一起,或拉开距离却留着 12 像素的命中区,都会在真实手指和震颤下垮掉。
有的检查清单允许「不够大,但周围空出相当于下限的隔离区」。隔离能降低点错邻居的概率,并不能让一个过小的命中区变得好点。把它当成尺寸的替代,是把两种误差当成了一种。
机制
运动噪声落在目标周围一块云里。云的半径随震颤、速度、触控接触面变大。尺寸不够时,云心即使对准了,落点仍经常掉在目标外——这是漏点。间距不够时,云会覆盖邻居的命中区——这是点错。漏点和点错的后果不对称:漏点可以再试,点错可能提交、删除、关注了另一个人。
把尺寸做大却把缝挤掉,只是把漏点转换成点错。把缝拉开却不改小图标,漏点还在。这就是「同时」:两个参数各自修一种误差,不能互相顶替。相邻目标的后果差异越大(「取消」贴着「永久删除」),间距的权重越高,因为点错的代价不是再点一次。
怎么研究
成对测量:每个目标的边长,以及到最近可点邻居的净距(不含自身)。画出「尺寸 × 间距」散点,落在双阈值左下的点就是同时失败。任务里分别记漏点和点错,不要合成一个「准确率」。
震颤或戴手套的触摸会把噪声云放大,实验室里用鼠标点中不代表触摸通过。用真实手指或触控模拟器复测相邻图标工具栏,而不是只测孤立按钮。
边界
孤立的、周围没有可点邻居的目标,间距这项自然满足,仍须满足尺寸。滚动容器里「视觉上相邻、命中区在不同层」的控件(固定底栏与列表最后一项重叠)要用叠加上的实际像素来量净距,不能按文档流的 margin。间距在放大后会被压缩,200% 缩放下原本够的缝可能不够——那是缩放与重排的问题,但这条的验收至少要包含默认字号和一次放大。
怎么落地
- 每个可点对象既达到尺寸地板,又与最近可点邻居留出不会共用噪声云的净距。
- 后果严重的相邻操作(删除 / 发送 / 同意)优先隔离,不要只靠颜色区分。
- 不要用「周围很空」为过小的命中区开脱;空解决的是点错,不是漏点。
- 验证:在图标工具栏上用手指连点相邻两项。出现稳定点错或稳定点空,就知道缺的是间距还是尺寸。