应优先使用 strong 而非 b,因 strong 具有语义重要性,影响可访问性、SEO 和工具识别;b 仅用于纯视觉加粗且无强调含义的场景,如产品名首次出现、摘要关键词高亮或传统排版配合 i 标签。

b 和 strong 渲染效果一样,但语义完全不同:前者纯视觉加粗,后者表示内容有强重要性;搜索引擎、读屏器、代码审查工具都会区分对待。
什么时候该用 b?
只为了“看起来粗一点”,且没有额外强调含义时才用。b 是 presentation-only 的标签,类似 CSS 的 font-weight: bold。
- 产品名首次出现(如“
b品牌手机”中的b)——只是样式需要,不改变语义权重 - 关键词在摘要中高亮(如新闻标题下的“
b突发”“b快讯”),但上下文并无逻辑强调 - 与
i配合做传统排版效果(如“b第一章i引言”),此时更接近印刷习惯而非语义表达
为什么 strong 不能简单替换成 b?
strong 是语义化标签,影响可访问性(a11y)和 SEO。读屏器会加重语气朗读 strong 内容,Google 也会略微提升其所在段落的关键词相关度。
- 错误示例:
<b>密码必须包含大写字母</b>→ 应该用<strong></strong>,因为这是强制性要求,有逻辑重要性 - 嵌套行为不同:
<strong>A <strong>B</strong> C</strong>表示 B 比 A 和 C 更重要;而<b>A <b>B</b> C</b>只是两层加粗,无层级含义 - 部分浏览器对
strong有默认 aria 属性(如role="strong"),b则完全无此行为
b 和 strong 在 CSS 中的表现差异
默认都显示为加粗,但它们的默认 font-weight 值可能因浏览器略有不同;更重要的是,它们对继承和计算样式的处理一致,但语义属性不会被 CSS 覆盖。
立即学习“前端免费学习笔记(深入)”;
- 你可以用 CSS 把
strong设为细体:strong { font-weight: normal; },但它仍是语义上的“强重要”,读屏器照常加重朗读 -
b没有隐含语义,所以即使你给它加了aria-label,也不会自动获得strong的原生可访问性支持 - 在 Shadow DOM 或 Web Component 中,
strong更容易被外部工具识别为“需关注内容”,b则大概率被忽略
真正容易被忽略的点是:团队协作或代码审计时,b 标签常被误认为“写错了”,尤其当它出现在表单提示、错误信息、权限说明里——这些地方几乎都应该用 strong。别让视觉妥协掩盖语义需求。



















