MathJax and Math Accessibility

I’ve been getting pretty deep in the weeds on Math Accessibility lately, and some of the other open source and paid tools are getting ready to update their MathJax from 2.7 → 3.2.

I’m getting really excited looking at MathJax 3.2. For the longest time, Math Accessibility has been a true pain, because there were multiple conversions, and each conversation was a potential point of failure for different screenreaders, browsers, OSs, etc.

Using MathJax 2.7, math is entered into the system in LaTeX, ASCII Math, or MathML, → Mathjax converts it to some visual display (SVG, PNG, Common HTML, MathML) plus the user can select from the dropdown menu to also add Assistive MathML → An end user using a screenreader would have to figure out what settings work best for their specific reader, and their reader might even need a helper application that can interpret MathML like MathPlayer with NVDA or Read+Write with Equatio. With MathJax 2.7 there are so many little decisions and potential for error/mistakes etc.

MathJax 3 was a complete rewrite of MathJax released in 2019.

MathJax 3.2, Math is entered into the system in LaTeX, ASCII Math, or MathML (just like before) → but now MathJax has incorporated the Speech Rule Engine directly into core. So they have simplified the number of outputs (now it’s just SVG and HTML), and instead of only being able to turn on Assistive MathML, you can also just set your speech preferences directly in the assistive menu. With MathJax you can select from three speech rule sets, MathSpeak, ClearSpeak, or ChromeVox Rules. Each of those can be further configured via the menu, for example math speak has multiple verbosity settings. In theory, this should make it so that ANY screenreader can read the math, because the screenreader itself doesn’t need to interpret the MathML. That could mean no more restrictions to certain browsers, no additional plugins to make your screenreader function properly with math. It has huge potential.

I feel like it’s a huge and exciting leap forward.

I know that MathJax 3 was a complete rewrite of the system, and for the release notes of Mathjax 3.0 and 3.1 they specifically mentioned that there wasn’t full feature parity yet. I was wondering if Pressbooks had reviewed those at all yet. I am interested to know what kind of issues might be “Blocker” issues.

The first system that I noticed migrate to MathJax 3.2 was iMathAS which is also known as MyOpenMath, XYZ Learning, or Lumen Learning OHM. D2L Brightspace has announced that they will begin rolling out MathJax 3.2 sometime this month. I wondered if a completely math focused LMS and one of the big 4 LMSs were ready to move to MathJax 3, if this might be the point that other softwares should also begin their reviews.

It might be a big lift, but I am imagining a future where our digital PDFs have a dropdown menu, and we can tell it to please use the ClearSpeak rules when we export, and all of our PDFs have beautifully generated, programmatic alt text, and visitors to the online version have an easier time.