NVDA在Firefox上从父元素聚焦时无法读取第一个HTML子元素

5

当在Firefox上使用NVDA时,它无法读取容器中的第一个子元素,但能够读取第二个子元素。

通用示例:

<div class="container" tabindex="0">
  <div class="child" aria-label="Child 1" tabindex="0">Child 1</div>
  <div class="child" aria-label="Child 2" tabindex="0">Child 2</div>
</div>

当焦点在.container上时,按Tab键以将焦点聚焦到“Child 1”,NVDA不会朗读“Child 1”,而是保持沉默。 如果再次按Tab键,NVDA将读出“Child 2”。 在Chrome浏览器中使用ChromeVox插件能够正确朗读。
以下是代码片段:http://codepen.io/anon/pen/WGyxom 我是否遗漏了什么配置,以使NVDA在从.container聚焦时能够读出“Child 1”?

你能详细说明一下标记语言吗?比如,为什么不使用语义化标记?当需要读取容器内容时,为什么要在容器上设置tabindex="0"? - Michel Hébert
1个回答

2
如果我理解正确的话,我认为您可能在描述NVDA中的一个错误。以下是两个在Github上描述此行为的错误报告的链接。根据评论链中的回复,它听起来是“有意”的:
“这将导致NVDa在加载页面时读取整个页面,因此可能会将焦点留在最后一个可聚焦节点上。请注意,对于大多数用户来说,这并不是真正的问题,因为他们非常清楚由于sayAll而移动了焦点。”

https://github.com/nvaccess/nvda/issues/5230 https://github.com/nvaccess/nvda/issues/3575


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接