miChecker:『文書内で主に利用されている言語を*属性を用いて明示してください (例: <html *="ja">)』
検出理由
「問題あり」として検出される項目です。
そのページが何語で書かれているか、html要素にlang属性を用いた指定がありません。
根拠
音声ブウラザはそのページの使用言語がわかると読み上げに使用する音声エンジンをその言語に切り替える機能を持つものがあります。もし、英語のページなのに日本語と指定したりすると、日本語の音声エンジンで読み上げようとするため、無音になってしまうか、意味の無いアルファベットなど読み上げることになり、利用者を混乱させてしまいます。
『日本語のページは日本語で書かれているのだから、そのページが日本語で書かれていることはすぐにわかるのでは無いか。』と思われるかもしれません。確かに、広く使われているブラウザの場合は、lang属性がなくとも、そのページで使用されている言語を高い確率で推測する機能が備わっています。しかし、完璧とは限りませんし、音声ブウラザなど利用者の少ないブラウザでは、そうした機能が十分に備わっているわけではないとご理解ください。
修正方針
HTMLの場合、html要素にlang属性を追加します。
XHTML1.0の場合、html要素にlang属性とxml:lang属性を追加します。
XHTML1.1の場合、html要素にxml:lang属性を追加します。
<!-- htmlの場合 --> <html lang="en"> <!-- xhtml1.0の場合 --> <html lang="en" xml:lang="en"> <!-- xhtml1.1の場合 --> <html xml:lang="en">
補足
- ISO 639-1 のコードリスト(別ウィンドウで開く)
- 達成方法H57(別ウィンドウで開く)の訳註において、meta要素のcontent属性がtext/htmlの場合にはlang属性があれば、あるいは、application/xhtml+xmlの場合にはxml:lang属性があれば規格を満たすとされています。
関連する達成基準、達成方法
- 達成基準 3.1.1: ページの言語
- 達成方法 H57: html 要素の言語属性を使用する
(他のテクニックは「miChecker対策テクニック集」に整理されています。)