H3.11.3error announcement timing during input设计研究
播报时机过早会打断用户正在进行的输入
别名: 过早播报 · announce while typing · 打断输入
概念解释
校验在键入中途就判定「还不合法」,若同时送进实时区域,屏幕阅读器会插入一句错误,把正在听的键回显或正在组织的下一词切断。过早播报打断输入:不是不播报,是不要在人还没把这个字段交出去时开口。这条管时机,不管句子里有没有字段名。
机制
输入是一条占满语音通道的活动:每个字符的回显、拼写、选词。实时区域的消息会抢这条通道,优先级通常高于回显。邮箱还没打完 @ 就被读「格式无效」,人会停下改一个尚未完成的字符串,或关掉回显好听到错误,于是输入本身变盲。失焦、提交、或明确的「检查」动作才是字段被交出去的边界,播报应挂在这些边界上。已经报过错的字段在修正过程中立即解除错误,解除可以立刻播,因为那是在结束打断而不是开始打断。
怎么研究
同一格式字段比较:每键播报、失焦播报、提交时播报。
自变量:播报相对输入的时机、实时区域的礼貌程度、是否在修正中立即解除。 因变量:完成输入的时间、被打断的次数、未完成就被改掉的次数、最终错误率。
屏幕阅读器的键回显设置会强烈影响体验,要记录被试是否开启回显,不要把「关了回显所以不烦」写成时机设计的成功。
边界
长度计数、密码强度这类与每个字符相关的提示,若必须实时,应避免进断言式错误通道,改用可被忽略的次要状态,或只在停顿后更新。验证码的「还剩一次」属于安全,但仍不应在每一位数字上播报。语音输入本身已经占用通道,更不能在识别中途插入校验句。
怎么落地
- 把错误播报绑在失焦或提交,不绑在每一次 keyup。
- 已显示的错误在值变为合法时立即播「已更正」或撤掉错误文本,让通道恢复给输入。
- 实时区域不要用会打断的断言级别去报尚未提交的格式问题。
- 验证:打开键回显,在邮箱字段打到一半。若朗读插入了错误句,时机就过早。