任何想法为什么NVDA在html示例中通过文本制表时读取可点击的单词:
<h1 tabindex="1"> testing </h1>
NVDA将阅读可点击的测试
答案 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)应该正确阅读