Intent to prototype: MathML <a> element

40 views
Skip to first unread message

tannal

unread,
Aug 6, 2026, 6:00:25 AM (7 days ago) Aug 6
to dev-pl...@mozilla.org
Summary:
Introduces the <a> element within the MathML namespace exposed via the new MathMLAnchorElement WebIDL interface (which inherits from MathMLElement and includes HyperlinkElementUtils). This feature aligns MathML hyperlink capabilities with HTMLAnchorElement and SVGAElement to ensure consistent link handling, styling, and privacy mitigation across HTML, SVG, and MathML. Linking in mathematical expressions allows authors to link specific terms, variables, or formulas to external references or definitions.

Explainer:
https://people.igalia.com/fwang/mathml-a-href/

Bug:
https://bugzilla.mozilla.org/show_bug.cgi?id=2059312

Specification:
https://w3c.github.io/mathml-core/#the-a-element

Standards Body:
W3C (MathML Working Group / MathML Core)

Platform Coverage:
All platforms (Desktop, Android).

Preference:
mathml.a.element.enabled (Boolean, disabled by default for prototyping)

DevTools Bug:
N/A (Uses standard DOM element inspection via existing Inspector infrastructure)

Extensions Bug:
N/A

Use Counter:
N/A

Standards-Positions Discussion:
https://github.com/mozilla/standards-positions/issues/1429

Other Browsers:
- Blink: Intent to Prototype emailed (https://groups.google.com/a/chromium.org/d/msgid/blink-dev/398b6ab3-d82d-4600-ab3d-cdc98761c39en%40chromium.org) / Chrome Status: https://chromestatus.com/feature/6543819626643456
- WebKit: Proposed / Under discussion in [Standards-Positions Discussion](https://github.com/WebKit/standards-positions/issues/691)

web-platform-tests:
- WPT tests will be located under `/mathml/` (e.g. `/mathml/relations/html5-tree/`).

https://wpt.live/mathml/relations/html5-tree/a-hreflang-getter.html
https://wpt.live/mathml/relations/html5-tree/a-hreflang-setter.html
https://wpt.live/mathml/relations/html5-tree/a-type-getter-001.html
https://wpt.live/mathml/relations/html5-tree/a-type-getter-002.html
https://wpt.live/mathml/relations/html5-tree/a-type-setter.html
https://wpt.live/mathml/relations/html5-tree/anchor-hyperlinkutils-getter.html
https://wpt.live/mathml/relations/html5-tree/anchor-hyperlinkutils-getter-setter.html
https://wpt.live/mathml/relations/html5-tree/href-navigation.html
https://wpt.live/mathml/relations/html5-tree/a-ping.html
https://wpt.live/mathml/relations/html5-tree/dynamic-href-002.html
https://wpt.live/mathml/relations/html5-tree/href-click-003.html
https://wpt.live/mathml/relations/html5-tree/html-or-svg-or-mathml-element-interfaces.html
https://wpt.live/mathml/relations/html5-tree/tabindex-001.html
https://wpt.live/mathml/relations/html5-tree/tabindex-focus-001.html

Security & Privacy Tests:

https://wpt.live/mathml/relations/html5-tree/anchor-visited-privacy.html
https://wpt.live/mathml/relations/html5-tree/canvas-visited-privacy.html

A11y Mapping tests: https://github.com/web-platform-tests/wpt/pull/61018

Security & Privacy Concerns:

Disabling javascript: URL navigation is discussed in https://github.com/w3c/mathml-core/issues/333

There is a section in the explainer talking about `:visited` selector matching. And we have tests for them.

This feature also needs to update sanitizer spec and the default configurations in the sanitizer api.

Web Designer / Developer Use-Cases:

See the explainer: https://people.igalia.com/fwang/mathml-a-href/
Reply all
Reply to author
Forward
0 new messages