J2.05.1decorative image hiding设计研究

纯装饰应对辅助技术隐藏

别名: 空 alt · aria-hidden · 装饰图

概念解释

分割线、花纹、背景色块、不承载事实的插画,对辅助技术应是沉默的img 用空的 alt="",内联 SVG 用 aria-hidden="true",或把图放进 CSS 背景,让它不出现在无障碍树上。缺 alt 不等于空 alt:许多阅读器会改读文件名。这里假定已经判定它是装饰;判定方法、以及旁边已有文字时别再写一遍,是后面两条。

机制

阅读器把遇到的图像节点送进语音流。装饰图没有可交付的信息,却占用虚拟缓冲、打断标题之间的节奏。第二层:隐藏必须是显式的。没写 alt 时,用户代理常把文件名或 src 末段当成名称,「gold-swirl.png」会被念出来。CSS 背景里的图默认不进树,这是隐藏的一种实现,但若背景图里其实有必须读的字,图会对 AT 消失而视力用户仍在读——那是漏标成装饰,不是隐藏技巧成功。

可聚焦的装饰控件(空链包着花纹)即使 alt 为空,焦点仍会停,阅读器可能报「链接」。隐藏装饰图的同时,不要留下可聚焦的空壳。

怎么研究

用浏览模式把营销页从头走到主内容,数「无意义图形 / 文件名」播报次数。对照:缺 alt、空 alt、aria-hidden、CSS 背景。

自变量:隐藏方式、图是否可聚焦。 因变量:无意义播报次数、遍历多花的时间、空链接焦点次数。

NVDA+Firefox、VoiceOver+Safari 对缺 alt 的回退不完全相同,要至少两套。自动化可标「缺 alt」,但「空 alt 是否正确」要靠人判断是不是真装饰。

边界

图标按钮不是装饰,要有功能名。图表不是装饰。焦点指示、必填星号若做成图,更不能藏。用户代理样式表里的列表符号一般已处理,不必再给每个圆点写 alt。打印样式若把背景图打出来当信息用,屏幕上的「CSS 隐藏」在纸上会翻成缺失。

怎么落地

  • 确认是装饰之后:imgalt="",装饰 SVG 加 aria-hidden="true",或改到 CSS 背景。
  • 不要省略 alt 属性去「让浏览器决定」。
  • 花纹不要包在可聚焦的空链接或空按钮里。
  • 验证:阅读器从标题跳到标题,中间不应出现文件名或「图形」。Tab 一遍,不应停在没有名字的装饰焦点上。

延伸

  • 同组J2.05.2 冗余的替代文本会造成重复播报 · J2.05.3 判断依据是移除后信息是否丢失
  • 相邻J2.04 替代文本 · J5.01 屏幕阅读器
  • 站内检索empty alt · aria-hidden · decorative image

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/J2.05.1