JAWS屏幕阅读器忽略SPAN标记

时间:2011-01-23 23:07:01

标签: html accessibility jaws-screen-reader

因此,我能够使用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标记)。
  • 我已经尝试过使用标签,但是,当用户点击进入此链接时(触发onclick事件),它会对页面执行某些操作(不是重新加载,但有点重新初始化)会延迟与之关联的动画那个元素。我发现这对普通用户和残疾用户来说都是一种糟糕的体验。
  • 使用A标记中的#标记将哈希标记添加到IE中的页面标题。
  • 此外,使用A标签使得屏幕阅读器在每个元素之前/之后读出“LINK”,并且由于它们实际上不是链接,我觉得这对可访问性有负面影响。

3 个答案:

答案 0 :(得分:2)

我首先想知道你为什么使用span元素而不是标准的href元素?你想要实现的是什么?如果您可以提供更多context \ code,它可能会有所帮助。

我刚尝试了这个问题并且遇到了同样的问题;虽然我可以浏览文档并向我读出一个跨度,但我无法选择它并将其读出来。

使用像

这样的东西
<a href="#" onclick="javascript: return false;">Whatever</a> 

工作正常。

使用tabindex属性还有其他问题,特别是键盘用户。在用户使用tabindex属性的页面上,选项卡焦点顺序将首先遍历指定了tabindex的所有元素,然后以源代码顺序运行所有没有它的元素。

一个好的一般规则是对所有键盘可访问元素使用tabindex,或者对于所有键盘元素都不使用tabindex来解决这个问题。

我意识到在这种情况下,您可能会使用tabindex为这一项提供键盘辅助功能,因此如果您使用提到的 a href 方法,这个问题可能无关紧要,但我想提及它的完整性

答案 1 :(得分:0)

首先,在这些元素之前阅读“链接”会以负面的方式影响可访问性,我会说,它完全相反:你警告用户他/她可以点击这种方式的元素 这里有几个选项:

  1. 使用相当多的ARIA:将link角色添加到span元素中,正确编码扩展/折叠菜单(具有相应的ARIA角色和状态)。
  2. 按照@discojoe的建议使用<a href="#",但添加event.preventDefault()(在jQuery中)或return false;(在vanilla中),这样页面就不会重新初始化。
  3. 如果您需要更多建议,请发布一些代码或指向您网页的链接。

答案 2 :(得分:0)

使用锚标记来阅读与简单文本相关的作品。你可以这样做: -

<a href="javascript:void(0);" title="What you want to be read by jaws></a>

那就是它。我用JAWS测试了它。