屏幕阅读器Chromevox在聚焦时不会读取元素

时间:2018-05-16 01:05:20

标签: javascript focus accessibility

一旦您通过Javascript更改焦点,我就无法了解如何让Chromevox读取元素。以OpenAjax上的示例为例。单击“显示主题1”按钮时,将展开受控元素并将焦点移动到该元素。但是在Chromevox中,它不会仅仅通过aria-labelledby读取元素的内容。

要让Chromevox在扩展后阅读元素的内容,我必须再次搬出。用户体验不是很好。

这是与Chromevox有关的问题还是有更好的方法来解决这个问题?

注意:忽略其他三个例子,他们在aria-labelledby属性中有拼写错误,因此无法正常运行。

1 个答案:

答案 0 :(得分:1)

ajax示例不是一个模仿的好例子。除了你提到的t2 / m2拼写错误,它们还有竞争标签。有一个(隐藏的)<div>包含文字(“主题1是关于...”)有一个aria-labelledby

根据可访问名称计算规则attributedPlaceholder,在步骤2.B.first-bullet中处理aria-labelledby,然后完成该过程。应忽略<div>内的文字。

如果一个aria-labelledby,那么您将转到步骤2.G,内部文本将是可访问的名称(并由屏幕阅读器读取)。

因此,您看到/听到了冲突,这可能取决于浏览器如何解释这些规则,以及屏幕阅读器读取的文本。

NVDA读取 aria-labelledby和文本。

JAWS只读 aria-labelledby,这在技术上是正确的。

听起来Chromevox和JAWS的做法是一样的,这是正确的。