A Critique of MathML

Originally posted to the Web Accessibility Initiative Interest Group mailing list.

T.V. Raman:
MathML has everything you need to do good audio renderings. I've been part of the MathML working group since its inception and was an active participant in the initial design phase - and have been a passive observer since to make sure that the representation was adequate for producing multiple presentations.

While I appreciate the effort that's gone into MathML, I think a static math document type is a mistake. Moreover, MathML is schizophrenic about whether it wants to be presentational or semantic.

MathML's presentational markup can be accessible by voice or touch, but with a certain amount of ambiguity. You know that something is superscripted, or that numbers are positioned one over the other, but you don't know if the superscript is an exponent or an isotope, or if the \over is a division or a combinatorial. (Justify <mphantom> from an accessibility point of view.)

On the other hand, any static semantic DTD will be ignored by the scientific and mathematical communities, because new notation is often introduced to express new ideas. Moreover, MathML's semantic elements are infix operators - Knuth thought the \over infix was a bad idea twenty years ago, and only justified it by technological limitations that no longer hold.

[I was incorrect. Knuth apparently used \over because it was similar to eqn syntax and to spoken description, and reportedly said, "that's the way we started doing it and by the time it occurred to me to do something different there were too many existing documents out in the world using that syntax". -crism]

A better idea, IMO, is to promulgate a markup methodology instead of a DTD, whereby expressions and elements are homologous, and presentation is in the stylesheet where it belongs. My markup method is similar to MathML's semantic <apply> and <relation> elements, but attempting to enumerate all applications and relations is doomed. Instead, authors can choose appropriate element type names; even without a stylesheet, the markup is readable, and the author can provide a stylesheet that allows for whatever new markup he wishes to introduce.

As an example, here are Maxwell's equations, in presentational MathML, semantic MathML, and my own proposal.


Best viewed with any browser.

WebTechs HTML 2.0 Checked! Last updated and validated 20 May 1998 by Chris Maden.