More Accessible Math (Preprint)

The LEAN Math Notation

John Gardner1 and Courtney Christensen1

1ViewPlus Technologies, Inc, Corvallis, OR 97333, USA

{john.gardner, courtney.christensen}@viewplus.com

Abstract. Blind people generally access written information linearly - through Braille or speech/audio. Math can be written in linear form, e.g. LaTeX, MathML, computer programming languages, or word descriptions. These forms are too verbose to be practical for reading any but the simplest math equations. They are even worse for authoring or "doing pencil and paper math". Braille is more useful, but relatively few blind people are fluent in any of the many special Braille math codes, none of which is robust enough for back-translation to be useful for authoring math. The authors of this paper have developed a very compact notation, which could be the basis of a new math Braille font, but which is useful today for reading/writing using computers with all common speech screen readers. Translators to/from MathML have been written and integrated with Microsoft Word/MathType. Preliminary usability data will be reported.

Keywords: linear math notation, Braille math codes, audio math

1 Introduction

Until recently it has been necessary for math to be represented in electronic documents as images in order to be displayable in all circumstances. The math markup language MathML [1] has now become preferable for many reasons. One is that MathML equations are font-rendered, and thus simply look better. Equations are searchable, computable, and, most importantly for the present context, accessible in principle. The MathJAX project [2], which cleanly renders MathML in nearly any modern web browser, has stimulated the exponentially-increasing use of MathML. Within a few years, MathML will undoubtedly become the dominant math language of electronic documents.

The only other major modern math language, LaTeX [3], will undoubtedly continue to be used for years by many scientific authors. Transformers [4] are available that will transform LatTeX documents to a format in which math is represented by MathML. The remaining piece of the puzzle for "making math accessible" is the improvement of user-friendly tools by which blind people can read and write math in MathML.

2 Current Technologies for Reading and Writing Math Usable by Blind People

2.1 Braille

There are several computer applications that can transform MathML to a math Braille string. The popular Duxbury Braille [5] application can transform Microsoft Word documents with MathType [6] equations (MS Word+MathType) to Braille. The math equations can be expressed in several different Braille codes. The free liblouis [7] Braille translator can transform an XML document to Braille. Several Braille math code output choices are available, including the most accurate Nemeth Braille translation available today. ViewPlus is a sponsor of the liblouis project, and its TSS [8] application uses liblouis to transform MS Word+MathType documents to Braille. A number of other Braille translators include simple math translation but are not useful for more advanced math.

There are some experimental back-translation applications intended to allow Nemeth math Braille readers to communicate to a sighted audience. We are unaware of any back-translators being written for other math Braille languages. Unfortunately, Braille math codes have structures and inherent ambiguities that make them fragile to back-translation. Small typographic errors can result in bizarre translations, having little relation to what was intended. Standard Braille codes can serve well for personal use, but not as a way to communicate math to others.

2.2 Internet Explorer + MathPlayer Speech Math Reader

[X]HTML web documents with math expressed as MathML can be read in speech using MathPlayer's [6] Internet Explorer plug-in. MathPlayer exposes the equation to screen readers as a paragraph of words. English and several other languages are supported. The limitations of current-day screen readers, however, do not permit showing the equations on Braille displays. Eventually, screen readers will have this capability, and this could be an excellent way to read math on the web. This is, however, not an authoring system.

2.3 Chatty Infty Accessible Scientific Document Reading/Authoring App

The ChattyInfty editor available from the Japanese Infty group permits simple scientific documents to be read and authored in a user-friendly manner [9-10]. ChattyInfty is self-voicing and permits text and equations to be displayed on a status line accessible to braille screen readers. Equations displayed in braille are currently given in LaTeX, but other types of Braille are planned for future versions. ChattyInfty can import documents created by the Infty Reader Math Optical Character Recognition (OCR) application and can export files in several mainstream-accessible formats, including DAISY and XHTML+MathML. English and Japanese versions are available. ChattyInfty is an excellent idea, but funding realities make it difficult for the Infty group to make this a robust product. Consequently, they have little choice but to sell it at a relatively high price. Barring some major investment, it seems destined to remain a specialty item.

2.4 Reading and Writing Math with LaTeX in MS Word+MathType

Microsoft Word documents with MathType equations are accessible to blind readers who know math LaTeX. One can select an equation (or the entire document), press a hotkey, and flip the selected equations to LaTeX. Equations can be reverted back to standard MathType equations with another press of that hotkey.

For users who know LaTeX, equations can be written into the document as plain text, surrounded by the standard Latex math indicator symbols. When the document is selected and the hotkey pressed, those equations are converted to standard MathType. While anyone can use this, it is particularly advantageous for blind users, who may find math authoring tools inadequately accessible. A tutorial is available at http://www.access2science.com/jagqn/WordLatex.html.

This application works well for blind people who can read LaTeX and who can write equations accurately in LaTeX. Its major disadvantages are that the user must know LaTeX and that great care is required when writing long or complicated equations. Formatting is also difficult for blind people to control reliably. And since there are no blind-friendly error-handling capabilities, it is possible to make a small error and end up with a completely unreadable equation.

3 Triangle and Lambda Notations

Triangle is a compact notation system developed twenty years ago at Oregon State University [11] to make reading and writing math easy for blind people. As originally conceived, it was based on LaTeX syntax and largely just a very compact way to write math in LaTeX. It did use a special Triangle symbol set designed for convenience of blind readers. That symbol set included symbols for starting and ending roots, fractions, arrays, etc, along with various separators within those structures. It also had font, subscript, superscript, etc, indicator symbols. A small "cheat sheet" made it possible for any sighted scientist to read or write in Triangle notation, and it was used successfully by a number of blind students. It did not become mainstream however, and some attempts to convert to/from mainstream formats of the day were discontinued when funding ran out.

The European Lambda [12] project is based on content MathML but shares the same basic notational philosophy as Triangle. Lambda is used in a number of European schools and universities but has also been limited in its impact due to lack of adequate funding.

4 The New LEAN Math System

4.1 Overview

We have extended the Triangle/Lambda concepts to a fully Unicode formulation called LEAN (Linear Editing and Authoring Notation). Important linearizing symbols such as fraction, table, and script indicators are single LEAN symbols. LEAN syntax is based on presentation MathML, so anything that can be expressed in the presentation version of MathML 3.0 can be displayed or authored in linear form containing LEAN Math symbols.

4.2 MS Word Integration

The translator scripts to/from LEAN and MathML have been written in Python and can run on any desktop operating system. We have integrated LEAN into Microsoft Word + MathType where it can be used to both read and author math. MathType is a popular and inexpensive math authoring application that works extremely well with Word. We have leveraged the MathType API to allow quick conversion to/from LEAN math notation. With this, the vast majority of blind screen reader users should be able to have a good math reading/authoring system. It will be made available as a free application.

Word+MathType+LEAN Math users can press a hotkey and convert the MathType equations in a Word document into LEAN notation. These will be spoken by any modern screen reader. Another press of that toggle converts back to MathType. One can author in LEAN notation by clicking open an editing dialog that allows the user to compose an equation. It includes some simple error-checking. When the "OK" key is pressed, the equation is inserted at the cursor position in the document. That editor has menus for finding any math Unicode character and a set of hotkeys for power users.

4.3 Display Font and Screen Reader Compatibility

We have added LEAN math characters into the private Unicode section of the Microsoft's screen font Segoe UI Semilight. The characters are simple, text-only representations of a single math function or concept. While this is more verbose than graphical symbols, there is virtually no learning curve.

Blind users can gain equal access by adding LEAN characters to screen reader speech dictionaries. Once complete, the equation can be read linearly by sighted users and blind users alike.

4.4 Distribution

The installation package will install the LEAN Math Word macro, the background translator, and the screen font necessary for viewing the special LEAN private Unicode characters. Pronunciation dictionary updates for popular screen readers will be available so LEAN Math Unicode symbols are spoken as intended.

In principle, one can author any equation expressible in Presentation MathML. LEAN notation is very intuitive, so we expect the learning curve for this application to be quite small. A prototype LEAN notation version will be demonstrated at ICCHP2012, and preliminary usability data will be presented.

5 LEAN Examples

We present images of LEAN equations and also provide a text representation for blind readers. Non-ASCII Unicode characters are enclosed in square brackets as, for example [plus or minus] below. Letters in brackets are italic but pronounced as, for example b or c, and not italic b or italic c. It is easy enough to determine whether a letter is standard or italic by checking the Unicode position with a standard screen reader hotkey. A big advantage of using italic characters is that they are pronounced individually by a screen reader, for example ab is pronounced as a b, not ab. Pronunciation of Unicode characters is easily user-changeable.

Fig. 1. The solution to the quadratic equation in LEAN would be spoken as: "[x] = [fraction][minus][b][plus or minus][root][b][squared][minus]4[a][c][end root][over]2[a][end fraction]".

Fig. 2. This line would read as: "The cubed root of 8, [root index]3[root]8[end root] is 2."

Fig. 3. The sample standard deviation in LEAN would read as: "σ = [root][fraction]1[over][N][end fraction] ∑ [underscript][expression][i]=1[end expression][overscript][N][open paren][x][sub][i][minus]μ[close paren][squared][end root]".

Fig. 4. Euler's, would read as: "sin θ = [fraction][e][superscript][expression][i]θ[end expression][minus][e][superscript][expression][minus][i]θ[end expression][over]2[i][end fraction]".

Fig. 5. Two ways to write the same integral in LEAN. They would read as: "∫[subscript]1[superscript]∞[fraction]1[over][x][squared][end fraction][d][x]" and "∫[underscript]1[overscript]∞[fraction]1[over][x][squared][end fraction][d][x]", respectively.

Fig. 6. LEAN notation for a left-superscript. For example, the radioactive indium isotope with atomic weight 111 would be written as above, and spoken as: "ln[left superscript][expression]111[end expression]".

6 Braille Representation of LEAN

The authors have not done so, but one could define Braille cells for all LEAN indicators and Unicode math characters. It would be implemented as a Braille font - not a Braille code - which could be used for authoring math. If 8-dot Braille is used, most equations could be written without needing multiple cell symbols. Back-translation would be robust (and trivial) because of the one-to-one correspondence between the two display methods.

One would still need multiple Braille cells for more advanced characters, and unfortunately, no present-day screen reader can define character descriptions in this manner. Once implemented, however, it would be a straightforward task to extend the LEAN translator to permit authoring with this Braille formulation.

References

1. Mathematical Markup Language (MathML) Version 3.0, http://www.w3.org/TR/MathML3/

2. MathJax: beautiful math in all browsers, http://mathjax.com/

3. LaTex - a document preparation system,
http://www.latex-project.org/

4. Producing HTML and MathML from LaTeX by using tex4ht, M Whapples, http://www.access2science.com/latex/tutorial_txht.xhtml

5. Braille Translation Software from Duxbury Systems, http://www.duxburysystems.com

6. MathType and MathPlayer are applications from Design Science, Inc, http://www.dessci.com

7. Liblouis, http://www.liblouis.org/

8. Tiger Software Suite is a set of Braille applications bundled with ViewPlus embossers, http://www.viewplus.com/products/software/braille-translator/

9. The Infty Research Group, http://www.inftyproject.org/

10. The ChattyInfty application by the Infty Research Group, available from http://www.sciaccess.net/en/ChattyInfty/index.html

11. The Science Access Project, Department of Physics, Oregon State University, http://dots.physics.orst.edu

12. LAMBDA Linear Access to Mathematic for Braille Device and Audio-synthesis http://lambdaproject.org/default.asp?sec=1&langid=14