【注意】この文書にはより新しいバージョンが存在します: WCAG 2.1 達成方法集
この達成方法 (参考) の使用法と、この達成方法が WCAG 2.0 達成基準 (規定) とどのように関係するのかに関する重要な情報については、WCAG 達成基準の達成方法を理解するを参照のこと。適用 (対象) のセクションは、その達成方法の範囲について説明しており、特定の技術に関する達成方法の存在は、その技術があらゆる状況で WCAG 2.0 を満たすコンテンツを作成するために使用できることを意味するものではない。
フォームを持つタグ付き PDF 文書
これは、次の達成基準に関連する達成方法である:
注記: この達成方法は、達成基準 3.3.2 を満たす他の達成方法と組み合わせなければならない。詳細については、 達成基準 3.3.2 を理解するを参照すること。
PDF5 に関するユーザエージェントサポートノートを参照のこと。PDF テクノロジーノートも参照。
この達成方法は、PDF フォームで入力する必要のあるフィールドが入力されていないことを利用者に通知することを目的としている。必須フィールドは、フォームフィールドの辞書の /Ff エントリを使用して実装する PDF 1.7 (ISO 32000-1) の節 12.7 (Interactive Forms) の Table 220 を参照のこと。これは通常、PDF のオーサリングツールを使用して行う。
エラーが見つかった場合、テキストに含まれているエラーの性質について説明するアラートダイアログボックスが表示される。これは作成者が作成したスクリプトを通じて指定できる (例えば、SCR18: クライアントサイドのバリデーション及びアラートを提供するを参照のこと)。Adobe Acrobat Pro や LiveCycle などのユーザエージェントでは、(以下の事例で説明されているように) 自動的にアラートを表示できる。
注記: 利用者がアラートダイアログボックスを閉じた後に、エラーの発生したフィールドにキーボードのフォーカスが移動するようにスクリプトを記述すると役立つ。ただし利用者によっては、アラートが表示される直前にフォーカスされていたコントロールにフォーカスが残ることを想定する場合がある。作成者は、利用者が想定するとおりにフォーカスを移動するよう注意を払う必要がある。例えば、必須の電話番号が入力されていないことを示すアラートが表示された場合に、アラートを閉じると電話番号フィールドにフォーカスが置かれるようにすることは、利用者にとって役立ち、想定される動作であると考えられる。ただし場合によっては、これが不可能なことがある。ページ上で複数の入力エラーが発生した場合には、エラーを通知するために別のアプローチをとる必要がある (例えば、Adobe: JavaScript for Acrobat を参照のこと)。
利用者が必ずエラーが発生したことに気付き、何が間違っているのかを判断し、修正できるようにすることは、ソフトウェアのユーザビリティとアクセシビリティにとって重要である。この目的を達成することは、すべての利用者が簡単かつ確実にトランザクションを完了できるようにするのに役立つ。
エラーが発生する可能性があることを利用者が認識することも重要である。この情報は、「日付 (必須)」のようなラベルや、赤いアスタリスクによって必須フィールドを示すなどの方法で組み込むことができる (必須フィールドがある各フォームに説明文が必ず表示されるようにする (例: "* = 必須フィールド"))。PDF10: PDF 文書内のインタラクティブなフォームコントロールにラベルを付けるを参照のこと。
この事例は Adobe Acrobat Pro の場合を示している。同様の機能を実行するソフトウェアツールは他にも存在する。他のソフトウェアツールのリストについては、アクセシビリティがサポートされている PDF オーサリングツールを参照のこと。
フィールドのコンテキストメニューから[プロパティ]ダイアログボックスを選択する。
フィールドが必須である場合は、[必須]チェックボックスを選択する。このチェックボックスによって、選択されたフォームフィールドへの入力が利用者に強制される。必須フィールドが空白のまま利用者がフォームを送信しようとすると、エラーメッセージが表示され、空白の必須フォームフィールドが強調表示される。
この事例のサンプルとして、Acrobat で必須フィールドを作成したサンプル (PDF ファイル) がある。
この事例は Adobe LiveCycle Designer の場合を示している。同様の機能を実行するソフトウェアツールは他にも存在する。他のソフトウェアツールのリストについては、アクセシビリティがサポートされている PDF オーサリングツールを参照のこと。
フォームコントロールのコンテキストメニューから、パレット > オブジェクトを選択する。
[種類]プルダウンメニューから[利用者定義 - 必須]を選択する。
[空白のメッセージ]フィールドにエラーメッセージを入力する。このメッセージは、利用者が必須フィールドに値を入力せずにフォームを送信しようとした場合に表示される。
必須フィールドが空白のまま利用者がフォームを送信しようとすると、[空白のメッセージ]に入力されたテキストが表示され、空白の必須フォームフィールドが強調表示される。
次の画像は、「必須」を選択した Adobe LiveCycle のオブジェクトパレットを示している。
フォームラベルに明示的なテキストを追加して (「(必須)」など)、必須フィールドを示すこともできる。
この事例のサンプルとして、LiveCycle Designer で必須フィールドを作成したサンプル (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>
この参考リソースは、あくまでも情報提供のみが目的であり、推薦などを意味するものではない。
Section 12.7 (Interactive Forms) in PDF 1.7 (ISO 32000-1)
それぞれの必須のフォームフィールドについて、次の方法によって、必要な情報や説明文が提供されていることを確認する。
フォームコントロールのラベルに必須であることが示されていることを確認する。
フィールドを空白のままにしてフォームを送信すると、エラーについて説明するアラートが表示されることを確認する。
アクセシビリティ API を通じて文書を表示するツールを使用して、必須プロパティが示されていることを確認する。
1.、2. 及び 3. の結果が真である。
この達成方法が「十分な達成方法」の一つである場合、この手順や期待される結果を満たしていなければ、それはこの達成方法が正しく用いられていないことを意味するが、必ずしも達成基準を満たしていないことにはならない。場合によっては、別の達成方法によってその達成基準が満たされていることもありうる。