Neil Soiffer
Design Science, Inc


Mathematics can be made accessible to people with print-disabilities simply by saving the document as a web document with MathML for the math.

The Past

Mathematics on the web has not been well supported for both people with print disabilities and those without print disabilities.  This is somewhat ironic given that the web was invented by Tim Berners-Lee to help him with his physics work.  The current practice for putting math on the web is to use GIF, PNG, or some other image format inside an <img> tag.  This requires storing math external to the main document.  It also results in poor display and printing.  In particular, there is no way to line up the baseline of the math with the baseline of the surrounding text as shown below:

image showing vertically misaligned math in tex

For people with print disabilities, using images for math is particularly troublesome.  The images do not magnify well, and are only useful to people using screen readers if the author has provided an "alt" tag.  Most software for generating mathematical images do not provide options for generating the "alt" information during image generation — they must be added later.  Furthermore, because there are many ways to aurally render math, what is added to an alt tag might be ambiguous or hard to understand.

Numerous studies on math accessibility (e.g., [KAR], [STE]) have shown that for people who are blind, providing only a textual description of the expression is inadequate.  Larger expressions require allowing the user to navigate the expression in order to piece together the expression in their mind and to refresh their memory of various parts of the expression.  Furthermore, many people are more comfortable using braille displays or printout (using some math linear representation such as Nemeth code or a two-dimensional representation such as DotsPlus [GAR] to understand larger expressions.

The Promise of MathML

In 1998, the world-wide web consortium (W3C) put forth MathML as its recommendation for putting math on the web.  The experience gained from a number of implementations led to version 2 in 2001.  At first, browser limitations prevented wide-spread deployment of MathML.  However, by mid-2003, support for MathML was available for all of the major browsers: Internet Explorer V6, Mozilla, and Netscape V7.

MathML's syntax is similar to that of HTML and XML. As a very simple example of MathML, the radical x 3 , is written as:

    <mi> x </mi>
    <mn> 3 </mn>

MathML's tags can be roughly divided into those that specify notation (such as "mroot" above) and those that specify semantics but allow a style sheet or renderer to decide upon the visual presentation.  These two groups of tags are usually referred to as "presentation" and "content" tags.  An example of a content tag is "<divide/>", which may be rendered using a two-dimensional fraction or using a "/".  A list of some of the many applications that support authoring MathML is near the end of this paper.

Unlike image-based mathematics, MathML accessibility is dependent upon the rendering software, not upon the authors adding accessibility features.  MathML resizes with the surrounding text, so the use of larger fonts in the main document increases the fonts used in the mathematics.  Furthermore, there is enough information in MathML so that it can be spoken or translated to braille displays or braille embossers.  For example, a MathML renderer can automatically determine that the radical above can be spoken as "cube root of x" at a low verbosity level and "cube root of x end root" at a high verbosity level.  If the radicand were more complex, than rate changes, pitch changes, or voice changes could be used to indicate the extent of the radical if verbosity is set to low.

The effort invested in making the MathML audio work well can be justified because it is used for every equation viewed.  Also, having a single audio rendering algorithm means that there is a consistent audio rendering across all MathML, rather then different styles of speaking expression on each page viewed.

Some people with print-related learning disabilities such as dyslexia would benefit from synchronized highlighting of text with audio [ELK].  This is not possible with image-based mathematics.  MathML encodes enough information so that synchronized audio output with highlighted text is possible.


The standard way of viewing MathML in Internet Explorer 5.5 or later is to use MathPlayer, a free download from www.dessci.com.  In the fall of 2003, MathPlayer 2.0 was released.  This version of MathPlayer makes use of Microsoft's standard accessibility interface (MSAA) so that it works with a number of screen readers to seamlessly integrate math on web pages into the screen readers.  Expressions can also be spoken using a right button menu that is active when the cursor is over an expression.  MathPlayer 2.0 added a "MathZoom" feature that magnifies the expression that is clicked on.

MathPlayer's vocal rendering supports both the presentation and content tags of MathML, along with over 2,400 mathematical Unicode characters.  MathPlayer tries to minimize the number of words used to speak the math while producing an unambiguous rendering of the math.  For square roots, this means that if the content of a square root is simple, there is no need to delineate where the square root ends if we always delineate the end when the content is not a single token.  For example consider x + 1 , which MathPlayer speaks as "square root of x plus 1" and x+1 , which MathPlayer speaks as "square root of x plus 1 end root".  A short pause after at the end of the square root also helps to reinforce the extent of the root.

MSAA allows MathPlayer to return only a simple string to the screen reader.  This prevents using pitch changes and multiple lengths for pauses while speaking an expression.  MathPlayer's right button menu item "Speak Expression" speaks the expression directly and makes use of these features, resulting in more understandable speech.

MathPlayer's accessibility features are only a demonstration of making mathematics accessible.  Plans for subsequent releases include adding support for a number of other important accessibility features.  These include output to braille displays and embossers in a number of different braille math encodings and synchronization of speech output and highlighting.  Currently, many screen readers have an "on screen model" that incorporates the text generated by mathml.  This allows for a primitive form of navigating expressions.  We plan to provide commands that allow for user navigation of the logical representation of expressions.  We also plan to support various verbosity levels and customizable speech strings so that MathPlayer can be localized to different languages.

Authoring Accessible Documents

Making documents containing math accessible simply requires saving the documents in a format that supports MathML.  MathML output is supported by many mathematical applications.  These include:

An up-to-date list of MathML software can be found at www.w3.org/Math/implementations.html.


In the past, math in Web pages was not accessible.  With advent of wide support for MathML in browsers, this should no longer be the case as demonstrated by the accessibility features of MathPlayer for Internet Explorer.  Most applications that support math also support saving in a Web format that uses MathML for the math content.  This means that their electronic document effortless becomes accessible.

As summarized in [KAP], numerous studies have shown that only a small percentage of blind students and their teachers are proficient at Nemeth code, the most common braille math notation used in the United States.  Accessible electronic mathematics content that can be spoken, navigated, and embossed in alternative notations such as DotsPlus may help to ease the burden of understanding and communicating mathematical information.  Consequently this may increase the number of blind students who are able to create, read and manipulate mathematical ideas.

MathML also offers great promise for those with low vision.  Mathematical expressions increase with the font size of the document text, and MathML renderers use the same drawing primitives as text, so that software screen magnifiers will enlarge it as clearly as regular text.  Synchronized speech and highlighting will aid those with print-related learning disabilities.


[ELK]  Elkind, J. I., Cohen, K., and Murray, C. (1993). Using computer-based readers to improve reading comprehension of students with dyslexia. Annals of Dyslexia, 43.

[GAR]  Gardner, J., (2000). Future Braille Codes and Fonts in Braille into the Next Millennium, ISBN 0-8444-1021-7, edited by Dixon, J. 514-531.

[KAP]  Gaylen Kapperman, Jodi Sticken.  Mathematics instruction for visually disabled students using assistive technology, CSUN conference 2003

[KAR]  Karshmer, A. , Gupta, G. , Geiiger, S. , Weaver, C., Reading and writing mathematics: the MAVIS project, Proceedings of the third international ACM conference on Assistive technologies, p.136-143, April 15-17, 1998, Marina del Rey, California

[STE]  Stevens, R.D., Edwards, A.D.N, and Harling, P.A. Access to mathematics for visually disabled students through multimodal interaction.  Human-Computer Interaction, 12, (1997) 47-92.