Skip to content

Deprecate/Remove mlabeledtr #72

@fred-wang

Description

@fred-wang

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions