如何让VoiceOver不与网页图片元素产生交互?
解决VoiceOver对非交互图片的额外提示问题
VoiceOver会给图片默认添加“image”后缀提示,还可能误判非交互图片为可交互元素,导致不必要的交互提示。可以通过以下几种方式解决:
- 明确图片语义:给
<img>标签添加role="img"属性,告诉VoiceOver这是纯展示性图片,而非可交互控件<img src="..." alt="some meaningful text" role="img"> - 禁用交互能力:用CSS的
pointer-events: none阻止图片接收鼠标/触摸事件,消除VoiceOver的交互误判
对应HTML:img.non-interactive { pointer-events: none; }<img src="..." alt="some meaningful text" class="non-interactive"> - 确保语义可见性:如果图片的父元素设置了
aria-hidden="true",需要给图片显式添加aria-hidden="false",避免辅助技术忽略它的存在<img src="..." alt="some meaningful text" aria-hidden="false">
调整后测试,VoiceOver应该只会读取alt属性的文本内容,不会额外提示“image”或交互操作,和Chrome扩展的屏幕阅读器表现一致。
内容的提问来源于stack exchange,提问作者timDemo
相关产品推荐
相关产品推荐

