Accessibility Checklist for Quantitative Disciplines

Accessibility Checklist for Quantitative Disciplines

This guide is for academic and professional staff in quantitative subjects who create and share maths documents with students. This guide provides a checklist to help make their lecture notes, problem sets, or other maths documents as accessible to students as possible.

When creating course materials, it’s important that everyone can access them, regardless of ability. The following guidance outlines common areas where accessibility might be a challenge, as well as examples of proper and improper implementations in LaTeX and Quarto (extending R Markdown) formats. This is by no means an exhaustive list, but rather a starting point for creating more accessible documents in quantitative subject areas.

This checklist is partial to HTML output, as PDFs are generally not accessible.

Headings

  • Keep a consistent hierarchy with your headings as this determines screen reader reading order. Don’t skip heading levels when descending, such as using a heading level two and then a heading level four. Like with stairs, go down one step at a time.

  • Use built in headings, as they contain semantic meaning, so they are programmatically recognisable, which allows screen readers to identify them.

    • You can change the formatting of your heading once you’ve set it.

Examples

In LaTeX, sectioning commands depend on what type of document class you use. For most documents, \section is the highest level, but for longer documents like reports and books, \part and \chapter are the highest, respectively. Check out Sections and chapters: Document sectioning for more information.

In the below example, the document class is a report.

Correct:

\chapter{Headings (Correct)} This section uses the section command, which provides semantic meaning for screenreaders. \section{Subsection (Correct)} This subsection uses the subsection command, which provides semantic meaning for screenreaders.

The above example uses semantic headings, meaning screen readers can identify it more easily.

Incorrect:

\textbf{\large Headings (Incorrect)}

While this may visually look like a heading, it does not hold a semantic meaning, so screen readers will be unable to identify it as a heading.

Correct:

# Headings (Correct) This section uses the first level heading. ## 2nd level heading This section uses the second level heading.

The above example uses semantic headings, meaning screen readers can identify it more easily.

Incorrect:

**Incorrect heading** This 'heading' uses the bold feature, so it relies on visual indicators rather than semantic meaning. This is not accessible.

While this may visually look like a heading, it does not hold a semantic meaning, so screen readers will be unable to identify it as a heading.

Table of Contents

  • A table of contents allows for easier navigation of a document, especially for screen readers.

  • Consider a table of contents that uses links to the different sections of the document.

Examples

\tableofcontents

HTML Output:

--- title: "Accessibility Checklist R Markdown Examples" author: Eden Centre format: html toc: true ---

toc: true enables the table of contents.

Note, the default depth for a table of contents is headings up to three levels (#, ##, and ###). This can be changed by adding the toc_depth attribute. For example, if you want all headings up to heading level 4 to show in the table of contents, add toc_depth: 4 under toc: true.

Fonts

  • Use a sans-serif font, such as Calibri, Computer Modern, etc. for readability.

  • Ensure sufficient colour contrast between your text and background. Check your colour contrast with a checker, such as the WebAIM Contrast Checker or Contrast Checker.

  • Do not use colour as the sole means of conveying information (at least pair it with another method, such as adding an icon, pattern difference, or in the case of a graph, a direct label).

  • Use semantic formatting options, with preference to bold rather than italics, as italics can be more difficult to read for some.

Examples

In the preamble to your document, include the following to set the default font family to sans serif:

\renewcommand{\familydefault}{\sfdefault}

In the body of your document, you can then add your content as desired.

\textbf{This is my bold text.} This is my regular text.

You can include a stylesheet in the YAML preamble as shown below, but be aware of changes to document accessibility.

--- title: "Accessibility Checklist R Markdown Examples" author: Eden Centre format: html toc: true css: nameOfStyleSheet.css ---

Links

  • Add link references within documents for easier navigation.

  • Use meaningful text instead of ‘click here’ (screen readers can skip to just links, so context is not always available).

Examples

Cross references

Note, the hyperref package should be the last imported package in your document’s preamble.

\usepackage{hyperref}
See Equation~\ref{eq:mean}. \begin{equation} \bar{X} = \frac{\sum_{i=1}^n X_i}{n} \label{eq:mean} \end{equation}

Meaningful link text

For further information about LaTeX, see \href{http://www.overleaf.com/learn}{Learn LaTeX on Overleaf}.

Cross references

See (@eq-mean). $$ \bar{X} = \frac{\sum_{i=1}^n X_i}{n} $$ {#eq-mean}

Meaningful link text

For further information about Quarto, see the [Quarto Guide](https://quarto.org/docs/guide/).

Images, Figures, and Diagrams

  • Include captions with your figures, which should provide source information and a short description of the figure.

  • Include alt text on all meaningful images, figures, and diagrams, as screen readers read out this text to its users. Please note that LaTeX now supports alt text.

    • Alt text should ideally be a maximum of 125 characters to reduce cognitive load.

    • Alt text can also point users to longer descriptions in the text.

  • Consider adding descriptions and/or data tables for complex figures, graphs, or images.

    • Having a text description can be beneficial for all students, as they can highlight key information and help students having difficulty in interpreting the figure.

  • Avoid images of equations or text as these are inaccessible.

Captions

Consider the following template adapted from Alistair McNaught et. al. :

“[Image type] illustrating [data type] showing [reason for including image]. This is a complex image and may require specific support for visually impaired students – please contact [Name of designated person] if required”.​ Source: [Source of image/figure]

Alt Text

For example, alt text for the complex image of the Global Carbon Cycle might read:

A landscape model labelled with carbon stores, fluxes and values. See full text description for explanation.

Some examples of alt text can be found at UCL Press and Gov.uk.

Descriptions

See the worked example of the Global Carbon Cycle for an example of a complex image and accompanying description.

Examples

\begin{figure}[ht!] \includegraphics[width=0.5\textwidth, alt={This is where the image alt text goes}]{example-image.png} \caption{This is the caption for the figure above.} \label{fig:example} \end{figure}

Images

![Example Image caption.](example-image.png){fig-alt="Example image alt text"}

Note, due to limitations of the above format, users cannot have a simultaneous caption, alt text, and cross-reference. Use the below format when at all possible.

Other Figures

```{r pressure-plot} #| label: fig-pressure-plot #| fig-cap: "Pressure vs Temperature" #| fig-alt: "Pressure vs Temperature plot" plot(pressure) ```

label adds the label for use in cross-referencing.

fig-cap adds the figure’s caption.

fig-alt adds the figure’s alt text.

Tables

  • Use tables for displaying data, not for formatting or layout purposes.

  • Use semantic elements if they exist, such as table headers.

  • Avoid merged cells, empty cells, and nested tables as these are confusing to screen readers.

Examples

Note, this example specifically uses LaTeXML.

\begin{table}[ht] \centering \caption{<your caption here>} \label{tab:tables} \begin{tabularx}{\textwidth}{c|c|c} \lxBeginTableHead{} Header 1 & Header 2 & Header 3 \\ \hline \lxEndTableHead{} Content & Content & Content \\ More content & content & content \\ \hline \end{tabularx} \end{table}

Adapted from Authoring Books with R Markdown, see the below table example.

```{r table-single, tidy=FALSE} #| label: tbl-mtcars #| tbl-cap: A table of the first 10 rows of the mtcars data. mtcars2 <- head(mtcars) knitr::kable( head(mtcars2[, 1:8], 10), booktabs = TRUE, col.names = c('car', 'mpg', 'cyl', 'disp', 'hp', 'drat', 'wt', 'qsec', 'vs') ) ```

Avoid Manual Formatting

  • Don’t use tabs or spaces to format your document.

  • Use built-in semantic formatting (this includes maths formatting, such as $\vec$ instead of just bolding vectors in LaTeX.

File Formats

  • PDFs are not accessible. You can include PDFs (and many students prefer them), but you must add alternative file types like HTML or Word documents.

  • Include source files wherever possible.

  • Use various tools to convert your documents. The Eden Digital Education team has tested and can recommend the following:

See Converting Maths Documents to Accessible HTML guidance for instructions on the above tools.

Checklist

I’ve checked my headings for accessibility.
I’ve created a table of contents for accessibility.
I’ve checked my fonts for accessibility.
I’ve checked my links for accessibility.
I’ve checked my images, figures, and diagrams for accessibility.
I’ve checked my tables for accessibility.
I’ve removed manual formatting from my document for accessibility.
I’ve included various file formats for accessibility.

Further Reading and Resources