
HTML 的 lang 属性必须遵循 BCP 47 标准(如 es-ES),使用短横线而非下划线;通用语言可仅用主标签(如 es),无需地区子标签。
html 的 `lang` 属性必须遵循 bcp 47 标准(如 `es-es`),使用短横线而非下划线;通用语言可仅用主标签(如 `es`),无需地区子标签。
在构建符合无障碍标准(a11y)和 SEO 最佳实践的网页时, 标签中的 lang 属性绝非可有可无的装饰——它是屏幕阅读器解析语音语调、浏览器选择字体渲染、搜索引擎识别内容语言的关键信号。然而,一个常见却极易被忽视的错误是:误用下划线(_)代替短横线(-)分隔语言与地区代码。
例如,以下写法是 错误且无效 的:
<!-- ❌ 下划线不符合 BCP 47 --> <!-- ❌ 同样无效,大小写不规范 -->
正确写法应严格遵循 BCP 47 规范:
- 语言子标签(primary language subtag)必须小写(如 es, en, fr, zh);
- 地区子标签(region subtag)推荐大写(如 ES, US, FR, CN);
- 语言与地区之间必须用 ASCII 短横线 - 连接(非 Unicode 连字符、破折号或下划线)。
✅ 正确示例:
将调研报告、方案对比、数据分析、需求梳理、会议纪要、设计说明、代码评审、学习笔记等任务产物输出为可在浏览器直接打开的单文件 HTML,替代 Markdown 作为最终交付物。Markdown 在信息密度、视觉清晰度和可分享性上已跟不上 AI 产物的丰富度,HTML 能同时承载排版、表格、SVG 等。
<!-- 西班牙本土西班牙语(推荐格式) -->
<!-- 技术上有效(全小写),但非惯用写法 -->
<!-- 美式英语 -->
<!-- 简体中文(中国大陆) -->
<!-- 繁体中文(中国台湾) -->
⚠️ 特别注意:
- Pagespeed、axe、Lighthouse 等工具校验的是 标准化的 BCP 47 值,es_ES 会被直接判定为无效,导致“element does not have a valid value for its [lang] attribute”警告;
- 大小写虽不区分语法有效性(es-es 和 es-ES 均被接受),但 es-ES 是 IETF 和 W3C 推荐的可读性与一致性写法;
- 若网站面向全体西班牙语使用者(含拉丁美洲多国),优先使用 lang="es" —— 简洁、通用、无障碍兼容性更优,且避免因地域细分引发的本地化维护负担。
? 总结建议:
- ✅ 默认首选:(通用西班牙语)
- ✅ 精准定位西班牙本土用户:
- ❌ 绝对避免:es_ES、es_es、ES-es、es/ES 等非标准形式
- ? 验证方式:使用 W3C Markup Validation Service 或 Lighthouse 的「Accessibility」审计,确认 lang 属性通过校验。
正确的 lang 值不仅关乎合规,更是尊重多元用户、提升可访问性与国际化体验的第一步。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










