strong表示信息强重要性,强调“不能忽略”;em表示语气强调,强调“要这么读”。二者语义不同、不可互换,影响可访问性、SEO及合规性。

strong 和 标签不是“加粗 vs 斜体”的样式开关,而是传达不同语义的结构标记:一个说“这信息不能忽略”,另一个说“这话要这么读”。用错会导致屏幕阅读器误读、SEO 权重错配、甚至 WCAG 合规风险。
什么时候该用 strong?看后果是否严重
判断标准不是“要不要醒目”,而是“跳过它会不会出事”。
- 表单错误提示:
<strong>邮箱格式不正确</strong>—— 用户没看到就可能反复提交失败 - 权限警告:
<strong>此操作将永久删除所有子账户</strong>—— 涉及数据不可逆损失 - 法律条款关键句:
<strong>您同意本协议即视为接受全部免责条款</strong> - 避免整段包裹:
<strong>…</strong>会稀释重点,辅助技术可能降权处理 - 别和
th或h2套用:<th><strong>姓名</strong></th>是冗余的——th本身已含语义
什么时候该用 em?看语气是否参与表意
去掉 em 后原意还在,但少了点潜台词、反讽或临时聚焦,就该用它。
将调研报告、方案对比、数据分析、需求梳理、会议纪要、设计说明、代码评审、学习笔记等任务产物输出为可在浏览器直接打开的单文件 HTML,替代 Markdown 作为最终交付物。Markdown 在信息密度、视觉清晰度和可分享性上已跟不上 AI 产物的丰富度,HTML 能同时承载排版、表格、SVG 等。
- 表达意外或反语:
我们“确实”支持 IE11(引号内用<em>确实</em>) - 澄清歧义:
这个按钮会删除数据,<em>不是</em>备份 - 口语化强调:
你<em>真的</em>确定要注销吗?—— “真的”是语气重心,非事实核心 - 可嵌套但慎用:
<em>你<em>绝对</em>不能这么做</em>合法,但两层以上易让读屏软件困惑 - 别当斜体工具:
<em>Python</em>用于术语首次出现?错,该用<i>Python</i>——i才是无语义的“斜体”标签
为什么不能靠 CSS 替代?因为语义不在视觉里
浏览器默认把 strong 渲染为加粗、em 渲染为斜体,但这只是 UA stylesheet 的临时约定。真正起作用的是 DOM 中的标签名。
立即学习“前端免费学习笔记(深入)”;
- 屏幕阅读器对
strong通常加重停顿+提高音量,对em则改变语调(如升调、拖长),两者触发的语音行为完全不同 - 搜索引擎解析时,
strong内容可能获得更高关键词权重;em内容则更倾向被识别为修饰性短语 - 你可以用 CSS 把
strong设为font-weight: normal,但它仍是“重要内容”;同理,em设成加粗也不等于它变重要了 - 用
b或i实现加粗/斜体没问题,但它们不传递任何语义——适合品牌名、外文词、技术术语等中性场景
容易被忽略的细节:嵌套、可访问性与测试盲区
开发时很少有人真用读屏软件验证,但以下三点在真实辅助场景中高频出问题:
-
strong嵌套无效:<strong><strong>危险</strong></strong>不会比单层更强——语义不叠加,只算一个高权重节点 -
em在列表项或段首滥用:<p><em>注意</em>:以下操作不可逆</p>—— “注意”本身已是提示性词汇,再套em反而干扰节奏 - 动态插入内容时漏掉语义:
element.innerHTML = '密码错误'直接拼字符串,丢失了本该用strong包裹的紧急性 - 最稳妥的验证方式:关掉屏幕,用 VoiceOver(macOS)或 NVDA(Windows)朗读页面,听它怎么停顿、升调、加重——那才是用户真正“看到”的 HTML


















