By Kevin Cheung, Associate Professor, School of Mathematics and Statistics
In my previous blog post, I mentioned the need for explorability when it comes to making long or complex math expressions accessible to readers with minimal or zero vision.
Before getting into the specifics of exploring math expressions, let us take a step back and see how rich web content is generally handled.
WAI-ARIA authoring guidelines combined with current HTML5 standards aim to help users with visual impairments explore web content using a screen reader. In a nutshell, ARIA attributes add extra information to the HTML elements that can be used by screen readers. For example, in a web app that uses a button with the letter “X” on it to represent the close action, a text label can be added with the word “Close” so that a screen reader can read it as “Close button” rather than just “X button.” There are also ARIA attributes that help with navigation and defining regions in an image.
The main question for me has been, “How does ARIA help with math?” This turned out to be a difficult question to answer because ARIA has little to say on the handling of math expressions. Nevertheless, there exists one key component for math on the web: the MathML standard.
Believe it or not, MathML celebrated its 20th anniversary last month. My impression is that MathML is supposed to solve the problem of math accessibility on the web (and in eBooks as well, since MathML is part of the EPUB 3.0 standard). It was designed to be supported natively by web browsers, so users would no longer need to use plugins to view math online. Unfortunately, 20 years since its birth, browser support for MathML is still incomplete and support by EPUB 3.0-compatible eBook readers is inconsistent.
Whether or not MathML was a failed attempt at solving math accessibility problems is subject to debate. But the deficient state of browser and eReader support did not dampen the efforts of dedicated individuals, groups, foundations, organizations, corporations, etc. to develop solutions to fill the gap.
The solution that I am most familiar with is MathJax and its accessibility extension. It is an incredible feat of engineering using Javascript to bring beautiful and accessible math to the web. The accessibility extension, once activated, can generate speech text for math (sub)expressions that can be picked up by a screen reader. It also has an explorer that allows users to navigate through complex math expressions and makes it possible for math expressions to be copied into an editor or a computer algebra system. MathJax has been adopted by many journals in STEM and many websites because it works across different platforms and does not require web users to install any additional software other than a web browser.
In the next and final blog post of the series, I will discuss how well MathJax works in practice in the context of accessibility for blind users.