title 属性和 alt 属性的区别是什么?
title 属性和 alt 属性是 HTML 中经常被混淆的两个属性,尤其是在 <img> 标签中使用时。
简单来说:alt 是给搜索引擎和屏幕阅读器看的(替代内容),而 title 是给用户鼠标悬停时看的(补充说明)。
以下是详细的区别对比:
1. 定义与用途
alt(Alternative Text - 替代文本)- 定义: 当图片无法显示时,用来替代图片的文字。
- 主要用途:
- 可访问性 (Accessibility): 盲人使用屏幕阅读器时,机器会朗读
alt的内容,帮助他们理解图片是什么。 - 图片加载失败: 如果网速慢或图片链接失效,网页上会显示这段文字。
- SEO (搜索引擎优化): 搜索引擎(如 Google、百度)无法“看”懂图片,它们通过
alt属性来理解图片的内容,从而进行索引。
- 可访问性 (Accessibility): 盲人使用屏幕阅读器时,机器会朗读
- 适用范围: 主要用于
<img>、<area>和<input type="image">标签。
title(Advisory Information - 咨询信息)- 定义: 提供关于元素的额外补充信息。
- 主要用途:
- 用户体验 (UX): 当用户将鼠标悬停(Hover)在元素上时,浏览器会显示一个黄色的工具提示 (Tooltip) 浮层。
- 补充说明: 用于解释链接的目的、提供额外的上下文,或者在图片本身已经很清晰的情况下提供非必要的补充细节。
- 适用范围: 全局属性,几乎可以用在任何 HTML 标签上(如
<div>,<a>,<img>,<span>等)。
2. 核心区别对比表
| 特性 | alt 属性 |
title 属性 |
|---|---|---|
| 全称 | Alternative Text (替代文本) | Title (标题/咨询信息) |
| 必要性 | 必要 (对于有意义的图片) | 可选 (非必须) |
| 视觉表现 | 仅在图片加载失败时显示 | 鼠标悬停时显示 (Tooltip) |
| SEO 权重 | 极高 (搜索引擎依靠它识别图片) | 较低 (仅作为辅助参考) |
| 可访问性 | 关键 (屏幕阅读器必读) | 较差 (屏幕阅读器可能会忽略,移动端无法悬停) |
| 适用标签 | 主要是 <img> |
所有 HTML 标签 |
| 移动端 | 正常工作 (图片未加载时) | 基本无效 (手机没有鼠标悬停操作) |
3. 最佳实践与常见误区
什么时候用 alt?
- 所有
<img>标签都应该有alt属性。 - 有意义的图片: 描述图片内容。例如:
alt="一只正在奔跑的金毛犬"。 - 装饰性图片: 如果图片只是为了好看(如背景花纹、分割线),应设置为空属性
alt=""。这样屏幕阅读器会直接跳过它,不会打扰用户。
什么时候用 title?
- 谨慎使用。 因为移动端用户看不到
title,所以千万不要把关键信息放在title里。 - 可以用在
<a>标签上,告诉用户点击后会发生什么(例如:“点击查看大图”)。 - 可以用在被截断的文本上(例如文本太长显示省略号,悬停显示全称)。
常见错误
- 错误 1:内容重复。
- 不要写
<img src="dog.jpg" alt="狗" title="狗">。 - 后果:部分屏幕阅读器会朗读两次“狗 狗”,造成糟糕的体验。
- 不要写
- 错误 2:用
title代替alt。- 不要只写
title而不写alt。如果图片挂了,用户什么都看不到;搜索引擎也无法索引该图片。
- 不要只写
总结
alt是为了“替代”:没有它,内容就不完整。title是为了“修饰”:锦上添花,但不是雪中送炭。