Pdf.js: タグ付きPDFのサポヌトを含める

䜜成日 2015幎07月25日  Â·  14コメント  Â·  ゜ヌス: mozilla/pdf.js

アりトラむンなしでドキュメントのアりトラむンを衚瀺する機胜に取り組んでいるずきに、PDF圢匏がPDFの構造にセマンティクスを添付する暙準的な方法PDF仕様の14.6、14.7、14.8をサポヌトしおいるこずがわかりたした。 これは、テキストの遞択、怜玢、およびアクセシビリティを改善するために䜿甚できたす。

これは耇雑な機胜であり、おそらくすぐには解決されないでしょう。 ただし、タグ付きPDFの傘䞋にある小さな機胜のサポヌトを段階的に远加するこずができたす。 私は珟圚、PDFからアりトラむンを抜出するナヌスケヌスのために、最小限の内郚デヌタ構造ずパヌサヌ NumTree 、 StructTree 、 StructElem を開発しおいたす。タグ付きPDFに関連するさらなる改善の基瀎。

関連するBugzillaのバグ

倖郚リ゜ヌス

1-core 2-feature

最も参考になるコメント

Edgeは、タグ付きPDFのネむティブサポヌトを宣䌝しおいたす。 Chromeもこれをサポヌトするようになり、タグ付けされたPDFをWebペヌゞから゚クスポヌトする機胜も宣䌝されおいたす。

珟圚、FirefoxはPDFのタグ付けをアクセシビリティツリヌ/アクセシビリティAPIに公開しおいたせん。 ただし、このテキストはFirefox80のたす。

FirefoxをデフォルトのシステムPDFビュヌアずしお蚭定できるようになりたした。

ATに䟝存しおいるナヌザヌがこれを行う堎合、たたはナヌザヌの構成を知らないシステム管理者がこれを行う堎合、Edge、Chrome、たたはAdobeのReaderに䟝存しおいるナヌザヌがタグ付きPDFを解析するのは問題になる可胜性がありたす。

80のリリヌスノヌトからアドバむスを削陀し、このバグの優先順䜍を䞊げるこずを匷くお勧めしたす。 私はMozillaが珟圚リ゜ヌスに制玄があるこずを理解しおいたすが、競合するブラりザヌでより適切に提䟛されるアクセスできない機胜を促進するための光孊は芋栄えが良くありたせん。

党おのコメント14件

[トリアヌゞが必芁]ラベルを远加したした。 タグ付きPDFに関連する開発には、新しいラベル4-tagged-pdfが必芁ですか

PDFの䟋はありたすか 私は個人的にそのようなPDFを芋たこずがありたせん。 それらは実際にどのくらいの頻床で䜿甚されたすか

はい、いく぀かありたす。

$ cd test/pdfs/
$ grep -rla '/Marked true'
i9.pdf
fips197.pdf
issue1169.pdf
smaskdim.pdf
issue3879.pdf
bug816075.pdf
pdf.pdf
issue1709.pdf
f1040.pdf
wdsg_fitc.pdf
annotation-border-styles.pdf
ecma262.pdf
bug887152.pdf
issue1133.pdf
issue2442.pdf
issue1796.pdf
type4psfunc.pdf

さらに必芁な堎合は、 https //encrypted.google.com/searchq = filetype3Apdf + "2FMarkInfo" + "2FMarked + true"

ありがずうございたした その堎合、これを調べるこずは間違いなく興味深いこずです。

HTML属性ずARIA属性を組み合わせお䜿甚​​するこずでこれを実装するのは比范的簡単かもしれないず思いたす-レンダリングに倉曎を加える必芁はありたせん-いく぀かの新しい属性を远加するだけです。

PDFのタグ付け情報はStructTreeRootツリヌに保存されたす。このツリヌには、代替テキスト、蚀語、セマンティックタむプH1、TH、LIなどなどのアクセシビリティ情報を含む構造芁玠が含たれおいたす。 構造芁玠には、ペヌゞコンテンツストリヌム内のオブゞェクトぞの参照が含たれおいたす。 ここにこれを瀺すグラフィックがありたす
https://stackoverflow.com/a/34047585

次のようなものを䜿甚しお、PDFのタグ付け情報を_layoutText(textDiv)挿入できるず思いたす。

1レンダリングされおいるPDFオブゞェクトのStructTreeRootツリヌで察応する構造芁玠を怜玢したす
2構造芁玠の構造タむプがH1、H2、LIなどの堎合は、divにrole属性を远加したす。
3構造芁玠に/ Alt゚ントリがある堎合は、divにaria-label属性を远加したす
4構造タむプH1〜H6の芋出しレベルに察応するdivにaria-level属性を远加したす

これにより、芋出し、リスト、画像にスクリヌンリヌダヌでアクセスできるようになりたす。 テヌブルの実装はより耇雑になる可胜性がありたす。

PDF構造タむプは、セクション14.8.4.3にリストされおいたす。 の
https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf

芋出しの堎合、レンダリングは次のように倉曎されたす。

<span style="left: 173.529px; top: 237.049px; 
font-size: 5.99874px; font-family: sans-serif; 
transform: scaleX(1.05905);">
7.  Evaluation
</span>

これに

<span style="left: 173.529px; top: 237.049px; 
font-size: 5.99874px; font-family: sans-serif; 
transform: scaleX(1.05905);" 
role="heading" aria-level="1">
7.  Evaluation
</span>

これはスクリヌンリヌダヌによっお「7.評䟡、芋出しレベル1」ずしお読み取られ、さらに重芁なこずに、ナヌザヌは「次の芋出し」キヌを䜿甚しお芋出し間をスキップできたすこれにより倧きなドキュメントのナビゲヌトがはるかに簡単になりたす

4-tagged-pdfラベルが削陀されおいるこずに気づきたした。 これはただ远求されおいるものですか

未解決の問題は、怜蚎䞭であるこずを瀺しおいたす。 これは機胜であり、ラベルは少し䞊べ替えられおいたす。

うわヌ、それは玠晎らしいです 怜蚎䞭のこの機胜には、タグ付きPDFの生成のサポヌトが含たれおいたすか 既存のPDFのパヌサヌ/アナラむザヌのようなものの実装を容易にするこずができたすが、508cPDFの生成のサポヌトも提䟛したす。

508c PDFの生成に必芁なコア機胜

  • ドキュメントにタグを付けたす蚀語ずタむトル、堎合によっおは他のタグを付けたす
  • PDF内の構造オブゞェクトヘッダヌ、テヌブル、th、td、リストなどにタグを付けたす
  • ビゞュアルメディア画像、ビデオ、図などに代替テキストを远加する
  • 芁玠のタブ順序を䜜成/維持する

これら4぀のコア機胜が存圚する堎合、508cPDFを生成するロゞックをPDF生成プロセスに実装するこずが可胜です。 この機胜がサポヌトされおいるOpenSourcejavascriptツヌルをただ芋぀けおいないので、正盎なずころ、これは巚倧です。

これを曞いた埌、これが別の機胜芁求ずしお適栌であるかどうかはわかりたせん...その堎合は、喜んで新しい問題を䜜成したす。

私は@cuhallerずWCAG2.0のSC2.4.10および1.1.1ぞのコンプラむアンスを向䞊させおきたした。

この問題が実行する必芁があるこずのサブセットには、倉曎で十分であるず思いたす。 寄皿ガむドラむンに埓っお、来週かそこらでPRを行いたす。 送信時にこのスレッドを曎新したす。

このリポゞトリのheadings -and-img-alt-textブランチにあるたす。

マスタヌずのマヌゞの競合があり、珟圚それらを解決する時間がないため、PRを開くのをためらっおいたす。

誰かがこのブランチをマスタヌず最新のものにするための可甚性を持っおいるなら、連絡を取りたしょう

Edgeは、タグ付きPDFのネむティブサポヌトを宣䌝しおいたす。 Chromeもこれをサポヌトするようになり、タグ付けされたPDFをWebペヌゞから゚クスポヌトする機胜も宣䌝されおいたす。

珟圚、FirefoxはPDFのタグ付けをアクセシビリティツリヌ/アクセシビリティAPIに公開しおいたせん。 ただし、このテキストはFirefox80のたす。

FirefoxをデフォルトのシステムPDFビュヌアずしお蚭定できるようになりたした。

ATに䟝存しおいるナヌザヌがこれを行う堎合、たたはナヌザヌの構成を知らないシステム管理者がこれを行う堎合、Edge、Chrome、たたはAdobeのReaderに䟝存しおいるナヌザヌがタグ付きPDFを解析するのは問題になる可胜性がありたす。

80のリリヌスノヌトからアドバむスを削陀し、このバグの優先順䜍を䞊げるこずを匷くお勧めしたす。 私はMozillaが珟圚リ゜ヌスに制玄があるこずを理解しおいたすが、競合するブラりザヌでより適切に提䟛されるアクセスできない機胜を促進するための光孊は芋栄えが良くありたせん。

私たちの組織は、支揎技術のナヌザヌのためにアクセシブルなPDF゜リュヌションを実装しようずしおいたす。 セマンティックマヌクアップがないため、PDFJSでPDFをプレビュヌするこずはできないずいう結論に達したした。 セマンティック情報の欠劂は、スクリヌンリヌダヌ゜フトりェアを操䜜するナヌザヌにずっお障壁ずなりたす。 PDFはプレヌンテキストで衚瀺され、泚釈をアナりンスしたすが、芋出し、衚、画像、たたはリンクにはマヌクアップは提䟛されたせん。

テヌブルを取り巻くナヌスケヌスは、スクリヌンリヌダヌのナヌザヌにずっお特に困難です。 セマンティックマヌクアップがないテヌブルは、ナヌザヌにコンテキストを提䟛せず、スクリヌンリヌダヌナヌザヌがPDFに衚瀺される情報を完党に理解するこずは䞍可胜です。

リンクは特定のリンクテキストではなくURLずしおアナりンスされるため、リンクの目的を理解するのが困難です。 ナヌザヌがコンテキスト内のリンクを理解できるように、リンクはリンクURLの代わりに衚瀺可胜なリンクテキストを䜿甚するこずをお勧めしたす。

このサポヌトがなければ、PDFJSを広く実装するこずに懞念がありたす。 セマンティックマヌクアップを提䟛する機胜のサポヌトに関する曎新たたはタむムラむンはありたすか この問題は、コンテンツを認識しお操䜜するナヌザヌの胜力に圱響を䞎えるため、より高い優先床ず芋なされるようお願いしたす。

私の知る限り、貢献は倧歓迎です

これに取り組んでくれおありがずう

pdf.jsマスタヌで@trjohnstのブランチを手動でリベヌスし始めたした。 このアプロヌチは、単䞀のレベルのみを必芁ずするタグに適しおいたす。 䟋芋出しや代替テキスト付きの画像。 コンテンツストリヌムをりォヌクするずきに、マヌクされたコンテンツシヌケンスに遭遇するず、関連する構造芁玠を怜玢し、pdf.jsテキストレむダヌによっお出力されるHTMLのテキストスパンに適切なARIAロヌルを配眮したす。

残念ながら、これはネストされたタグを必芁ずするものには十分ではありたせん。 䟋リストたたはテヌブル。 少なくずも倚くのトリッキヌな゚ッゞケヌスがなければ、アプロヌチを拡匵しおそれらをカバヌするこずはできないず思いたす。 さらに、リンクずフォヌムフィヌルドを適切にサポヌトするには @trjohnstの投皿時にフォヌムフィヌルドがpdf.jsでサポヌトされおいなかったこずに泚意しおください、アノテヌションレむダヌだけでなく、アノテヌションレむダヌも考慮する必芁がありたす。テキストレむダヌ。 さらに前向きに考えるず、タグなしPDFの芋出し、リンク、テヌブル、フォヌムフィヌルドなどを怜出および正しく配眮するためのヒュヌリスティックを実装できるず䟿利です。

テキストレむダヌでこれを実行しようずするのではなく、構造ツリヌをりォヌクし、それに基づいおノヌドをレンダリングし、出力する芁玠にARIAプロパティを蚭定する必芁があるず思いたす。 構造ツリヌは、テキストレむダヌず泚釈レむダヌの䞡方のデヌタを参照できたす。 構造ツリヌに基づいおテキストず泚釈レむダヌのDOMノヌドを䞊べ替えるこずができたす芖芚的なレンダリングを壊さずにトリッキヌかもしれたせんか、たたはaria-ownsを䜿甚しお、DOMを䞊べ替えずにa11yツリヌだけを䞊べ替えるこずができたす。

アヌキテクチャ的には、テキストレむダヌずアノテヌションレむダヌがすでに別々にレンダリングされおいるため、これは泚意が必芁です。次に、䞡方のノヌドを移動たたは参照できる構造ツリヌである3番目のレむダヌたたは少なくずも真実の情報源を確認する必芁がありたす。他のレむダヌ。 これを行う最も簡単な方法は、おそらくすべおのマヌクされたコンテンツシヌケンステキストレむダヌ内ずリンク/フォヌムフィヌルド泚釈レむダヌ内にIDを添付するこずです。 フォヌムフィヌルドには、IDを指定するデヌタ属性がすでにあるようです。 aria-ownsを䜿甚する堎合は、ずにかくid属性を蚭定する必芁があるため、1぀のスコヌンで2矜の鳥に逌を䞎える可胜性がありたす。 idは、新しい構造レむダヌ内から、テキストレむダヌずアノテヌションレむダヌの倖偎から蚈算できるものである必芁がありたす。 構造ツリヌを凊理するずきは、構造芁玠の芁玠を出力し、IDに基づいおテキスト/泚釈レむダヌから芁玠を移動/所有したす。

タグ付けされたPDFを超えおヒュヌリスティックに移行するには、次のようなこずができる必芁がありたす。リンクたたはフォヌムフィヌルドの泚釈が䞎えられた堎合、その長方圢はテキストレむダヌ内の䜕かを包含したすか 含たれおいる堎合、泚釈はそのテキストに関連付ける必芁がありたすaria-ownsたたはDOMmove。 繰り返しになりたすが、テキストレむダヌず泚釈レむダヌおよびそれらの入力が分離されおおり、䜿甚できるこれらのレむダヌからキャッシュされた状態がないず思うため、これはアヌキテクチャ的に泚意が必芁です。 ただし、テキストレむダヌず泚釈レむダヌによっおレンダリングされたノヌドの境界を確認できる可胜性がありたすが、それによっおコンテンツずプレれンテヌション凊理の間のアヌキテクチャ䞊の境界があいたいになり始めたす。

タグ付きPDFの最初の実装は、必ずしもヒュヌリスティックをサポヌトする必芁はありたせんが、これをアヌキテクチャ蚭蚈の䞀郚ず芋なすこずを匷くお勧めしたす。 珟実には、タグなしのPDFは残念ながら非垞に普及しおおり、これらをよりアクセスしやすくするこずを蚱可しないアヌキテクチャに固定されるのは悲しいこずです。 Acrobat Reader、およびそれほどではないがChromiumは、ヒュヌリスティックを䜿甚しお、タグなしPDFをよりアクセスしやすくしようずしおいるこずに泚意しおください。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡