NVDA屏幕阅读器读取文本上的可点击单词

时间:2016-10-19 10:17:50

标签: angularjs html5 accessibility nvda

任何想法为什么NVDA在html示例中通过文本制表时读取可点击的单词:

<h1 tabindex="1"> testing </h1>

NVDA将阅读可点击的测试

3 个答案:

答案 0 :(得分:1)

答案:

这是因为属性tabindex使此元素键盘可聚焦。可以通过按键盘上的TAB键将其聚焦。

提示#1:通常应避免使用值大于0的属性tabindex

请勿使用tabindex="1"tabindex="2"等。在某些情况下,只有tabindex="0"tabindex="-1"才有用。否则,您可以为用户体验创建一个完整的混乱局面。

了解更多:

提示2:通常无需制作用户无法与之交互的可聚焦元素。

在特定情况下,如果用户无法与之交互,则无法使标题元素键盘聚焦。

如果您担心屏幕阅读器,那么用户不必担心,因为他们阅读非重点内容就可以了。 Accessibility Developer Guide中的引号:与仅键盘用户相反,屏幕阅读器用户通常不使用Tab键来阅读页面!阅读“屏幕阅读器浏览和聚焦模式”以了解使用箭头键和Tab键进行导航之间的区别。

但是...规则存在例外情况

该规则存在例外情况,在开发人员将tabindex="-1"设置为标题的情况下,这可能是一个好主意,他们希望通过编程将焦点移至该标题以实现可访问性。例如,在单页应用程序中使用AJAX更新内容。焦点将移至用户可以了解内容更新并能够从此处开始的标题。当要从DOM中删除当前关注的内容(例如删除当前关注的表条目)或在表单提交试用后将焦点移至错误摘要标题时,这也很有用。

答案 1 :(得分:0)

简短回答:

tabindex属性意味着某些屏幕阅读器的功能。

答案很长:

屏幕阅读器用户浏览网页的两种主要方式是跳过交互式元素或标题。交互式元素包括链接,按钮,表单域以及用户将在页面上启动的任何其他功能。这些是使用&#39;标签&#39;导航的。键。

他们浏览您网页的另一种主要方式是标题。实际上,webaim的一项调查将标题列为导航页面以查找信息的主要方法(source)。在您的示例中,您已经为标题指定了tabindex,它会给人一种印象,即它具有一些功能或交互性。根据我的理解,JAWS和NVDA都会读出“可点击的”字样。在具有tabindex的元素上,因为它们可以轻松地(并且通常会)具有一些javascript点击处理程序,这些处理程序在屏幕阅读器中不明显。

答案 2 :(得分:0)

首先请记住tabindex在a11y中不是一个好习惯,而且标题不需要tabindex NVDA提供带H键的标题导航。关于可点击的我可以说根据我的经验是NVDA的一个已知问题,如果你检查其他SR(Voice over或Chromebox)应该正确阅读