HTML 及び XHTML
これは、次の達成基準に関連する実装方法である:
lang
属性の値として、地域、筆記体、異体などを示すために、主言語コードの後にハイフン区切りで副言語コードを加えると、一部のスクリーンリーダーの古いバージョンでは、言語の切り替え時にエラーになることがある。
JAWS 8.0では、lang
属性を元に自動的に言語を変更するように設定できるが、主言語コードとして指定できるような、主要な言語の間での切り替えのみである。地域別の言語異体を副言語コードとして指定しても、JAWSでは初期設定の異体が使用されるだろう。
この実装方法の目的は、html
要素にlang
属性及び(又は)xml:lang
属性を指定することで、文書の初期設定言語を特定することである。
次のようなさまざまな理由から、文書の言語を特定することが重要である:
点字翻訳ソフトウェアでは、制御符号をアクセント付き文字の代わりにすることや、2級点字の縮約形を誤って生成するのを避けるために制御符号を挿入することができる。
複数の言語をサポートする音声合成装置では、そのページの言語に合った発音と構文を採用し、適用することで、テキストを正しい発音、適切なアクセントで読み上げることができる。
言語をマークアップしておくことは、将来の技術発展に寄与する。たとえば、言語を自分で翻訳できない利用者でも、なじみのない言語を翻訳するマシンを利用できるようになるだろう。
言語をマークアップしておくことは、ユーザーエージェントが辞書で定義を提供するのにも役立つ。
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」という形で区別できる。この実装方法では、主言語コードの利用が重要である。副言語コードの利用は任意であるが、ある状況では役に立つかもしれない。
この事例では、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>
この事例では、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>
この事例では、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>
この参考リソースは、あくまでも情報提供のみが目的であり、推薦などを意味するものではない。
文書にhtml
要素がある。
html
要素にlang
属性及び(又は)xml:lang
属性が指定してある。
lang
属性及び(又は)xml:lang
属性の値がBCP 47: Tags for the Identification of Languages又は後継仕様に準拠しており、そのウェブページの主言語を反映している。
上記全てを満たしている。
注意: この実装方法が「達成基準を満たすことのできる実装方法」の一つである場合、このチェックポイントや判定基準を満たしていなければ、それはこの実装方法が正しく用いられていないことを意味するが、必ずしも達成基準を満たしていないことにはならない。場合によっては、別の実装方法によってその達成基準が満たされていることもありうる。
日本語訳における注記:
この文書の正式版は、W3Cサイトで公開されている英語の文書であり、この日本語訳には誤訳が含まれていることもありえます。なお、文中にある「日本語訳における注記」は、W3Cの原文にはないものであり、日本語訳監修者が追記したものです。