[svg2] make foreignObject a graphics element

Hi,

Robert Longson discovered in [1] that foreignObject is neither a 'graphics  
element' nor a 'container element' in svg at the moment. The consequence  
being that some properties that normally apply to rendering elements don't  
apply to foreignObject, such as 'filter', 'mask' and 'clip-path' to name  
just a few. I think this is an oversight that should be corrected, most  
implementations do apply these properties to foreignObject already (as if  
it was a 'graphics element'), see [2] and [3].

Proposal: Make foreignObject a graphics element.

Rationale: Making foreignObject a container element would imply that it  
can contain other graphics elements and container elements as direct  
children, which may be ok technically, but I'd consider it bad practice.


[1]  
http://stackoverflow.com/questions/16320863/svg-image-mask-not-working-in-firefox-or-ie
[2] http://jsfiddle.net/xeK2m/
[3] http://jsfiddle.net/UYZW9/

-- 
Erik Dahlstrom, Core Technology Developer, Opera Software
Co-Chair, W3C SVG Working Group
Personal blog: http://my.opera.com/macdev_ed

Received on Thursday, 16 May 2013 08:37:42 UTC