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

画面に出ても読み上げられないステータスメッセージ

「下書きを保存しました」のトーストが文言と一緒に作られるため、aria-liveを付けても、ブラウザーは読み上げるべき変化に気づきません。

WCAG 2.2
SC 4.1.3AA· 2.1 で追加
必須とする規格
EN 301 549(EU)
問題あり
表示はされる。でも聞こえない。
アクセシビリティの問題を示した図。
01

問題

スクリーンリーダーの利用者には、作業が保存されたことも、保存に失敗したことも聞こえません。メッセージが一度も読み上げられないまま表示されるためです。

02

試してみる

メモに入力して手を止め、読み上げを聞いてください。

下の欄に、下書きを保存したときのスクリーンリーダーの読み上げが出ます。「下書きを保存しました」は聞こえますか?

問題あり 直してみませんか?

スクリーンリーダーの読み上げ: (メモに入力して、手を止めてください)

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

03

修正方法

メッセージより前からページにあるステータス領域の、中身だけを変えます。

  1. 1ステータス領域やトーストのコンテナーは空のままページと一緒に表示し、中身だけを変える。
  2. 2通常の知らせにはrole="status"を使い、フォーカスは作業中の位置から動かさない。
  3. 3保存の失敗も含め、結果を言葉で伝える。
修正前 Aria-liveごと作られるトースト
<label for="note">メモ</label><textarea id="note"></textarea>
修正後

編集欄のそばのステータス行

<label for="note">メモ</label><textarea id="note"></textarea><p id="note-status" role="status"></p>

この方法を選ぶ理由:メッセージは対象のそばに出す

AI コーディングアシスタントで修正しますか? このガイドを Markdown で取得

04

修正の確認

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

確認方法: スクリーンリーダー、キーボード、ズーム

4件中0件を確認済み

OS、ブラウザーと支援技術のバージョン、ビルド、実施日、各手順の実際の結果を記録してください。トーストのコンポーネントやページのレイアウトを変更した際は、再度確認します。

制限

ライブリージョンの動きは、スクリーンリーダーやブラウザーによって異なります。特に、移動した領域、非表示の領域、ダイアログ内の領域では差が出ます。このパターンは、一つのページの一種類のメッセージを扱っています。読み込み、検索結果、フォームの結果、緊急のアラートは、それぞれ別のトピックです。利用者が使うスクリーンリーダーで、実際のメッセージを確認してください。

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

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

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

再テストの進め方