Agent 的等待、失败和完成提示,怎样让键盘与读屏用户也能知道
Agent的等待、失败和完成提示,需要让看不到视觉变化的用户也能感知。页面出现一个进度图标或颜色变化,不代表读屏工具会知道;每收到一个词就抢焦点,也会让输入无法继续。本文以任务状态区设计可访问性验收,样例标记只保存在安全JSON字符串中,没有可执行页面脚本。
先明确哪些变化需要提醒
用户提交任务以后,受理、等待补充、失败与结果可领取都是有意义的状态变化。流式输出每增加一个词通常不必作为独立播报;否则长答案会持续打断读屏。把阶段提示与正文输出分开,用户能知道当前状态,也能选择何时阅读完整结果。
等待补充要指出缺字段,错误要能定位对应输入,完成要提供结果入口。只说发生错误没有下一步,对键盘与读屏用户同样无用。图标可以辅助,但重要含义有可读文字,不能只用红绿颜色区分。
状态区不依赖抢焦点
W3C状态消息解释说明状态变化应能通过角色或属性被辅助技术识别,而不必先取得焦点。具体使用适当状态角色或实时区域时,需要核对目标浏览器和读屏组合,不能贴一个属性就宣称满足全部无障碍要求。
本文附件用静态字符串表示最小状态区,便于开发者评审结构。字符串不是已在用户浏览器运行的原型,也没有脚本或外部资源。真实实现要控制更新频率、重复提示和内容顺序,不能在每次渲染时重新插入相同文案导致反复播报。
焦点与状态各自有责任
普通处理中更新不移动输入焦点,用户仍能继续编辑允许的字段。提交失败需要改字段时,可提供错误摘要与跳转位置,是否自动移动焦点按具体流程测试;不能无条件跳到页面顶部,让用户找不到刚才操作的控件。
结果可领取后提供可访问名称清楚的按钮或链接。取消受理与已停止分别提示,不用同一个静默图标替代。按钮的禁用与启用状态可被识别,但不能只依赖禁用按钮表达为什么不能继续,附近仍要有解释文字。
附件按用户路径逐项核对
下载任务状态与键盘验收样例。材料包含受理、等待补充、普通生成、错误摘要、取消处理中和完成领取,列预期焦点、状态文案与人工观察项。示例状态区只是JSON内文本,不会在离线预览中执行。
使用目标支持的浏览器与读屏,逐项记录实际播报和键盘顺序。没有安装或运行相应辅助技术时,标记未验证,不能靠截图推断读屏行为。键盘独立测试与读屏测试都要做,二者覆盖的障碍不完全相同。
流式与重复状态尤其需要节制
生成期间可以在开始时说明正在整理,完成时说明结果已就绪;正文更新由用户主动阅读,而不是持续抢占播报。相同状态重复到达时不重复提醒,真正状态变化仍需要感知。来源长时间无更新时,提示进度暂不可更新,并区分任务失败,避免持续播报等待中。
错误信息引用业务字段名而非内部参数名,必要时给示例。动态出现的补充表单保持合理阅读顺序,关闭后把焦点回到合适位置;不能把焦点留在已经移除的控件上。附件预留实际观察与改进记录,不伪造一次通过的结论。
验收范围需写清
一份状态区样例只验证部分问题,不能等同于整个产品已符合WCAG。目标浏览器版本、读屏设置和语言都记录,后续重大界面变化再核对受影响路径。内部实现细节留在工程说明,面向产品用户的提示保持具体易懂。
原型补开发可参考正式产品差距,用户交互属于客服问答专题的产品体验。通过定制咨询提供任务状态、关键输入与目标使用环境,可评估状态提示、焦点管理和人工验收范围。