【发布时间】:2014-05-07 19:03:49
【问题描述】:
我试图让 VoiceOver 说出 HTML span 元素中指定文本内容以外的内容:
<span tabindex="0" class="myClassName" id="DateLabel" role="heading">1:02a</span>
考虑一下我可能希望 VoiceOver 说出完整时间文本的情况。
当我添加 aria-label 属性时,VoiceOver 仍在读取文本,尽管 IE 和 Chrome 等桌面浏览器可以正确读取 aria-label。
当我添加 aria-labelledby 属性和隐藏的 aria 标签元素时,我可以让 VoiceOver 读取替代旁白,而不是文本内容。但是,我发现这仅在 aria-role 是按钮或链接之类的小部件角色时才有效。这很糟糕,因为我不想向用户暗示这是他们可以激活的交互式元素。 VoiceOver 烦人地在叙述序列的末尾附加了“按钮”。我更喜欢使用像“标题”这样的结构性角色,但 VoiceOver 只是恢复阅读文本内容,而不是阅读我隐藏的旁白。
请帮忙!我一直在抨击这一点,但我根本无法忍受 iOS 对 ARIA 的非标准实现。我不明白为什么它们必须与桌面浏览器不同,因为它们如此简单,但它们存在于很多地方,我无法找到一个好的文档来概述任何地方的确切行为。
【问题讨论】:
标签: ios accessibility voiceover wai-aria