PDF フォームにおいて、利用者の入力が必須形式又は値の範囲外となった場合に、そのことを明示する

達成方法に関する重要な情報

この達成方法 (参考) の使用法と、この達成方法が WCAG 2.1 達成基準 (規定) とどのように関係するのかに関する重要な情報については、WCAG 達成基準の達成方法を理解するを参照のこと。適用 (対象) のセクションは、その達成方法の範囲について説明しており、特定の技術に関する達成方法の存在は、その技術があらゆる状況で WCAG 2.1 を満たすコンテンツを作成するために使用できることを意味するものではない。

適用 (対象)

タグ付き PDF 文書

これは、次の達成基準に関する達成方法である:

解説

この達成方法の目的は、特定の必須形式 (日付フィールドなど) が求められるフィールドへの利用者の入力が、その形式で送信されないときに利用者に通知することを目的としている。

必須形式が使用されていない場合、エラーの性質について説明するテキストがアラートダイアログボックスで表示される。これは作成者が作成したスクリプトを通じて指定できる (例えば、SCR18: クライアントサイドのバリデーション及びアラートを提供するを参照のこと)。Adobe LiveCycle などのユーザエージェントでは、(以下の事例で説明されているように) 自動的にアラートを表示できる。

注記

利用者がアラートダイアログボックスを閉じた後に、エラーの発生したフィールドにキーボードのフォーカスが移動するようにスクリプトを記述すると役立つ。ただし利用者によっては、アラートが表示される直前にフォーカスされていたコントロールにフォーカスが残ることを想定する場合がある。作成者は、利用者が想定するとおりにフォーカスを移動するよう注意を払う必要がある。例えば、電話番号の形式が間違っていることを示すアラートダイアログボックスが表示された場合に、アラートダイアログボックスを閉じると電話番号フィールドにフォーカスが置かれるようにすることは、利用者にとって役立ち、想定される動作であると考えられる。ただし場合によっては、これが不可能なことがある。ページ上で複数の入力エラーが発生した場合には、エラーを通知するための別のアプローチが取られる必要がある。

利用者が必ずエラーが発生したことに気付き、何が間違っているのかを判断し、修正できるようにすることは、ソフトウェアのユーザビリティとアクセシビリティにとって重要である。この目的を達成することは、すべての利用者が簡単かつ確実にフォームベースのトランザクションを完了できるようにするのに役立つ。

フォームコントロール内の必須形式のラベル

エラーが発生する可能性があることを利用者が認識することも重要である。この情報は、「日付 (MM/DD/YYYY)」のように、ラベルに組み込むことができる。PDF10: PDF 文書内のインタラクティブなフォームコントロールにラベルを付けるを参照のこと。

事例

例 1: Adobe Acrobat 9 Pro を使用して入力フィールド形式の検証を提供する

この事例は Adobe Acrobat Pro の場合を示している。同様の機能を実行するソフトウェアツールは他にも存在する。 他のソフトウェアツールのリストについては、「」を参照のこと。

訳注:

上記「」に該当する記述が、WCAG 2.1 達成方法集の原文では削除されている。WCAG 2.0 達成方法集においては、PDF テクノロジーノートの中に「アクセシビリティがサポートされている PDF オーサリングツール」というセクションがある。

電話番号、郵便番号、日付など、多くのフィールドでは、特定の形式またはパターンに従ってデータを入力する必要がある。

  1. 特定の形式を必要とするフォームコントロールのコンテキストメニューにアクセスする
  2. [プロパティ]を選択する
  3. [書式]タブで、「形式カテゴリ」(この場合は「日付」) を選択すると、「日付オプション」が表示される
  4. このフォームコントロールの書式 (この場合、mm/dd/yyyy) を選択する
  5. [一般]タブで、コントロールの名前およびツールチップとして「日付 (mm/dd/yyyy)」を指定する
図 1 Adobe Acrobat 9 Pro で入力フィールドのフォーマットに必須な形式を指定する。

認識されている日付形式を利用者が入力すると、その日付形式は指定した形式に自動的に変換される。日付形式または値が認識されない場合、以下の画像に示されているように、エラーアラートが表示され、詳細情報が提示される。

図 2 認識できない形式又は値を持つ日付に対するエラーアラート。

この事例のサンプルとして、Acrobat の必須項目フィールドのサンプル (PDF ファイル) がある。

例 2: Adobe LiveCycle Designer ES 8.2.1 を使用して入力フィールド形式の検証を提供する

この事例は Adobe LiveCycle Designer の場合を示している。同様の機能を実行するソフトウェアツールは他にも存在する。 他のソフトウェアツールのリストについては、「」を参照のこと。

訳注:

上記「」に該当する記述が、WCAG 2.1 達成方法集の原文では削除されている。WCAG 2.0 達成方法集においては、PDF テクノロジーノートの中に「アクセシビリティがサポートされている PDF オーサリングツール」というセクションがある。

  1. 必須形式のあるフォームコントロールを選択する
  2. [オブジェクト]パレットで、[検証パターン]ボタンをクリックする
  3. これは日付フィールドなので、パターン - 日付フィールドダイアログボックスが表示される。利用者が入力する必要のあるパターンまたは書式を選択する。[OK]をクリックする

    図 3 LiveCycle を使用して、パターン検証を必要とするフォームフィールドを指定する。
  4. [オブジェクト]パレットで、「検証パターンのメッセージ」ボックスを使用して警告メッセージを入力する。必要なパターンが含まれていることを確認する。このメッセージは、利用者が無効な日付書式を使用してフォームを発行しようとしたときに表示される

この事例のサンプルとして、LiveCycle Designer の必須フィールドのサンプル (PDF ファイル) がある。

例 3: Adobe Acrobat Pro 9 を使用して、JavaScript を使用した PDF フォームで必須日付形式を検証する

この事例は Adobe Acrobat Pro の場合を示している。同様の機能を実行するソフトウェアツールは他にも存在する。 他のソフトウェアツールのリストについては、「」を参照のこと。

訳注:

上記「」に該当する記述が、WCAG 2.1 達成方法集の原文では削除されている。WCAG 2.0 達成方法集においては、PDF テクノロジーノートの中に「アクセシビリティがサポートされている PDF オーサリングツール」というセクションがある。

次の JavaScript コードは、フォームフィールド (この場合は日付フィールド) を検証するために使用されるスクリプトを示している。このスクリプトをフォームフィールドに追加するには、事例 1 に示されているように、[テキストフィールドのプロパティ]ダイアログボックスを開き、[検証]タブの「編集」を選択する。

図 4 [テキストフィールドのプロパティ] ダイアログで、[検証] タブを開き、JavaScript の検証コードを指定する。
// JavaScript code for date mask format MM/DD/YYYY
var re = /^[mdy0-9]{2}\/[mdy0-9]{2}\/[mdy0-9]{4}$/
//Allow blank space in field
if (event.value !="") {
  if (re.test(event.value) == false) {
    app.alert ({
       cTitle: "Incorrect Format",
       cMsg: "Please enter date using mm/dd/yyyy format"
    });
  }
}

参考リソース

参考リソースは、あくまでも情報提供のみが目的であり、推薦などを意味するものではない。

検証

手順

特定の入力を必要とする各フォームフィールドについて、次の方法によって、検証情報と説明文が入力されていることを確認する。

  1. 求められる形式または値がフォームコントロールのラベルに示されていることを確認する。
  2. 誤りのある形式または値を使用し、フィールド以外の場所に移動する。エラーについて説明するアラートが表示されることを確認する。

期待される結果

  • #1 及び #2 の結果が真である。