WCAG 2.0 実装方法集

メインコンテンツへスキップ

-

PDF22:ユーザーの入力が PDF フォーム内の必須形式または必須値の範囲外になる場合を指定する

適用(対象)

タグ付き PDF 文書

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

ユーザーエージェント及び支援技術によるサポート

ユーザーエージェント及び支援技術に関する情報は、PDF テクノロジーノートを参照のこと。

解説

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

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

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

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

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

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

事例

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

この事例は Adobe Acrobat Pro の場合を示している。同様の機能を実行するソフトウェアツールは他にも存在する。 他のソフトウェアツールのリストについては、「アクセシビリティがサポートされている PDF オーサリングツール」を参照のこと。

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

  1. 特定の形式を必要とするフォーム・コントロールのコンテキストメニューにアクセスする

  2. [プロパティ]を選択する

  3. [書式]タブで、「形式カテゴリ」(この場合は「日付」)を選択すると、「日付オプション」が表示される

  4. このフォーム・コントロールの書式(この場合、mm/dd/yyyy)を選択する

  5. [一般]タブで、コントロールの名前およびツールチップとして「日付(mm/dd/yyyy)」を指定する

スクリーンショット:Adobe Acrobat 9 Pro を使用して入力フィールド形式の必須形式を指定する

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

スクリーンショット:認識されない形式または値の日付に関するエラーアラート

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

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

この事例は Adobe LiveCycle Designer の場合を示している。同様の機能を実行するソフトウェアツールは他にも存在する。 他のソフトウェアツールのリストについては、「アクセシビリティがサポートされている PDF オーサリングツール」を参照のこと。

  1. 必須形式のあるフォーム・コントロールを選択する

  2. [オブジェクト]パレットで、[検証パターン]ボタンを押下する

  3. これは日付フィールドなので、パターン - 日付フィールドダイアログボックスが表示される。ユーザーが入力する必要のあるパターンまたは書式を選択する。[OK]をクリックする

    スクリーンショット:LiveCycle を使用して、パターン検証を必要とするフォームフィールドを指定する

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

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

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

この事例は Adobe Acrobat Pro の場合を示している。同様の機能を実行するソフトウェアツールは他にも存在する。 他のソフトウェアツールのリストについては、「アクセシビリティがサポートされている PDF オーサリングツール」を参照のこと。

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

スクリーンショット:JavaScript 検証コードを指定するために[検証]タブが開かれている、[テキストフィールドのプロパティ]ダイアログボックス

// 日付マスク書式 MM/DD/YYYY 用の JavaScript コード
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: "誤った書式",
       cMsg: "mm/dd/yyyy の書式で日付を入力してください。"
    });
  }
}

参考リソース

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

検証

チェックポイント

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

  1. 求められる形式または値がフォーム・コントロールのラベルに示されていることを確認する

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

判定基準

注意: この実装方法が「達成基準を満たすことのできる実装方法」の一つである場合、このチェックポイントや判定基準を満たしていなければ、それはこの実装方法が正しく用いられていないことを意味するが、必ずしも達成基準を満たしていないことにはならない。場合によっては、別の実装方法によってその達成基準が満たされていることもありうる。