WCAG 2.0 実装方法集

メインコンテンツへスキップ

-

H57: html要素の言語属性を用いる

適用(対象)

HTML 及び XHTML

これは、次の達成基準に関連する実装方法である:

ユーザーエージェント及び支援技術によるサポート

lang属性の値として、地域、筆記体、異体などを示すために、主言語コードの後にハイフン区切りで副言語コードを加えると、一部のスクリーンリーダーの古いバージョンでは、言語の切り替え時にエラーになることがある。

JAWS 8.0では、lang属性を元に自動的に言語を変更するように設定できるが、主言語コードとして指定できるような、主要な言語の間での切り替えのみである。地域別の言語異体を副言語コードとして指定しても、JAWSでは初期設定の異体が使用されるだろう。

解説

この実装方法の目的は、html要素にlang属性及び(又は)xml:lang属性を指定することで、文書の初期設定言語を特定することである。

次のようなさまざまな理由から、文書の言語を特定することが重要である:

HTML 4.01では、html要素にlang属性を指定する。一方、XHTMLをtext/htmlとして配信する場合には、XHTML仕様の要求に合致しつつ、HTMLとの後方互換性を確保するために、html要素にlang属性とxml:lang属性を指定する。XHTMLをapplication/xhtml+xmlとして配信する場合には、html要素のxml:lang属性のみを指定する。lang属性とxml:lang属性の双方には、同じ値のみが指定できる。

注記 1: HTMLはlang属性の利用のみを指示しているが、XHTML 1.0は(経過措置として)両方の属性を認めており、XHTML 1.1はxml:lang属性のみを認めている。

注記 2: lang属性とxml:lang属性で指定できる値については、下記の参考リソースで示されている。言語タグでは、その言語を示すために主言語コードを用い、(ハイフン区切りで示す)任意の副言語コードは言語の異体を示すのに用いる。たとえば、英語は主言語コードでは「en」で示すが、イギリス英語とアメリカ英語は「en-GB」と「en-US」という形で区別できる。この実装方法では、主言語コードの利用が重要である。副言語コードの利用は任意であるが、ある状況では役に立つかもしれない。

事例

事例 1:

この事例では、HTML文書の内容がフランス語であることを明確にしている。

コード例:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="fr"> 
<head>
  <title>document écrit en français</title>
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>  
<body>     
	...document écrit en français...   
</body>
</html>

事例 2:

この事例では、text/htmlというコンテンツタイプのXHTML 1.0文書の内容がフランス語であることを明確にしている。XHTML仕様の要求に合致しつつ、HTMLとの後方互換性を確保するために、lang属性とxml:lang属性の両方を指定している。

コード例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">
<head>
  <title>document écrit en français</title>
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
<body> 
...document écrit en français...      
</body>
</html>  

事例 3:

この事例では、application/xhtml+xmlというコンテンツタイプのXHTML 1.1文書の内容がフランス語であることを明確にしている。xml:lang属性のみを指定している。

コード例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 
   "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
  <title>document écrit en français</title>
	<meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8" />
</head>
<body> 
	...document écrit en français... 
</body>
</html>

参考リソース

この参考リソースは、あくまでも情報提供のみが目的であり、推薦などを意味するものではない。

検証

チェックポイント

  1. 文書にhtml要素がある。

  2. html要素にlang属性及び(又は)xml:lang属性が指定してある。

  3. lang属性及び(又は)xml:lang属性の値がBCP 47: Tags for the Identification of Languages又は後継仕様に準拠しており、そのウェブページの主言語を反映している。

判定基準

注意: この実装方法が「達成基準を満たすことのできる実装方法」の一つである場合、このチェックポイントや判定基準を満たしていなければ、それはこの実装方法が正しく用いられていないことを意味するが、必ずしも達成基準を満たしていないことにはならない。場合によっては、別の実装方法によってその達成基準が満たされていることもありうる。

日本語訳における注記:

この文書の正式版は、W3Cサイトで公開されている英語の文書であり、この日本語訳には誤訳が含まれていることもありえます。なお、文中にある「日本語訳における注記」は、W3Cの原文にはないものであり、日本語訳監修者が追記したものです。