WCAG 2.0 実装方法集

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

-

PDF11: PDF 文書内で /Link 構造エレメントを使用してリンクとリンクテキストを提供する

適用(対象)

リンクを含む PDF 文書

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

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

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

解説

この実装方法の目的は、キーボードおよび支援技術のユーザーが認識できるように PDF 文書内のリンクテキストをマークアップする方法を示すことである。つまり、リンクが別の形式で表示されたときに認識可能であるように、リンク情報をプログラム的に利用可能にする。これは通常、PDF のオーサリングツールを使用して行う。

PDF 文書内のリンクは、そのサブツリー内のリンクタグおよびオブジェクトで表わされ、リンクオブジェクト参照(リンク注釈)と 1 つまたは複数のテキストオブジェクトで構成される。リンクタグ内のテキストオブジェクトまたはオブジェクトは、リンクの名前を提供するために支援技術で使用される。

WCAG 達成基準に適合するリンクを提供する最も容易な方法は、PDF に変換する前の、文書をオーサリングする段階でリンクを作成することである。

ただし、元のオーサリングツールを使用してリンクを作成することができない場合もある。そのような場合は、Adobe Acrobat Pro を使用してリンクを作成することができる。ただし、Adobe Acrobat Pro のリンクダイアログボックスを使用して作成したツールヒントは、スクリーンリーダーからアクセスできないため、そのリンクテキストまたはリンクの文脈で目的を明確にすること。

いかなる場合でも、次の一般的なテクニックで説明されているように、リンクの目的を明確にする必要がある。

事例

事例 1: PDF に変換する前に Microsoft Word 2007 でハイパーリンクを作成する

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

Microsoft Word でハイパーリンクを作成するには、まずリンク先の項目(Web ページなど)を特定する。次に、以下の作業を行う。

  1. 次のいずれかの作業を行う

    • リボン上にある「挿入」を選択し、リンクツールの「ハイパーリンク」を選択する

    • Ctrl + K キーボードショートカットを使用する

  2. ハイパーリンクの挿入ダイアログボックスで、リンク先とリンクテキストを追加する

  3. タグ付き PDF としてファイルを保存する(「PDF テクノロジーノート」を参照のこと)

事例 2: PDF に変換する前に OpenOffice.org Writer 2.2 でハイパーリンクを作成する

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

  1. [挿入]メニューの[ハイパーリンク]を選択する

  2. [ハイパーリンク]ダイアログボックスで、「ハイパーリンクの種類」の「ターゲット」フィールドにリンク先の URI を挿入する

  3. 「詳細設定」の「テキスト」フィールドにリンクテキストを挿入する(このダイアログボックスを表示する前に、文書のテキストからリンクテキストを選択することもできる。選択したテキストが「テキスト」フィールドに挿入される)

  4. タグ付き PDF としてファイルを保存する(「PDF テクノロジーノート」を参照のこと)

事例 3: Adobe Acrobat 9 Pro でリンクの作成ダイアログボックスを使用してハイパーリンクを作成する

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

  1. リンクテキストにするテキストを選択する

  2. コンテキストメニューから[リンクの作成]を選択する

スクリーンショット:ハイパーリンクを作成するためにテキストが選択されている PDF 文書。コンテキストメニューで[リンクの作成]が選択されている。

3. リンクの作成ダイアログボックスの指示に従い、以下に示されているように、リンクの外観を指定する

スクリーンショット:リンクの作成ダイアログボックスが開き、「リンクの外観」のオプションが選択されている PDF 文書。

「次へ」を選択し、URI を指定する。次の画像は、結果として表示されるハイパーリンクとツールヒントを示している。

スクリーンショット:リンクの作成ダイアログボックスを使用して作成されたハイパーリンクがあり、マウスオーバーによりツールヒントが表示されている PDF 文書。

この事例のサンプルとして、PDF でハイパーリンクを作成したサンプル(PDFファイル)がある。

事例 4:/Link 構造エレメントを使用してリンクテキストをマークアップする

PDF 文書内のリンク注釈は、コンテンツストリームの特定のオブジェクトではなくページの幾何学的領域に関連付けられる。このため、リンク注釈は単独では、視覚障害のあるユーザー、またはハイパーテキストリンクを起動するためにどのコンテンツをアクティブ化できるのかを判断する必要のあるアプリケーションにとって有用ではない。

タグ付き PDF の /Link エレメントは、PDF の論理構造を使用してコンテンツ項目とリンク注釈の間の関連付けを確立し、HTML ハイパーテキストリンクに相当する機能を提供する。

HTML の場合、次の事例はハイパーテキストリンクを含むテキストを生成する。

Here is some text <a href="http://www.w3.org/WAI/"> with a link </a> inside.

PDF の場合、最初にページが表現され、オブジェクトアクションが発生する領域にリンク注釈が配置される必要がある。

次のコードフラグメントは、アンダーラインの付いた青色で表示されるリンクテキストを使用する、上述の HTML に相当する PDF を示している。次に続く 2 番目のコードフラグメントは、関連付けられた論理構造階層を示している。これは通常、オーサリングツールを使用して行う。

 /P <</MCID 0>>                                                % マークされたコンテンツ順序 0(段落)
  BDC                                                          % マークされたコンテンツ順序の始まり
   BT                                                          % テキストオブジェクトの始まり
    /F1 11.04 Tf                                               % テキストのフォントおよびサイズの設定
    1 0 0 1 72.024 709.54 Tm                                   % テキストマトリクスの設定
    0 g                                                        % ストローク以外の色を黒に設定
    0 G                                                        % ストロークの色を黒に設定
   [(H)3(ere )-4(is s)10(o)5(m)-4(e)9( t)-3(e)9(xt)-3( )] TJ   % リンク " Here is some text" の前にテキストを表示
   ET                                                          % テキストオブジェクトの終わり
  EMC                                                          % マークされたコンテンツ順序の終わり
 
 /Span <</MCID 1>>                                             % マークされたコンテンツ順序 1(下線付きのリンクテキスト)
  BDC                                                          % マークされたコンテンツ順序の始まり
   BT                                                          % テキストオブジェクトの始まり
    1 0 0 1 152.42 709.54 Tm                                   % テキストマトリクスの設定
    0 0 1 rg                                                   % ストローク以外の色を青に設定
    0 0 1 RG                                                   % ストロークの色を青に設定
    [(with a )-2(li)3(n)14(k)] TJ                              % リンクテキスト " with a link" の表示
   ET                                                          % テキストのオブジェクトの終わり
    0 0 1 rg                                                   % ストロークの色を青に設定
    152.42 707.62 45.984 0.72 re                               % 長方形のオペレータ - リンクの対象領域
    f*                                                         % 偶数奇数ルールを使用してパスを塗りつぶす
  EMC                                                          % マークされたコンテンツ順序の終わり
 
 /P <</MCID 2>>                                                % マークされたコンテンツ順序 2(段落)
  BDC                                                          % マークされたコンテンツ順序の始まり
   BT                                                          % テキストオブジェクトの始まり
    1 0 0 1 198.41 709.54 Tm                                   % テキストマトリクスの設定                                             
    0 g                                                        % ストローク以外の色を黒に設定
    0 G                                                        % ストロークの色を黒に設定
    [( )] TJ                                                   % テキストストリングを空にして空白を表示
   ET                                                          % テキストオブジェクトの終わり
   BT                                                          % テキストオブジェクトの始まり
    1 0 0 1 200.93 709.54 Tm                                   % テキストマトリクスの設定
    [(in)5(sid)5(e.)] TJ                                       % リンクの後にテキスト "inside." を表示
   ET                                                          % テキストの終わり
   BT                                                          % テキストオブジェクトの始まり
    1 0 0 1 229.97 709.54 Tm                                   % テキストマトリクスの設定
    [( )] TJ                                                   % テキストストリングを空にして空白を表示
   ET                                                          % テキストオブジェクトの終わり
  EMC                                                          % マークされたコンテンツ順序の終わり 
  

次のコードフラグメントは、コンテンツ項目とリンク注釈の間の関連付けを確立する論理構造からの抜粋である。

 11 0 obj                                              % オブジェクト ID 11、生成 0、obj キーワード
  <</K[1                                               % 構造ツリールートの直接の子
   <<
    /Obj 26 0 R                                        % 26 への参照
    /Type/OBJR                                         % このオブジェクトは間接的なオブジェクト参照を表す
   >>]
    /P 12 0 R
    /Pg 17 0 R
    /S/Link
  >>
 endobj
 
 26 0 obj                                              % オブジェクト 11 内の OBJR によって参照されるオブジェクト ID 26
  <</A 31 0 R
   /BS
   <</S/S
     /Type/Border
     /W 0
   >>
   /Border[0 0 0]                                      % 色なし境界線
   /H/I
   /Rect[150.128 694.558 200.551 720.0]                % リンク注釈がアクティブな対象領域を定義する境界
   /StructParent 1
   /Type/Annot                                         % 構造エレメントは注釈
   /Subtype/Link
  >>                                                   % リンク注釈                                                 
 endobj     
 31 0 obj                                              % オブジェクト 31、生成 0、obj
  <</S/URI                                             % オブジェクトタイプは URI アクション
    /URI(http://www.w3.org/WAI)                        % 解決する URI
  >>   
 endobj

参考リソース

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

検証

チェックポイント

各ハイパーリンクについて、リンクが正しくタグ付けされており、リンクテキストが適切に表示されることを確認する。

  1. PDF 文書をスクリーンリーダーで読み上げると、リンクが正しく読み上げられ、リンクの目的(例えば、リンク先)が説明されている

  2. タグツリーを視覚的にスキャンすると、リンクが正しくタグ付けされ、(スクリーン拡大鏡のユーザーと、認知障害があるが視力のあるユーザー向けに)リンクテキストが表示される

  3. /Link エントリ値を表示できるツールを使用して PDF 文書を開き、ハイパーリンクとリンクテキストを表示する

  4. アクセシビリティ API を通じて文書を表示するツールを使用し、リンクに正しいリンクテキストがあることを確認する

  5. 各リンクにタブ移動し、Enter を押すことによりそのリンク先にアクセスできる

判定基準

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