エラーの特定:
達成基準 3.3.1 を理解する
この達成基準の意図
この達成基準の意図は、利用者がエラーの発生に気づき、何が誤っていたのかわかるようにすることである。エラーメッセージは、できる限り具体的なものであるべきである。フォームの送信がうまくいかなかった場合に、フォームを再度表示して、エラーになっているテキストフィールドを示すだけでは、エラーの発生を知覚して気がつくに不十分な利用者もいる。例えば、スクリーンリーダーの利用者は、エラー表示が読み上げられるまでは、エラーがあることに気づかない。単にそのページがうまく動作しないのだと考えて、エラーが発生していることに気づく前に、スクリーンリーダーの利用者はそのフォームを使うこと自体をあきらめてしまうかもしれない。WCAG 2.0 での定義より、「入力エラー」とは利用者が提供した情報で、受け付けられないものである。以下のものが含まれる:
ウェブページでは必須とされているが、利用者が入力を省略した情報、又は
利用者が入力したが、要求されたデータ形式あるいは値ではない情報
例えば:
利用者は、州、管区、地域、等に適切な略語を入力できない。
利用者は、有効でない州の略語を入力する。
利用者は、実在しない郵便番号を入力する。
利用者は、2 年先の誕生日を入力する。
利用者は、数字のみを受け付ける電話番号蘭にアルファベットや丸括弧を入力する。
利用者は、前の入札を下回る入札または最小入札単位を下回る入札を入力する。
注記: 利用者が高すぎる値、または低すぎる値を入力し、その値をページ上のコードが自動的に許容範囲内に変更した場合、達成基準によって要求されるよう、利用者の入力エラーはまだ変更したところに記載される必要がある。変更された値を人に伝えるエラーの説明などは、この達成基準 (エラーの特定) 及び達成基準 3.3.3 (エラー修正の提案) の両方を満たすことになる。
ユーザエージェント又は支援技術がエラーを特定して、エラーに関する情報を利用者に提供することのできる、プログラム的な情報を用いて、エラーがあることを示して、その内容を説明することができる。例えば、あるウェブコンテンツ技術では、利用者の入力には文字数制限があること、又はフォームのテキストフィールドが必須項目であることを明示できる。現在、このようなプログラム的な情報をサポートしているウェブコンテンツ技術はほとんどないが、この達成基準ではそういった技術の有無は問わない。
テキストによる説明に加えて、例えば画像や色などのその他の方法でもエラーを示すことは全く問題ない。
達成基準 3.3.3 エラー修正の提案を理解するも参照のこと。
達成基準 3.3.1 の具体的なメリット:
入力エラーに関する情報をテキストで提供することによって、全盲の利用者又は色覚異常の利用者はエラーが発生したことを知覚できるようになる。
この達成基準は、アイコン及びその他の視覚的な手がかりで示された意味を理解するのが困難な、認知の障害、言語の障害、及び学習障害のある利用者にも役立つことがある。
達成基準 3.3.1 の事例
フォーム送信におけるエラーの特定
ある航空会社のウェブサイトが、格安便の特別なプロモーションを展開している。利用者は、氏名、住所、電話番号、座席指定、及び電子メールアドレスなどの個人情報をシンプルなフォームに入力することを求められる。フォームにあるテキストフィールドのいずれかが、入力されていないか入力に誤りがある場合、どのテキストフィールドが未入力又はエラーであるかを利用者に知らせるアラートが表示される。
注記: この達成基準は、エラー箇所を示すために、色又はテキストの表示スタイルを用いないほうがよいということを意味しない。単にエラー箇所がテキストでも示されていることを要求しているだけである。この事例では、色に加えて、二つのアスタリスク (*) が用いられている。
複数の手がかりの提供
利用者がフォームにある二つのテキストフィールドに入力し忘れている。エラーの説明及びそのテキストフィールドを見つけやすくするためにエラーであることを示す特定の文字列を提供するだけでなく、テキストフィールドを黄色で強調表示して、視覚的にも見つけやすくしている。
関連リソース
リソースは、情報提供のみを目的としており、推奨を意味するものではない。
(今のところ、文書化されていない)
達成基準 3.3.1 の達成方法及び失敗例 - エラーの特定
この節にある番号付きの各項目は、WCAG ワーキンググループがこの達成基準を満たすのに十分であると判断する達成方法、又は複数の達成方法の組み合わせを表している。しかしながら、必ずしもこれらの達成方法を用いる必要はない。その他の達成方法についての詳細は、WCAG 達成基準の達成方法を理解するの「その他の達成方法」を参照のこと。
十分な達成方法
使用法: そのコンテンツに合致する状況を以下から選択すること。それぞれの状況には、WCAG ワーキンググループがその状況において十分であると判断する、番号付の達成方法 (又は、達成方法の組み合わせ) がある。
状況 A: フォームが利用者からの情報が必須である入力フィールドを含む場合
状況 B: 利用者によって提供される情報が、特別なデータフォーマットか特定の値であることが求められる場合
ARIA19: エラーを特定するために、ARIA role=alert 又はライブリージョン (Live Regions) を使用する (ARIA)
SCR18: クライアントサイドのバリデーション及びアラートを提供する (Scripting)
SCR32: クライアントサイドのバリデーションを提供し、DOM を介してエラーテキストを追加する (Scripting)
FLASH12: クライアントサイドのバリデーションを提供し、アクセシブルな説明 (accessible description) によってエラーテキストを追加する (Flash)
PDF22: PDF フォームにおいて、利用者の入力が必須形式又は値の範囲外となった場合に、そのことを明示する (PDF)
SL35: Using the Validation and ValidationSummary APIs to Implement Client Side Forms Validation in Silverlight (Silverlight)
3.3.1 でさらに対応が望まれる達成方法 (参考)
適合のために必須ではないが、コンテンツをよりアクセシブルにするために、次の追加の達成方法を検討することが望ましい。ただし、すべての状況において、すべての達成方法が使用可能、又は効果的であるとは限らない。
送信されたフォームが正しいかをサーバーで確認する (リンク追加予定)
エラーの要約とともにフォームを再度表示する (リンク追加予定)
利用者が情報を入力したときにエラーを通知する (リンク追加予定)
ページタイトルにエラーを通知する情報を含める (リンク追加予定)
エラーが起きた場所をハイライトするか視覚的に強調する (リンク追加予定)
エラーを報告する際に、非テキストコンテンツにテキストを補足する (リンク追加予定)
利用者の注意を集中させるために音を使う (リンク追加予定)
達成基準 3.3.1 のよくある失敗例
以下に挙げるものは、WCAG ワーキンググループが達成基準 3.3.1 の失敗例とみなした、よくある間違いである。
(今のところ、文書化された失敗例はない)
重要な用語
- 入力エラー (input error)
利用者が入力した情報で、受け付けられないもの。
注記: 以下のものが含まれる:
そのウェブページでは必須であるが、利用者が入力しなかった情報
利用者が入力したが、要求されたデータ形式あるいは値ではない情報