AA WCAG2.1 NEW

4.1.3 ステータスメッセージ

WCAG 2.2 における達成基準 4.1.3「ステータスメッセージ」(Level AA)は、フォームの送信結果や動的なエラー通知・完了メッセージなどがスクリーンリーダー利用者にも即座に伝わるようにするための基準です。

要件

状態メッセージが表示されたとき、それがフォーカスを移動せずにプログラムによって決定可能となり、支援技術がそれをユーザーに通知できること。

用語解説

用語定義
ステータスメッセージ入力完了・エラー・処理成功・失敗などの現在の状態を示す動的なテキスト
プログラムによって決定可能スクリーンリーダーなどの支援技術がその情報を認識・読み上げられる構造になっていること
フォーカスを移動せずにユーザーの現在の入力位置や操作中の箇所を邪魔しないこと

よくあるステータスメッセージの例

状況メッセージ例
フォーム入力後のエラー表示「メールアドレスは必須項目です」
保存完了の通知「保存が完了しました」
Ajax による検索結果の件数表示「10件の検索結果が見つかりました」
入力チェック完了メッセージ「パスワードは使用可能です」

実装のポイント

達成には以下の条件を満たす必要があります

条件説明
メッセージがDOMに追加されるJavaScriptで生成されたテキストであってもHTMLに挿入されること
支援技術に通知されるaria-live などで自動的に読み上げられる仕組みになっていること
フォーカス移動が不要ユーザーが入力中でも、勝手にフォーカスを動かさず、自然に読み上げること

実装例

成功例(aria-liveを使用)

<div aria-live="polite" class="status-message" id="form-status">
  入力内容に不備があります。
</div>
  • aria-live=”polite”:控えめに(現在の読み上げが終わってから)読み上げる
  • aria-live=”assertive”:即時読み上げ(緊急性が高いエラーなどに)

失敗例

<!-- メッセージが画面上に表示されても、支援技術が読み取れない例 -->
<div class="status-message" style="color:red;">
  エラーがあります。
</div>
  • aria-liveなどが設定されていないため、スクリーンリーダーには伝わらない。

テスト方法(チェックリスト)

項目確認内容
動的に表示されるメッセージがあるかフォーム送信やAjax操作など
aria-live属性が設定されているかaria-live="polite" など
メッセージの内容がHTMLに出力されているかJavaScriptで挿入されている
メッセージ表示に伴ってフォーカスが移動しないか入力欄にフォーカスがあるままか
スクリーンリーダーで読み上げられるかNVDA, VoiceOver等で確認可能

利点

観点内容
視覚障害者の支援入力エラーや完了通知が即時音声で伝わる
利用者の安心感「何が起こったのか」が分からない不安を軽減
ユーザビリティ一貫した操作性で気付きやすく、誤操作を防ぐ設計に繋がる

まとめ

項目内容
達成基準名4.1.3 ステータスメッセージ(Level AA)
主な対象フォーム、入力フィードバック、非同期メッセージなど
実装方法aria-live, aria-atomic, DOM挿入などを適切に使う
禁止事項メッセージのみに色や位置で意味を持たせる、focus移動
最終更新日:2025年12月01日
一覧に戻る
お問い合わせ

当社では、ウェブサイトの診断や改善方法のご提案を通じて、
すべてのユーザーにとって使いやすいウェブづくりをサポートしています。
ご相談・ご依頼は、こちらからお気軽にお問い合わせください。

お問い合わせフォームへ