Use of deprecated xlink prefixed attributes (e.g. xlinkHref instead of href)
With SVG 2, the xlink: namespace is not necessary and attributes using it are deprecated.
I expect Svg.Attributes should reflect this change by, for example, exposing href instead of xlinkHref.
Ditto for xlinkActuate, xlinkHref, xlinkRole, xlinkShow, xlinkTitle, xlinkType.
Thanks for the issue! Make sure it satisfies this checklist. My human colleagues will appreciate it!
Here is what to expect next, and if anyone wants to comment, keep these things in mind.
I got a help with the elm-community that can help to walk around this problem. just take a look at the example https://ellie-app.com/dYMDfz5V4a1/1
I see the href case, but can someone show that xlink:arcrole is definitively now called arcrole?
The broader claim here is that xlink is not used at all, and I want to verify that before making the change. So far the data I have is:
- w3 says what's removed and deprecated!
-
mdn says
xlink:hrefdeprecated -
w3 says
xlink:hrefdeprecated - w3 does not clarify on deprecation
- peacememories on slack says that Safari only supports
xlink:hrefat this time. They are using bothxlink:hrefandhrefto be prepared in case browsers start droppingxlinkrather than just deprecating it.
So it does not seem like this change has actually fully happened yet.
Weighing in here too: I just tried removing a custom element in favor of pure Elm, and using dual href | xlink:href does not work in Elm at the moment, because href is a read-only property in Svg.use and assigning it crashes at runtime.
Regarding browsers:
- Safari only supports
xlink:href - Firefox supports both
- Chrome supports both
I haven't tested other browsers yet
Thanks to Ilias I found a workaround for the crash using VirtualDom.attribute, so I am going to try and replace my custom element code.