Add compatibility data for legacy MathML lengths #17934
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
MDN contains a section about legacy MathML lengths [1] and refers to a browser compatibility table
mathml.attribute_values
that is currently missing. This commit adds relevant compatibility data for two kinds of accepted values mentioned in this section:5
to mean 500%),thinmathspace
to mean 3/18em)The edge case numbers ending with a dot (e.g.
34.px
) is ignored, that seems a bug in MathML 3 that is not even mention in version 4 [2] and is not super important for web developers.Corresponding data is added for length attributes, namely mfrac's linethickness, mo's lspace/rspace/maxsize/minsize, mspace's depth/height/width, mtable's width and the global mathsize attribute (note that non-zero unitless is not added for mspace, it's not relevant since the default dimensions are 0 anyway).
Test results and supporting details
These features have been implemented a long time in Gecko, before the first release of Firefox. Unitless values have been removed in Firefox 70 [3] and the there is plan to disable the pref for named spaces [4]. The two features have also been implemented in Safari 10 [5] and there is no plan to implement them in Chromium since they are not part of MathML Core.
[1] https://developer.mozilla.org/en-US/docs/Web/MathML/Attribute/Values#legacy_mathml_lengths
[2] https://w3c.github.io/mathml/#fund_units
|3] https://bugzilla.mozilla.org/show_bug.cgi?id=1574749#c8
[4] https://bugzilla.mozilla.org/show_bug.cgi?id=1793549
[5] https://commits.webkit.org/136199@main
Related issues
N/A