C6.13.1Finger precision versus character gaps设计研究

手指精度不足以定位到字符间隙

别名: 插入符定位 · 字符间隙 · 触屏光标

概念解释

文本插入符要落在两个字符之间的缝里。缝的宽度是零,或只有半个字形的视觉间隙,而手指接触面积往往覆盖好几个字符。直接点在这段文字上,系统只能从接触质心去猜缝在哪,猜错就是插到邻字。手指精度在这里不够,不是因为字看不清。

机制

命中测试把一个有面积的触点投影到一条由字形前进宽度排成的一维轴上。轴上每个缝的接受域大约是左右各半个字形,窄于指腹。质心再偏一点,插入符就跳到下一缝。行距、字号、以及中文方块字与拉丁字母混排,会让接受域忽大忽小,同一手指在同一段里的成功率不稳定。桌面鼠标的热点是一个像素级点,可以停在缝上;手指没有这个点。所以触屏上的“点一下改插入符”是一次低分辨率的量化,不是一次瞄准。错误会在开始编辑时才暴露:用户以为点在了要改的字前面,结果打进去的字跑到后面。

怎么研究

让人把插入符放到指定的字符前,变化字号、行距、字体和手指(拇指 / 食指),记录首次命中、修正次数和触点相对目标缝的偏移。自变量还包括是否允许二次微调。因变量把“落在邻缝”和“落在邻行”分开。用鼠标当对照,只说明设备差异,不能当作触屏的合格线。

边界

很大的字号、几乎只有几个字符的字段(验证码),缝的接受域可以大到够用。笔尖比手指小一个数量级,这条对笔弱得多。已经用选择或方向键把插入符放到附近时,问题从“第一次点中缝”变成“怎么微移”,那是另一套控件。

怎么落地

  • 不要把“点一下文字”当作精确插入符的唯一手段;第一次落下只保证落到词附近。
  • 字号较小的正文编辑必须提供二次定位(放大、间接滑动或方向键),而不是要求用户连点直到碰巧正确。
  • 记录首次落下与目标缝的字符距离;经常偏一个字符以上,就还在用手指做它做不到的像素瞄准。

延伸

  • 同组C6.13.2 选择手柄需要足够的触达尺寸 · C6.13.3 词、句、段的分级选择降低精细操作需求
  • 相邻C6.14 放大镜与光标微调 · C2.04 胖手指问题
  • 站内检索caret placement · character gap · touch precision

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/C6.13.1