svg icon indicating copy to clipboard operation
svg copied to clipboard

Use of deprecated xlink prefixed attributes (e.g. xlinkHref instead of href)

Open nimser opened this issue 7 years ago • 4 comments

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.

More details on MDN

nimser avatar Aug 29 '17 07:08 nimser

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.

process-bot avatar Aug 29 '17 07:08 process-bot

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

ivanbanov avatar Jan 10 '18 17:01 ivanbanov

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:href deprecated
  • w3 says xlink:href deprecated
  • w3 does not clarify on deprecation
  • peacememories on slack says that Safari only supports xlink:href at this time. They are using both xlink:href and href to be prepared in case browsers start dropping xlink rather than just deprecating it.

So it does not seem like this change has actually fully happened yet.

evancz avatar May 24 '18 14:05 evancz

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.

peacememories avatar Apr 12 '19 09:04 peacememories