Skip to content
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

Remove xlink:href #127

Closed
fred-wang opened this issue Aug 22, 2019 · 3 comments
Closed

Remove xlink:href #127

fred-wang opened this issue Aug 22, 2019 · 3 comments

Comments

@fred-wang
Copy link

cc @emilio

In #5 we decided to remove deprecated MathML 3 attributes from MathML Core. However xlink:href is a bit special because it belongs to a different namespace. This is the text from https://www.w3.org/TR/MathML3/chapter2.html#fund.globatt:

"Note that MathML 2 had no direct support for linking, and instead followed the W3C Recommendation "XML Linking Language" [XLink] in defining links using the xlink:href attribute. This has changed, and MathML 3 now uses an href attribute. However, particular compound document formats may specify the use of XML linking with MathML elements, so user agents that support XML linking should continue to support the use of the xlink:href attribute with MathML 3 as well. "

Firefox has been sending deprecation for xlink:href on MathML elements for 7 years: https://bugzilla.mozilla.org/show_bug.cgi?id=553917 ; AFAIK, WebKit does not support on xlink:href on MathML elements. Igalia does not plan to implement it in Chromium either. Currently the MathML Core does not mention anything about xlink:href.

SVG 2 is also moving to a non-prefix href: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/xlink:href

I'm opening this to decide what to do for MathML Core / MathML 4. I think it makes sense to remove support for this from Gecko.

@fred-wang fred-wang added MathML Core Issues affecting the MathML Core specification MathML 4 Issues affecting the MathML 4 specification css / html5 Issues related to CSS or HTML5 interoperability need tests Issues related to writing WPT tests need resolution Issues needing resolution at MathML Refresh CG meeting need specification update Issues requiring specification changes need implementation update labels Aug 22, 2019
@1jj
Copy link

1jj commented Aug 24, 2019

Two random opinions about this:

  1. Assuming there is (a lot ?) of old content outside (e.g. https://bugzilla.mozilla.org/show_bug.cgi?id=427990#c42), removing support of xlink:href it not worth the trouble.
  2. xlink:href is supported in SVG content anlong wirh href (no plans to remove). It should be supported for MATHML too, just to be consistent.

@NSoiffer
Copy link
Contributor

If we want to follow how SVG handles this, here's what the SVG spec says:

For backwards compatibility, elements with an ‘href’ attribute also recognize an ‘href’ attribute in the XLink namespace [xlink].

When the ‘href’ attribute is present in both the XLink namespace and without a namespace, the value of the attribute without a namespace shall be used. The attribute in the XLink namespace shall be ignored.

A conforming SVG generator must generate ‘href’ attributes without a namespace. However, it may also generate ‘href’ attributes in the XLink namespace to provide backwards compatibility.

This attribute is Animatable if and only if the corresponding ‘href’ attribute is defined to be animatable.

MathML and SVG have similar views on what to do with deprecated features. MathML has deprecated xlink longer than SVG, so maybe SVG's handling of this feature not relevant for a MathML 4. I'm still in favor of removing it (especially from core), but as per the definition of deprecated, it is still legal (and preferable for backward compatibility) to support it. If it is work, then I don't see the point though given all the other things we have removed from core that aren't deprecated.

@NSoiffer NSoiffer removed MathML 4 Issues affecting the MathML 4 specification MathML Core Issues affecting the MathML Core specification css / html5 Issues related to CSS or HTML5 interoperability need resolution Issues needing resolution at MathML Refresh CG meeting need specification update Issues requiring specification changes need tests Issues related to writing WPT tests labels Feb 24, 2020
@NSoiffer
Copy link
Contributor

Since it was deprecated in MathML 3, there is no reason for it to be in core. Plus it introduces the problems with links being everywhere. The 24/2/202 meeting resolved that we should pull this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants