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

どの欄が誤りか示さないエラー概要

登録フォームが送信失敗時に「入力内容をご確認ください」というバナーと入力欄の赤い枠線だけを表示するため、どの欄が誤りで何を直せばよいかが文章で示されていません。

問題あり
何を確認する?
アクセシビリティの問題を示した図。
01

問題

「入力内容をご確認ください」とだけ言われた人は、誤りのある欄を自分で探すしかなく、多くの人には見つけられません。

02

試してみる

「登録する」を押し、直す箇所を探してください。

そのまま送信し、どの欄がなぜ誤りなのかが分かるか確認してください。

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

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

03

修正方法

誤りのある欄と直す内容を文章で示し、そこへ案内します。

  1. 1エラーのある欄すべてを、直す内容とともに文章で示す。
  2. 2一般的な文、色、枠線だけで、どの欄が誤りかを伝えない。
  3. 3送信に失敗したら、最初の問題を利用者のいる場所に示すか、そこへフォーカスを移す。
修正前 一般的なバナーと赤い枠線
<div class="banner">エラーが発生しました。入力内容をご確認ください。</div> <form novalidate>  <label for="name">お名前</label>  <input id="name" name="name" autocomplete="name" value="Alex Morgan">   <label for="email">メールアドレス</label>  <input id="email" name="email" type="email" autocomplete="email"    class="invalid" value="alex@">   <label for="postcode">郵便番号</label>  <input id="postcode" name="postcode" autocomplete="postal-code" class="invalid">   <button>登録する</button></form>
修正後

各欄へリンクするエラー概要

<div id="error-summary" tabindex="-1" aria-labelledby="error-summary-title">  <h2 id="error-summary-title">2件の問題があります</h2>  <ul class="list-inside list-disc">    <li><a href="#email">[email protected]のような形式でメールアドレスを入力してください</a></li>    <li><a href="#postcode">郵便番号を入力してください</a></li>  </ul></div> <form novalidate>  <label for="name">お名前</label>  <input id="name" name="name" autocomplete="name" value="Alex Morgan">   <label for="email">メールアドレス</label>  <input id="email" name="email" type="email" autocomplete="email" value="alex@"    aria-invalid="true" aria-describedby="email-error">  <p id="email-error">エラー:[email protected]のような形式でメールアドレスを入力してください</p>   <label for="postcode">郵便番号</label>  <input id="postcode" name="postcode" autocomplete="postal-code"    aria-invalid="true" aria-describedby="postcode-error">  <p id="postcode-error">エラー:郵便番号を入力してください</p>   <button>登録する</button></form>

04

修正の確認

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

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

5件中0件を確認済み

OS、ブラウザーと支援技術のバージョン、ビルド、実施日、各手順の実際の結果を記録してください。欄を追加したときや、共通のフォームコンポーネントを変更した際は、再度確認します。

制限

このサンプルは、どのアプリケーションでも同じ結果になることを保証するものではありません。送信後に誤りのある欄をどう知らせるかを扱い、各メッセージの書き方や、欄に移動すれば十分な一つだけの検索欄は扱いません。iframe内の決済欄など、外部のウィジェットで作られたフォームは独自の方法でエラーを伝えるため、同じ確認が必要です。実際に使用する支援技術で、操作全体を確認してください。

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

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

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

再テストの進め方