For a brief moment at the start of the year, Google’s Chrome browser could render mathematical notation written in MathML. Since then, things have got worse for mathematics on the web.
In February, the MathML rendering code was removed by Google, citing concerns about security and code quality. Now, a member of the Chromium team has announced that Google will not be supporting MathML in the foreseeable future:
MathML is not something that we want at this time. We believe the needs of MathML can be sufficiently met by libraries like MathJax and doesn’t need to be more directly supported by the platform. In areas where libraries like MathJax are not good enough, we’d love to hear feedback about what APIs we would need to expose so that MathJax, et al, can create an awesome MathML implementation.
Peter Krautzberger, manager of the MathJax project, is not happy. He’s written a blog post sharing his ‘Thoughts on “the end ™” of MathML in Chrome/Chromium’. He highlights the excellent work done by volunteers so far and the relatively small expenditure of time on the part of the browser manufacturers that would be required to get good support, but says that we now have an opportunity to discuss how to get good maths support in browsers. Andrew Stacey has joined that discussion with a despairing Google+ post about the poor state of MathML support in browsers.
A couple of weeks ago Frédéric Wang, another member of the MathJax team, posted about the current state of MathML support in the various browsers, and lists some things that could be done to improve support if funding was available. Firefox does support MathML rendering, but it needs more work.
Internet Explorer is in an even worse state – a bug introduced in IE10 has entirely stopped MathPlayer from working. As MathPlayer is the only MathML renderer with comprehensive accessibility support, visually impaired users are left in a considerable pickle.
Meanwhile, development on MathJax, the JavaScript system for typesetting MathML and LaTeX which has to be explicitly included in every page that uses it, continues apace. The recent beta-release of version 2.3 includes support for a few alternate fonts. I’ve made a page to play about with them (and any of the other configuration options) at my MathJax Play Area.
Links
Chromium Issue 152430: Enabling support for MathML.
Thoughts on “the end ™” of MathML in Chrome/Chromium by Peter Krautzberger.
Funding MathML Developments in Gecko and WebKit by Frédéric Wang.
Microsoft cripples the display of math in IE10 & 11 at Design Science News.
It is not all that bad; on the positive side, Firefox and Safari’s implementations of MathML continue to improve; Firefox can now display MathML formulas very elegantly. I cannot use MathJax is as a replacement for MathML as (a) it is extremely slow (b) It is asynchronous and therefore causes huge headaches for me when I need to generate math formulas on the fly in interactive tutorials and games which themselves involve lots of timing-sensitive code. So, instead, I simply direct people to Firefox and implement a simple but very imperfect – but at least synchronous – TeX-to HTML/CSS renderer, for “old-fashioned” browsers like Chrome and IE.
At least now Microsoft allows voting for it, maybe a ray of hope? https://wpdev.uservoice.com/forums/257854-internet-explorer-platform/suggestions/6508572-mathml