前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
首页程序员面试题库img alt 空 装饰性图片
HTML语义与文档

图片什么时候该写空 alt,什么时候不能空?

图片只负责装饰、旁边文字已完整传达同一信息时,可写 alt="",让辅助技术跳过这张无额外信息的图。图片承担内容、操作或链接含义时,应写简洁而具体的替代文本。空 alt 与省略 alt 不一样;省略时,辅助技术可能读出文件名或其他不理想的信息。

前端进阶之旅 · 一题精讲更新于 2026.09.29
HTML#语义与文档
先看核心答案读代码示例
理解线索

空替代文本表示纯装饰

  1. 空 alt明确表示图像不增加信息,让辅助技术跳过
  2. 缺失 alt没有属性时辅助技术可能退而读文件名
  3. 功能图片单独承担链接或按钮含义时须有可访问名称

空值是有意标记装饰,缺失可能让辅助技术猜测文件名。

核心回答

先记住这个答案

判断 alt 是否留空,要看图片在当前上下文有没有独立信息。链接里已有“下载报告”文字,旁边的下载图标通常可用 alt="";若只剩图标,控件就需要明确名称。省略 alt 不是同一回事,辅助技术可能退而读文件名,因此应有意选择空值或具体替代文本。

  • 装饰图可写 alt=""
  • 省略 alt 不等于写空
  • 内容图要传达关键信息
  • 操作图标须有可访问名称

下载图标和内容图片的区别

一个“下载报告”链接里有下载图标和可见文字“下载报告”。图标只重复文字,可用 alt="",避免读屏用户听到两次同一含义。若链接只有一张图标,图像本身就承担链接名称,空 alt 会让操作难以理解,应在图片 alt 或链接的其他可访问名称里写“下载报告”。产品图片也不能因为有漂亮的装饰边框就整体判成装饰。

装饰图标与内容图分别处理HTML
<a href="/report.pdf">
  <img src="/download.svg" alt="">
  下载报告
</a>
<!-- 图标不重复被读出,链接仍有可见文字 -->
<img src="/chart.png" alt="本月注册量逐周增长">

alt 的作用是替代图片所传达的信息或功能,而不是机械描述每个像素。 示例里“下载报告”已经是链接中的可见文本,因此空 alt 只让装饰图标不被重复读出;下面的图表则传达注册增长趋势,需要非空文本。若图表复杂到包含每周具体数值,一句趋势不足以完整替代,还应在附近给数据或详细描述。替代文本要回答“错过这张图会漏掉什么”,不是机械照抄文件名,也不是把整篇分析塞进属性。

空替代文本表示纯装饰

装饰图的空值明确告诉辅助技术可以忽略;有意义的图片则要按上下文写出用户错过图片会失去什么。图表往往需要简短概括并在附近提供完整数据;操作图标要让控件有清楚名称。title 悬停提示不能代替 alt,它依赖鼠标且在触摸、键盘和读屏场景中不可靠。

同一张箭头图标在两个地方可能有不同答案:按钮旁已有“下一页”,它只是装饰,空 alt 可避免重复;图标单独构成“下一页”链接时,必须让链接有可访问名称。图片加载失败时也可以用这个判断:只剩周围文字后,用户是否仍能完成操作?若不能,就需要补充替代文字或可见文案。

回答前,多想一步

容易答错的地方

把空 alt 和缺失 alt 当成一样
空值是有意标记装饰,缺失可能让辅助技术猜测文件名。
给所有图片都写“图片”
替代文字应传达内容或功能,单说“图片”通常没有新增信息。
试着用自己的话回答

面试官还会怎么问?

只有图标的按钮怎么命名?

让按钮有可访问名称,可用图像替代文本或按钮自身的明确文字。

照片的 alt 要写成一长段吗?

按文章语境写必要信息即可,复杂内容放在邻近正文展开。

CSS 背景装饰需要 alt 吗?

CSS 背景没有 alt;若图片承载重要内容,就不应只作为装饰背景。

从一道题,走向一组知识

把知识连起来

语义与文档

图片的 title 能代替 alt 吗?两者分别给谁看?

title 悬停提示不能替代空或非空 alt 的语义判断。

语义与文档

单选和复选框怎么分组,name 起什么作用?

只有图标的表单控件还要有可理解名称,可与选项标签设计一起检查。

参考资料

  • HTML:语义与文档参考资料

示例用于理解所注明的运行环境与边界;延伸学习可结合原文中的更多案例。

本题目录
  1. 先记住这个答案
  2. 下载图标和内容图片的区别
  3. 空替代文本表示纯装饰
  4. 容易答错的地方
  5. 面试官还会怎么问
  6. 把知识连起来
读懂,再试着讲出来

先看核心答案,再读代码。最后展开追问,检查自己有没有遗漏边界。

试着回答追问
浏览全部面试题理解原理,也关注真实的使用场景。回到顶部 ↑