搜索按钮按下后,页面下方悄悄出现新内容,视觉上能看到变化,正在使用读屏的用户却未必同时知道发生了什么。界面设计交付若只画出结果列表,可能没有交代搜索结束或没有结果时应怎样传达状态。
W3C对WCAG 2.2成功标准4.1.3的说明,将结果列表本身与状态消息作了区分。列表内容不属于该处所定义的状态更新;“正在搜索”“返回若干结果”或“没有结果”等简短提示,在不获取焦点或触发页面刷新的相应情形下,才属于所讨论的状态信息。不能因此把页面里所有新内容都当成同一种提示。
官方工作示例模拟一次没有匹配项的搜索,为零结果提示设置status角色,并说明读屏应播报这一状态。它展示的是一种教学实现思路。本文实际阅读了示例说明,没有运行读屏测试,因此不能把“应当播报”写成本次已经在所有设备上听到正确播报。
整理设计说明时,可以分别列出结果区域怎样变化、状态提示传达什么、焦点是否移动,以及哪些情形需要后续验证。零结果不是一个应被留空的意外分支,它本身也有需要让用户理解的状态。设计稿中有文字,还不代表实现已经提供了辅助技术可识别的信息。
文案也应说明发生的事情。只显示一个没有上下文的数字,可能难以让读者知道是在说搜索结果、页码还是通知数量。具体提示可以结合界面任务表达,但不必重复播报整张列表。选择怎样实现时,还需要开发与测试按页面行为核对,不能仅凭一个角色名称宣告可访问性全部通过。
验收记录则应区分静态检查与真实交互测试。代码里看到了相关属性,只能证明对应实现存在;实际焦点、更新触发与读屏结果需要在所用环境下确认。没有完成的组合写成未测试,避免把一份教学示例或设计意图替代上线页面的结果。
本文没有评估任何具体网站的合规性。它为界面交付提出的区分是:结果列表承载内容,状态消息帮助解释发生的变化,实际测试证明用户是否能获得这条信息。三者相关,但各自需要清楚的说明和证据。
信息来源
- W3C Web Accessibility Initiative:Understanding Success Criterion 4.1.3: Status Messages
- W3C Web Accessibility Initiative:Using role=status to Provide Status Message on Search Results
本文基于上述公开资料整理,未使用来源页面的图片、视频或嵌入媒体。