← Back to release summary

MathML

Category
Miscellaneous
Type
Chromium catches up
Status
Enabled by default (Chrome 109)
Intent stage
Prepare to ship

Summary

Supports MathML Core, a language for describing mathematical notation embeddable in HTML and SVG. MathML is rendered in a CSS-compatible way with OpenType MATH and exposed via platform accessibility APIs. MathML styling is enabled by CSS features including those dedicated to math layout (math-depth, math-shift and math-style properties, 'math' display value, 'math' font-family name and 'math-auto' text-transform). Finally, the MathMLElement interface provides a convenient way to manipulate MathML in scripts.

Motivation

The most popular solutions for inserting mathematical formulas in Web pages are using static images or JS libraries but they cause considerable extra complexity for authors, performance concerns and inconsistencies for users. One proposal to address these problems is to rely on Houdini standards but they are still developing and significantly in flux. Moreover, that leaves open the questions of what is lacking and of how to combine everything to get a full cross-browser math implementation. Our proposal is instead to implement the MathML Core specification in order to: 1. Provide users with efficient, natural, readable and high-quality rendering of mathematical notations, consistently with other text they encounter in the browser. 2. Provide authors with native, efficient and interoperable rendering of mathematical notations that they are able to reason about consistently with the rest of the Web Platform. 3. Rigorously define the necessary subset, how it works and properly integrates into the Web Platform and ensure testable and interoperable implementations. 4. Establish a productive and agreeable starting point for additional work and conversation going forward and make it possible to more easily explore more, consistently with the rest of the platform.

Standards & signals

Docs: https://drafts.csswg.org/css-fonts-4/#valdef-font-family-math https://w3c.github.io/mathml-aam https://docs.google.com/document/d/1biGEaWN8ThNTDtAbT1M5GIf6N5uQLWdxh2QhrG9uN5c https://docs.google.com/document/d/1bvY_Npe2zLW_705KXdmecsH6P9I9wBMpHRsZ9CxWNOI/edit#heading=h.u9hwm9tp8nuy https://developer.mozilla.org/en-US/docs/Web/MathML https://developer.mozilla.org/en-US/docs/Learn/MathML

Samples: https://people.igalia.com/fwang/2022-06-igalia-week-shipping-mathml-in-chromium/#/12 https://fred-wang.github.io/MathFonts

Explainers: https://github.com/mathml-refresh/mathml-core/blob/master/docs/explainer.md https://people.igalia.com/fwang/explainer-font-family-math

View on chromestatus.com