Accessibility, Latex and Me
With the integration of ‘Blackboard Ally Course Accessibility Report’ into Canvas, we can now quickly check the extent to which the content of our Canvas modules is accessible. Most content generated within Canvas or using Microsoft products is likely to get a ‘good’ accessibility score with helpful suggestions for how to address outstanding issues (e.g. providing alternative text for images). However, many of us are faced with high-value but low-scoring content curated over many years using bespoke software.
This is particularly true for those who use the LaTeX typesetting system which does not automatically generate the tagged PDF output necessary for accessibility readers. This can be quickly checked by looking at the properties (under the file menu) of PDFs opened in Adobe Acrobat Reader.
While the LaTeX community is aware of the problem, no simple solution appears to be sight. Meanwhile, academic institutions are proposing various workaround, for example:
Popular solutions include generating HTML rather than PDF output or switching to alternative systems such as RMarkdown. Here I share the results of my own experiments as I stubbornly cling to my existing LaTeX content.
This package aims to make formula accessible to screen readers but does not address the tagged PDF issue resulting in a very poor Ally score.
This package does create tagged PDFs for relatively simple LaTeX documents resulting in a good Ally score. In my experiments the ‘read out loud’ function did not work in Adobe Acrobat Reader. I also found that more complex LaTeX documents (those importing many packages) did not compile once the accessibility package was added.
Pandoc (free to download) is a self-styled Swiss-army knife of format conversions. One option here is to covert LaTeX into the EPUB format supported by most e-book readers. Again, this works reasonably well (at least for simple content) and will allow readers to custom font, size, colours, etc. One downside is that it cannot be previewed within Canvas and must be downloaded.
Indeed, the results are not dissimilar to those offered if you select the EPUB ‘alternative format’ option when previewing PDFs in canvas
The Sumatra PDF reader (which also comes included with RStudio) is sufficient to view such documents but a book reader will provide better formatting options. They are not supported by Adobe Acrobat and Ally does not currently appear to score this content. I also ran into issues with internal referencing and book-like features (e.g. table of contents, index, bibliography).
ConTeXt (a cousin of LaTeX) supports tagged PDF documents. Pandoc provides a means to convert existing LaTeX documents into ConTeXt before compilation. An installation (separate to MiKTeX) is required. Here I ran into problems with array formula and hyperref commands, and also found the need to apply some ‘search and replace’ commands (performed with sed using Cygwin) to fix section levels.
Tables are also problematic because the default conversion creates a table without the explicit header row that accessibility checkers look for. It is possible to recreate the table in a format that does include a header row but (so far) I haven’t found an easy way to automate this step.
The ConTeXt syntax is different to LaTeX so making edits requires a fair bit of googling. Overall though, I felt that this gave the best results aesthetically for my various use cases (text book, some mathematics, lots of python code).
For now, it seems you need to pick your own least-worst solution and accept some tradeoffs. In my case, I’ve ported some content out of LaTeX but kept some low-scoring content which I still consider high value in its current form. In such cases I make students aware that it is available in other more accessible formats on request. I’d be delighted to hear of any alternative solutions.
Queen’s Management School
- Academic Stories (14)
- Accessibility (6)
- Assessment & Feedback (24)
- Guidance (50)
- STAFF (73)
- STUDENT (7)
- System Updates (58)
- Training Resources (24)
- Uncategorized (4)