WCAG 2.0 実装方法集

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

-

PDF5: PDF フォームで必須項目のフォーム・コントロールを特定する

適用(対象)

Tagged PDF documents with forms

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

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

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

解説

この実装方法は、PDF フォームで入力する必要のあるフィールドが入力されていないことをユーザーに通知することを目的としている。必須フィールドは、フォームフィールドの辞書の /Ff エントリを使用して実装するPDF 1.7 (ISO 32000-1)の節 12.7「インタラクティブなフォーム」(英語)の表 220 を参照のこと)。これは通常、PDF のオーサリングツールを使用して行う。

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

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

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

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

エラーが発生する可能性があることをユーザーが認識することも重要である。この情報は、「日付(必須)」のようなラベルや、赤いアスタリスクによって必須フィールドを示すなどの方法で組み込むことができる(必須フィールドがある各フォームに説明文が必ず表示されるようにする(例:"* = 必須フィールド"))。「PDF10:PDF 文書内のインタラクティブなフォーム・コントロールにラベルを付ける」を参照のこと。

事例

事例 1: Adobe Acrobat 9 Pro を使用して PDF フォーム内に必須フィールドを作成する

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

  1. フィールドのコンテキストメニューから[プロパティ]ダイアログボックスを選択する。

  2. フィールドが必須である場合は、[必須]チェックボックスを選択する。このチェックボックスによって、選択されたフォームフィールドへの入力がユーザーに強制される。必須フィールドが空白のままユーザーがフォームを送信しようとすると、エラーメッセージが表示され、空白の必須フォームフィールドが強調表示される。

スクリーンショット:[テキストフィールドのプロパティ]ダイアログで、「必須」のチェックボックスが選択されている。

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

事例 2: Adobe LiveCycle Designer ES 8.2.1 を使用して PDF フォーム内に必須フィールドを作成する

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

  1. フォーム・コントロールのコンテキストメニューから、パレット > オブジェクトを選択する。

  2. [種類]プルダウンメニューから[ユーザ定義 - 必須]を選択する。

  3. [空白のメッセージ]フィールドにエラーメッセージを入力する。このメッセージは、ユーザーが必須フィールドに値を入力せずにフォームを送信しようとした場合に表示される。

必須フィールドが空白のままユーザーがフォームを送信しようとすると、[空白のメッセージ]に入力されたテキストが表示され、空白の必須フォームフィールドが強調表示される。

次の画像は、「必須」を選択した Adobe LiveCycle のオブジェクトパレットを示している。

スクリーンショット:[ユーザ定義 - 必須]を選択したAdobe LiveCycle Object のパレット

フォームラベルに明示的なテキストを追加して(「(必須)」など)、必須フィールドを示すこともできる。

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

事例 3: /Tx フィールドタイプおよび Ff フラグを使用して、PDF フォームに必須テキストフィールドを追加する

次のコードフラグメントは、一般的なテキストフィールドのオブジェクト定義で一般的に使用されるコードを示している。テキストフィールドは必須であり、Ff フラグを使用している。これは通常、オーサリングツールを使用して行う。

<< /AP -dict-                                                   
   /DA /Helv  0 Tf 0 g
   /DR -dict-
   /F 0x4
   /FT Tx              % FT key set to Tx for Text Field
   /Ff 0x2             % Ff integer 0x2 value indicates required
   /P -dict-
   /Rect -array-
   /StructParent 0x1
   /Subtype Widget
   /T First            % Partial field name First
   /TU First name (required)  % TU tool tip value serves as short description
   /Type Annot
   /V Pat Jones
>>
...
<Start Stream>
 BT
  /P <</MCID 0 >>BDC
  /CS0 cs 0  scn 
  /TT0 1 Tf
    -0.001 Tc 0.003 Tw 11.04 0 0 11.04 72 709.56 Tm
    [(P)-6(le)-3(as)10(e)-3( )11(P)-6(rin)2(t)-3( Y)8(o)-7(u)2(r N)4(a)11(m)-6(e)]TJ
  0 Tc 0 Tw 9.533 0 Td
  ( )Tj
  -0.004 Tc 0.004 Tw 0.217 0 Td
  [(\()-5(R)-4(e)5(q)-1(u)-1(i)-3(r)-3(e)-6(d)-1(\))]TJ
 EMC
  /P <</MCID 1 >>BDC
  0 Tc 0 Tw 4.283 0 Td
  [( )-2( )]TJ
   EMC
   /ArtifactSpan <</MCID 2 >>BDC
   0.002 Tc -0.002 Tw 0.456 0 Td
  [(__)11(___)11(___)11(___)11(___)11(_)11(____)11(___)11(___)11(__)]TJ
  0 Tc 0 Tw 13.391 0 Td
  ( )Tj
  EMC
 ET
<End Stream>

参考リソース

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

検証

チェックポイント

それぞれの必須のフォームフィールドについて、次の方法によって、必要な情報や説明文が提供されていることを確認する。

  1. フォーム・コントロールのラベルに必須であることが示されている

  2. フィールドを空白のままにしてフォームを送信すると、エラーについて説明するアラートが表示される

  3. アクセシビリティ API を通じて文書を表示するツールを使用して、必須プロパティが示されていることを確認する

判定基準

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