-
Notifications
You must be signed in to change notification settings - Fork 20
Description
https://mathml-refresh.github.io/mathml/chapter3.html#presm.mlabeledtr
mlabeledtr is supposed to allow equation labels that you can refer easily elsewhere for example:
<p>blah blah</p>
x + y = z (5.1)
<p>blah blah see <a href="#id">(5.1)</a> blah blah</p>
MathML3's suggestion is to implement it via a MathML <mtable> via some special <mlabeledtr> row (i.e. <mtr> + some extra label cell). I guess this makes sense in the old "standalone spec" paradigm when each MathML formula is just considered an isolated document, so that specialized math editing/rendering/AT tools can properly handle it. But that does not seem very useful in the Web context and it duplicates existing features: You could just use HTML/CSS layout to produce this labelling effect, just like one writes "Figure 1" in HTML/CSS for images (even SVG ones). LaTeXML or Wikipedia do that (e.g. https://en.wikipedia.org/wiki/Fourier_transform#Definition ).
Additionally, the exact positioning of the label is a bit obscure in MathML3 and would have to be rewritten (maybe part of a general tabular math revamp for CSS) to be compatible with browser layout, implementable and testable. It's not implemented in any browsers and AFAIK there is not any plan to do it in the short to medium term. At this point, it does not seem a feature that meets the criteria to enter in MathML Core IMHO.
Currently MathML Core just treats <mlabeledtr> as an <mtr> with display: none label ( https://mathml-refresh.github.io/mathml-core/#tables ) but it is a bit confusing/misleading out of context and if you are only familiar with HTML tables.
Hence the proposal is either to:
(1) Remove <mlabeledtr> from core for now (my personal preference)
(2) Keep the fallback in core but add some rationale (backward compatibility?, allow users to override the default behavior?)
Last but not least, there is also the usual question of whether we want to deprecate/remove it from the full MathML spec and write polyfills in https://github.com/mathml-refresh/mathml-polyfills.
cc' @bkardell