必须在标签设lang属性,且局部外语内容需逐元素声明lang,因屏幕阅读器依赖HTML层lang语义准确发音,仅JS层SpeechSynthesisUtterance.lang无法替代。

必须在 标签上设 lang,否则屏幕阅读器大概率把中文逐字拼成英文音节——这不是“效果差”,是根本听不懂。
为什么只写 还不够
全局 lang 只定基调,但页面里常有英文引文、日文术语、代码标识符等局部外语内容。浏览器不会自动识别这些片段的语言,必须显式声明。
-
<p>《The Art of Computer Programming》</p><div class="aritcle_card flexRow artxards"> <div class="artcardd flexRow"> <a class="aritcle_card_img" rel="nofollow" href="/xiazai/skill9972" title="Wechat Article Html"><img src="https://img.php.cn/upload/skill/001/246/273/6adaf20e695c2374.jpg" alt="Wechat Article Html" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a> <div class="aritcle_card_info flexColumn"> <a rel="nofollow" href="/xiazai/skill9972" title="Wechat Article Html" class="overflowclass">Wechat Article Html</a> <p class="overflowclass">将 Markdown 文章转换为微信公众号兼容的纯 HTML 格式。当用户要求"转成微信格式"、"生成公众号文章 HTML"、"排版到微信草稿箱"、"微信粘贴格式"时触发。输出带内联样式的纯 HTML,微信编辑器可直接渲染,无需额外适配。支持标题、段落、列表、粗体、行内代码、表格、引用块、代码块、配图的完整转换。</p> </div> <a rel="nofollow" href="/xiazai/skill9972" title="Wechat Article Html" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a> </div> </div>不加lang="en-US",中文语音引擎会强行切分单词,读成“特-阿-特-欧夫-科-姆-普-特-尔-普罗-格-拉-明” -
<td>API</td>在表格中若没lang,可能被读作“阿皮”,而非 /ˈeɪ.piː/ -
<div lang="ja-JP">こんにちは</div>若缺lang,假名可能被中文字体渲染,或直接跳过不读
表格里怎么给单元格指定发音规则
表格语言切换不能靠 <table lang="en"> 或 <code><tr lang="fr"> —— 这些标签没有语言语义,屏幕阅读器完全忽略。
<ul><li>必须为每个 <code><td> 或 <code><th> 单独加 <code>lang,例如:<td lang="en-US">HTTP status code</td>
<td lang="zh">辅助技术</td>
<td lang="en">Assistive Technology</td>
lang 必须随文本一起注入,不能只靠 JS 改 innerHTML 后再统一补属性
lang 和 SpeechSynthesisUtterance.lang 别混用
lang 是 HTML 层语义,决定屏幕阅读器从加载起就用什么规则读;SpeechSynthesisUtterance.lang 是 JS 层控制,只影响 speechSynthesis.speak() 主动触发的朗读。
- 即使你写了
utterance.lang = "zh-CN",但没设lang,屏幕阅读器仍按默认英文引擎读正文 - 想让某段文字用日语朗读,必须同时满足:
<span lang="ja-JP">ありがとう</span>+utterance.lang = "ja-JP" - SPA 切换语言时,只改
document.body.lang无效,必须同步更新document.documentElement.lang,否则 VoiceOver 仍用旧语种
最容易被忽略的是:语音是否自然,80% 取决于 lang 是否准确、是否嵌套得当——不是用了多高级的 TTS 库,而是你有没有让浏览器真正“看懂”哪段话该用哪种语言发音。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










