HTML 的 lang 属性应优先用 pt;仅当内容明确适配巴西葡语(如拼写、单位、节假日)时才用 pt-BR,避免盲目使用 pt-BR 干扰读屏工具和 SEO,禁用已废弃的 meta http-equiv="content-language",lang 应设在 html 根元素并合理继承。

lang 属性该用 pt 还是 pt-BR
HTML 的 lang 属性应优先使用 ISO 639-1 两位小写语言代码,葡萄牙语统一用 pt;只有在需要明确区分地域变体(如巴西葡语与欧洲葡语)且内容确有差异时,才加地区子标签,例如 pt-BR 或 pt-PT。
常见错误是盲目套用 pt-BR——哪怕网站面向所有葡语用户、文案未做本地化适配,或仅由巴西团队开发但内容无地域特征。这反而可能干扰屏幕阅读器的语音合成(部分读屏工具对 pt-BR 的发音规则支持不一致),也削弱搜索引擎对多区域用户的泛匹配能力。
- 纯葡语内容、无地域特有词汇/日期/货币格式 → 用
lang="pt" - 全文强制使用巴西拼写(如 “móvel” 而非 “móvel”)、巴西单位(km/h)、巴西节假日说明 → 可用
lang="pt-BR" - 同一页面混用欧洲和巴西葡语?别这么做。应拆分为独立页面,各自设置对应
lang
meta http-equiv="content-language" 已被弃用
别再用 。这个属性在 HTML5 中已废弃,浏览器基本忽略它,且与 lang 属性语义重复。W3C 明确建议只用 lang 控制语言识别。
实际影响:添加该 meta 不会增强 SEO 或可访问性,反而增加冗余代码,还可能让新开发者误以为它是“更权威”的语言声明方式。
lang 设置位置与继承规则
lang 最有效的写法是直接设在 根元素上,例如 。这样整个文档默认继承该语言,无需每个段落重复声明。
但要注意局部覆盖场景:
- 引用一段西班牙语原文?给
加lang="es" - 按钮文字是英文 “Submit”,而页面主体是葡语?给该
加lang="en" - 不要给 或
随意加lang,除非内部文本语言确实不同浏览器和读屏工具依赖这种层级继承来切换发音引擎,乱设会导致语音中断或读错重音。
验证与调试建议
检查
lang是否生效,最直接的方法是用 Chrome DevTools 打开「Accessibility」面板,选中任意文本节点,看右侧「Language」字段是否显示预期值(如pt)。若为空或错误,说明根元素漏设或被意外覆盖。容易被忽略的一点:服务端渲染(SSR)或静态站点生成器(如 Hugo、Jekyll)常把
lang写死成en,而忘了根据内容语言动态替换。上线前务必检查生成后的 HTML 源码中的实际值。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











