应优先用 表示语义强调,如错误提示关键词;仅视觉加粗用 CSS(font-weight:700);禁用 伪装语义或整段包裹 。

HTML 里写粗体,别用 <b></b> 当默认答案,它只是“视觉加粗”,不带语义;真要强调内容重要性,该用 <strong></strong>。
什么时候该用 <strong></strong> 而不是 <b></b>
<strong></strong> 表示内容有强重要性,浏览器和读屏软件会据此调整行为(比如语音语调加重);<b></b> 只是“想让它看起来粗一点”,没有语义权重。
常见错误现象:<b></b> 被大量用于标题、标签名、UI 文字——这些其实不需要语义强调,但也不该滥用 <b></b> 来“假装有重点”。
- 用
<strong></strong>:错误提示中的关键词(如“<strong>密码长度不足</strong>”) - 用
<b></b>:纯样式需求,比如菜单项里把“New”标粗(无语义,仅视觉区分) - 都不该用:整段文字套
<strong></strong>来“加粗排版”,这是 CSS 的活儿
<strong></strong> 的嵌套和可访问性影响
可以嵌套,但嵌套两层以上时,部分读屏工具会重复播报“strong”,造成干扰;视觉上也不会更粗——浏览器对多重 <strong></strong> 不叠加粗细。
立即学习“前端免费学习笔记(深入)”;
使用场景中容易被忽略的一点:<strong></strong> 在表单错误消息里如果包裹整个句子,不如只包关键字段名,例如:
<p>请检查 <strong>邮箱地址</strong> 和 <strong>验证码</strong> 是否正确</p><div class="aritcle_card flexRow">
<div class="artcardd flexRow">
<a class="aritcle_card_img" href="/xiazai/skill12116" title="DeepBI DHTML 页面生成器"><img
src="https://img.php.cn/upload/skill/001/246/273/6adaf20d3191a227.jpg" alt="DeepBI DHTML 页面生成器" ></a>
<div class="aritcle_card_info flexColumn">
<a href="/xiazai/skill12116" title="DeepBI DHTML 页面生成器">DeepBI DHTML 页面生成器</a>
<p>生成可在 deepbi 沙箱 iframe 内运行或作为独立文件运行的交互式 HTML 页面,使用 `window.deepbi` JS SDK 实现数据查询、空间管理、文件浏览及用户操作。当用户提出以下需求时启用该能力:
- 创建 KPI 仪表盘、数据表格、文件浏览器、成员列表、管理页面;
- 明确要求“转成 dhtml”、“转译成 HTML”、“把 XX 页面转成……”、“控制台页面”、“管理后台”、“DeepBI 页面迁移”;
- 提及位于 `apps/console/src/featur</p>
</div>
<a href="/xiazai/skill12116" title="DeepBI DHTML 页面生成器" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a>
</div>
</div>
而不是:
<p><strong>请检查邮箱地址和验证码是否正确</strong></p>
后者让辅助技术难以定位具体出错项。
CSS 替代方案:什么时候干脆别用标签
如果你只是想让某段文字变粗,且不涉及语义或可访问性需求,直接用 CSS 更干净:
-
font-weight: bold或font-weight: 700(推荐数值,兼容性更稳) - 避免用
<b></b>+ CSS 覆盖样式,既冗余又增加 DOM 复杂度 - 组件库中常见反模式:封装一个
<boldtext></boldtext>组件却内部用<b></b>,结果语义全丢
性能影响极小,但维护成本上升——多一层标签,就多一个可能被误读的语义节点。
真正麻烦的不是选 <b></b> 还是 <strong></strong>,而是根本没想过这段粗体文字在键盘导航时怎么读、在暗色模式下是否还清晰、被翻译工具提取时会不会连带把“strong”语义一起错译。这些细节,改一行 CSS 解决不了。


















