HTML 设置网页语言的正确姿势:lang、BCP 47、无障碍与 SEO 全指南

为什么一定要声明网页语言

为页面设置正确的语言不只是“讲究”,它直接影响屏幕阅读器发音、断词与连字、自动拼写检查、语法高亮、浏览器排版与连字符断行、搜索引擎理解与地区定向等。最佳做法是在文档根元素声明默认语言,并在局部混用其他语言时为相应元素单独标记。

一步到位:在 <html> 上声明默认语言

<!doctype html>
<html lang="zh-Hans">
  <head>
    <meta charset="utf-8" />
    <title>你好,世界</title>
  </head>
  <body>…</body>
</html>

要点:

  • lang 放在 <html> 上可作为全页默认语言,其值会被元素继承。
  • 值使用 BCP 47 语言标签,例如:en、en-GB、zh-Hans(简体中文)、zh-Hant(繁体中文)、es-419(拉美西语)等。
  • 标签大小写约定:语言小写(en),脚本首字母大写(Hans/Hant),地区大写(US/GB)。

多语言页面:给“局部”加 lang

当页面中出现与默认语言不同的片段时,直接在元素上标注:

<p>这是一段中文文本。</p>
<p lang="en">This sentence is in English.</p>
<q lang="fr">C’est la vie.</q>

这样做能让:

  • 屏幕阅读器切换到正确的发音;
  • 浏览器采用该语言的断词与拼写规则;
  • CSS :lang() 选择器精确匹配到对应语言片段(如为法语引号或日文字体单独设样式)。

示例(CSS):

:lang(ja) { font-family: system-ui, "Hiragino Kaku Gothic ProN", "游ゴシック", sans-serif; }
:lang(fr) q { quotes: "« " " »" "‹ " " ›"; }

中文该写 zh-CN 还是 zh-Hans?

推荐 zh-Hans(简体)与 zh-Hant(繁体)区分书写体系,更准确也更具可移植性。

仅当确实依赖“区域变体”时再加地区,例如 zh-Hant-HK(香港繁体)。

英语常见对比如下:en-US(美式)、en-GB(英式)。

与文字方向配合(阿拉伯语/希伯来语等)

对从右到左(RTL)的语言,配合 dir:

<html lang="ar" dir="rtl">
  …
  <span lang="en" dir="ltr">HTTP status</span>
</html>

dir="rtl" 设置整体方向,内嵌的 LTR 片段再“局部纠偏”。

注意事项

  • 别用 <meta http-equiv="content-language"> 指定页面语言(已过时)。请用 lang。
  • 别忘了局部语言:仅在 <html> 写 lang 不能覆盖多语言段落。
  • 别乱写代码:cn 不是语言;应写 zh + 脚本/地区。遵循 BCP 47。
  • 别忽略可访问性:未设置/设置错误会让读屏发音怪异,影响无障碍合规。
  • 别把 hreflang 与 lang 混为一谈:hreflang 用在 <link rel="alternate"> 或站点地图中,用于页面版本的区域/语言指向;lang 是页面内容语言。

实战清单(拿去即用)

  • 单语站点:在 <html> 上设置 lang,如 lang="zh-Hans" 或 lang="en-GB"。
  • 多语段落:为每个与默认语言不同的元素加 lang。
  • RTL 语言:根元素加 dir="rtl",混排片段局部 dir 修正。
  • 样式与排版:用 :lang() 为特定语言定制字体、引号、行高等。
  • 服务器/SEO:需要国际/区域多版本时,另行配置 hreflang 及地域化 URL,但仍应在每一页正确设置 lang。

常见示例合集

英中混排:

<p>本课程将讲解 <span lang="en">TypeScript</span> 的类型系统。</p>

英式与美式英文:

<html lang="en-GB">…</html>  <!-- 英式拼写 colour/organise 等 -->
<html lang="en-US">…</html>  <!-- 美式拼写 color/organize 等 -->

简繁体中文:

<html lang="zh-Hans">…</html> <!-- 简体 -->
<html lang="zh-Hant">…</html> <!-- 繁体 -->

正确设置网页语言是一项“投入最小、收益极高”的基础工程:一次配置,长期受益。把 lang 当成页面模板的必选项,你的可访问性、排版品质与国际 SEO 都会更上一层楼。

评论