这是场景;我需要屏幕阅读器来阅读标题的其他内容,而不是实际显示的内容。
显示“我的标题”但屏幕阅读器显示“这是我的标题”
<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兼容的解决方案。
由于
答案 0 :(得分:0)
是的 - 我一直在尝试做类似的事情
<div >
<div id="entryLabel">This is My Label</div>
<div tabindex="0" aria-labelledby="entryLabel">This My Value</div>
</div>
如果在div元素上使用,Jaws似乎不会读取aria标记的内容!它可能是JAWS - 但它可能是浏览器没有公开信息??
我注意到使用了咏叹调标签。
答案 1 :(得分: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>