適用 (対象)
利用者のデータ入力を受け付ける、入力のフォーマット、値及び/又は種類に制限があるコンテンツ。
これは、次の達成基準に関連する達成方法である:
- 達成基準 3.3.1: エラーの特定 (十分な達成方法)
- 達成基準 3.3.3: エラー修正の提案 (十分な達成方法)
- 達成基準 4.1.3: ステータスメッセージを理解する (ARIA19: エラーを特定するために、ARIA role=alert 又はライブリージョン (Live Regions) を使用するの達成方法として十分)
解説
この達成方法の目的は、利用者によって提供された情報が受け付けられない場合に、入力エラーの修正を支援することである。利用者がバリデート済みのデータ入力を行い、入力エラーが検出された場合、利用者が問題を特定できるようにするために、この入力エラーの性質及び場所に関する情報がテキストで提供される。一つのアプローチとして、クライアントサイドでのバリデーションを用いて、利用者が無効なデータをフィールドに入力すると、即座にエラーを説明するアラートダイアログボックスを提示する方法がある。もう一つのアプローチとして、サーバーサイドでのバリデーションを用いて、フォームを再表示し (すでに入力されたデータも含む)、エラーがあった事実を示し、問題の性質を説明し、そして問題のあったフィールドを簡単に見つけられる方法を提供するページの上部にテキストの説明を表示することである。
ただし、テキストでの説明が提供されるとしても、利用者を支援するために、次のいずれかを行うべきである:
- そのフィールドの正しいデータ入力の例を提供する
- そのフィールドの正しいデータ入力を説明する
- 利用者のデータ入力に類似した正しいデータ入力の値を表示し、利用者が選択した場合にこれらの正しい値の一つを入力する方法について利用者に指示する。
事例
- 利用者が、フォームフィールドに無効なデータを入力している。利用者がそのフィールドから出ると、エラーの性質を説明するアラートダイアログが表示され、利用者はエラーを修正することができる。
- 利用者がフォームフィールドに無効なデータを入力して、そのフォームを送信する。サーバーは、利用者の入力データが残ったままのフォームを返し、ページの上部に入力エラーがあったことをテキストで明確に示している。このテキストは、エラーの性質を説明していて、どのフィールドに問題があったのかを明確に示しているため、利用者は問題を修正するためにそのフィールドへ簡単に移動できる。
- 利用者がフォームフィールドに無効なデータを入力して、そのフォームを送信しようとする。クライアントサイドのスクリプトがエラーを検出し、送信をキャンセルし、送信ボタンの後にエラーを説明するテキスト説明とエラーのあるフィールドへのリンクを提供するように文書を修正する。このスクリプトはまた、問題のあるフィールドのラベルを強調するように変更する。
検証
手順
- フォームに記入し、要求されているフォーマット又は値以外の失敗する入力を故意に行う。
- エラーになった項目を特定して、無効な入力の種類及びその修正方法に関する情報を提供する説明がテキストで提供されていることを確認する。
- 再表示のためにデータを保持することが不適切なセキュリティに関連するフィールド (例: パスワード) にデータがない限り、利用者によって入力済みの他のデータが再表示されていることを確認する。
期待される結果
- 2. 及び 3. の結果が真である。