- From: Doug Schepers <schepers@w3.org>
- Date: Thu, 23 Jul 2009 10:05:22 -0400
- To: www-svg <www-svg@w3.org>
- CC: HTML WG <public-html@w3.org>
Hi, Folks- Jeff Schiller wrote (on 7/23/09 8:21 AM): > On Thu, Jul 23, 2009 at 7:12 AM, Simon Pieters<simonp@opera.com> wrote: >> You can do: >> >> <svg> >> <desc> >> <img src="fallback.png" alt="..."> >> </desc> >> <circle cx="50" cy="50" r="30" fill="red"></circle> >> <a xlink:href="foo.html"><text y="100"><![CDATA[This is SVG >> text]]></text></a> >> </svg> >> > > Actually my original solution was indeed to use the<desc> element, > but that's a misuses of the element. Yes, yes it is. :) I thank Henri for that fallback-in-<desc> chestnut. > Of course creating my own markup tag is also probably a misuse. ;) Here's some reasonable SVG that should work right: <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <!-- stuff --> </head> <body> <p>Some HTML...</p> <svg xmlns="http://www.w3.org/2000/svg"> <switch> <g requiredFeatures="http://www.w3.org/TR/SVG11/feature#SVG"> <!-- some SVG content goes here --> </g> <foreignobject x="50" y="50" width="150" height="150"> <div xmlns="http://www.w3.org/1999/xhtml"> <img src="fallback.png"></img> </div> </foreignobject> </switch> </svg> </body> </html> Since an SVG UA understands SVG (the required feature string), it should only render the first child (the <g>, and never the <foreignobject>. Or, if you wanted to be trickier... <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <!-- stuff --> </head> <body> <p>Some HTML...</p> <svg xmlns="http://www.w3.org/2000/svg"> <foreignobject width="0" height="0"> <div xmlns="http://www.w3.org/1999/xhtml"> <img src="fallback.png"></img> </div> </foreignobject> <!-- some SVG content goes here --> </svg> </body> </html> Since SVG doesn't render elements that have 0 width and height, the content of the <foreignobject> should never render in SVG, but would in a UA that. I still favor a fallback container element in HTML that would work for any generic content [1], including SVG and MathML and anything else without requiring tricks or the existence of a fallback mechanism in the target language, but that didn't gain traction. [1] http://wiki.whatwg.org/wiki/Extensions#Proposal_2:_Extensibility_Element Regards- -Doug Schepers W3C Team Contact, SVG and WebApps WGs
Received on Thursday, 23 July 2009 14:05:36 UTC