インタラクティブなフォームフィールドが含まれているタグ付き PDF 文書
これは、次の達成基準に関連する実装方法である:
ユーザーエージェント及び支援技術に関する情報は、PDF テクノロジーノートを参照のこと。
この実装方法の目的は、支援技術で PDF コンテンツ内のフォーム・コントロールに関する情報を収集し、そのフォーム・コントロールと対話することである。
PDF フォーム・コントロールの種類は、テキスト入力フィールド、チェックボックス、ラジオボタン、コンボボックス、リストボックスおよびボタンである。
名前、役割、状態および値情報をすべてのフォームコンポーネントに提供することにより、障害のある人が使用するスクリーンリーダー、画面拡大ソフトウェア、音声認識ソフトウェアなどの支援技術との互換を可能にする。
PDF 仕様は、以下の表に示されているように、「PDF 1.7(ISO 32000-1)」の節 12.7.4「フィールドの種類」(英語)でフォーム・コントロールに対して名前、役割および値が設定される方法を定義する。コメント列では、対応する情報を Adobe Acrobat Pro で表示する方法について説明する。
インタラクティブなフォーム辞書エントリ | 定義する項目 | コメント |
---|---|---|
FT | 役割(Role) | フィールドの種類を共有し、フィールドフラグを使用して適切な役割を設定するコントロール。Adobe Acrobat では、フォーム・コントロールの役割は自動的に設定される。 |
TU | 識別名(Name) | Adobe Acrobat では、TU エントリ値は、フォーム・コントロールのプロパティダイアログボックスのツールヒントフィールドを通じて提供される。このエントリは、Acrobat のフォーム・コントロールのプロパティダイアログボックスで名前として定義される T エントリと混同しないこと。このプロパティダイアログボックスの「名前」フィールドは、支援技術により読み取られる際にコントロールの名前を提供するためには使用されない。 |
CA | 識別名(プッシュボタンのみ) | Adobe Acrobat では、CA エントリ値は、フォーム・コントロールのプロパティダイアログボックスのラベルフィールドを通じて提供される。 |
V | 値 | 値エントリは、値を必要とするコントロールと対話するユーザーにより設定される。 |
DV | デフォルト値 | Adobe Acrobat では、DV エントリ値はフォーム・コントロールのプロパティダイアログボックスで設定できる。 |
以下の表では、Adobe Acrobat Pro を使用して作成される PDF フォーム・コントロールに対して役割、名前、値および状態がどのように定義されるのかを説明する。Adobe LiveCycle Designer には、これらと同様のコントロールと、いくつかの追加のコントロールが用意されている。(後述の事例 2 を参照のこと)。
PDF フォームエレメント | 役割(FT エントリ) | 識別名(TU エントリ) | 値(V エントリ) | 設定可能な状態 |
---|---|---|---|---|
テキストフィールド | テキスト /Tx |
ツールチップ | デフォルト値(フィールド辞書の DV エントリ)はプロパティダイアログボックスで設定できる。値はユーザーにより入力される。 | Read Only, Required, Multiline, Password |
チェックボックス | チェックボックス /Btn |
ツールチップ | V エントリは、Checked 状態に応じて「Yes」または「No」に設定される。 | Read Only, Required, Checked |
ラジオボタン | ラジオボタン /Btn (フィールドフラグを「Radio」に設定する) |
ツールチップ | V エントリは、Checked 状態に応じて「Yes」または「No」に設定される。 | Read Only, Required, Checked |
コンボボックス | コンボボックス /Ch (フィールドフラグを「Combo」に設定する) |
ツールチップ | デフォルト値(/DV)はプロパティダイアログボックスで設定できる。値はユーザーの選択によって決定される。 | Read Only, Required |
リストボックス | ドロップダウンリスト /Ch |
ツールチップ | デフォルト値(/DV)はプロパティダイアログボックスで設定できる。値はユーザーの選択によって決定される。 | Read Only, Required |
ボタン | プッシュボタン /Btn (フィールドフラグを「Pushbutton」に設定する) |
ラベル(TU エントリではなく CA エントリ) | プッシュボタンは値を持たず、必要としない。 | Read Only, Required |
署名フィールド | テキスト /Sig |
ツールチップ | デフォルト値(フィールド辞書の DV エントリ)はプロパティダイアログボックスで設定できる。値はユーザーにより入力される。 | Read Only, Required |
この事例は Adobe Acrobat Pro の場合を示している。同様の機能を実行するソフトウェアツールは他にも存在する。他のソフトウェアツールのリストについては、「アクセシビリティがサポートされている PDF オーサリングツール」を参照のこと。
この事例では、説明のためにチェックボックスを使用する。手順はその他のフォーム・コントロールと同様である。フォーム編集モードで、次の操作を行う。
作成または変更するフォームフィールドのコンテキストメニューにアクセスする
フォームフィールドの[プロパティ]ダイアログボックスを選択する
「ツールヒント」フィールドに値を追加して名前を指定する。これは、コントロールの名前としてアクセシビリティ API により使用され、通常、コントロールの視覚的なラベルとして使用されるテキストと一致するように設定する必要がある
[オプション]タブを選択する
必要に応じて、デフォルト値とデフォルトの状態を指定する
以下の画像は、[一般]タブが表示されている、チェックボックスのプロパティダイアログボックスを示している(ダイアログボックス内の「名前」フィールドはアクセシビリティでは必要ない)。
以下の画像は、[オプション]タブが表示されている、[チェックボックスのプロパティ]ダイアログボックスを示している
この事例のサンプルとして、Acrobat Pro を使用して名前、役割、値を指定したサンプル(PDFファイル)がある。
この事例は Adobe LiveCycle Designer の場合を示している。同様の機能を実行するソフトウェアツールは他にも存在する。他のソフトウェアツールのリストについては、「アクセシビリティがサポートされている PDF オーサリングツール」を参照のこと。
Adobe LiveCycle Designer では、オブジェクトライブラリを使用してフォームオブジェクトを作成し、オブジェクトパレットを使用してオブジェクトの名前、役割、状態または値を指定する。
次の画像は、[オブジェクト]パレットを示している。
以下の 3 つの画像は、オブジェクトパレットの各タブを示している。1 つ目の画像では、フィールドの種類(役割)を指定するための「フィールド」タブが開かれている。
次の画像は、フィールドに適用できるオプションのある[値]タブを示している。
3つ目の画像は、フィールドの名前を指定する[連結]タブを示している。
この事例のサンプルとして、LiveCycle Designer を使用して名前、役割、値を指定したサンプル(PDFファイル)がある。
次のコードフラグメントは、事例 1 および 2 に示すような単純なチェックボックスフィールドで一般的に使用されるコードを示している。このコードは通常、オーサリングツールにより実行される。
1 0 obj
<< /FT /Btn % 役割
/TU Retiree % 識別名
/V /Yes % 値
/AS /Yes
/AP << /N << /Yes 2 0 R /Off 3 0 R>>
>>
endobj
この参考リソースは、あくまでも情報提供のみが目的であり、推薦などを意味するものではない。
Section 12.7.4 (Field Types) of PDF 1.7 (ISO 32000-1)
フォーム・コントロールについて、名前、役割および値/状態が次のいずれかによって指定されていることを確認する。
スクリーンリーダーを使用してフォーム・コントロールに移動し、そのフォーム・コントロールをアクティブ化できる、またはその値を変更できる。識別名(ツールヒント)と役割が読み上げられる
フォームフィールド情報を表示できるツールを使用して PDF 文書を開くと、フォーム・コントロールに正しい名前、役割、値および状態(該当する場合)の情報がある
アクセシビリティ API を通じて文書を表示するツールを使用して、フォーム・コントロールに正しい名前、役割、値および状態(該当する場合)の情報があることを確認する
1. を満たしている。
注意: この実装方法が「達成基準を満たすことのできる実装方法」の一つである場合、このチェックポイントや判定基準を満たしていなければ、それはこの実装方法が正しく用いられていないことを意味するが、必ずしも達成基準を満たしていないことにはならない。場合によっては、別の実装方法によってその達成基準が満たされていることもありうる。