【问题标题】:Screenreader Chromevox not reading element when focused屏幕阅读器 Chromevox 聚焦时不阅读元素
【发布时间】:2018-05-16 01:05:20
【问题描述】:

一旦您通过 Javascript 将焦点更改为某个元素,我无法弄清楚如何让 Chromevox 读取该元素。以OpenAjax 中的示例为例。当您单击 Show topic 1 按钮时,受控元素被展开并且焦点移到它。但是在 Chromevox 中,它不会仅读取 aria-labelledby 元素的内容。

为了让 Chromevox 在元素展开后读取它的内容,我必须移出并再次移入。不是很好的用户体验。

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

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

【问题讨论】:

    标签: javascript focus accessibility


    【解决方案1】:

    ajax 示例不适合模仿。除了您提到的 t2/m2 错字之外,它们还有相互竞争的标签。有一个(隐藏的)<div> 包含文本(“主题 1 就是关于存在...”)并且还有一个 aria-labelledby

    根据可访问名称计算规则https://www.w3.org/TR/accname-1.1/#step2,在步骤2.B.first-bullet中处理aria-labelledby,然后处理完成。 <div> 中的文本应该被忽略。

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

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

    NVDA同时读取aria-labelledby 和文本。

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

    听起来 Chromevox 正在和 JAWS 做同样的事情,这是正确的。

    【讨论】:

      猜你喜欢
      • 2019-11-13
      • 2023-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-27
      相关资源
      最近更新 更多