为什么 Firefox Voiceover 会读取该文本两次?又如何让它读一次呢? (保留列表标记)
<ul>
<li>
<a href="/something">This text is duplicated in Voiceover</a>
<span class="">Some description</span>
</li>
</ul>
当链接嵌套在列表中时,VoiceOver 在 Chrome 和 Firefox 中重复链接文本两次。它在 Safari 中不会执行此操作。我不认为这是你的标记的问题,这是 VO 如何与浏览器配合使用的问题。
我在 Chrome 中发现了一些其他奇怪的行为,比如当内容位于带有“main”的 div 内部时,不宣布标题的结构(例如,阅读“我的惊人标题”而不是“二级标题,我的惊人标题”) “ ARIA 具有里程碑意义,在 Safari 中也能正常工作。
这种情况发生在什么类型的设备上(MacBook、iPad、iPhone 等)?
我认为这可以处理您如何浏览文本,和/或它是否是块级链接。 在 Mac 上的 VoiceOver 中,如果您使用 Tab 键导航,则会重复块级链接文本。 根据现已删除的这篇文章,“该行为取决于屏幕阅读器、浏览器和导航模式的组合。”
虽然您的示例不包含此内容,但如果您也存在
aria-label
属性,VO 可以重复文本。
在您的实际标记中,锚标记内是否还有其他元素? 如果是这样,也许切换这些块级元素的结构可以帮助避免重复。 希望这有帮助。