WCAG 2.0 実装方法集

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

PDF テクノロジーノート

イントロダクション

Portable Document Format(PDF)は、文書の作成に使用したアプリケーションソフトウェア、ハードウェアおよびオペレーティングシステムや、表示または印刷に使用する出力デバイスに依存せずに文書を表示できるファイル形式である。PDF ファイルは、信頼性が高くデバイスに依存しない方法で、文書内のページの表示を指定する。PDF 仕様は、1993 年に Adobe Systems によって一般公開向けの標準として発表された。2008 年 1 月には、PDF 1.7 が ISO 規格(ISO 32000-1)になった。

アクセシビリティについては、2010 年 11 月に ISO Draft International Standard(DIS)になった PDF/UA(ユニバーサルアクセシビリティ)に規定されている(ISO/DIS 14289-1(PDF/UA Wiki(ISO DIS 14289 - 1)を参照のこと))。PDF/UA は、テクニック(ハウツー)仕様を示すものではなく、よりアクセシブルな PDF を作成するための一連のガイドラインを提供することを目的としたものである。この仕様では、必須のコンポーネントと禁止されているコンポーネントを示すとともに、障害のある人を含め、可能な限り幅広い人々がファイルを利用できるようにすること目的に、それらのコンポーネントを PDF ファイルに含めるか否かを規定する条件について説明している。それらのコンポーネントを PDF ストリームに含めるための機構は、個々の開発者、PDF 作成者または PDF 表示エージェントの裁量に任されている。PDF/UA は、適合するリーダーの動作を規定するルールも指定している。

PDF のアクセシビリティサポート

PDF には、障害のあるユーザーのための文書のアクセシビリティをサポートするいくつかの機能が含まれている。このサポートの核心は、論理構造およびタグ付き PDF を通じて、コンテンツの外観またはレイアウトに依存せずに PDF 文書内のコンテンツの論理的な順序を決定できることにある。アプリケーションでは、階層構造をトラバースして各ノードのコンテンツを表示することにより、文書のコンテンツを抽出して障害のあるユーザーに提示することができる。この理由から、PDF ファイルの作成者は、階層構造を利用して文書内のすべての情報を参照できるようにしなければならない。

論理構造

PDF の論理構造機能(PDF 1.3 で導入)は、文書のコンテンツに関する構造情報を PDF ファイルに組み込むための機構を提供する。このような情報の例としては、章、見出し、段落、セクションなどの文書の編成や、図、表、脚注などの特殊エレメント情報がある。論理構造機能は拡張可能であり、どのような構造情報を組み込んで、それをどのように表示するかは、PDF ファイルを作成するアプリケーションが選択できる。一方で、PDF ユーザーは作成側の構造上の仕組みを知らなくてもファイル内を移動できる。

PDF の論理構造の基本的な機能は、HTML、SGML、XML などの標準的な文書マークアップ言語と共通している。文書の論理構造は、辞書オブジェクトとしての構造エレメントの階層として表される。他のマークアップ言語の構造エレメントと同様に、PDF の構造エレメントにはコンテンツと属性を持たせることができる。PDF では、HTML、SGMLおよびXMLでのテキストの役割を、レンダリングされた文書コンテンツが担っている。

PDF 文書の論理構造は、視覚的に認識できるコンテンツとは別個に保存され、相互にポインタで結ばれている。このように分けられているため、論理エレメントの順序と階層構造を、文書のページ上のグラフィックオブジェクトの順序と位置から完全に独立して扱うことができる。

文書の論理構造は、構造階層または構造ツリーと呼ばれる、オブジェクトの階層によって記述される。この階層のルートにあるのが、構造ツリールートと呼ばれる辞書オブジェクトであり、文書カタログの StructTreeRoot エントリによって指定することができる。PDF 1.7(ISO 32000-1)の節 14.7.2(「構造階層」(英語))を参照すると、表 322 に構造ツリールート辞書内のエントリが示されている。K エントリは、構造エレメントである、構造ツリールートの直接の子を指定する。

タグ付き PDF

タグ付き PDF(PDF 1.4)は、PDF をスタイル化して使用するためのものであり、PDF の論理構造フレームワーク上に構築される。タグ付き PDF では一連の標準的な構造タイプと属性が定義され、ページのコンテンツ(テキスト、グラフィックおよび画像)を抽出して他の目的に再利用することができる。これは、次のような操作を行うためのツールで使用することを意図している。

PDF ファイルの作成とアクセシビリティ

PDF ファイルはアプリケーションプログラムによって直接作成することも、間接的に他のファイル形式や画像モデルから変換して作成することもできる。さらに、アクセシビリティを確保するために PDF ファイルの検査、確認および修復を行うツールが用意されている。以下の各セクションでは、このような用途で一般的に使用される、代表的なアプリケーションやツールのリストを示す。

ただし、これらのリストは網羅的なものではなく、また特定のアプリケーションやツールを支持するものでもない。これらのリストは、WCAG ワーキンググループが PDF 文書の作成テクニックを検討し公表した時点で、広範に使用されていたツールを例示するにすぎない。あらゆるソフトウェアと同様に、アプリケーションによる PDF アクセシビリティのサポートは、バージョンの違い、特定の PDF 文書の書式要件またはアプリケーションの実際の使用方法によって異なる。つまり、タグなどを適切に作成するには、各種のツールを正しく使用しなければならない。

一般的に、古いツールよりも新しいツールのほうが、優れた機能を提供する。ツールによる PDF のアクセシビリティサポートに関する正式な情報は、そのツールのベンダーから得られる。

PDF ファイルを生成する

多くのアプリケーションが PDF ファイルを直接生成でき、また一部のアプリケーションは直接インポートすることもできる。画像モデルやインタラクティブな文書交換機能を含む、PDF のすべての機能をアプリケーションで利用できるため、この直接的なアプローチが望ましい方法である。これに対して、PDF を直接生成しないアプリケーションでは、PDF 出力が間接的に行われる。間接的な方法としては、主に次の 2 つがある。

これらの間接的な方法を使用すれば既存のアプリケーションから簡単に PDF 出力が得られるが、この方法によって作成される PDF ファイルでは、文書のセマンティックを明らかにする高度な PDF 画像モデルが十分に活用されない場合がある。この原因は、アプリケーションの API 呼び出しまたは中間物としての出力ファイルで具現化される情報では、目的の結果が低いレベルでしか記述されていないためである。元のアプリケーションで維持されていた高度な情報は失われ、プリンタードライバーや変換装置でその情報を利用することができない。

例えば、プリンタードライバーまたは変換装置では正確な視覚的出力が行われるため、PDF 出力の作成時に、文書のセマンティックに関する情報がまったく送信されないか無視される場合がある。その結果、見出しが正しくタグ付けされなかったり、リンクテキストとリンクオブジェクトが関連付けされなかったりする。ツールを使用して、タグ付けされた完全な出力を生成する方法については、PDF オーサリングツールのベンダーに問い合わせのこと。

アクセシビリティがサポートされている PDF オーサリングツール

注記: タグ付き PDF ファイルの作成がサポートされていないツールがあるため、様々な PDF 作成ツールの中から選択する場合には注意が必要である。

アクセシビリティのチェックと修復

Adobe Acrobat Pro:Adobe Acrobat Pro は、PDF ファイルの作成と編集を行うアプリケーションである。このアプリケーションには、タグパネルを通じた構造ルートのアクセス機能、順序パネルを通じて読み上げ順序を直接操作する機能、組み込みのアクセシビリティチェッカー、PDF 文書のアクセシビリティを評価および修復するグラフィック機構である TouchUp 読み上げ順序ツールなど、PDF ファイルのアクセシビリティを評価および修復するための多数のツールが含まれている。

Commonlook™ Section 508 for Adobe Acrobat:Commonlook Section 508 for Adobe Acrobat は、Netcentric Technologies が提供する Adobe Acrobat Pro 用プラグインである。CommonLook は、画像、テーブル、フォームおよびその他の非テキストオブジェクトに対する適切なタグ付けを含め、アクセシビリティに関する最も一般的な問題の修正を支援する。PDF 作成者は準拠レポートによって、アクセシビリティ上の問題に関する詳細な情報を取得して問題を修正できる。

PAC - PDF Accessibility Checker:PAC は、«Access for all» Foundation が開発し配布している、PDF 文書と PDF フォームのアクセシビリティを評価するための無料のツールである。PAC には、構造化された PDF 文書のプレビューを Web ブラウザーで表示する機能が追加されている。PAC のプレビューでは、PDF 文書に含まれているタグが示され、アクセシブルなエレメントが、支援技術(スクリーンリーダーなど)によって解釈される場合と同様に表される。PAC では、検出されたアクセシビリティエラーがリストされたアクセシビリティレポートも提供される。レポート内のリンクをクリックすると、文書内で最も可能性が高いエラー原因が表示される。

API 検査ツール
  • aDesigner - Eclipse Foundation が提供する障害シミュレーター。視覚に障害のあるユーザーにとってアクセシブルで使いやすいコンテンツを設計することができる。

  • inspect32 - Microsoft Windows Software Development Kit(SDK)に含まれており、開発者やテスト担当者が UI コンポーネントのアクセシブルプロパティを調べることができる。

  • PDDOMView - Acrobat_Accessibility_9.1.zip 内にあり、Accessibility API Reference 文書で説明されている、アクセシビリティインターフェイスの Windows クライアントが使用できるファイルが含まれている。

  • UISpy - Microsoft Windows Software Development Kit(SDK)に含まれており、開発者やテスト担当者がアプリケーションのユーザーインターフェイス(UI)エレメントを表示し、操作することができる。

ユーザーエージェント

アクセシビリティがサポートされている PDF ユーザーエージェントには次のものがある。

Adobe Reader および Acrobat Support によるアクセシビリティ API のサポート

Adobe は、PDF ファイルのコンテンツをスクリーンリーダーなどの支援技術で利用できる方法を提供している。

DOM と MSAA の両モデルは関連しており、開発者はいずれかまたは両方を使用できる。Acrobat では、PDF ファイルウィンドウ内で発生する注目すべきイベントに関する通知が、アクセシビリティクライアントに対して発行される。またアクセシビリティクライアントからの要求に対する応答が行われる。Acrobat および Reader の最新バージョンでは、アクセシビリティインターフェイスに対するサポートが強化されている。

支援技術によるサポート

関連資料

日本語訳における注記:

この文書の正式版は、W3Cサイトで公開されている英語の文書であり、この日本語訳には誤訳が含まれていることもありえます。なお、文中にある「日本語訳における注記」は、W3Cの原文にはないものであり、日本語訳監修者が追記したものです。