因此,我能够使用NDVA屏幕阅读器使我的页面正常工作,但是,在JAWS中进行测试时,它会选择跨度,但不会读取文本。
<span tabindex="0" title="whatever">whatever</span>
更新:
我想要实现的是我有一些元素可以扩展/折叠我正在构建的网站的某些部分。然而,这些功能元素不是链接。
回复@discojoe (感谢您的回复)
TABINDEX="0"
属性会按自然顺序将SPAN / DIV元素插入到Tab键列表中(而默认情况下,它们通常不会添加到Tab键列表中)。这允许屏幕阅读器选项卡到该元素,并且工作正常。具体来说,我的问题是JAWS只会选中该元素,它只是不读它。 TABINDEX="n"
(其中n> 0)是一个糟糕的事情,它与标签列表的自然顺序混淆,而我并没有这样做。 TABINDEX="-1"
从标签列表中删除元素(例如A或INPUT标记)。答案 0 :(得分:2)
我首先想知道你为什么使用span元素而不是标准的href元素?你想要实现的是什么?如果您可以提供更多context \ code,它可能会有所帮助。
我刚尝试了这个问题并且遇到了同样的问题;虽然我可以浏览文档并向我读出一个跨度,但我无法选择它并将其读出来。
使用像
这样的东西<a href="#" onclick="javascript: return false;">Whatever</a>
工作正常。
使用tabindex属性还有其他问题,特别是键盘用户。在用户使用tabindex属性的页面上,选项卡焦点顺序将首先遍历指定了tabindex的所有元素,然后以源代码顺序运行所有没有它的元素。
一个好的一般规则是对所有键盘可访问元素使用tabindex,或者对于所有键盘元素都不使用tabindex来解决这个问题。
我意识到在这种情况下,您可能会使用tabindex为这一项提供键盘辅助功能,因此如果您使用提到的 a href 方法,这个问题可能无关紧要,但我想提及它的完整性
答案 1 :(得分:0)
首先,在这些元素不之前阅读“链接”会以负面的方式影响可访问性,我会说,它完全相反:你警告用户他/她可以点击这种方式的元素 这里有几个选项:
link
角色添加到span
元素中,正确编码扩展/折叠菜单(具有相应的ARIA角色和状态)。<a href="#"
,但添加event.preventDefault()
(在jQuery中)或return false;
(在vanilla中),这样页面就不会重新初始化。如果您需要更多建议,请发布一些代码或指向您网页的链接。
答案 2 :(得分:0)
使用锚标记来阅读与简单文本相关的作品。你可以这样做: -
<a href="javascript:void(0);" title="What you want to be read by jaws></a>
那就是它。我用JAWS测试了它。