E1.16.2screen reader announces role设计研究

屏幕阅读器会分别播报链接与按钮的角色而非仅读文案

别名: 播报角色 · link button utterance · role announcement

概念解释

屏幕阅读器对一枚控件的完整句子是名称 + 角色(再加状态):「保存,按钮」「个人资料,链接」。用户靠角色决定下一步策略:链接就准备导航、也许开转子跳链接;按钮就准备激活、也许去按钮列表找。只把文案读对而角色错或缺失,等于给了正确的名词、错误的动词。分别播报角色,不是锦上添花,是分类查找能成立的前提。

机制

熟练的阅读器用户很少线性听完整页,他们用转子、快捷键按角色跳。角色一旦是「组」或「文本」,这条对象从跳转表里消失,即使名称里写着保存。角色是按钮而实际会导航,用户不会用开新标签的命令;角色是链接而实际会提交,用户可能把它留给稍后批量打开,结果提前提交。名称相同的两枚控件(都叫「下一步」)全靠角色区分导航下一步和提交下一步。可见外观帮不了这条通道。合成语音把角色读在名称后,用户是在听完角色才拍板,所以角色错误会直接改写决策。

怎么研究

在阅读器里列出本页所有按钮、所有链接,看目标控件在不在正确的表里。再听线性聚焦的完整句子。对照角色正确、角色缺失、角色相反。

自变量:DOM 角色、名称是否相同、用户是否使用转子。 因变量:能否用角色跳转到目标、决策是否与真后果一致、完成时间。

让视力正常的主试看着屏幕听,会用眼睛补角色。应遮住屏幕或请盲人用户来做分类查找。

边界

有的阅读器可以关掉角色播报,用户若关了,名称必须自足,但不能把产品建立在「用户关了角色」上。图标按钮名称若已写成「保存按钮」,会和角色叠成「保存按钮,按钮」。PDF 阅读器的角色支持参差,同一套 DOM 假设搬不过去。

怎么落地

  • 保证导航出现在链接表、动作出现在按钮表,而不是只检查线性朗读有没有字。
  • 名称不要包含「按钮」「链接」字样,把角色留给阅读器。
  • 同一文案用于两种角色时,必须靠角色区分,并在任务里分别可被跳到。
  • 验证:打开转子的按钮列表与链接列表。保存应只在按钮里,个人资料应只在链接里。两表都没有或都有,角色就没有被分别播报。

延伸

  • 同组E1.16.1 链接以回车激活,按钮同时响应回车与空格 · E1.16.3 右键菜单中的新标签页打开选项只对链接有意义 · E1.16.4 访问过的状态只属于链接,按钮没有已访问的概念
  • 相邻E1.08 链接与按钮 · J5.10 名称、角色与状态 · J5.01 屏幕阅读器
  • 站内检索role announcement · screen reader rotor · name role state

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/E1.16.2