lang 属性記述言語を表す

lang 属性は、要素の内容がどのような言語で記述されているかを表します。

lang 属性はグローバル属性に分類され、すべての HTML 要素において使用することができます。html 要素に対して指定し、文書全体の言語を指定したり、文書内の一部の要素に対して、言語を指定したりといったことが可能です。適切に指定することで、プログラムによる自動翻訳などが容易になるかもしれません。

XML においては、xml:lang 属性が定義されていますが、HTML 文書内で、xml:lang 属性は基本的には使用できません。ただし、XHTML への移行や、既存の XHTML 文書から、HTML への移行を容易にするため、lang 属性と同時に指定された場合のみ、HTML 文書内での xml:lang 属性の使用が認められます。ただし、その値は、大文字、小文字の違い以外は一致させなければなりません。

lang 属性に指定する値は、BCP 47 (RFC 4646 および RFC 4647) によって定義されています。例えば下記のような値が指定できます。

属性値 言語
ja 日本語
ja-jp 日本における日本語
en 英語
en-au オーストラリアにおける英語
de ドイツ語

サンプルソースを見る

lang 属性の仕様

この属性を使用できる要素
  • すべての HTML5 要素

lang 属性のサンプルソース

<!-- html 要素に指定して、文書が日本語で書かれていることを表した例 -->
<!DOCTYPE html>
<html lang="ja">
 <head>
  <meta charset="utf-8" />
  <title>ページタイトル</title>
 </head>
 <body>
  …省略…
 </body>
</html>
<!-- 文書の一部に他の言語が挿入される場合など -->
<p>
 以下は HTML5 仕様書より引用しますが、
</p>
<blockquote lang="en" cite="http://www.w3.org/TR/html5/dom.html#attr-lang">
 <p>
  The lang attribute (in no namespace) specifies the primary
  language for the element's contents and for any of the element's
  attributes that contain text. Its value must be a valid BCP 47
  language tag, or the empty string. Setting the attribute to the
  empty string indicates that the primary language is unknown.
 </p>
</blockquote>
<!-- lang、xml:lang 属性を同時に指定した例 -->
<!DOCTYPE html>
<html lang="ja" xml:lang="ja">
 <head>
  <meta charset="utf-8" />
  <title>ページタイトル</title>
 </head>
 <body>
  …省略…
 </body>
</html>