必须写在HTML根标签且严格符合BCP 47格式(小写zh+短横线+大写CN),其他位置或错误写法(如zh、zh_cn、ZH-CN)均无效,会导致屏幕阅读器误读、SEO降权、翻译失效。

必须写对、写全、写稳,不是“写了就行”,而是要从模板、工具、流程三端卡死。
必须用 IETF 语言标签,大小写敏感lang 属性值不是随便填的缩写。zh、zh-cn、ZH-CN 都不合法,只有 zh-CN(简体中文)、zh-HK(繁体香港)、en-US 等符合 BCP 47 标准的格式才被屏幕阅读器、搜索引擎和国际化工具正确识别。写错会导致语音库加载失败、SEO 语义降权、i18n 提取漏键。
所有 HTML 模板强制预置 lang 属性
团队共用的页面骨架(如 Jekyll 的 _layouts/default.html、Vue 的 App.vue 中的 根节点)必须默认带 lang="zh-CN",并支持构建时注入变量(如 )。禁止开发者在每个页面里手写或复制粘贴——容易出错,也违背“一次定义、全局生效”原则。
CI 流程中自动校验,不通过即阻断
在提交或构建阶段运行 html-validate 或自定义脚本检查:
- 是否存在
标签 -
lang属性是否存在且非空 - 值是否匹配正则
^[a-z]{2}(-[a-zA-Z]{2,})?$(例如zh-CN、en-US、ja-JP) - 若项目为多语言站点,还需校验
lang值是否在预设白名单内(如["zh-CN", "en-US", "ja-JP"])
VS Code + Prettier 自动补全,减少人为失误
在 .vscode/settings.json 中配置:
"emeraldwalk.runonsave": {
"commands": [
{
"match": "\.html$",
"cmd": "npx html-validate --config .htmlvalidate.json ${file}"
}
]
},
"editor.suggest.snippetsPreventQuickSuggestions": false
配合 Emmet 或自定义代码片段,输入 html:5 时自动展开为含 lang="zh-CN" 的完整结构,而非裸 。
生成可在 deepbi 沙箱 iframe 内运行或作为独立文件运行的交互式 HTML 页面,使用 `window.deepbi` JS SDK 实现数据查询、空间管理、文件浏览及用户操作。当用户提出以下需求时启用该能力: - 创建 KPI 仪表盘、数据表格、文件浏览器、成员列表、管理页面; - 明确要求“转成 dhtml”、“转译成 HTML”、“把 XX 页面转成……”、“控制台页面”、“管理后台”、“DeepBI 页面迁移”; - 提及位于 `apps/console/src/featur
不复杂但容易忽略
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










