2

这是场景;我需要屏幕阅读器来读取标题的其他内容,而不是实际显示的内容。

显示“我的标题”,但屏幕阅读器显示“这是我的标题”

<div>  
  <div aria-hidden="true">My Heading</div>
  <div aria-label="This is my Heading" role="heading" aria-level="1" tabindex="0"></div>
</div>

上面的代码在 VoiceOver 上实现了所需的行为,但我无法让 JAWS 做同样的事情。任何想法如何使它在 JAWS 中工作?

最终,我将寻找与 VoiceOver 和 JAWS 兼容的解决方案。

谢谢

4

2 回答 2

0

是的——我一直在尝试做类似的事情

<div >       
  <div id="entryLabel">This is My Label</div>
  <div tabindex="0" aria-labelledby="entryLabel">This My Value</div>
</div>

如果在 div 元素上使用,Jaws 似乎不会阅读 aria-labelled by!可能是 JAWS - 但浏览器可能没有公开信息?

我注意到使用 aria-label 也是如此。

于 2014-01-23T11:53:26.910 回答
0

我建议使用 aria-labelledby,它适用于大多数屏幕阅读器和浏览器,并且可以替代 aria-label。

示例代码

<div>  
  <div aria-hidden="true">My Heading</div>
  <div aria-labelledby="myheading" role="heading" aria-level="1" tabindex="0">
    <span id="myheading" style="visibility:hidden;">This is my Heading</span>
  </div>
</div>
于 2016-10-07T11:47:14.037 回答