替代文本
另见: alternative text, alt attribute, alt
非文本内容的文字替代方案。屏幕阅读器以替代文本代替图像进行朗读;图像加载失败时,视力正常的用户也能看到它。纯装饰性图像应设置 `alt=""`,而非省略该属性。
替代文本(alt text,即”alternative text”的缩写)是通过 HTML alt 属性嵌入的非文本图像的文字描述。它是网络上讨论最广泛的无障碍功能,也是失败模式最为一致的功能:开发者要么完全省略替代文本,要么生成毫无意义的通用占位符。
替代文本的实际作用
三类受众使用替代文本:
- 屏幕阅读器用户。 屏幕阅读器以替代文本代替图像进行朗读。若图像传达了信息(如”图表显示2022年至2025年诉讼案件数量翻倍”),该信息必须包含在替代文本或相邻说明文字中。
- 图像加载失败时的视力正常用户。 图像加载失败时,替代文本会显示在其位置——这是一项小但实用的回退机制。
- 搜索引擎。 替代文本是为数不多的、能够反映图像实际内容的排名相关信号之一。
决策树
每张发布的图像都需要明确回答”这是哪种类型的图像”:
- 功能性图像——用作按钮或链接唯一视觉提示的图标。替代文本描述操作,而非图标本身:
alt="打开菜单",而非alt="汉堡图标"。用户不关心图标的外形,而关心点击后的效果。 - 信息性图像——传达内容的照片、图表、截图或插图。替代文本以适当的详细程度描述所传达的信息。“关于我们”页面上的员工照片:
alt="研究部主任张明博士"。统计图表:替代文本应为核心结论,基础数据可置于说明文字或附近的表格中。 - 装饰性图像——用作背景点缀的图案、分隔线、抽象照片。
alt=""(空值,但该属性必须存在)告知屏幕阅读器跳过此图像。 - 复杂图像——示意图、信息图、密集图表。提供核心结论的简短替代文本,并在附近提供更长的描述(通过
aria-describedby指向段落,或添加可展开的”完整描述”披露块)。
生产环境中的常见问题
三种失败模式占替代文本缺陷的大多数:
- 完全缺失。
<img src="...">没有alt属性。屏幕阅读器会朗读图像文件名,而文件名几乎总是毫无意义的字符串。 - 文件名或垃圾内容——
alt="DSC_0042.jpg"或alt="image"。比缺失略好,却比有效内容更令人困惑。 - 对装饰性内容的过度描述。 一个纯粹用于美化的分隔线若使用
alt="贯穿版块顶部的橙红色抽象装饰",会迫使屏幕阅读器朗读它,却对用户毫无帮助。
AI 生成的替代文本
大多数现代图像上传流程现在都通过视觉模型自动建议替代文本。这作为初稿确实有帮助,但有两点需注意:
- 模型可能自信地给出错误结果,尤其是对于图表、示意图和文化特定内容。每条建议在发布前都应经过人工审核。
- 生成的替代文本不应静默覆盖已有的手写替代文本。许多无障碍覆盖层产品在这一点上表现极差——它们用平淡的通用描述替换了精心编写的编辑替代文本。