サイトアイコン IT & ライフハックブログ|学びと実践のためのアイデア集

WCAG 2.2「3.1.2 コンテンツ部分の言語」Level AA:lang属性の設定と確認方法

alphabet letter text on black background

Photo by Magda Ehlers on Pexels.com

WCAG 2.2の達成基準「3.1.2 コンテンツ部分の言語」(Level AA)は、ページの一部で別の言語を使うとき、その言語を支援技術などがプログラムで判別できる状態にすることを求めています。
HTMLでは、言語が切り替わる要素にlang属性を付けるのが基本です。

言語指定がないと、多言語に対応したスクリーンリーダーが、ページの主言語の規則で別言語の語句を読み上げる可能性があります。
指定する範囲の判断から、HTMLとPDFでの設定、確認手順までを順に整理します。

「ページの言語」と「コンテンツ部分の言語」の違い

達成基準「3.1.1 ページの言語」は、ページ全体の基本となる言語を判別できるようにする基準です。
日本語ページなら、通常は<html lang="ja">のように指定します。

一方、「3.1.2 コンテンツ部分の言語」は、その基本言語とは異なる一節や語句を対象にします。
ページ全体が日本語でも、英語の引用文やフランス語のフレーズが含まれるなら、その範囲だけに対応する言語を指定します。

プログラムで判別できるとは、見た目から推測させるのではなく、HTML属性や文書の言語情報をソフトウェアが取得できる状態を指します。
これにより、スクリーンリーダーなどが言語に合った処理を選びやすくなります。

どの範囲に言語を指定するか

アルファベットで書かれた単語を見つけるたびに、機械的にlang属性を付ける必要はありません。
周囲の文章から、別の言語へ切り替わったことが明確な範囲を見分けます。

場面 考え方 指定例
日本語だけで構成されたページ ページ全体の言語指定を使う <html lang="ja">
日本語の段落内に英語のフレーズがある 英語部分だけを囲む <span lang="en">...</span>
段落や引用全体が別の言語である 段落や引用を囲む要素に指定する <p lang="en">...</p>
固有名詞、技術用語、言語を特定できない語、周囲の言語に定着した語句 別言語への切り替えを意図しているか確認する 必要性を個別に判断する

固有名詞や技術用語などは、この達成基準の例外に含まれます。
ただし、「英単語だから例外」と一律に決めるのではなく、周囲の言語として自然に扱う語なのか、別言語として読ませたい表現なのかを確認します。

HTMLでの実装方法

段落内のフレーズだけが別言語の場合

日本語の文章に英語の名称を一つ含める場合は、そのフレーズをspan要素で囲み、lang="en"を指定します。

<p>この資料の名称は <span lang="en">Web Accessibility Guidelines</span> です。</p>

lang属性の範囲を英語部分だけに限定することで、その前後の日本語にはページ全体の言語指定が引き続き適用されます。

段落全体が別言語の場合

段落全体が英語なら、段落を囲むp要素に言語を指定します。

<p lang="en">This document explains web accessibility.</p>

引用全体が別言語の場合も、引用を囲む要素など、実際の言語範囲に合う要素へ指定します。
語句ごとに細かく分割するより、言語が共通するまとまりに付けるほうが、指定漏れを防ぎやすくなります。

言語コードを内容に合わせる

英語にはen、フランス語にはfr、ドイツ語にはdeのように、内容と一致する言語コードを使います。
英語の文章にlang="de"を付けると、属性自体は存在していても、支援技術へ誤った情報を渡すことになります。

CSSによる見た目の指定とは役割が異なる

lang属性が付いた要素は、CSSの属性セレクターで装飾できます。

<p>彼の言葉は <span lang="fr">Liberté, égalité, fraternité</span> でした。</p>
[lang="fr"] {
  font-style: italic;
}

ただし、CSSは見た目を整えるための指定であり、言語情報そのものの代わりにはなりません。
字体や色だけを変えるのではなく、HTMLのlang属性で言語を判別できるようにします。

PDFでの言語指定

PDFでは、言語が異なる語句や段落を含むタグまたはコンテナに/Lang情報を設定します。
設定にはPDFの編集機能を備えたオーサリングツールを使い、対象範囲と指定言語が一致しているかを確認します。

PDFは言語以外にも、タグ付けや読み上げ順などを確認する必要があります。
文書全体の点検方法は、読み上げやすいPDFを作る実務ガイドも参照してください。

よくある失敗

確認は自動チェックと手動チェックを組み合わせる

  1. ページ全体の主言語が正しく指定されているか確認する。
  2. 本文から、主言語とは異なる段落、引用、フレーズを洗い出す。
  3. 開発者ツールやソースコードで、対象要素にlang属性があるか確認する。
  4. 言語コードが実際の文章と一致し、指定範囲が広すぎたり狭すぎたりしないか読む人が確認する。
  5. 対応する言語を利用できるスクリーンリーダーで読み上げを聞き、言語の切り替わりを確認する。

AxeやWAVEなどの評価ツールは、言語属性に関する一部の問題を見つける助けになります。
しかし、自動チェックだけでは、文章の実際の言語、例外に当たる語、意図した指定範囲までを常に判断できないため、内容を読んだうえでの確認を組み合わせます。

実装時に押さえる点

当社では、Webアクセシビリティの導入と改善を支援するUUU ウェブアクセシビリティを提供しています。
継続的なアクセシビリティ改善を検討している方は、サービスの詳細をご覧ください。

モバイルバージョンを終了