WCAG 2.0 実装方法集

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

-

PDF9: PDF 文書内のコンテンツを見出しタグでマークアップすることによって見出しを作成する

適用(対象)

Tagged PDF documents with headings

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

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

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

解説

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

見出しマークアップは次の目的のために使用できる。

ウェブコンテンツ技術によっては、見出しで論理階層を定義するよう設計されている。見出しの順序のスキップレベルで、文書の構造が適切に熟慮されている、または意味よりも視覚的な表現のために特定の見出しが選択されているという印象が形成される場合がある。作成者は、見出しを階層的に組み込むことが推奨される。

見出しでコンテンツの重要なセクションの始まりが示されるので、支援技術のユーザーは見出しのリストにアクセスして、適切な見出しに直接ジャンプし、コンテンツを読み始めることができる。見出しでコンテンツを「ざっと読み」、興味のあるコンテンツに直接移動できるこの機能は、そうしなければコンテンツへのアクセスが遅くなってしまうユーザーにとって、操作が非常にスピードアップする。

例えば HTML 文書では、H1 ~ H6 の HTML タグを正しく使用することで、HTML の見出しが、正しくタグ付けされた PDF の見出しに変換される。見出しの使用方法については、一般的な実装方法として「G141:見出しを用いてウェブページを構造化する」を参照のこと。

事例

事例 1: Adobe Acrobat 9 Pro を使用して、PDF 文書内のタグ付き見出しを追加または変更する

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

Touchup 読み上げ順序ツールを使用する

PDF 文書に見出しを追加する方法の 1 つとして、Touchup 読み上げ順序ツールを使用できる。

  1. Adobe Acrobat Pro で PDF 文書を開く

  2. アドバンスト > アクセシビリティ > TouchUp 読み上げ順序を選択する

  3. TouchUp 読み上げ順序パネルの[順序パネルを表示]ボタンをクリックする。

  4. [順序]パネルでタグが表示される

次の画像は、Adobe Acrobat Pro で開いた PDF 文書を示している。タグパネルが開き、H1 タグとして「Cooking techniques」、H2 タグとして「Cooking with oil」という見出しテキストが表示されている。「Cooking with butter」というテキストは H2 タグとすべきであるが、H2 タグにはなっていない。

スクリーンショット:Adobe Acrobat で開いた PDF 文書。[タグ]パネルには、タグツリー内の見出しが表示されている。H2 としてタグ付けされるべきテキストが、誤って段落としてタグ付けされている。

H2 見出しに修正するには、次のように TouchUp 読み上げ順序パネルを使用する。

  1. 選択ボックスを左クリックして、タグ付けするコンテンツにドラッグする

  2. TouchUp 読み上げ順序パネルから「見出し 2」タグを選択する

次の画像は、Adobe Acrobat Pro で開いた PDF 文書を示している。TouchUp 読み上げ順序パネルが表示されている。「Cooking with butter」テキストの近くに選択ボックスが表示され、パネルの「見出し 2」が選択されている。

スクリーンショット:Adobe Acrobat で開いた PDF 文書。TouchUp 読み上げ順序パネルが表示されている。見出しテキストが選択され、パネルの「見出し 2」が選択されている。

最後に、TouchUp 読み上げ順序パネルの[順序パネルを表示]ボタンを押下する。

次の画像は、Adobe Acrobat Pro で開いた PDF 文書を示している。タグパネルが表示され、H2 としてタグ付けされた「Cooking with butter」というテキストが表示されている。

スクリーンショット:Adobe Acrobat で開いた PDF 文書。TouchUp 読み上げ順序パネルに正しくタグ付けされた見出しが表示されている。

[順序]パネルと[タグ]パネルを使用する

次の手順に従い、見出しを追加または変更することもできる。

  1. [順序]パネルを表示する

  2. 変更または追加する見出しのテキストのコンテキストメニューを開く

  3. テキストに対する正しい見出しタグを選択する

次のスクリーンショットは、「Cooking with butter」というテキストの順序パネルとコンテキストメニューを示している。コンテキストメニューから「見出し 2 としてタグ付け」が選択されている。

スクリーンショット:Adobe Acrobat で開いた PDF 文書。順序パネルとコンテキストメニューに、見出し2 に変更するテキストが示されている。

次のスクリーンショットに示すように、タグパネルを開いて、正しい見出しが適用されていることを確認できる。

スクリーンショット:Adobe Acrobat で開いた PDF 文書。正しい見出しタグが付けられていることをタグパネルで確認できる。

この事例のサンプルとして、タグ付き見出しを追加するサンプル (Word ファイル) and タグ付き見出しを追加するサンプル (PDF ファイル)がある。

事例 2: PDF 変換時に正しいタグ付き見出しのある Microsoft Word 文書を作成する

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

スタイルを使用して、見出しの書式(見出し 1、見出し 2、見出し 3 など)を作成する。スタイルが論理的な構成になるようにする(見出し 2 が見出し 1 より後に来るようにするなど)。

Microsoft Word 2003

  • 書式 > スタイルと書式メニューを選択し、[スタイルと書式]ウィンドウを表示する

  • [スタイルと書式]パネルに用意されている見出し 1~6 のスタイルを使用する

スクリーンショット:Word 2003での見出しの書式の選択

Microsoft Word 2007/2010

Word 2007/2010 で[ホーム]リボンを選択し、スタイルのグループから適切な見出し(見出し 1~6)を選択する。

Word 2007/2010での見出しの書式の選択

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

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

スタイルを使用して、見出しの書式(見出し 1、見出し 2、見出し 3 など)を作成する。スタイルが論理的な構成になるようにする(見出し 2 が見出し 1 より後に来るようにするなど)。

次の手順に従い、PDF としてエクスポートする。

  1. ファイルメニューの「PDF としてエクスポート」を選択する

  2. 初めて PDF としてエクスポートする場合には、オプションダイアログボックスが表示される

  3. 「タグ付き PDF」を選択して、[エクスポート]を押下する

スクリーンショット:OpenOffice.org Writer で見出しスタイルを選択し、PDF にエクスポートする。

事例 4: /Headn エレメントを使用して見出しをマークアップする

PDF 文書内の見出しは、構造ツリー内の /Headn エレメントを使用してマークアップできる。ここで、n は 1 ~ 6 の数字である(/Head1、/Head2 など)。

次のコードフラグメントは、/Headn エレメントを使用してコンテンツをマークアップする一般的なコードを示している。これは通常、オーサリングツールを使用して行う。

0 obj% Document catalog
  << /Type /Catalog
     /Pages 100 0 R                  % ページツリー
     /StructTreeRoot 300 0 R         % 構造ツリーのルート
  >>
endobj
 ...
300 0 obj% Structure tree root
  << /Type /StructTreeRoot
     /K [ 301 0 R                    % 2つの子: 章と
        304 0 R                      % 段落
        ]
     /RoleMap << /Chap /Sect         % 構造ツリーへのマッピング
                 /Head1 /H
                 /Para /P
              >>
    /ClassMap << /Normal 305 0 R >>  % 1つの属性クラスを含むクラスマップ
    /ParentTree 400 0 R              % 親エレメントの数字ツリー
    /ParentTreeNextKey 2             % 親ツリーで次に使用するキー
    /IDTree 403 0 R                  % エレメント識別子の名前ツリー
  >>
endobj
301 0 obj                            % 章の構造エレメント
  << /Type /StructElem
     /S /Chap
     /ID (Chap1)                     % エレメント識別子
     /T (Chapter 1)                  % 人間が読み取ることができるタイトル
     /P 300 0 R                      % 親が構造ツリーのルート
     /K [ 302 0 R                    % 2つの子:セクションヘッダと
          303 0 R                    % 段落
        ]
  >>
endobj
302 0 obj                            % セクションヘッダの構造エレメント
  << /Type /StructElem
     /S /Head1
     /ID (Sec1.1)                    % エレメント識別子
     /T (Section 1.1)                % 人間が読み取ることができるタイトル
     /P 301 0 R                      % 親が章
     /Pg 101 1 R                     % コンテンツ項目を含むページ
     /A << /O /Layout                % レイアウトが所有する属性
           /SpaceAfter 25
           /SpaceBefore 0
           /TextIndent 12.5
        >>
    /K 0                             % マークされたコンテンツ順序 0
  >>
endobj
...

マークされたコンテンツコンテナー内で、PDF 文書内の第1レベルの見出しに対して、次のように /Headn エレメントを使用して見出しをマークアップできる。

BT		 		% テキストオブジェクトの始まり
  /Head1 <</MCID 0 >>   	% マークされたコンテンツ順序の始まり
     BDC
        ...
        (これは第1レベルの見出しです。Hello world: ) Tj
        ...
     EMC			% マークされたコンテンツ順序の終わり
     ...
ET				% テキストオブジェクトの終わり

参考リソース

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

検証

チェックポイント

  1. 別個のセクションに分割されているすべての PDF コンテンツについて、次のいずれかの方法を使用して、見出しが正しくタグ付けされていることを確認する。

    • PDF 文書をスクリーンリーダーで読み上げると、見出しのリストが正しく読み上げられる

    • PDF エディターを使用して、見出しが正しくタグ付けされていることを確認する

    • /Headn エントリを表示できるツールを使用して PDF 文書を開き、見出しが正しくタグ付けされていることを確認する

    • アクセシビリティ API を通じて文書を表示するツールを使用して、見出しが正しくタグ付けされていることを確認する

判定基準

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