-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Decide how to handle unknown MathML elements #71
Comments
I just updated the spec to clarify that unknown mathml elements have display: math by default and in that case just behave like an mrow. The question about whether they should specialize to MathMLUnknownElement is still open. |
For the record, SVGUnknownElement has been removed in w3c/svgwg@738f1e8#diff-eb0a191797624dd3a48fa681d3061212 ( see also w3c/svgwg#122 ) |
Custom element discussion is WICG/webcomponents#634 |
See https://github.com/mathml-refresh/mathml/issues/139 This also fixes wrong mpadded@notation attribute and repeats spacing tests for other mrow-like elements.
…#21257) See https://github.com/mathml-refresh/mathml/issues/139 This also fixes wrong mpadded@notation attribute and repeats spacing tests for other mrow-like elements.
… spacing in unknown elements., a=testonly Automatic update from web-platform-tests Add tests for baseline, stretchiness and spacing in unknown elements. (#21257) See https://github.com/mathml-refresh/mathml/issues/139 This also fixes wrong mpadded@notation attribute and repeats spacing tests for other mrow-like elements. -- wpt-commits: 87646d626a9a84941e790da383f140df6b37279d wpt-pr: 21257
… spacing in unknown elements., a=testonly Automatic update from web-platform-tests Add tests for baseline, stretchiness and spacing in unknown elements. (#21257) See https://github.com/mathml-refresh/mathml/issues/139 This also fixes wrong mpadded@notation attribute and repeats spacing tests for other mrow-like elements. -- wpt-commits: 87646d626a9a84941e790da383f140df6b37279d wpt-pr: 21257
… spacing in unknown elements., a=testonly Automatic update from web-platform-tests Add tests for baseline, stretchiness and spacing in unknown elements. (#21257) See https://github.com/mathml-refresh/mathml/issues/139 This also fixes wrong mpaddednotation attribute and repeats spacing tests for other mrow-like elements. -- wpt-commits: 87646d626a9a84941e790da383f140df6b37279d wpt-pr: 21257 UltraBlame original commit: 3a5ca745a2b258b0d6682ed347be800d9490885c
… spacing in unknown elements., a=testonly Automatic update from web-platform-tests Add tests for baseline, stretchiness and spacing in unknown elements. (#21257) See https://github.com/mathml-refresh/mathml/issues/139 This also fixes wrong mpaddednotation attribute and repeats spacing tests for other mrow-like elements. -- wpt-commits: 87646d626a9a84941e790da383f140df6b37279d wpt-pr: 21257 UltraBlame original commit: 3a5ca745a2b258b0d6682ed347be800d9490885c
The MathML CG decided that unknown elements in the MathML namespace with a math display should behave like an <mrow> element [1] [2]. This CL ensures that a MathMLRowElement is created for unknown MathML elements in order to make that possible. It does not seem necessary to create a specific MathMLUnknownElement C++ class at that point. Whether a specific MathMLUnknownElement IDL is needed is still open [1][3]. [1] https://github.com/mathml-refresh/mathml/issues/139 [2] https://mathml-refresh.github.io/mathml-core/#new-display-math-value [3] https://bugs.chromium.org/p/chromium/issues/detail?id=1021837 Bug: 6606 Change-Id: Ia493392ee8bfe9a7073e2ea6f1ce65927ec7fcae Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2007738 Commit-Queue: Frédéric Wang <fwang@igalia.com> Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org> Reviewed-by: Mason Freed <masonfreed@chromium.org> Cr-Commit-Position: refs/heads/master@{#737263}
consensus from June 1: we decided to keep that (IDL for unknown) in core level 1 ; we need to update the spec and write tests for these |
@bkardell what's the status of this? Can you please propose some spec change & test for what you wanted to do with a MathMLUnknownElement IDL? |
@fred-wang in the call today we discussed punting this to level 2 and the group seemed ok with it based on the fact that we have a number of other things and the result will be that the shape of the element, except for the constructor, will be the same either way at this point. |
At the core meeting today, consensus was to move to Level 2 and coordinate with SVG group with unified approach to unknown element IDL. For the time being, any element in the MathML namespace will be treated as a MathML element. |
- https://github.com/mathml-refresh/mathml/issues/139 is moved to level 2 - MathMLElement includes ElementCSSInlineStyle should be reported to CSSWG
Removed "needs spec update" label as that seems to have been done. Also removed "Core" label as this is level 2 (which implies core in the future) |
We had some discussion at the MathML general meeting today about how to write about the relationship between full and core. One specific question is whether a web platform implementation that extends core by adding support for things in full is an invalid implementation. On the one hand, it is important to define what happens with unknown elements so that all renders handle them the same. SVG does a similar thing. On the other hand, this means that an implementation that wants to experiment with implementation by adding support for "new" elements such as the elementary math ones (or support attributes like "bevelled" for mfrac) would potentially fail tests. Perhaps the answer is to just make sure any negative test picks names that would never be part of a spec. |
A thought that I had while discussing this in my after-meeting with @brucemiller is that one could imagine tests specific for Full to provide two behaviors:
If a feature makes its way to Core at some point, developers simply need to remove the expected fallback - as the expectation would switch to always implemented. So, as long as the fallbacks for full reside in a separate test suite/directory/space from the core tests, one could imagine a world without mutual contradictions. Core tests always pass, fallback tests pass when a feature is missing, and full tests pass when full is implemented.
|
This was discussed at the core meeting. There was no general consensus at the meeting other than people should think about the future when writing tests. One example is that the unknown element test should pick an obviously never going to be used name rather than a name like From the minutes:
|
cc @bkardell
The MathML Core specification defines the following MathML Core elements:
https://mathml-refresh.github.io/mathml-core/#dfn-mathml-core-elements
How should we handle elements that are in the MathML namespace but not in this list?
In JS, they would be
MathMLElement
(and thus support the IDL defined in Properly define DOM/IDL relationships #129). Should they be specialized to aMathMLUnknownElement
? Would that help Custom MathML elements mathml#138 ?Do they have
display: math
by default?When they have
display: math
, how are they laid out? Using the mrow layout?The text was updated successfully, but these errors were encountered: