关键在于用 strong 和 em 准确传达语义层级:strong 标记不可省略的事实性重点,影响操作安全;em 标记语气重心,改变语调而非信息权重;二者嵌套需分层合理,配合 SSML 可提升语音自然度。
用 和 表达强调,关键不在“加粗还是斜体”,而在于告诉浏览器和语音合成引擎:哪部分信息必须被听见、哪部分语气需要被读出来。选错标签,语音合成时可能把警告读得轻描淡写,或把反语读成严肃声明。
strong 标记的是逻辑上不可跳过的事实性重点——删掉它,用户可能操作失误、数据丢失或理解偏差。屏幕阅读器会加重停顿、提高音量,语音合成引擎(如 Web Speech API)也倾向赋予更高朗读优先级。
em 标记的是语气重心,影响的是“怎么读”,不是“要不要听”。它不提升信息权重,但改变语调:升调、拖长、略带反讽或强调对比。语音合成时,内容常触发 pitch 或 prosody 调整,而非语速或音量突变。
可以嵌套,但必须分层合理:外层定重要性,内层调语气。语音合成引擎(如 Chrome 的 SpeechSynthesis)能识别嵌套结构,并依层级调整语调与节奏。
立即学习“前端免费学习笔记(深入)”;
✅ 合理示例:<p>您<strong>必须</strong>在<strong><em>24 小时内</em></strong>完成认证,否则账户将被冻结。</p>
→ “必须”由 锚定责任,“24 小时内”既是硬性约束(),又带紧迫语气(),语音合成可对“24 小时内”做轻微升调+稍快语速处理。
❌ 错误示例:<p><strong><em>警告</em></strong>:操作不可逆</p>
→ “警告”本身已是高提示词,再叠加强调与语气,语音引擎可能重复加重或语调冲突,反而削弱可信度。
HTML 标签提供语义基础,但真正实现自然语音输出,需结合 SpeechSynthesisUtterance 和 SSML(语音合成标记语言)增强表现力。
utterance.pitch = 1.2 + utterance.rate = 0.95,制造郑重感
<prosody pitch="+3st">真的</prosody> 插入 SSML 片段,比纯 JS 参数更精准
注意:不要依赖 CSS 改变 或 的视觉样式来“模拟”强调。语音引擎不读 CSS,只解析 HTML 语义。加粗/斜体只是浏览器默认渲染,不影响语音行为。
真实优化语音体验,必须用读屏软件(NVDA、VoiceOver)或调用 window.speechSynthesis.speak() 实际听一遍:
可访问性不是附加项,而是语音合成能否起效的前提。语义错位的标签,会让视障用户错过关键警告,也让普通用户听到一段失真的对话。