2011-01-23 49 views
3

所以我能够使我的页面在NDVA屏幕阅读器中工作得很好,但是,当在JAWS中测试时,它会选中跨度,但不会读取文本。SPAN标记被JAWS屏幕忽略阅读器

<span tabindex="0" title="whatever">whatever</span>

UPDATE:

  • 我想实现是我有一个展开/折叠我建网站的某些部分中的一些元素。这些功能元素,但不是链接。

  • 效应初探至@discojoe(为响应感谢)

  • 添加TABINDEX="0"属性将SPAN/DIV元素插入的自然顺序(按Tab键列表,而在默认情况下,他们通常不会添加到标签列表)。这可以让屏幕阅读器选中该元素,并且工作得很好。具体来说,我的问题是JAWS只是选中该元素,而不会读取它。
  • 我同意,使用TABINDEX="n"(其中n> 0)是一个糟糕的事情,它与Tab键列表的自然顺序混淆,我不这样做。
  • 此外,如果默认情况下放置在标签列表中,则可以使用TABINDEX="-1"删除元素(例如A或INPUT标签)。
  • 我已经尝试使用标签,但是,当用户点击进入这个链接(触发onclick事件)时,它做了一些事情(不完全重新加载,但有点重新初始化)延迟动画相关的页面那个元素。我发现对于普通用户和残疾用户来说都是不好的体验。
  • 使用A标记中的#标记将哈希标记添加到IE中的页面标题中。
  • 此外,使用A标签会让屏幕阅读器在每个元素之前/之后读出“LINK”,并且由于它们实际上不是链接,所以我觉得这对可访问性有负面影响。

回答

2

我首先想知道为什么你使用span元素而不是标准的href元素?你想要达到什么目标?如果您可以提供更多上下文\代码,这可能会有所帮助

我刚刚试过这个,并得到同样的问题;虽然我可以浏览文档并向我展示跨度,但我无法选中它并将其读出。

使用的东西,而不是像

<a href="#" onclick="javascript: return false;">Whatever</a> 

工作正常。

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

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

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

0

首先,这样的元素也影响无障碍一种消极的方式,我会说前阅读“链接”,这是截然相反:你提醒他/她可以点击在这样的元素中的用户方式。
在这里,你有几个选择:

  1. 使用相当多的唱腔:添加link角色添加到您span元素,适当地编写你的展开/折叠菜单(相应ARIA角色和状态)。
  2. 按@discojoe建议使用<a href="#",但添加event.preventDefault()(在jQuery中)或return false;(在香草中),这样页面就不会重新初始化。

如果您需要更多建议,请张贴一些代码或链接到您的页面。

0

使用锚标签来阅读简单文本相关作品的屏幕。你可以简单地做: -

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

就是这样。我用JAWS测试了它。

相关问题