本文へ移動
easeweb
ご相談
トピックを検索

言語の指定がなく、誤った発音で読まれる別の言語の箇所

商品ページにフランス語のレビューと言語の切り替えがありますが、どちらにも独自のlangがないため、スクリーンリーダーが英語の発音で読み上げます。

WCAG 2.2
SC 3.1.2AA
必須とする規格
Section 508 · EN 301 549(EU) · JIS X 8341-3
問題あり <p class="review-text">Parfaite pour le café…</p>
アクセシビリティの問題を示した図: 全盲:レビューは何と言った?
01

問題

スクリーンリーダーや点字ディスプレイの利用者に、別の言語の箇所がページの言語の発音規則で読まれ、内容を追えなくなることがあります。

02

試してみる

フランス語のレビューと言語のリンクを聞いてください。

各レビューと言語のリンクの「聞く」を押すと、langで選ばれる声で読み上げます(端末にその声がある場合)。パネルには、声、おおよその聞こえ方、言語の指定元が表示されます。

問題あり 修正できますか?

問題Langのないフランス語のレビューと言語の切り替え

Enamel camping mug

  • Light, tough, and keeps tea hot. Sam, Leeds
  • Parfaite pour le café du matin au camping. Camille, Lyon

レビューか言語のリンクの「聞く」を押してください。

再現デモです。「問題あり」は意図的にアクセシブルでない状態にしています。

03

修正方法

別の言語の箇所すべてに、書かれた言語の独自のlangを、その箇所を囲む要素で指定します。

  1. 1別の言語の箇所はどれも、囲む要素に独自の有効なlangを持つ。
  2. 2言語の切り替えの各言語名は、その言語のlangを持つ。
  3. 3データから来る内容は一緒に保存された言語からlangを決め、hreflangをlangの代わりにしない。
修正前 Langのないフランス語のレビューと言語の切り替え
<html lang="en">…<h1>Enamel camping mug</h1>…<ul class="reviews">  <!-- rendered from the reviews feed -->  <li>    <p class="review-text">Light, tough, and keeps tea hot.</p>    <p class="reviewer">Sam, Leeds</p>  </li>  <li>    <p class="review-text">Parfaite pour le café du matin au camping.</p>    <p class="reviewer">Camille, Lyon</p>  </li></ul>…<footer>  <nav aria-label="Language">    <a href="/en/" aria-current="true">English</a>    <a href="/fr/" hreflang="fr">Français</a>    <a href="/de/" hreflang="de">Deutsch</a>    <a href="/es/" hreflang="es">Español</a>  </nav></footer>
修正後 各箇所にlangを指定
<html lang="en">…<h1>Enamel camping mug</h1>…<ul class="reviews">  <!-- each li takes the language stored with its review -->  <li lang="en">    <p class="review-text">Light, tough, and keeps tea hot.</p>    <p class="reviewer">Sam, Leeds</p>  </li>  <li lang="fr">    <p class="review-text">Parfaite pour le café du matin au camping.</p>    <p class="reviewer">Camille, Lyon</p>  </li></ul>…<footer>  <nav aria-label="Language">    <a href="/en/" aria-current="true">English</a>    <a href="/fr/" hreflang="fr" lang="fr">Français</a>    <a href="/de/" hreflang="de" lang="de">Deutsch</a>    <a href="/es/" hreflang="es" lang="es">Español</a>  </nav></footer>

AI コーディングアシスタントで修正しますか? このガイドを Markdown で取得、または全ガイドをコーディングエージェントで使う。

04

修正の確認

マウスを使わない5つの確認

確認方法: スクリーンリーダー

5件中0件を確認済み

OS、ブラウザーと支援技術のバージョン、ビルド、実施日、各手順の実際の結果を記録してください。新しい出どころの内容や新しい言語を追加した際は、再度確認します。

制限

このサンプルは、どのアプリケーションでも同じ結果になることを保証するものではありません。スクリーンリーダーが声を切り替えるのは、その言語の声がインストールされている場合だけで、利用者が自動の言語切り替えをオフにしている場合もあります。これは制御できませんが、マークアップは正しくしておく必要があります。テキストから言語を推測するスクリーンリーダーもありますが、ページと同じ文字で書かれた短い箇所ほど推測は当たりにくく、推測しないものもあるため、lang の代わりにはなりません。指定が必要な語かどうかは判断が分かれることもあります。大切な箇所は、できればその言語を読める人と一緒に確認してください。

よくある問題を再現した学習用のサンプルです。実在のクライアントの診断結果ではありません。コードは出発点となる実装例のため、実際の製品でも確認してください。ここでは支援技術でのテスト結果は報告していません。

コードを更新しても、使いやすさを保つために

ガイドの内容を、コーディングエージェントやCIで使える開発ルールにまとめます。更新後は、キーボードとスクリーンリーダーで再テストし、問題が再発していないか確認します。

再テストの進め方