- From: Amelia Bellamy-Royds <amelia.bellamy.royds@gmail.com>
- Date: Sun, 22 Feb 2015 15:44:15 -0700
- To: www-svg <www-svg@w3.org>
- Message-ID: <CAFDDJ7xYOq-pTdVWpyU86X1z6kRVog=zs+Rg-GHRD_kx46QHWQ@mail.gmail.com>
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