VoiceOver 说“一直崩溃

VoiceOver says 'collapsed all the time

我正在研究一些手风琴并尝试检查我添加的 aria-attributes 是否有效。我挣扎了一会儿才明白为什么 VoiceOver 一直告诉我手风琴折叠了,当我在上面设置了 aria-expanded="true" 时。然后我发现页面上的每个元素都被声明为'collapsed',甚至是html。然后我随机尝试了一些其他网站,甚至是 aria 网站本身,VoiceOver 将每个元素声明为 'collapsed'。

有没有其他人遇到过这种情况,这是一个错误,还是我在某处交叉了一些电线?

为了显示手风琴的展开折叠状态 (role="tab"),您必须使用 aria-expanded="true"aria-expanded="false"。未指定默认值,因此没有属性可以等于宣布折叠的所有内容。 http://www.w3.org/TR/wai-aria/roles#tab

这个例子 http://www.oaa-accessibility.org/examplep/accordian1/ 很适合我在 OS X 上使用 VoiceOver,并展示了 aria-expandedaria-selected

的正确用法

重要提示:在撰写本文时,OS X 上的 Safari 是最易于访问的浏览器。 Chrome 对所有 ARIA 功能的支持较少

似乎是最近发布的 Chrome 的错误;截至 40.0.2214.91(2015 年 1 月)和 IIRC 的 repros 不是以前版本的问题 - 在最近的一些浏览器更新之前它工作正常。

即使是非常简单的例子也能重现:

<a href="/">test link</a>

...读出为 "collapsed link. test link" - 即使折叠不适用于链接。与其他类型的控件(如按钮等)的行为类似。

这不是 Safari 针对同一页面的问题,因此这似乎表明这是最近的一个 Chrome 问题,而不是 VoiceOver 的问题。

正如@unobf 上面提到的,Safari 是 标准浏览器,用于在 iOS 上测试 VoiceOver; Chrome 在开发时使用起来当然很方便,但由于它在某些方面落后于 Safari 的可访问性,因此应始终针对 Safari 验证最终代码。