Go to Menu
Celebrating 25 Years of Voice! 🎉

Making MathML Accessible With ReadSpeaker TTS

STEM topics are notoriously hard to teach using most text-to-speech programs. Here’s how ReadSpeaker can help students of all abilities learn math.

May 2, 2024 by Amy Foxwell
Woman writing on the blackboard - making MathML accessible

MathML is everywhere in the STEM world. If you look at a website that contains math equations, there’s a decent chance that those equations are displayed using MathML. It’s a markup language (similar to HTML or XML, which you may be familiar with) that makes putting math expressions on webpages as easy as typing a sentence into Microsoft Word.

MathML was created because website developers needed a better way to display complex math questions, with all their accompanying formats and notations, in a way that would visually make sense to readers. And, for many readers, MathML does the trick.

The trouble with MathML, however, is that it’s not typically readable by text-to-speech (TTS) programs. A TTS program might read the rest of the page written in plain language with ease, but skip over the equation displayed with MathML. In other cases, a TTS program might partially read the equation, read it incorrectly, or say it in a way that is technically correct but very confusing to the listener.

This is understandably a large problem for people with diverse learning needs. Neurodivergent learners or those with visual impairment or other disabilities, for example, often struggle to see and understand math equations written on websites when their assistive technology is unable to read the formatting and notations aloud properly.

If you’re an educator who teaches students with visual disabilities or diverse learning needs, the following is what you need to know about using text-to-speech with math content and tutorials designed using MathML.

Turning MathML To Voice For STEM Accessibility

Why is MathML used on STEM websites and apps?

When web pages and apps display text, they do so according to a certain set of rules. Text is typically written line by line, using a very specific set of characters and within a handful of limited formats.

Displaying mathematical expressions and other STEM content within these parameters can be difficult. For example, try to imagine typing the following equations line by line in a way that would be understandable to readers:

Turning MathML to voice for STEM - math equation #1
Turning MathML to voice for STEM - math equation #2


Turning MathML to voice for STEM - math equation #3


It would be time-consuming and tedious, at the very least. And even if you managed to get each line, symbol, and superscript character where it should be, most TTS readers would have trouble recognizing the output as a math equation and reading it as such.

Instead, it would read out your various numbers and recognizable characters, with zero regard to placement or formatting.

Before markup languages adapted to this problem, many people simply used images (such as the embedded images above) to display their equations. This was fine for people who learn well by dissecting equations visually, but it left visually impaired, neurodivergent, and other diverse learners out in the cold.

There weren’t many options for people who needed their math equations read out loud. Even if a screen reader read the text out loud, it would simply skip over the images entirely or read the image names and alt text encoded into the page.

MathML solved this problem by closing the “language gap” between human mathematicians and computers. Just as HTML and XML are markup languages that tell web browsers how to display text and images in human-readable formats, MathML allows the web browser to see how and where each character should be displayed within the context of a math problem.

What’s the problem with MathML and text-to-speech for math accessibility?

While MathML technically solves the text-to-speech issue by providing the computer with a way of “understanding” the language (as opposed to skipping over an image), in practice, it doesn’t always go smoothly.

MathML support is limited in most TTS solutions if it’s covered at all. Even if a screen reader does read MathML out loud, there are often variations that can confuse students.

For example, one program might read 3x (7y + 8z) as “three x open parenthesis seven y plus eight z close parenthesis,” while another might abbreviate to “paren” and use other shorthand expressions. One program could say x3 as “x superscript three,” while another says “x cubed,” and a third says “x to the third power.” Yet another program might disregard the formatting of the three entirely and simply say “x three.”

Extrapolate these differences to larger problems with very complex symbols, and you can see how students often run into equations that are unintelligible from TTS solutions that aren’t geared toward STEM accessibility.

With a STEM TTS program like ReadSpeaker, however, students can hear math spoken aloud in a way that makes sense.

The quadratic formula, for instance, might be read aloud as:

“X equals a fraction with the numerator negative b plus or minus the square root of b squared minus 4 ac and the denominator 2a”

This is a far cry from most TTS platform results, which might sound more like:

“x equals minus sign b plus minus symbol square root symbol b superscript 2 minus symbol 4ac horizontal line 2a”

The first paints a picture of a math equation in your mind to which you can follow along; the second is a jumble of numbers and symbols that, while technically correct, is much harder to understand.

What can teachers of diverse learners do when teaching STEM topics to their students?

Whenever possible, use browsers that support MathML, because it bridges the computer-human gap and provides a means to convert math equations to audible speech. Without this first step, you’ll have a very tough time finding a TTS platform that can accommodate math problems.

Secondly, choose a text-to-speech program that is geared toward STEM topics and provides an easily understandable, standard way of porting MathML to speech even within complex educational materials.

How does ReadSpkeaer read MathML in a way that other TTS programs can’t?

We at ReadSpeaker have tailored our TTS platform specifically toward diverse learners who require audio assistance with their studies. This includes full MathML support. All you, as an instructor, would have to do is open the math editor within your usual HTML editor or switch to using LaTeX, whichever is easiest. From there, we will convert LaTeX and MathML content to MathJax so you can easily read it with our TTS program.

It can be helpful to compare a good STEM TTS solution to how a high-quality TTS program would read plain language.

For instance, it’s often helpful if a TTS screen reader reads headers aloud and points out that these are in fact headlines. Knowing the size, formatting, and importance of headers can help students understand the importance of these topics, and can change the way they perceive the overall message of the material on the page.

We designed ReadSpeaker to provide all the context STEM learners need to succeed. Our program can not only read all the numbers and symbols represented on the page but also describe the structure and the layout of equations so students can form a full mental picture.

Want to learn more about teaching math and creating accessible STEM content for students with diverse needs?

Join us as we dive deep into the details of making STEM topics accessible with our pre-recorded webinar: Delivering a Compelling & Accessible STEM Experience – Resources from Learnosity and ReadSpeaker TTS.

Additionally, feel free to contact us anytime and ask about how we can help you give your students the STEM learning experience they deserve.

Request more information here.

Related articles
Start using Text to Speech today

Make your products more engaging with our voice solutions.

Contact us