Intent to Ship: MathML
Today Igalia is exceptionally pleased to announce that we have filed an Intent to Ship MathML support in Chromium. This is an important milestone, and it means that we are ever closer to the goal we set out to accomplish four years ago. Back in 2018, we began conversations with Chromium engineers and the W3C, announced we were launching a MathML effort in November 2018 with an initial grant from the National Information Standards Organization (NISO) and The Alfred P. Sloan Foundation.
Along the way, we helped re-establish the W3C Math Working Group and worked with other Working Groups and browser vendors to create a new specification called MathML-Core. This specification represents an interoperable subset of the originally lofty and underspecified MathML 3, in a way that is well integrated with the rest of the web platform. As of today, there are over 24,000 checks in Web Platform Tests of the parsing, rendering, and integration of MathML with other parts of the platform.
What this means
The Blink release process involves several stages before something gets to full release, and an Intent to Ship marks the beginning of the final stage. It involves additional scrutiny and requires three approvals from a very small number of API owners, but we feel very good about where things are today and the quality of (interoperable) general rendering. In essence, the announcement of Intent to Ship means we feel we are very close to having MathML support enabled in Chromium by default.
For reference, here are some renderings from past browsers:
Which you can compare to recent renderings of the same equation:
A milestone, not a finish line
Shipping this support in Chromium means we will achieve an historic milestone in which all browsers are capable of interoperably parsing and rendering a large amount of math. That’s definitely worth celebrating, but it isn’t the finish line.
A very large amount of our work has involved doing the sorts of work that SVG recently spent years doing - explaining how the language integrates with the rest of the platform: CSS, SVG, IDL, accessibility, internationalization, and so on. Chromium’s implementation is now the most complete on these specifics, which means we need to do maintenance to match that in other browsers. That is our next goal.
Conversely, we’ve focused specifically on drawing the initially reachable goals of interoperability and completeness. That meant defining an initial “MathML Core Level 1” which is not feature complete and lacks some things supported by some browsers. For example, a ‘math link’ works in Safari and Firefox but isn’t part of MathML-Core Level 1. Continuing to develop a Level 2 specification that is supported across browsers will be a goal after we’ve finished our maintenance work.
In other words, there’s no shortage of things to continue to work on if we want MathML to be a really high quality part of the platform, and that work needs priority and funding. Your organization (or you individually) can help support this work and ensure that it keeps moving forward by making a contribution to the MathML-Core Support Collective.
While Igalia has been the overall primary financial supporter, we would like to thank those organizations and individuals that have contributed sponsorship along the way! Special thanks for considerable support to: NISO, APS Physics, Pearson, Murray Sargent, and Neil Soiffer.