WCAG 2.0 実装方法集

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

-

PDF6: PDF 文書でテーブルのマークアップにテーブルエレメントを使用する

適用(対象)

テーブルのあるタグ付き PDF 文書

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

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

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

解説

この実装方法の目的は、支援技術で認識されるように PDF 文書内のテーブルをマークアップする方法を示すことである。これは通常、PDF のオーサリングツールを使用して行う。

表の情報は、ユーザーがテーブルを見られない場合や表示形式が変更された場合でも、情報内の関係を維持する方法で表示されなければならない。情報は、テキスト、数字、画像または他のデータ間の論理的な関係が 2 次元(垂直と水平)で存在する場合に表と見なされる。これらの関係は、列と行で表わされ、論理的な関係を把握するために列と行が認識可能である必要がある。

タグ付きのテーブルは、Adobe Acrobat で「文書にタグを追加」機能を使用するか、Adobe LiveCycle のオブジェクトライブラリを使用するか、Microsoft Word などのサードパーティアプリケーションから表を PDF に変換することで作成できる。ただし、結果のテーブルは正しくタグが設定されない場合があるので、テーブルのタグ付けの問題が解決されたことを確認する必要がある。

PDF 文書内のテーブルでは、次のようなtableエレメントの構造タイプが使用される。

事例

事例 1: Microsoft Word 2007 で PDF 変換時に正しいタグ付き見出しがある表を作成する

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

  1. 表のヘッダ行のコンテキストメニューから[表のプロパティ]を選択する

  2. [行]タブを選択する

  3. 次の画像に示すように、「各ページにタイトル行を表示する」を選択する

スクリーンショット:Wordの表の1行目に対して、[表のプロパティ]ダイアログの[行]タブを開き、「各ページにタイトル行を表示する」をチェックして、1行目が見出しセルとしてマークアップされるようにしている。

この事例のサンプルとして、Word 2007 でのタグ付きテーブル見出しのサンプル(Wordファイル)がある。

注記: Microsoft Word では、セルは行見出しではなく列見出しとしてのみマークアップできる。すべての表の列について、見出しとしてマークできるのは最初の行だけである。表に行見出しまたはさらに複雑な見出し構造がある場合、このマークアップは Acrobat Pro などの PDF エディターで追加する必要がある。

事例 2: OpenOffice.org Writer 2.2 で PDF 変換時に正しいタグ付き見出しがある表を作成する

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

  1. 表のコンテキストメニューから[表]を選択する

  2. [体裁]タブを選択する。/p>

  3. 次の画像に示すように、「見出しの繰り返し」を選択し、「最初の n 行」リストボックスで「1」を選択する。

スクリーンショット:OpenOffice.org Writerの[表]ダイアログで、[体裁]タブを選択して、「見出しの繰り返し」をチェックして、「最初の n 行」リストボックスで「1」を選択し、1行目が見出しセルとしてマークアップされるようにしている。

この事例のサンプルとして、OpenOffice Writerでのタグ付きテーブル見出しのサンプル(OpenDocumentテキストファイル)がある。

注記: OpenOffice.org Writer では、セルは行見出しではなく列見出しとしてのみマークアップできる。すべての表の列について、見出しとしてマークできるのは最初の行だけである。表に行見出しまたはさらに複雑な見出し構造がある場合、このマークアップは Acrobat Pro などの PDF エディターで追加する必要がある。

事例 3: Adobe Acrobat 9 Pro の[タグ]タブを使用してテーブルタグを変更する

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

変換された文書内のテーブルが正しくタグ付けされていることを確認するには、次の操作を行う。

TAdobe Acrobat Pro のテーブルで、[タグ]タブを開くと、全てのテーブルセルがTDでマークアップされている。

この場合、テーブルヘッダには事例 1 および 2 に示すような書式は設定されておらず、データセルとしてマークされている(TD)。これらを TH タグに変更するには、次の操作を行う。

  1. 上の画像に示すように、[タグ]タブで、ヘッダセルを含むテーブル行を開く

  2. 最初のデータセルを選択し、[プロパティ]を選択する

  3. [プロパティ]ダイアログボックスの[タグ]タブで、種類ドロップダウンリストを使用して、「テーブルデータセル」を「テーブルヘッダセル」に変更する。

  4. テーブルの最初の行にあるすべてのテーブルヘッダセルについて、同じ操作を繰り返す

スクリーンショット:Adobe Acrobat Pro の表で[タグのプロパティ]ダイアログを使用して、データセルを見出しセルに変更する。

この事例のサンプルとして、Acrobatでのタグ付きテーブル見出しのサンプル(PDFファイル)がある。

事例 4: テーブルの構造エレメントを使用してテーブルをマークアップする

次のコードフラグメントは、事例 1 ~ 3 に示すような単純なテーブル(ヘッダ行とデータ行)で一般的に使用されるコードを示している。

95 0 obj                %Structure element for a table
 << 
  /A 39 0 R
  /K[96 0 R 101 0 R 106 0 R 111 0 R]
  /P 93 0 R
  /S/Table              %standard structure type is table
 >> 
 endobj
96 0 obj                %Structure element for a table row
 << 
  /K[97 0 R 98 0 R 99 0 R 100 0 R]
  /P 95 0 R
  /S/TR                 %standard structure type is table row
 >> 
 endobj
97 0 obj                %Structure element for a table header
 <</A[23 0 R 120 0 R]
   /K 1
   /P 96 0 R
   /S/TH                 %standard structure type is table head
   /Pg 8 0 R
 >> 
endobj
104 0 obj                %Structure element for table data (cell contents)
 << 
  /A 29 0 R
  /K 7
  /P 101 0 R
  /S/TD                  %standard structure type is table data
  /Pg 8 0 R
 >> 
endobj

参考リソース

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

検証

チェックポイント

  1. 各テーブルで、次のいずれかを確認する。

    • PDF 文書をスクリーンリーダーで読み上げると、テーブルヘッダおよびデータセル間の論理的関係を維持する方法で表の情報が読み上げられる

    • PDF エディターを使用し、適切な TRTH および TD タグが正しい読み上げ順序でテーブルツリー内の階層に配置されていることを確認する

    • テーブルエレメントを表示できるツールを使用して PDF 文書を開き、テーブル構造を表示して、適切な TRTH および TD 構造が含まれていることを確認する

    • アクセシビリティ API を通じて文書を表示するツールを使用して、テーブル構造に適切な TRTH および TD 構造が含まれ、正しい読み上げ順序と階層になっていることを確認する

判定基準

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