Accessibility for people with disabilities is not merely a trend but a legal mandate in numerous countries. In the United States, the Americans with Disabilities Act (ADA) is in force, and in the European Union, the Accessibility Directive (supported by the EN 301 549 standard) applies. Both documents obligate public institutions and private companies to provide information in formats perceivable by assistive technologies.
A standard PDF without accessibility considerations is simply a collection of visual elements on a page. Screen readers (programs that vocalize screen content and are used by people with visual impairments) cannot discern headings, tables, or decorative frames. To address this, the International Organization for Standardization (ISO) developed the PDF/UA (PDF for Universal Accessibility) standard, formally designated as ISO 14289-1. This is the first fully accessible standard published by ISO, and the distributed document itself complies with PDF/UA.
Support for PDF/UA-1 has been implemented in the FastReport .NET report generator starting with version 2027.1, enabling developers to create accessible documents without relying on third-party tools.
Â
Â
Â
Â
Visually, a PDF/UA document is indistinguishable from a standard PDF: it features the same pages, fonts, colors, and images. The difference lies within the file—it contains a "structural backbone": a tag structure that informs the screen reader where a heading or a table is, what content resides in specific cells, where an image is and what it depicts, where a link begins and ends, and in what order the document should be read. Decorative elements—such as lines, frames, and page backgrounds—are marked separately, ensuring the screen reader ignores them rather than vocalizing them.
Â
Â
To export a report to PDF, use the "Save" button on the designer toolbar and select "Adobe Acrobat..." from the drop-down menu.
Three parameters must be configured in the export dialog:
This completes the export configuration; the generated file now fully complies with the PDF/UA-1 standard.
Â
Â
Exporting to PDF/UA automatically generates the document structure from the report content:
| Report Element | Document Output |
| Text object | Paragraph |
| Table | Full table structure: rows, headers, and data (the first row and first column are treated as headers) |
| Image | Figure with alternative text (if the text is not specified, the object name is used, which is not recommended) |
| Hyperlink | Link (the screen reader vocalizes the link text instead of the URL) |
| Digital signature field | Form element |
| Lines and shapes without a role, empty text objects, page backgrounds, watermarks, and cell borders | Decorative element (Artifact)—the screen reader skips it |
This approach covers most reports without requiring any additional layout adjustments—simply selecting PDF/UA in the export dialog is sufficient.
Â
Â
The automatic structure represents a reasonable minimum, but report developers can refine it. A new PDF/UA category with two properties has been added to the report object properties:
| Value | Purpose |
| H1…H6 | Document headings. The screen reader builds a table of contents from them, allowing the reader to navigate through the document |
| P | Regular paragraph (the default for text) |
| Figure | A meaningful image or chart |
| Table, TR, TD, TH | Table structure |
| Form | Form field |
| Link | Hyperlink |
SemanticRole = "H1" for the text object.AltText = "Company logo".SemanticRole = "Figure" and provide a descriptive AltText; without an assigned role, the shape is treated as a decoration and is not vocalized.Important: If a role is explicitly defined, its suitability for that specific object type is not validated. The responsibility for correct role assignment lies entirely with the report developer.
Â
Â
The same result can be achieved programmatically. In the example below, the PDF/UA standard, document title, and document language are defined, along with roles and alternative text for two objects:
// Load the report Report report = new Report(); report.Load(@"C:\Reports\Invoice.frx"); // Assign roles and alternative text ((TextObject)report.FindObject("ReportTitle")).SemanticRole = "H1"; ((PictureObject)report.FindObject("Logo")).AltText = "Company logo"; // Export to PDF/UA PDFExport pdfExport = new PDFExport(); pdfExport.PdfCompliance = PDFExport.PdfStandard.Pdf_UA; pdfExport.Title = "Title"; pdfExport.DocumentLanguage = "de-DE"; report.Prepare(); report.Export(pdfExport, "Invoice.pdf");
Â
Â
Any PDF/UA document can be verified using free validation tools:
Â
The built-in support for PDF/UA-1 in FastReport .NET enables the generation of fully accessible documents without relying on third-party tools. Document structure tagging is handled automatically, meaning that by default, report developers only need to provide alternative text for meaningful images and select the PDF/UA standard in the export settings. If necessary, these tags can be further refined directly through object properties.