C6.13.3Hierarchical text selection设计研究
词、句、段的分级选择降低精细操作需求
别名: 双击选词 · 三击选段 · 分级选择
概念解释
多数编辑要的不是“从第 n 个字符到第 m 个字符”,而是这一个词、这一句、这一段。分级选择用双击、三击或长按直接命中这些语言单位,让选区边界落在词法或句法边界上,而不是落在手指碰巧点到的那条缝。精细拖动手柄变成例外,而不是每次复制的必经路。
机制
自然语言有现成的切分:空格或分词给出词,句号问号给出句,空行给出段。系统把一次点击的落点映射到包含它的单位,选区两端自动吸到该单位的边界。用户省掉的是两次精确的缝瞄准。单位选错时(要的是词的一部分、或跨句的半句),才降到手柄微调。分级把瞄准从字符缝抬到物体级目标:一个词的视觉块远大于一条缝,Fitts 时间下降,误选的形态也从“偏一个字符”变成“多抓了邻词”,后者更容易被看见。语言切分必须跟用户的语言一致:中文没有空格,词边界依赖分词器,切错时分级选择会显得武断。
怎么研究
给一批真实编辑任务(改一个词、复制一句、删一段),比较只提供手柄与提供词/句/段快捷的完成时间和手柄拖动次数。自变量包括语言(有无空格)、分词是否可见、手势是双击还是长按。因变量包括单位选对率、随后的手柄修正、以及误扩到邻句的次数。不要只用“最终选区是否正确”:中间若拖了很多次手柄,分级就没有把精细操作降下来。
边界
代码、路径、不换行的长 URL 没有句段结构,分级会选中整行或莫名其妙的片段。表格单元格、数学公式内部的“词”定义不同。无障碍用户用键盘做选择时,分级对应 Ctrl+Shift+方向键一类的单位跳转,手势本身不适用,但单位层级仍然有用。
怎么落地
- 为词、句、段提供稳定手势(例如双击词、三击段),并在选中后仍可用手柄收缩,而不是只能取消重来。
- 中文等无空格语言要公开分词结果或允许一次选择后立刻收缩到字,避免“我要两个字却给了整个词”。
- 日志里看复制/剪切前是否经过手柄微调;若绝大多数任务在单位选择后仍拖手柄,单位切分就和用户要的粒度不一致。