PDF exports seem to be untagged (no /StructTreeRoot, headings, or logical structure)
I tagged @YousefED here, as recommended by @virgile-dev.
Describe the bug
When exporting a document to PDF through BlockNote’s default PDF pipeline (BlockNote → React-PDF → @react-pdf/pdfkit), the generated PDF seems to contain no Tagged PDF structure.
Based on my tests :
- “Tagged PDF” appears as No
- There is no
/StructTreeRoot - No
/H1,/P,/Table,/Figurestructure elements - No
/MCIDentries - No
/RoleMap - No logical reading order
This results in a PDF that screen readers cannot interpret and that cannot comply with WCAG / PDF/UA / RGAA accessibility requirements.
React-PDF’s own issue (#3179) also mentions that accessibility is currently not supported, even though @react-pdf/pdfkit internally contains PDFKit’s accessibility APIs.
For more detailed research, please refer to my document:
FR :
EN :
To Reproduce
- Create a BlockNote document containing headings, paragraphs, lists, and images.
- Use the built-in PDF export.
- Open the resulting PDF using
- Observe that:
- Tagged PDF = No
- The structure tree is empty
- Screen readers do not announce headings or regions
- No alternative text is present on images
Expected behavior
When semantic elements (headings, paragraphs, lists, tables, images, etc.) are used in BlockNote, the exported PDF should ideally embed the corresponding structure:
-
/StructTreeRoot -
/H1,/H2,/H3 -
/P,/Span -
/Table,/TR,/TH,/TD -
/Figurewith/Alttext -
/MCIDentries for reading order - A valid
RoleMapmapping custom types to standard PDF roles
These elements are required for proper accessibility and PDF/UA compliance.