Math accessibility

The Windows Equation Composer and Document Composer offer methods for obtaining the spoken text of an equation for aural rendering.

  • GenerateSpeechString: Generates and return the spoken text of an equation from the current MathML.
  • IsAltTextEnabled: Checks whether the spoken text of an equation is included as an alttext attribute of the math tag.
  • SetAltText: Sets whether to include the spoken text of an equation as an alttext attribute of the math tag.

Both the Equation Composer and the Document Composer are capable of generating a text string that represents how an expression is spoken. For Document Composer, the string is inserted back into the document as "alttext" on the <math> element. For Equation Composer, it is returned as a string from the GenerateSpeechString() call or stored in a file given by the "-speechstring" command line option or XML option.

There are many ways an expression can be spoken. The SDK supports a few different versions and has support for many different languages. Command line arguments or DLL calls can set the following:

  • The language that should be used. Please refer to the SpeechRules dirs for SDK-supported languages. The current list includes Czech, German, Greek, English, Spanish, Finnish, Italian, Japanese, Dutch, Norwegian, Swedish and Chinese.
  • Speech style, which is a style of speaking the math. Most languages currently have only one speech style, but English supports a style based on the Nemeth Braille code, along with a more standard style. See each language's subdirectory for what styles are supported for that language.
  • Speech target, which is currently one of "blind," "low-vision" or "ld". Visually impaired users must be explicitly provided with the beginning and end of notations (e.g. fractions). Alternatively, for those with learning disabilities who can see the math, a spoken expression is not appropriate.
  • Speech tags, or computer voices, that are tuned to speaking literary text, rather than mathematical expressions. Equation Composer and Document Composer can generate speech cues, such as pauses and forced pronunciation, to improve the math-speak; however, it is important to recognize that computer voices use different standards for speech. If you know the voice that will be used to speak the math, then you can tell Equation Composer and Document Composer to generate the proper embedded controls.
Note: When the output document is read with MathPlayer, there will sometimes be informational messages such as "information: linebreak in row" or "information: missing characters". Since these are generated by MathPlayer and not MathFlow, you cannot suppress these informational messages with a MathFlow command line argument or DLL call.