语义标签需按用途精准选用:表强重要性,仅视觉加粗;表重读强调,表术语/外文等;/用于上下标,/须成对表修订;表不准确,专指拼写错误或专名号。

直接用语义明确的标签包裹文本即可,不需要额外配置或引入资源。 浏览器原生支持所有标准文本格式化标签,关键在于选对标签——不是“能不能加”,而是“该用哪个”。
什么时候该用 <strong></strong> 而不是 <b></b>
<strong></strong> 表示内容具有强重要性,比如错误提示、法律条款中的责任声明、API 文档里的必填字段;屏幕阅读器会加重语气读出。而 <b></b> 仅用于视觉加粗但无语义强调,例如产品名、人名、界面按钮文字等。
- ✅ 正确:
<strong>密码必须包含至少一个大写字母</strong> - ❌ 滥用:
<strong>点击「提交」按钮</strong>→ 这里「提交」只是按钮文本,不构成语义重要,用<b></b>或 CSS 更合适 - ⚠️ 注意:
<strong></strong>可嵌套,但嵌套两层以上会削弱可访问性,辅助技术可能忽略深层嵌套的强调
<em></em> 和 <i></i> 的区别常被搞反
<em></em> 是“重读强调”,对应口语中抬高音调的部分,比如「我没说那句话」;<i></i> 是“语义斜体”,用于术语、外文、船名、思想活动等,如 <i>Homo sapiens</i> 或 <i>他心想:这不对劲</i>。
- ✅ 正确:
请确保 <em>所有</em>字段都已填写(强调“所有”) - ✅ 正确:
该协议基于 <i>RFC 7231</i> 定义(标准编号,属术语范畴) - ❌ 常见错误:用
<i></i>给关键词加斜体来“突出显示”——这不是它的设计目的,应改用<em></em>或 CSS
上下标、删除线、插入标记这些标签有明确业务含义
它们不是“样式开关”,而是传达文档状态或结构信息:<sub></sub>/<sup></sup> 用于化学式(H<sub>2</sub>O)、数学幂(x<sup>2</sup>)、脚注编号;<del></del> 和 <ins></ins> 必须成对出现才体现修订逻辑,单独使用会误导语义解析器。
- ✅ 正确:
价格从 <del>¥199</del> 降至 <ins>¥149</ins> - ✅ 正确:
CO<sub>2</sub> + H<sub>2</sub>O → C<sub>6</sub>H<sub>12</sub>O<sub>6</sub> - ⚠️ 注意:
<s></s>和<u></u>已被弱化语义——<s></s>仅表示“不再准确”,不是通用删除线;<u></u>在 HTML5 中专指拼写错误或中文专名号,不能当通用下划线用
最容易被忽略的是:这些标签一旦嵌入,就成为 DOM 的一部分,会影响 CSS 选择器权重、JavaScript 查询结果和可访问性树结构。比如用 <small></small> 写版权信息,不仅字体变小,还会被屏幕阅读器识别为“次要内容”,跳过朗读是常见行为——如果你真希望它被读出来,就得换方案。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











