間違ってタグ付けされているテーブルを修復するために、Adobe Acrobat Pro のテーブルエディタを使用する

達成方法に関する重要な情報

この達成方法 (参考) の使用法と、この達成方法が WCAG 2.1 達成基準 (規定) とどのように関係するのかに関する重要な情報については、WCAG 達成基準の達成方法を理解するを参照のこと。適用 (対象) のセクションは、その達成方法の範囲について説明しており、特定の技術に関する達成方法の存在は、その技術があらゆる状況で WCAG 2.1 を満たすコンテンツを作成するために使用できることを意味するものではない。

適用 (対象)

テーブルが含まれているタグ付き PDF 文書

これは達成基準 1.3.1: 情報及び関係性 (書かれていない達成方法を満たす手段として十分) に関する達成方法である。

解説

この達成方法の目的は、行と列の間の論理的な関係が維持され、支援技術により認識されるように、PDF 文書内のテーブルセルをマークアップする方法を示すことである。これは通常、PDF のオーサリングツールを使用して行う。

ただし、オーサリングツールで正しくマークアップされている場合でも、PDF に変換されたテーブルに、正しく結合または分割されないテーブルセルが存在する場合がある。コンテンツ制作者は、Adobe Acrobat Pro の TouchUp 読み上げ順序ツールのテーブルエディタを使用して、テーブルセルが適切に構造化されていることを確認できる。

事例

例 1: Adobe Acrobat 9 Pro の TouchUp 読み上げ順序ツールのテーブルエディターを使用してテーブルセルを修復する

この事例は Adobe Acrobat Pro の場合を示している。同様の機能を実行するソフトウェアツールは他にも存在する。 他のソフトウェアツールのリストについては、「」を参照のこと。

訳注:

上記「」に該当する記述が、WCAG 2.1 達成方法集の原文では削除されている。WCAG 2.0 達成方法集においては、PDF テクノロジーノートの中に「アクセシビリティがサポートされている PDF オーサリングツール」というセクションがある。

この事例では、Microsoft Word での作成時に正しくマークアップされていたテーブルを使用する。一部のテーブルヘッダーは、ヘッダー行が 2 行あり、テーブルヘッダーが 2 列に分かれている。

図 1 Word で正しくマークアップされた、複雑なヘッダーを持つテーブルを、PDF に変換する前の状態。

PDF 文書内のテーブルを確認するには、次の操作を行う。

  1. アドバンスト > アクセシビリティ > TouchUp 読み上げ順序を選択する
  2. テーブルの左上隅にある数字 (以下の画像の読み上げ順序 3) をクリックしてテーブルを選択する
  3. TouchUp 読み上げ順序パネルで[テーブルエディタ]ボタンを選択する。テーブルセルに赤色のアウトラインが表示され、タグによってラベルが付けられる。赤いアウトラインはテーブルセルと厳密に一致するものではないが、それによってセルが正しくタグ付けされているかどうかを確認できる

次の画像は、TouchUp 読み上げ順序ツールのサンプルテーブルを示している。「Results」ヘッダーが二つのサブヘッダーにまたがって表示されており、左側にあるその他のヘッダーは「Results」ヘッダー内の二つの行にまたがっている。

図 2 TouchUp 読み上げ順序ツールにおけるテーブル。Word と同様に、テーブルの「Results」ヘッダーは二つのサブヘッダーにまたがって表示され、左側にあるその他のヘッダーは「Results」ヘッダー内の二つの行にまたがっている。

次の画像は、テーブルエディターでのサンプルテーブルを示している。セルには赤色のアウトラインが付けられ、各セルのタブが表示されている。変換時に、「Results」ヘッダーが正しく分割されず、二つのサブヘッダーにまたがっていない。右側にあるヘッダーは二つのセルに正しく分割されず、「Results」ヘッダーにまたがっていない。さらに、正しく分割されなかったセルが一つのセルに結合されている。

図 3 テーブルエディターでのテーブルの例。テーブルセル及び各セルのタグが表示されている。テーブルエディターでは、「Results」ヘッダーが誤って分割され、二つのサブヘッダーにまたがっていないことがわかる。かつ、他のヘッダーも誤って分割、結合されている。

「Results」ヘッダーを修復するには、次の操作を行う。

  1. テーブル内でヘッダーを選択する (選択されると、青色のアウトラインが表示される)
  2. コンテキストメニューにアクセスする
  3. [テーブルセルのプロパティ]を選択する
  4. [テーブルセルのプロパティ]ダイアログボックスで、「列のスパン」を「1」から「2」に変更する
  5. [OK]を押す。変更により正しくないテーブル構造が生じた場合には、警告が表示される。この場合、変更は正しい。変更したセルは、次の画像に示されているように、新しい範囲を示すために色が変わる
図 4 この例では、[テーブルセルのプロパティ] ダイアログで「列のスパン」を「2」に変更し、誤ってタグ付けされたヘッダーを修復している。

同様に、「Results」ヘッダーの左側にある正しく分割されていないヘッダーセルを修復するには、次の操作を行う。

  1. 列内で上部のセルを選択する (選択されると、青色のアウトラインが表示される)
  2. コンテキストメニューにアクセスする
  3. [テーブルセルのプロパティ]を選択する
  4. [テーブルセルのプロパティ]ダイアログボックスで、「行のスパン」を「1」から「2」に変更する
  5. [OK]を押す。次の画像は、左側にあるヘッダーセルが修正され、最後のヘッダーセルが修正された状態を示している
図 5 この例では、[テーブルセルのプロパティ] ダイアログで「行のスパン」を「2」に変更し、誤ってタグ付けされたヘッダーを修復している。

次の画像は、修復されたサンプルテーブルを示している。

図 6 テーブルエディターで修復されたテーブルの例。元の Word のテーブルと同じテーブル構造になっている。

この事例のサンプルとして、テーブル構造を修復するサンプル (Word ファイル)テーブル構造を修復するサンプル (PDF ファイル) がある。

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

次のコードフラグメントは、例 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 文書を開き、テーブル構造を表示して、適切な TR、TH および TD 構造が含まれていることを確認する。
    • アクセシビリティ API を通じて文書を表示するツールを使用して、テーブル構造に適切な TR、TH および TD 構造が含まれ、正しい読み上げ順序と階層になっていることを確認する。

期待される結果

  • #1 の結果が真である。