C6.11.2Autocorrect visible and one-step undoable设计研究

纠错必须可见且可一步撤销

别名: 纠错撤销 · 显示替换 · revert correction

概念解释

一次静默替换若在视觉上与手打无异,用户只能靠重读整句来发现。纠错必须让刚发生的那一次替换能被看见,并且用一个与“再删五个字母重打”不同的动作回到原串。可见解决察觉,一步撤销解决误报的修复成本;缺一则误报会留在发出去的文本里。

机制

察觉依赖对比:原词和新词若只在确认边界上闪一下,工作记忆里还留着原词,短暂下划线或原词气泡能对上这份记忆;若新词直接取代、无痕迹,记忆会被新词覆盖,察觉推迟到通读。修复依赖动作粒度:退格若一次只删一个字母,用户等于把新词手工拆掉再打旧词,成本高于当初打错。把“恢复被替换的原串”做成退格的第一下、或点在标记上的一拍,修复就和察觉共用同一个对象。这一步必须针对这一次纠错,而不是打开通用撤销去回退整段编辑。否则用户会连带着撤销掉纠错之前有意打的内容。

怎么研究

在已知会误报的词上触发替换,测量从替换到用户第一次尝试改回的时间、所用动作(退格、点气泡、系统撤销)、以及是否误伤了邻词。自变量包括有无可见标记、撤销是一步还是按字符、标记持续时间;因变量包括察觉率、修复时间和误撤销。看不见标记的对照组用来估计“通读才发现”的比例。

边界

用户明确点选的候选不是纠错,不必走这条撤销;那是一次确认过的写入。已经离开该字段、甚至已经发送的文本,一步撤销可能不再可用,只能靠消息编辑或对方的理解。辅助技术需要把替换作为一次可宣布的变化,而不是静默改 DOM。

怎么落地

  • 替换发生时在该词上保留直到下一词开始的可见标记,并让第一次退格或点击标记恢复原串。
  • 不要把纠错的恢复做成“撤销上一次所有编辑”;恢复集合里只能有被替换的那一个词。
  • 走查误报词:从替换到恢复是否恰好两步(看见、一拍),中间若出现逐字删除,撤销就还不是一步。

延伸

  • 同组C6.11.1 纠错是在无确认情况下替换用户输入 · C6.11.3 姓名、密码、代码等场景需关闭纠错
  • 相邻C6.16 文本输入中的撤销 · C6.10 自动补全
  • 站内检索revert autocorrect · undo correction · correction underline

同组卡片

快捷操作

分享

分享当前页面

ios_share

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