C6.11.2Autocorrect visible and one-step undoable设计研究
纠错必须可见且可一步撤销
别名: 纠错撤销 · 显示替换 · revert correction
概念解释
一次静默替换若在视觉上与手打无异,用户只能靠重读整句来发现。纠错必须让刚发生的那一次替换能被看见,并且用一个与“再删五个字母重打”不同的动作回到原串。可见解决察觉,一步撤销解决误报的修复成本;缺一则误报会留在发出去的文本里。
机制
察觉依赖对比:原词和新词若只在确认边界上闪一下,工作记忆里还留着原词,短暂下划线或原词气泡能对上这份记忆;若新词直接取代、无痕迹,记忆会被新词覆盖,察觉推迟到通读。修复依赖动作粒度:退格若一次只删一个字母,用户等于把新词手工拆掉再打旧词,成本高于当初打错。把“恢复被替换的原串”做成退格的第一下、或点在标记上的一拍,修复就和察觉共用同一个对象。这一步必须针对这一次纠错,而不是打开通用撤销去回退整段编辑。否则用户会连带着撤销掉纠错之前有意打的内容。
怎么研究
在已知会误报的词上触发替换,测量从替换到用户第一次尝试改回的时间、所用动作(退格、点气泡、系统撤销)、以及是否误伤了邻词。自变量包括有无可见标记、撤销是一步还是按字符、标记持续时间;因变量包括察觉率、修复时间和误撤销。看不见标记的对照组用来估计“通读才发现”的比例。
边界
用户明确点选的候选不是纠错,不必走这条撤销;那是一次确认过的写入。已经离开该字段、甚至已经发送的文本,一步撤销可能不再可用,只能靠消息编辑或对方的理解。辅助技术需要把替换作为一次可宣布的变化,而不是静默改 DOM。
怎么落地
- 替换发生时在该词上保留直到下一词开始的可见标记,并让第一次退格或点击标记恢复原串。
- 不要把纠错的恢复做成“撤销上一次所有编辑”;恢复集合里只能有被替换的那一个词。
- 走查误报词:从替换到恢复是否恰好两步(看见、一拍),中间若出现逐字删除,撤销就还不是一步。