lang 属性記述言語を表す

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

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

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

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

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

lang 属性の仕様

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

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>

仕様書の該当箇所

3.2.3.3 The lang and xml:lang attributes

用途から目的の要素を探す

用途から HTML5 の要素を逆引きできます。

テキストに対する意味づけを行いたい
テキストの編集を示したい
改行や折り返しを指定したい
上付きや下付きを指定したい
テキストの書字方向を制御したい
テキストにルビをふりたい
箇条書きなどリストを表したい
セクションを定義したい
コンテンツをグループ化したい
画像や映像などを埋め込みたい
スクリプトやスタイルを埋め込みたい
フォーム関連の要素
テーブル関連の要素
ドキュメントにメタデータを付与したい
インタラクティブな要素
その他

このページの上部へ