引文元素必须显式设置lang属性,不能依赖继承;、、等须按实际内容语言精确标注,值须符合BCP 47标准,否则屏幕阅读器误读、翻译失效、:lang()选择器不生效。

引文元素必须显式加 lang,不能靠继承
浏览器和屏幕阅读器不会从 自动推断引文语言。哪怕整页是中文, 里的英文原文仍会被普通话引擎硬读成“阿皮”或“欧斯”,除非你手动标出 lang="en"。
常见错误是只给外层容器加 别为了省事统一写成 例如: 示例: 生成可在 deepbi 沙箱 iframe 内运行或作为独立文件运行的交互式 HTML 页面,使用 `window.deepbi` JS SDK 实现数据查询、空间管理、文件浏览及用户操作。当用户提出以下需求时启用该能力:
- 创建 KPI 仪表盘、数据表格、文件浏览器、成员列表、管理页面;
- 明确要求“转成 dhtml”、“转译成 HTML”、“把 XX 页面转成……”、“控制台页面”、“管理后台”、“DeepBI 页面迁移”;
- 提及位于 `apps/console/src/featur 注意: 用 JS 插入 最容易被忽略的是:引文可能来自 CMS 富文本字段,而编辑器没提供语言标注入口——这时得在渲染层做兜底判断(比如正则匹配 Unicode 范围),但不如源头结构化支持可靠。lang:——API
✅ 正确:语义合理 + 显式声明The API is unstable.
✅ Merci beaucoup.
是内联引文,同样支持 lang
『源氏物語』 ✅ 书名、专有名词等语义明确的引用场景也适用
lang 值要匹配引文实际内容,不是页面主语言lang="zh-CN"。一段日文俳句、一段德文法律条文、一段拉丁文格言,各自得用对应语言码,否则拼写检查失效、语音引擎错配、翻译工具无法触发上下文识别。 —— 写成 Die Wahrheit ist immer die einfachste Erklärung.
lang="zh-CN" 或 lang="en" 都会让 Chrome 翻译按钮不出现,NVDA 也会用中文发音念德文单词。
en 或 en-US(后者更精确,但 en 已足够)fr,非必须加地区码;若强调加拿大法语可写 fr-CA
ja 即可,ja-JP 不必要,除非你要排除巴西日裔社区的变体lang="Chinese"、lang="jp" 这类非 BCP 47 格式,浏览器静默忽略配合
:lang() CSS 选择器做视觉微调:lang(en) 这类选择器只有在元素真实携带对应 lang 属性时才生效。它不是装饰,而是可访问性链路的一环——比如让英文引文默认用无衬线字体,中文引文保留宋体,或对阿拉伯语引文启用 text-align: right。
blockquote:lang(en) {
font-family: "Segoe UI", system-ui;
}
blockquote:lang(zh-Hans) {
font-family: "PingFang SC", "Noto Sans CJK SC";
}
:lang(zh) 不会匹配 ,必须写成 :lang(zh-CN) 或用属性选择器前缀匹配:[lang^="zh"]。动态插入引文时,
lang 必须同步设置 后,光设 innerHTML 不够。如果内容本身是英文,却没带 lang="en",那它就只是“一段没语言标签的文本”,后续任何可访问性逻辑都失效。
el.innerHTML = "
Hello world
"el.innerHTML = "
Hello world
"lang 属性,不能依赖父组件语言上下文
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










