应使用 th,因为 html 规范推荐最简语言子标签,th 已准确标识泰语;th-th 属过度指定且无实际收益,仅在需区分地区变体时才考虑,但现实中几乎不需要。

lang 属性该用 th 还是 th-TH
泰语页面必须设 lang,但直接写 th 就够了,th-TH 属于过度指定。HTML 规范明确推荐使用最简语言子标签,th 已能准确标识泰语,浏览器、屏幕阅读器和搜索引擎都按此解析。
只有当你需要区分泰语在不同地区的拼写变体(比如泰国本土 vs. 老挝境内泰语社区)时,才考虑加地区子标签——但现实中几乎不存在这种需求,th-TH 不会带来任何实际收益,反而增加冗余。
设置位置:只在 html 根元素写一次
lang 应该唯一出现在 开头标签上,例如:
或其他嵌套元素里重复写,除非页面中某段内容确属另一种语言(比如引用一句英文),这时才在对应元素上临时覆盖:<p>นี่คือประโยคภาษาไทย แต่คำว่า <span lang="en">JavaScript</span> ใช้ภาษาอังกฤษ</p>
- 重复设置
lang="th"在子元素上,既无必要,也可能干扰辅助技术的语言切换逻辑 - 如果整个页面是纯泰语,
就是全部所需 - 别漏掉闭合斜杠(XHTML 风格)或自闭合写法——HTML5 中
即可,不加/>
常见错误:混用大小写或拼错代码
语言代码严格区分大小写规则:th 必须小写,TH 是地区码且仅在连字符后出现(如 th-TH),但单独写 TH 或 Th 都是无效值。浏览器不会报错,但可能降级为未知语言处理。
容易误写的错误形式包括:TH、Th、tha(这是 ISO 639-2 三字母码,HTML 不接受)、thai(非标准)、th_TH(下划线非法,必须用连字符)。
- 始终用小写
th - 验证工具(如 W3C Markup Validation Service)会把
TH标为“语言子标签大小写不规范” - 某些旧版 JAWS 或 NVDA 版本对大小写敏感,错写可能导致语音引擎不切换泰语发音规则
meta http-equiv="content-language" 已过时,别用
你可能会看到老项目里有这行:
<meta http-equiv="content-language" content="th">。它早已被 HTML5 废弃,既不触发浏览器语言行为,也不影响 SEO 或可访问性。现代页面只需
,删掉这行 meta 更干净。
这个 meta 标签曾试图模拟 HTTP Content-Language 响应头,但实际被广泛误解和误用;现在所有关键功能(如断字、字体回退、TTS 语种选择)都只认 lang 属性。
真正要控制响应头语言,得靠服务器配置(比如 Nginx 的 add_header Content-Language th;),而不是前端 meta 标签。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











