What is digital accessibility?

Digital accessibility is about making the digital world accessible to everyone – this includes websites, digital documents, mobile apps and any online tool.

The LTA has produced some general advice on accessibility; their document can be found here.

An overview of digital accessibility in mathematics based subjects is given here by Emma Cliffe (University of Bath).

The problem with LaTeX

Creating accessible resources for a highly symbolic subject, such as mathematics, is difficult since equations pose a problem for many assistive technologies unless they are rendered using MathJax in formats such as Word, EPub3 or html.

Traditionally LaTeX is used to typeset notes and produce a pdf document which is not digitally accessible.

The pdf documents produced from LaTeX cannot be read by text-to-speech screen-readers used by some visually impared students and they can be difficult to zoom, create contrast and do not allow the final user to choose font style/size.

What are the alternatives?

This is a non-exhaustive list of alternative methods of producing accessible mathematics. No one method will suit everyone, as the choice of typesetting will be a matter of personal preference (and each has pros/cons). Since many notes/resources will already be in LaTeX we also list methods to convert from LaTeX to html (with MathJax).

Finally, we present a quick ‘how-to’ guide showing one method to convert your current LaTeX documents to an accessible html format.

Methods

Typesetting

Each method has advantages and disadvantages.

  • Word – using the appropriate headings, sub-headings etc to structure the text, using equation editor to insert any mathematics and giving alt-text descriptions to figures will ensure an accessible document. There is an inbuilt accessibility checker and LaTeX-like commands can now be used in the equation editor.
  • LaTeX – It is possible to use LaTeX to produce accessible documents with some changes e.g. with \usepackage{axessibility}, compiled as html and with the addition of MathJax to the resulting html file. (There are other packages available too.)
  • RMarkdown/bookdown – Integrated with the RStudio IDE, uses LaTeX commands for equations etc, has choice of outputs so, for example, once can still produce a pdf while producing accessible html. RMarkdown documentation and Bookdown documentation.
  • TeXmacs – This is a wysiwyg editor which can produce mathematics in html format with MathJax enabled. Documentation here.
  • Canvas – Typing mathematics into a Canvas page directly using the in-built equation editor will result in mathematics with MathJax enabled.

Conversion from LaTeX

All conversion method will have issues, in part due to the highly customisable nature of LaTeX. Some of these issues include cross-referencing, footnotes, some personalised commands and most methods do not work at all on Beamer presentations.

  • Pandoc – A versatile document convertor can convert LaTeX into html with MathJax. There are many alternative conversions available, well documented and easy to use from the command line. Find it here.
  • Chirun – previously named ‘Coursebuilder’, created by the e-learning team at Newcastle university. Runs as a Python package (see the Github documentation) or can be used in the Public content builder available here.
  • TeXmacs – can also be used to convert as it will read-in LaTeX sources.

One method to convert LaTeX to accessible html

This is a very short guide which outlines the steps used to take a LaTeX document and produce accessible html (with MathsJax).

Since I do not wish to convert LaTeX (and fix the issues) every time I make changes to notes, I have decided to use Bookdown going forward as I found it fairly easy to learn and the option to output the final document in different formats is convenient.

I followed the guidance given on this site ‘Making Lecture Notes with Bookdown’. More details on bookdown can be found on the main documentation website where there is also a simple demo to follow.

A summary of the main steps I used is given below:

  • Using Pandoc, convert the LaTeX file(s), input.tex, to Markdown, output.Rmd using the command line. (pandoc -f latex -t markdown input.tex -o output.Rmd )
  • Open the Rmd file(s) using bookdown in Rstudio and tidy up. During the conversion some aspects of the LaTeX will not always convert correctly or may just look a little different to how you wish.
  • Using the demo template (or otherwise), order your document and save as an RProject.
  • Export the document to the desired format, by ‘Build book’.

An example of my final accessible format can be seen here: Complex Numbers.