标准 · WCAG 2.2

SC 3.1.2 级别 AA WCAG 2.0

局部语言

当页面中某段文字或短语所使用的语言与页面默认语言不同时,应在其容器上标注 lang 属性,以便屏幕阅读器为该片段切换语音和发音。

要求内容

如果页面上的某个句子、段落、引用块或行内片段所使用的语言与页面声明的默认语言不同,该片段必须携带自己的 lang 属性。例外情形包括:专有名词、技术术语、语言不明的词语,以及已融入周边语言的借词(如英语中的”rendezvous”)。

此成功准则的目标是使屏幕阅读器能够实时切换发音引擎——以德语语音朗读德语引用块,朗读完毕后再以英语语音继续周边的评注。

如何满足此准则

  • 将外语段落包裹在任意元素中(常用 <span><blockquote><q><p>),并添加 lang 属性。
  • 示例:<p>The motto is <span lang="la">carpe diem</span>.</p>——但”carpe diem”已成为借词,属于豁免情形;此准则适用于真正的外语段落。
  • 对于长引文,应将 <blockquote lang="fr"> 应用于整个引用块。
  • 对于包含多语言的标题,应为每个语言片段分别标注。
  • 对于 LTR 页面中的从右向左书写片段,应配合使用 dir="rtl"
  • 从 CMS 拉取本地化字符串时,应确保区域设置字段传递至渲染片段上的 lang 属性。

常见失败情形

  • 多语言页面设置了正确的根 lang,但缺少逐片段标注——所有外语引文、歌曲标题或用户评价都以错误的语音朗读。
  • 对专有名词标注 lang(过度标注)——此成功准则明确豁免专有名词。
  • 在片段内部使用 lang="english" 或其他不符合 BCP 47 规范的值。
  • 并排双语产品页面中,只有一列设置了 lang 属性。
  • 新闻网站引用外国政要发言时,未对引文加以包裹。

重要性

若缺少逐部分的语言切换,屏幕阅读器将按英语音素规则朗读法语短语(如”merci beaucoup”),结果要么令人发笑,要么根本无法理解。对于依赖语音合成作为主要文字获取渠道的用户而言,这比表面看起来更为重要——冗长的新闻文章、学术内容和多语言营销文案都会因此变得难以理解。

此成功准则的实施率普遍偏低,即便在通过了成功准则 3.1.1 的站点上也是如此——因为它要求在内容创作阶段保持编辑规范,而不仅仅是修改模板。