Copyright © DAISY Consortium 2023

Last Updated: April 14, 2022,

The question often arises, “If there is a simple mathematical expression occurring in what is basically text, is it OK to just use plain text (sometimes called ASCII) for the math?” Similarly, people ask, is it OK to produce a mathematical expression as an image, and include the Alt text as math in plain text? Currently, many publications take this approach, but our position is that we would like to see the day where MathML is the only acceptable encoding of mathematical content. We do recognize that it can be simpler for authors to enter math as plain text, and we understand that there can be a learning curve associated with encoding the math as MathML. However, we are looking forward to the day when only using MathML for formally published materials becomes the recommended best practice.

Let us start simple. Consider the expression 10 – 7 = 3. This is simple enough that many people would type these plain text characters instead of using a math editor that generates MathML. However:

The MathML provides the semantics that this is mathematics and not just text.

If a screen reader is being used by a blind person, it would say, “ten dash seven equals three.” The blind reader would need to figure out that the dash is really a minus sign. In this case it is easy to figure it out, but there are many times when it can be very confusing. Understanding if something is a negative number is one example.

Depending on the level of punctuation spoken by a screen reader, the dash may not be spoken at all. Hence you get, “ten seven equals three”.

Using a “read aloud” feature, you may get “ten to seven equals three”.

Many people use “read aloud” to have documents read to them. The Text-To-Speech (TTS) engine processes the text strings, and again will say dash instead of minus, causing confusion in the presentation.

People who use refreshable braille will have inaccurate information presented to them. Nemeth math and UEB math braille use different codes for mathematical information.

The plain text will have inappropriate typographical presentation, but when using MathML it will be typographically presented as mathematics.

“The man is 65 years old,” is an example of when numbers appear in text. Do not use MathML for these kinds of situations. In a mathematics textbook, you will certainly encounter word problems. Here too, the word problem should use plain text numbers and not MathML. Things like phone numbers, zip codes, numbers in an address, etc. should all be represented as plain text.

When you have a mathematical expression, and it is followed by a paragraph that is referring to that expression, the item you are referencing in the mathematical expression that uses MathML should also use MathML. A Greek letter, symbol, or any part from the expression should be set as MathML, and the symbol in the paragraph should also be in MathML. The typographical characteristics will match e.g., font and appearance of the symbol will be identical, and Assistive Technology would present the symbol in the same way in both places.

Tools exist today that can do marvelous things! For example, MathCAT: Math Capable Assistive Technology https://nsoiffer.github.io/MathCAT/

When reading math, you need to intellectually process the information differently than plain text. Most people slow down as they process the math. If the content is in MathML versus an image or as ASCII (plain text), a few things that can be done are:

1. Change the speaking rate of a screen reader or read aloud feature. This rate should be configurable by the end user. This is an important personal preference.

2. Change the speaking rules. Depending on the context, the way math is read should be another personal preference. For example, “A squared” may be preferred over “A to the power of two”.

3. Pauses between elements of expressions help make the math more understandable, and again is a personal preference. The duration of the pause should be selectable.

4. If a person using refreshable braille encounters MathML, it is converted to correct mathematical notation for braille instead of text. The braille reader should also be able to choose from Nemeth code or Unified English Braille (UEB).

MathML is widely used on the Web, and MathJax has been used in browsers to provide the visual rendering where it was not supported natively. However, this is changing for the better!

Before the introduction of MathML support in Chromium, used by the Chrome and Edge browsers, the practice of providing an image of math with the Alt text being the ASCII presentation of the math was common. Now that MathML is natively supported in Safari, FireFox, Chrome, and Edge, the use of MathML is always preferred.

EPUB Reading Systems will commonly use the rendering engine of a web browser. Testing will take place in early 2023 to determine the support of MathML. This will be reported on epubtest.org.