应使用语义化标签:表重要性,表重读,仅用于拼写错误或专名号,专指旁注类次要内容;视觉样式优先用css控制。

别用 <b></b> 和 <i></i> 做语义强调,该用 <strong></strong> 和 <em></em> 的地方硬切视觉标签,后期维护和可访问性会出问题。
什么时候该用 <strong></strong> 而不是 <b></b>
当文本需要向屏幕阅读器传达「重要性」或「严重性」时,必须用 <strong></strong>。比如错误提示、权限警告、法律条款关键句。<b></b> 仅用于纯视觉加粗,且无语义权重——它等价于 font-weight: bold 的 CSS 写法。
- ✅ 正确:
<strong>删除操作不可撤销</strong>(辅助技术会加重语气) - ❌ 错误:
<b>删除操作不可撤销</b>(读屏器不会特殊处理) - ⚠️ 注意:
<strong></strong>可嵌套,<strong><strong>最高危</strong></strong>表示双重强调,但嵌套超过两层就该重构文案
<em></em> 和 <i></i> 的分工不能混
<em></em> 是语义上的「重读」,影响语音合成的停顿与语调;<i></i> 是「非默认语体」的标记,比如拉丁短语、船名、术语。两者默认都斜体,但意图完全不同。
- ✅ 正确:
<p>你<em>真的</em>确定要这么做?</p>(口语重音) - ✅ 正确:
<p>《<i>The Origin of Species</i>》出版于1859年</p>(书名斜体惯例) - ❌ 错误:
<i>请立即备份</i>(这不是术语或外语,是强调,该用<em></em>)
<u></u> 标签现在有明确限制
HTML5 已重新定义 <u></u>:它不再表示“通用下划线”,而是专用于「拼写错误」或「中文专名号」这类非文本注释。普通下划线需求一律走 CSS:text-decoration: underline。
- ✅ 合规:
<p>他写错了:<u>recieve</u></p>(标拼写错误) - ✅ 合规:
<p><u>鲁迅</u>先生</p>(中文人名专名号) - ❌ 危险:
<u>点击此处下载</u>(用户会误以为是链接,且违反可访问性 WCAG 1.4.1) - ⚠️ 注意:含
<u></u>的文本若被复制粘贴到富文本编辑器,下划线样式大概率丢失
<small></small> 不是字号控制开关
<small></small> 在 HTML5 中语义化为「旁注、版权信息、法律免责声明」等次要内容,不是用来微调字体大小的工具。它的默认渲染尺寸由浏览器决定,且可能随系统设置缩放变化。
- ✅ 合规:
<footer><small>© 2026 所有权利保留。隐私政策见链接。</small></footer> - ❌ 错误:
<p>价格:<small>¥99</small></p>(这是主信息,不该降级语义) - ⚠️ 关键点:CSS 的
font-size属性对<small></small>仍有效,但滥用会破坏语义层级,影响 SEO 和结构化数据提取
真正难的是判断语义优先级——比如一句“限时 5 折”,是促销信息(<mark></mark>),还是重要提醒(<strong></strong>),还是仅视觉突出(<b></b>)。这个决策没法靠格式化标签自动完成,得看上下文和用户目标。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











