img 标签必须设置 alt 属性,空字符串 alt="" 仅适用于纯装饰性图片;信息性图片需简洁准确的替代文本,链接中的图片 alt 应说明目的而非描述图像。

img 标签必须用 alt 属性写替代文本
HTML5 不允许省略 alt 属性,否则会触发可访问性警告,屏幕阅读器也无法读出图片含义。空字符串 alt="" 是合法的,但仅适用于纯装饰性图片;只要图片承载信息(哪怕只是图标、按钮、数据图),就必须写有意义的文本。
-
alt值应简洁准确,通常不超过 125 个字符(多数屏幕阅读器会截断) - 避免冗余表述,如“图片:”“图标:”,屏幕阅读器已自动播报这是图片
- 如果图片是链接,
alt应说明链接目的,而非描述图片本身(例如:)
什么时候该用 alt="" 而不是删掉属性
装饰性图片(比如背景分隔线、纯样式圆点、重复边框图)不该向辅助技术暴露。此时必须显式写 alt="",而不是省略 alt——省略会导致浏览器/校验工具报错,且部分旧屏幕阅读器可能误读文件名或尝试朗读。
- CSS 背景图不需要
alt,因为它本就不在 HTML 结构中 - 内联 SVG 若含语义内容(如流程图中的文字、标签),应使用
和aria-label,而非alt - 服务器端生成的占位图(如
placeholder.svg)若无信息量,也应配alt=""
复杂图片要用 longdesc 或内联描述
longdesc 属性已废弃,HTML5 不再支持。对信息密集型图片(如信息图、带多区域标注的示意图、数学图表),正确做法是:
- 用
alt写一句话摘要(例如:“2023 年各季度用户增长趋势折线图”) - 紧接
后用或普通段落提供详细说明,再通过aria-describedby关联 - 或把长描述放在同一页面的其他位置,用 ID 引用(
aria-describedby="desc-id")
@@##@@Q1 新增 12.4 万,Q2 环比上升 8.2%,Q3 因暑期活动达峰值 21.7 万,Q4 略回落至 19.3 万。
别把文字塞进图片再忽略 alt
常见错误是把标题、说明、数据直接做成 PNG/JPEG(比如“首页 Banner:限时 5 折”),然后给它配 alt="" 或模糊描述。这既损害 SEO,又让视力障碍用户完全丢失关键信息。
立即学习“前端免费学习笔记(深入)”;
- 优先用 HTML + CSS 实现文字层,图片只负责视觉底图
- 若必须用图文合成图,
alt必须完整复述所有可读文字(包括价格、时间、行动号召) - 涉及验证码、徽章、签名等特殊场景,需额外提供文本替代方案(如提供纯文本链接、隐藏
、或后端返回结构化数据)
alt 的语义转换」和「SVG 图标是否需要 alt」——这两处不报错,但一上线就影响真实用户的操作路径。










