H3.11.3error announcement timing during input设计研究

播报时机过早会打断用户正在进行的输入

别名: 过早播报 · announce while typing · 打断输入

概念解释

校验在键入中途就判定「还不合法」,若同时送进实时区域,屏幕阅读器会插入一句错误,把正在听的键回显或正在组织的下一词切断。过早播报打断输入:不是不播报,是不要在人还没把这个字段交出去时开口。这条管时机,不管句子里有没有字段名。

机制

输入是一条占满语音通道的活动:每个字符的回显、拼写、选词。实时区域的消息会抢这条通道,优先级通常高于回显。邮箱还没打完 @ 就被读「格式无效」,人会停下改一个尚未完成的字符串,或关掉回显好听到错误,于是输入本身变盲。失焦、提交、或明确的「检查」动作才是字段被交出去的边界,播报应挂在这些边界上。已经报过错的字段在修正过程中立即解除错误,解除可以立刻播,因为那是在结束打断而不是开始打断。

怎么研究

同一格式字段比较:每键播报、失焦播报、提交时播报。

自变量:播报相对输入的时机、实时区域的礼貌程度、是否在修正中立即解除。 因变量:完成输入的时间、被打断的次数、未完成就被改掉的次数、最终错误率。

屏幕阅读器的键回显设置会强烈影响体验,要记录被试是否开启回显,不要把「关了回显所以不烦」写成时机设计的成功。

边界

长度计数、密码强度这类与每个字符相关的提示,若必须实时,应避免进断言式错误通道,改用可被忽略的次要状态,或只在停顿后更新。验证码的「还剩一次」属于安全,但仍不应在每一位数字上播报。语音输入本身已经占用通道,更不能在识别中途插入校验句。

怎么落地

  • 把错误播报绑在失焦或提交,不绑在每一次 keyup。
  • 已显示的错误在值变为合法时立即播「已更正」或撤掉错误文本,让通道恢复给输入。
  • 实时区域不要用会打断的断言级别去报尚未提交的格式问题。
  • 验证:打开键回显,在邮箱字段打到一半。若朗读插入了错误句,时机就过早。

延伸

  • 同组H3.11.1 错误信息出现时需要主动播报给屏幕阅读器用户 · H3.11.2 仅靠颜色变化传递错误状态的方式对播报无效 · H3.11.4 播报内容需要具体到字段与原因,而非笼统提示有误
  • 相邻H1.04 实时校验的时机 · J5.12 动态内容的播报 · E6.03 内联校验提示
  • 站内检索announcement timing · live region politeness · interruptive validation

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/H3.11.3