エラー修正の提案:
達成基準 3.3.3 を理解する
この達成基準の意図
この達成基準の意図は、可能であれば、利用者が入力エラーを修正するのに適切な修正方法を入手できるようにすることである。「入力エラー」の WCAG 2.0 での定義は、システムによって「利用者が提供した情報で、受け付けられないもの」であるとされている。受け付けられない情報の例には、必須だが利用者によって省略された情報や、利用者によって提供されたが、必要なデータ形式や許容値の範囲外である情報が含まれる。
達成基準 3.3.1 は、入力エラー箇所を通知するためのものである。しかし、例えば、認知的な制約のある利用者は、入力エラーの修正方法を理解するのが困難なことがある。視覚障害のある利用者は、入力エラーの修正方法を正確に把握することができないことがある。フォーム送信がうまくいかなかった場合、利用者はエラーが発生したことには気づいていたとしても、そのエラーを修正する方法が分からないために、そのフォームを途中であきらめてしまうかもしれない。
コンテンツ制作者はエラーの説明を提供してもよく、又はユーザエージェントは技術固有な、プログラムによる解釈される情報に基づいてエラーの説明を提供してもよい。
達成基準 3.3.3 の具体的なメリット:
入力エラーを修正する方法に関する情報を提供することによって、学習障害のある利用者がフォームに問題なく入力できるようになる。そして、全盲の利用者又は視覚に障害のある利用者が、入力エラーの内容及びその修正方法をもっと容易に理解できるようになる。また、運動障害のある利用者は、入力内容を変更せざるを得なくなる回数を減らすことができる。
達成基準 3.3.3 の事例
入力エラーを修正するためのヘルプの追加
うまく送信されなかったフォームのエラー画面で、そのページで起こった入力エラーを正しい入力方法とあわせて説明していて、入力エラーになったテキストフィールドのヘルプを追加で提供している。
制限のある値の提示
月の名前を入力するテキストフィールドがある。利用者が「12」と入力すると、修正する方法が提示される。
入力可能な値の一覧。例えば、「どれか一つを選んでください: January, February, March, April, May, June, July, August, September, October, November, December」。
入力すべき値を説明する。例えば、「月の名前を入力してください。」
入力されたデータを異なるフォーマットに変換して提示する。例えば、「もしかして 'December' ですか?」
関連リソース
リソースは、情報提供のみを目的としており、推奨を意味するものではない。
(今のところ、文書化されていない)
達成基準 3.3.3 の達成方法及び失敗例 - エラー修正の提案
この節にある番号付きの各項目は、WCAG ワーキンググループがこの達成基準を満たすのに十分であると判断する達成方法、又は複数の達成方法の組み合わせを表している。しかしながら、必ずしもこれらの達成方法を用いる必要はない。その他の達成方法についての詳細は、WCAG 達成基準の達成方法を理解するの「その他の達成方法」を参照のこと。
注記: 二つ以上の状況が適用される場合もある。例えば、必須フィールドが特別なデータフォーマットを要求する場合である。
十分な達成方法
使用法: そのコンテンツに合致する状況を以下から選択すること。それぞれの状況には、WCAG ワーキンググループがその状況において十分であると判断する、番号付の達成方法 (又は、達成方法の組み合わせ) がある。
状況 B: フィールドの情報に、特別のデータフォーマットが要求される場合:
状況 C: 利用者の入力する情報は、複数の限定された値のうちの一つであることが要求される場合:
3.3.3 でさらに対応が望まれる達成方法 (参考)
適合のために必須ではないが、コンテンツをよりアクセシブルにするために、次の追加の達成方法を検討することが望ましい。ただし、すべての状況において、すべての達成方法が使用可能、又は効果的であるとは限らない。
エラーメッセージを、ウェブページのその他のテキストと区別しやすくし、容易に理解できるようにする (リンク追加予定)
送信されたフォームが正しいかをサーバーで確認する (リンク追加予定)
必須の情報が入力されない場合に、必須フィールドを識別するだけでなく、正しい情報の説明と事例を提供する (リンク追加予定)
フォームフィールドと関連して、各入力エラーを訂正するための提案を繰り返し強調する (リンク追加予定)
提案するリストの各項目から、対応するフォームフィールドへスキップする方法を利用者に提供する (リンク追加予定)
変更の必要のあるフォームフィールドに対して、文脈に沿った追加のヘルプを提供する (リンク追加予定)
様々なフォーマットの入力データを受け付ける (リンク追加予定)
利用者に提案を行う達成方法 (参考)
入力エラーの数についての情報を含むテキストの説明、各項目を訂正するための提案、そして、どのように進めるべきかの指示を提供する (リンク追加予定)
コンテンツの最初の項目 (あるいは最初の項目の一つ) を訂正するための提案を含むテキストの説明を提供する、又は、コンテンツの中でこの情報を強調する (リンク追加予定)
エラーを表示し、元のフォームの文脈に沿った提案をする (例えば、フォームのどこに入力エラーがあるかを再表示し、訂正のための提案がハイライトされ、元のフォームとの関連を表示する) (リンク追加予定)
HTML の達成方法 (参考)
必須のフォームフィールドで最初のテキストとして、データとデータフォーマットについて「正しい事例」を提供する (リンク追加予定)
正しいテキストを示唆するリンクをフォームフィールドの「近くで」提供するか、正しいテキストを示唆するテキスト自体をウェブページ上のフォームフィールドの「隣に」直接配置する (リンク追加予定)
クライアントサイドのスクリプトの達成方法 (参考)
SCR18: クライアントサイドのバリデーション及びアラートを提供する (Scripting)
クライアントサイドのバリデーションを提供し、DOM を介してエラーテキストを追加する (リンク追加予定)
フォームの送信動作をきっかけにクライアントサイドのバリデーションの機能を呼び出す (リンク追加予定)
達成基準 3.3.3 のよくある失敗例
以下に挙げるものは、WCAG ワーキンググループが達成基準 3.3.3 の失敗例とみなした、よくある間違いである。
(今のところ、文書化された失敗例はない)
重要な用語
- 入力エラー (input error)
利用者が入力した情報で、受け付けられないもの。
注記: 以下のものが含まれる:
そのウェブページでは必須であるが、利用者が入力しなかった情報
利用者が入力したが、要求されたデータ形式あるいは値ではない情報