Minutes: MathML Full meeting 12 June, 2025

 Attendees:

   - Neil Soiffer
   - Louis Maher
   - David Carlisle
   - Patrick Ion
   - Moritz Schubotz
   - Bruce Miller
   - Deyan Ginev
   - Paul Libbrecht

<https://cryptpad.fr/#cp-md-0-action-items>Action Items
<https://cryptpad.fr/#cp-md-0-1-announcements-updates-progress-reports>1.
Announcements/Updates/Progress reports
<https://cryptpad.fr/#cp-md-0-2-a-href-https-github-com-w3c-mathml-issues-534-534-summary-of-mathml-polyfill-needs-a->2.
#534: Summary of MathML Polyfill needs
<https://github.com/w3c/mathml/issues/534>

Can any of these be skipped?

*ACTION:* Remove: Xref, cdgroup, altimg, altimg-width, altimg-height, and
altimg-valign.

*ACTION:* MuS and MoS will collaborate on mathvariant.

*ACTION:* NS: rowspan and columnspan are in core and can be removed from
the list in issue 534.

*ACTION:* DC and MoS will work on the mtable polyfills.

*ACTION:* DC will work on issue 181 MathML 4 extensions for alignment and
possible deprecation of (maligngroup/) and (malignmark/)
<https://github.com/w3c/mathml/issues/181> before DC works on mtable.

*ACTION:* NS: I notice there's another spec change, that I should create an
issue for, which is there's an alignscope that needs to be removed from the
spec.

*ACTION:* We will support at least maction's "selection" attribute since
that is simple to do.
<https://cryptpad.fr/#cp-md-0-agenda>Agenda
<https://cryptpad.fr/#cp-md-1-1-announcements-updates-progress-reports>1.
Announcements/Updates/Progress reports

TPAC will be in Japan in 2025, and in Ireland in 2026.

Neil's action item on ARIA testing: "no", but see
https://github.com/w3c/aria/blob/main/documentation/tests.md

NS: This shows what ARIA does for testing including what do they do for
third-party things like screen readers and for web platform tests. They do
not have any automatic tests. This documentation comes from 2023.
<https://cryptpad.fr/#cp-md-1-2-a-href-https-github-com-w3c-mathml-issues-534-534-summary-of-mathml-polyfill-needs-a->2.
#534: Summary of MathML Polyfill needs
<https://github.com/w3c/mathml/issues/534>

This a is a list of all of the elements/attributes in MathML 4 marked as
"not in MathML-Core" or "not-core". If the checkbox is checked, then a
polyfill exists for the element/attribute. If the item is crossed out, then
the Math WG has agreed that writing a polyfill for the element/attribute is
not needed/encouraged.

Can any of these be skipped?

NS: Do we need to support xref

DC: xref has no observable behavior. It does not generate an active link.
Remove it.

DC: Cdgroup in the next block doesn't need a polyfill. Eliminate it.

DC: I think we shouldn't encourage people to use images for mathematics.
Get rid of altimg, altimg-width, altimg-height, altimg-valign

*ACTION:* Remove: Xref, cdgroup, altimg, altimg-width, altimg-height, and
altimg-valign.

DC: We must keep mathvariants.

*ACTION:* MuS and MoS will collaborate on mathvariant.

https://github.com/w3c/mathml-polyfills/blob/main/linethickness/linethickness.js
simple example polyfill

NS: We should keep mstyle.

NS has started work on the subscript and superscript shifts. He is having
problems computing the baseline. He is getting different values from
Firefox and Chrome, and neither is correct.

NS: Now we get to the hard stuff. We have a bunch of attributes on tables,
rows, and MTDs, and these are alignment things.

DC: If your polyfill is turning the mtable into an html table, you lose all
the math alignment. If you make it into a MathML4 table, you lose spanning.

*ACTION:* NS: rowspan and columnspan are in core and can be removed from
the list in issue 554.

NS: So what leads into the next issue is CSS support.

NS: CSS can generate arrow heads on lines. Firefox and Safari do not
support this so that, when the polyfill kicks in, it makes things worse.
The polyfill writer would have to determine what browser is being used, and
do different things for different browsers.

NS: How much effort should we put into these polyfills?

DC: We should not put a lot of work into this if CSS is not supported. We
should try to let it fail gracefully.

NS: If CSS is not supported, then it is a browser bug. However, polyfills
are supposed to get around browser bugs.

DC: Polyfills are not meant to account for bugs, but to get the user from
full to core.

MoS: We have a list of tag macros that we need to support.

MoS: It is most important that things should work in Chrome.

MoS: We should finish the standard, and then see what can be considered to
be a browser bug, and what can be solved with a polyfill.

*ACTION:* DC and MoS will work on the mtable polyfills.

*ACTION:* DC will work on issue 181 MathML 4 extensions for alignment and
possible deprecation of (maligngroup/) and (malignmark/)
<https://github.com/w3c/mathml/issues/181> before DC works on mtable.

NS: So, are you looking for a polyfill that will make the math you generate
work in all the browsers, or are you looking for a polyfill that fills in
stuff core doesn't do.

MoS: The most important target is Chrome. So it would be nice if it worked
in all browsers. It should work in all major browsers, but I think it's
most important that it works in Chrome, because that's when people complain
a lot if it does not work in Chrome.

DC: It's not our job to try and implement CSS in Firefox.

*ACTION:* NS: I notice there's another spec change, that I should create an
issue for, which is there's an alignscope that needs to be removed from the
spec.

Maction has two attributes: actiontype and selection.

NS: Does anybody care? Is this one that needs to be done, or can we say
forget it? You know, nobody's really using it anyway.

NS: Has anyone in the group used maction? No.

From Deyan Ginev to everyone: Can we connect "lack of polyfill" to
"official deprecation"? It would be more consistent.

NS: MathML4 no longer predefines what actiontype and select do.
Furthermore, web environment events, connected to JavaScripts, are a more
powerful solution, although maction provides a convenient wrapper element
on which to attach such an event. I think the maction is actually in core.

DC It is in core. We should support selection.

NS: Supporting selection should be pretty easy.

From Deyan Ginev to everyone: Replying to "Yes, CSS has attr() ..."

but you can't expand it in selectors from what I remember

NS: Actiontype, because it's open-ended, is really hard to do.

*ACTION:* We will support maction.
<https://cryptpad.fr/#cp-md-0-3-short-discussion-of-technical-issues-in-writing-polyfills>3.
(Short?) discussion of technical issues in writing polyfills

   - Browser sniffing? ShadowDOM vs aggressive rewriting of DOM

NS believes that we should do some browser sniffing so that menclose does
not mess things up. The menlose polyfill does a very good job in Chrome,
but Firefox and Safari both support many notation values and the CSS makes
them look bad because they don't currently support CSS. He does not
remember if other things need browser sniffing.

NS: Browser sniffing is a test to see if the browser can carry out certain
functions. You can see if MathML is implemented in a browser by using
mspacing and see if the resulting character has the requested spacing.

NS: I think two of the polyfills I wrote, line Breaking and the elementary
math stuff, create an HTML table. They end up using Shadow DOM to hide
their implementation. I ended up with an empty math element.

DC: So you have a single empty element, and all the rest is behind The
shadowDOM. There's no structure at all. So linking doesn't work, and
Basically, nothing works inside that.

DC: I don't think you can shadow DOM individual bits, because you don't
know the upcoming structure. So you can't make a maction or linking or
anything else work.

NS: Another thing is that we should be writing some tests. I started to
write some tests that would write error messages to the console, if the
tests do not work, but that is not always easy to do.

DC: Tests need a correct value to test against.

NS: You can add a "data-expected-value" (or similar) to the test HTML and
compare it to the result for some kinds of tests. If they don't match, you
can write an error message to the console.

Received on Monday, 16 June 2025 03:45:40 UTC