pikepdfを利用したあるツールを用いてPDF/UA-1(ISO 14289-1)に準拠したタグ付けPDFを作成しました。Adobe Acrobat Proの「読み上げ順序ツール」を利用してタグ付けした場合はコンテンツストリーム(/Contents)内のコンテンツ順序も変化しているのですが(※)、このツールは論理構造ツリー(/StructTreeRoot)しか書き換えません。そのため、このツールでタグ付けしたPDFをAcrobat Proの「読み上げ順序ツール」で表示すると、意図した順序とは異なった順序が表示されます。仕様的には問題ないようですがこのあたりが読み上げに影響するか否か、スクリーンリーダーを用いて検証をしてみました。
※Acrobat Proのプリフライト内にある内部構造参照ツールを用いて確認しました。後で気付いたのですが、PDFix Desktopで確認する方が分かりやすかったです。
検証結果
タグ付けした内容に沿って読み上げられた場合は「○」としています。
Windows
| アプリケーション | NVDA | PC-Talker |
|---|---|---|
| Acrobat Reader | ○ | 実機用意できず |
| Chrome | × | × |
| Edge | ○ | ○ |
| Firefox | ○ | ○ |
Mac
| アプリケーション | VoiceOver |
|---|---|
| Acrobat Reader | ○ |
| Safari | ○ |
| Chrome | × |
| Edge | × |
| Firefox | ○ |
| プレビュー | ○ |
コメント
Chromeはタグ付けした内容に沿って読み上げてくれませんでした。確認したところ、Acrobat Proの「読み上げ順序パネル(Orderパネル)」の数字、すなわちコンテンツストリーム(/Contents)内の物理的な描画順に一致した読み上げをしているものと推測されます。(ただ、Acrobat Proの「読み上げ順序パネル」を用いて順序を設定したPDFも正しく読み上げないのが不可解です。もう少し検証してみたいです。)
また、WindowsのEdgeでは問題ないのにMacのEdgeでは問題が発生し、アクセシビリティAPIに同じ内容を渡していないのか?という疑問が湧きました。
ひとまず、pikepdfを用いたツールで論理構造ツリーだけの設定をしても大きな問題はないことが分かりました。