StructElem
StructElem(構造要素)は、Tagged PDF内のディクショナリオブジェクトで、文書の論理構造ツリーにおける単一のノードを表します。
StructElem(構造要素)は、Tagged PDF内のディクショナリオブジェクトで、文書の論理構造ツリーにおける単一のノードを表します ( Citation: N.A., 2020 (N.A.). (2020). Document management — Portable document format — Part 2: PDF 2.0 . International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) 。各StructElemは、段落(P)、見出し(H1-H6)、表(Table)、リスト(L)などのセマンティック要素タイプに対応し、支援技術が文書コンテンツを理解し、ナビゲートすることを可能にします ( Citation: N.A., 2014 (N.A.). (2014). Document management applications — Electronic document file format enhancement for accessibility — Part 1: Use of ISO 32000-1 (PDF/UA-1) . International Organization for Standardization Retrieved from https://www.iso.org/standard/64599.html ) 。構造要素は、視覚的なコンテンツを意味のあるセマンティックな役割にマッピングすることで、PDFアクセシビリティの基盤を形成します。
StructElemは、論理構造階層内の文書コンテンツの一部における役割、属性、関係性を記述するメタデータを含むPDFディクショナリオブジェクトです。コンテンツがどのように視覚的に表示されるかを定義するコンテンツストリーム演算子とは異なり、StructElemはそのコンテンツがセマンティック的に何を意味するかを定義します ( Citation: PDF Association, 2023 PDF Association(2023). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/ ) 。
各StructElemディクショナリには以下が含まれます:
- セマンティックな役割を定義する構造タイプ(Sエントリ)(例:段落のP、画像のFigure)
- 構造ツリー内の親へのリンクとなる親参照(Pエントリ)
- 他のStructElem、コンテンツアイテム、またはオブジェクト参照である可能性がある子要素
- 追加のセマンティック情報(言語、バウンディングボックスなど)を提供するオプションの属性
StructElemは、マークされたコンテンツ演算子(BMC/EMC)とは異なり、PDF構造内に永続的なオブジェクトとして存在します。一方、マークされたコンテンツはコンテンツストリーム内に埋め込まれています。StructElemは、これらのマークされたコンテンツシーケンスと文書全体のセマンティック構造との橋渡しの役割を果たします。
PDFアクセシビリティに取り組む開発者にとって、StructElemは準拠したPDF/UA文書を作成するために不可欠です ( Citation: N.A., 2014 (N.A.). (2014). Document management applications — Electronic document file format enhancement for accessibility — Part 1: Use of ISO 32000-1 (PDF/UA-1) . International Organization for Standardization Retrieved from https://www.iso.org/standard/64599.html ) 。適切に構築された構造要素がないと:
- スクリーンリーダーが文書コンテンツを正しく解釈できない
- 見出しナビゲーションや目次生成などのナビゲーション機能が機能しない
- 自動コンテンツ抽出が誤った読み上げ順序を生成する
- 文書がアクセシビリティ準拠要件を満たさない
PDFをプログラムで生成または操作する場合、開発者は意味のあるすべてのコンテンツが適切なStructElemに関連付けられていることを確認する必要があります。これには、テキスト、画像、表、フォーム、注釈が含まれます。構造要素の欠落や誤りは、PDFアクセシビリティの最も一般的な失敗原因の一つです。
StructElemは、文書カタログで参照されるStructTreeRootディクショナリから始まるツリー構造で組織化されています ( Citation: N.A., 2020 (N.A.). (2020). Document management — Portable document format — Part 2: PDF 2.0 . International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) 。ツリー階層は、文書コンテンツの論理的な読み上げ順序とセマンティックな関係を反映します。
典型的なStructElemディクショナリには以下が含まれます:
/Type /StructElem
/S /P % 構造タイプ(段落)
/P 23 0 R % 親構造要素
/K [ % 子要素
0 % マークされたコンテンツ識別子
/Span 45 0 R % 子StructElem
]
/Pg 12 0 R % このコンテンツを含むページ
/A << /O /Layout /TextAlign /Center >> % 属性
/K(kids)エントリは、以下を通じてStructElemを実際のコンテンツに接続します:
- マークされたコンテンツ識別子 – ページコンテンツストリーム内のマークされたコンテンツシーケンス(MCID)を参照する整数
- オブジェクト参照 – 注釈、XObject、または他のPDFオブジェクトへのリンク
- 子StructElem – ネストされた構造要素への参照
ページストリーム内のコンテンツは、マークされたコンテンツ演算子を使用してタグ付けされます:
/P << /MCID 0 >> BDC % 段落用のマークされたコンテンツの開始
(Text content) Tj
EMC % マークされたコンテンツの終了
MCID値は視覚的なコンテンツを対応するStructElemにリンクし、外観とセマンティクスの間の接続を確立します ( Citation: PDF Association, 2023 PDF Association(2023). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/ ) 。
- Structure Tree(構造ツリー) – 文書内のすべてのStructElemの階層的な組織で、論理的な読み上げ順序と関係を定義します
- Role Map(ロールマップ) – カスタム構造タイプを標準タイプにマッピングするディクショナリで、セマンティックな意味を維持しながら柔軟性を提供します
- Marked Content(マークされたコンテンツ) – 視覚的なコンテンツの一部をタグ付けし、MCIDを介してStructElemにリンクするコンテンツストリーム演算子(BMC/BDC/EMC)
- Structure Type(構造タイプ) – StructElemが表す要素の種類を定義するセマンティックな役割識別子(Sエントリ)(P、H1、Tableなど)
- Tag Tree(タグツリー) – 構造ツリーの別称で、PDF内のセマンティックマークアップのタグ付け側面を強調します
- (N.A.) (2020)
- (N.A.). (2020). Document management — Portable document format — Part 2: PDF 2.0 . International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html
- PDF Association (2023)
- PDF Association(2023). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/
- (N.A.) (2014)
- (N.A.). (2014). Document management applications — Electronic document file format enhancement for accessibility — Part 1: Use of ISO 32000-1 (PDF/UA-1) . International Organization for Standardization Retrieved from https://www.iso.org/standard/64599.html
