冗余的替代文本会造成重复播报
别名: 重复播报 · 图标文字重复 · double announcement
概念解释
按钮上已经写着「下载」,旁边的图标再写 alt="下载",阅读器会报「下载 下载」。图说已经交代的照片,alt 再抄一遍图说,是同一句话进两次语音流。冗余不是「写得太长」,而是两条通道送了同一句。图标在这种结构里应按装饰隐藏,让可见文字当唯一名称。
机制
名称计算会拼接,阅读器也会按源顺序连着读相邻节点。可见文字已经承担了名称,图像节点再提供一份相同的字符串,线性流里就出现双份。用户听到的不是强调,而是故障感,扫读时更容易整段跳过。
这和「短 alt 说不完复杂图」相反:信息已经在可见层,图像不再贡献新事实。和「空 alt 隐藏纯装饰」相邻,但动机不同——图可能在视觉上有用(帮助扫读识按钮),对 AT 却是重复。aria-label 再写一遍可见字,或 title 与可见字相同,也会叠第三份。图题(figcaption)存在时,把图题再写进 alt,是最常见的双份来源之一。
怎么研究
听每个带图标的控件和无障碍树上的 Name,标出连续重复的词。对照:图标空 alt、图标同文案 alt、aria-label 再写一次。
自变量:图标是否提供与可见文字相同的名称、是否另有 figcaption。 因变量:双份播报次数、用户跳过该控件的次数、计算名是否变成「下载 下载 按钮」。
自动化几乎看不到语义重复,必须听。不同阅读器对「图 + 图题」的读法有出入,至少测一套桌面一套移动。
边界
图比旁边的字多提供了事实(照片里可见的缺陷、图说没写的仪器型号),alt 应补那一点,而不是整句复述图说。没有可见文字的图标按钮必须有名称,删掉会变成无名控件。链接只包一张图时,alt 是链接名,不是冗余。两张图表达不同信息并排,各写各的,不算重复。
怎么落地
- 图标 + 可见文字:图标
alt=""或aria-hidden,名称只留可见那一句。 - 有图题的照片:alt 留空或只补图题没有的事实,不要抄图题。
- 不要用与可见文字相同的
aria-label/title再叠一层。 - 验证:阅读器走过按钮、卡片、插图。任何连续两次相同的词,删掉图像上的那份。打开无障碍树,Name 应等于屏幕上的那一句,而不是它的两倍。