W3C home > Mailing lists > Public > www-svg@w3.org > February 2015

Proposal: deprecate <a target="_replace">

From: Amelia Bellamy-Royds <amelia.bellamy.royds@gmail.com>
Date: Sun, 22 Feb 2015 15:44:15 -0700
Message-ID: <CAFDDJ7xYOq-pTdVWpyU86X1z6kRVog=zs+Rg-GHRD_kx46QHWQ@mail.gmail.com>
To: www-svg <www-svg@w3.org>
The `target` attribute for SVG <a> elements, as modified in the SVG 1.1 2nd
edition, includes a keyword `_replace` that does not have an HTML
equivalent.

Based on contemporary mailing list discussions [1][2], it seems that the
intention was that while `_self` would replace the entire HTML frame,
`_replace` would only replace the embedded SVG (when SVG was embedded in
HTML as an <object>).

However, the definition of link targets and browsing context names has
changed in HTML 5 [3].  An object is now considered a valid browsing
context which would match the `_self` keyword.  The `_parent` keyword would
match the document in which that object was embedded.

Based on my testing, currently IE treats `_replace` as a synonym for
`_self`.  Firefox and Chrome do not recognize it at all; in other words,
they treat it as a custom name, and open a new tab with the linked content.
 (IE has its own problems: it doesn't recognize browsing context names
declared on <object> elements using the `name` attribute.)

My recommendation would therefore be:

   - use of `_replace` is formally deprecated in SVG 2 (authors SHOULD NOT
   use in new content);
   - all browsers SHOULD treat `_replace` as a synonym for `_self` in
   existing content.

More generally, the definitions of the other keywords should refer to the
corresponding definitions in HTML 5.

AmeliaBR

[1]: https://lists.w3.org/Archives/Public/www-svg/2006Jul/0031.html
[2]: https://lists.w3.org/Archives/Public/www-svg/2007Mar/0048.html
[3]: http://www.w3.org/TR/html5/browsers.html#windows
Received on Sunday, 22 February 2015 22:44:42 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 8 March 2017 09:47:39 UTC