W3C home > Mailing lists > Public > www-svg@w3.org > September 2005

Re: SVG12: non-visual foreign markup

From: Jon Ferraiolo <jonf@adobe.com>
Date: Tue, 13 Sep 2005 17:02:10 -0700
To: www-svg@w3.org
Message-id: <>
Hi Bjoern,
The SVG WG discussed your comment and this is our official response.

We concluded that we have to keep the rule that setting foreignObject width 
or height to zero disables rendering of the element in order to maintain 
consistency with the rest of the SVG language and with previous versions of 
the spec. Other similar elements ('svg', 'image', 'rect', 'circle', 
'ellipse', 'video', 'animation') are defined such that width or height of 
zero causes the object to not be rendered. We believe foreignObject needs 
to be consistent with these other elements.

Regarding audio, I am sure you are well-aware that SVG-t 1.2 has an 'audio' 
element. We strongly encourage content developers to specify audio via the 
'audio' element, which has the various attributes needed to control audio 
and synchronize it with the other time-based element and which will work 
interoperably so long as UAs support the given codec such as MP3, instead 
of specifying audio via 'foreignObject', which does not have the multimedia 
attributes that are often needed.

We are guessing that you want SVG to move in a similar direction with 
svg:foreignObject as HTML has gone with html:object where the 
[foreign]object tag is a central facility for different media types. But 
that isn't the thrust of svg:foreignObject, where the key concept is the 
word 'foreign'. svg:foreignObject is an extensibility mechanism for unknown 
media types which at this point has no defined interoperability 
characteristics which are required of conformant SVG user agents except 
that it is acceptable to ignore the contents of the svg:foreignObject. 
Maybe in the future, particularly as CDF evolves, these rules might change 
and svg:foreignObject might provide normative behavior for certain content 
types (e.g., HTML content) or might evolve to act more like html:object and 
become a central mechanism for different media types, but for now it is not 
required that UAs support foreignObject for any particular content types.

But even if a content developer decided to use svg:foreignObject to render 
audio, and in doing so decided to target the subset of SVG user agents that 
included extensions for supporting audio via svg:foreignObject, we do not 
see a problem with foreignObject requiring a non-zero width or height 
values in order for the element to be "rendered" (visually or aurally). The 
visual rendering model for SVG is that each graphics element has an extent, 
the extent has a bounding box, and this bounding box is initialized to 
transparent black (RGB+A of (0,0,0,0)). Since audio will produce no visual 
rendering, this transparent black surface will result in a no-op action in 
terms of visual rendering.

In terms of changing the draft, we do not believe any changes are necessary 
relative to the topics in this email. (Although other comments from you are 
indeed resulting in changes.)

Jon Ferraiolo
Adobe Systems, Inc.
Member SVG WG


From: Bjoern Hoehrmann 

Date: Mon, 04 Jul 2005 04:27:44 +0200

Message-ID: <43289e9f.483211875@smtp.bjoern.hoehrmann.de>

Dear Scalable Vector Graphics Working Group,

it seems unclear how to include non-visual (e.g., audible) foreign
markup, the 'foreignObject' element in particular apparently assumes
that the markup is visual as width/height are required and setting
those attributes to 0 disables all rendering of the element, so it
would seem one has to use strange values for the attributes to en-
able audio rendering. Please change the draft such that it is clear
how to use non-visual markup embedded in SVG documents.

Björn Höhrmann · mailto:bjoern@hoehrmann.de · 
Weinh. Str. 22 · Telefon: +49(0)621/4309674 · 
68309 Mannheim · PGP Pub. KeyID: 0xA4357E78 · 
Received on Wednesday, 14 September 2005 00:03:08 UTC

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