We intend to turn “Render unknown MathML elements as an mrow” on by
default. A combined intent to prototype and ship follows.
*Summary:* The MathML Core specification indicates that /“Unknown MathML
elements behave the same as the mrow element”/
<https://w3c.github.io/mathml-core/#ref-for-dfn-unknown-mathml-element-2>.
This means any element not explicitly defined within the specification
should be rendered as an |mrow|.
*Example:* In general, the use case is to allow web developers to write
polyfills for MathML3 (e.g. |<mfenced>|) or for future elements (e.g.
|<a>|).
In this example there are clickable links within mathematical
expressions. With this change, the |<a>| elements act as an |mrow| since
they are unknown to the MathML Core specification, ensuring the fraction
displays correctly.
|<math display="block"> <a
href="https://en.wikipedia.org/wiki/Momentum"> <msub> <mi>p</mi>
<mi>k</mi> </msub> </a> <mo>=</mo> <mfrac> <a
href="https://en.wikipedia.org/wiki/Lagrangian_mechanics">
<mo>∂</mo> <mi>L</mi> </a> <a
href="https://en.wikipedia.org/wiki/Generalized_coordinates">
<mo>∂</mo> <mover> <msub> <mi>q</mi> <mi>k</mi> </msub> <mo
>˙</mo> </mover> </a> </mfrac> </math> |
*Before:*
Equality where the left hand side is laid out in a row
*After:*
Equality where the left hand side correctly displays a fraction
*Bug:* https://bugzilla.mozilla.org/show_bug.cgi?id=1958853.
*Specification:* MathML Core,
https://w3c.github.io/mathml-core/#ref-for-dfn-unknown-mathml-element-2.
*Standards Body:* W3C, relevant discussion at
https://github.com/w3c/mathml-core/issues/71.
*Platform coverage:* All platforms.
*Preference:* |mathml.unknown-mrow|.
*Other browsers:*
* Blink: shipped in
https://chromium-review.googlesource.com/c/chromium/src/+/2007738.
* WebKit: shipped in https://bugs.webkit.org/show_bug.cgi?id=123348.
*web-platform-tests:*
* Added new test cases for |mfenced| and |a| in:
o |mathml/presentation-markup/mrow/dynamic-mrow-like-001.html|
o |mathml/presentation-markup/mrow/inferred-mrow-baseline.html|
o |mathml/presentation-markup/mrow/inferred-mrow-stretchy.html|
o |mathml/presentation-markup/mrow/mrow-preferred-width.html|
o |mathml/presentation-markup/mrow/spacing.html|
o |mathml/presentation-markup/operators/embellished-operator-001.html|
* There are legacy elements from the MathML3 spec that are not treated
as unknown for backwards compatibility, including |mlabeledtr| and
|menclose|. The latter already has tests, but a new internal one was
added for |mlabeledtr|:
o |mathml/tables/mtable-mlabeledtr-ref.html|
​
--
You received this message because you are subscribed to the Google Groups
"[email protected]" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion visit
https://groups.google.com/a/mozilla.org/d/msgid/dev-platform/1b9c5670-51bb-4da2-8c7b-80464c2a2569%40igalia.com.