testingaccessibilitylibreofficetagged-pdf

How can I test LibreOffice Writer's accessible PDF output?


LibreOffice Writer can export to Tagged PDF. How should I test the accessibility of the resulting document? Maybe something like inspecting the tags that have been added to check they reflect the intended document structure, or perhaps simulating the experience of a user consuming the document through accessibility software?

I'm aware that Adobe Acrobat Pro has relevant features, but I'm looking for a solution using Free/Libre/Opensource software.


Solution

  • The main tools that I use for checking the accessibility of PDF documents are Adobe Acrobat DC Pro and PAC. PAC 2021, the successor of PAC 3, was released by the PDF/UA Foundation just a few days ago. Unfortunately, this software is closed source and requires Windows (version 8.1 or higher) and .NET 4.8 or higher.

    Accessibility evaluation with PAC 2021 checks compliance to PDF/UA (ISO 14289) and therefore goes beyond the evaluation in Adobe Acrobat DC Pro. However, no automated tool can verify all accessibility issues. For example, tools can check whether an image as a text alternative but it cannot reliably check whether the text alternative is appropriate.

    Even though I am mainly a Linux user, I have to admit that I know of no open-source tools that even come close to what Adobe Acrobat and PAC 2021 provide. (Se I need to use a Windows machine for much of my accessibility-related work.) It might be possible to build an accessibility evaluation tool on top of Apache PDFBox, as suggested in this related question but I am not aware of someone doing that and making such a tool available.

    Just over a decade ago, Anand B Pillai presented PDF Accessibility with Python at PyCon India in Bangalore in September 2010. This was presented as an open-source project and the code is used in the Tingtun Checker. However, development was not finished and has not continued for many years; when I asked the site owner where the code is available, I did not get a straight answer to my question.