SVG in Firefox

  • Revision slug: SVG_in_Firefox
  • Revision title: SVG in Firefox
  • Revision id: 58929
  • Created:
  • Creator: Tor
  • Is current revision? No
  • Comment

Revision Content

Firefox 2 continues to make progress toward a broader implementation of Scalable Vector Graphics (SVG) functionality.

Firefox SVG is a subset of SVG 1.1, but not any of the official profiles (Tiny, Basic, Full). A full list of the elements and whether they've been implemented for Firefox 2 can be found at the end of this document. The rest of this document attempts to provide you with information about our implementation's limitations.

We realize that the pecularities of our implementation can be bothersome when developing content, but we ask for your forbearing as we work towards a full implementation of this large specification.

Reading through this document, you might be wondering when these implementation details might change. Unfortunately the current roadmap puts the public release of Firefox based on the next version of Gecko a fair ways into the future, in the first quarter of 2007. However if you want to start experimenting with the new functionality, nightly builds of the current development are available.

Performance

All platforms that Firefox ships for use the same rendering backend, cairo, so their performance characteristics will generally be similar. Performance on Linux is the hardest to predict, as it will vary due to various X servers' implementation of the RENDER extension.

SVG rendering in Windows is considerably faster than on other platforms.

Coordinate range

If your content has geometry with a large coordinate range, you need to watch out for problems caused by cairo's internal use of a 16.16 bit fixed point representation for calculations. Cairo doesn't clip primitives before rasterization, so final coordinates after transformation that exceed the range -32678 to 32677 will cause rendering errors and possibly very slow performance.

Text on Windows 98

An unfortunate side effect of using cairo as the rendering backend on Windows is that text rendering does not work on Windows 98 machines. In fact, it's even more serious than that: once any text is encountered during rendering of SVG content, all further drawing will stop.

Font selection

If you're familiar with CSS you probably know that it allows you to specify fallback fonts for the font properties in case glyphs are unavailable in particular font. The current SVG rendering backend will only try using the first font specified, and if it doesn't exist will use a platform font. The fallback fonts are never used; so, for example, font-family="Arial,LucidaSansUnicode" won't result in LucidaSansUnicode being used if Arial is not available.

Printing

Currently printing is unfortunately not done using the vector properties of SVG to generate extremely crisp output, but instead rendered at screen resolution and then output as an image.

Font sizes when printing on Windows will be much larger than specified for SVG.

Group opacity

The group opacity property opacityallows SVG container objects to be treated as a partially transparent layer, and is separate from the fill-opacity and stroke-opacity properties. The current implementation of opacity is fairly expensive, so should be used sparingly. fill-opacity and stroke-opacity are much faster, and depending on your content can yield the same results.

Group opacity is currently only implemented for <g> and not for <text> or <svg>.

Stroking fonts

On the Microsoft Windows and Mac OSX platforms, the stroke of the text doesn't exactly match the fill. The error is typically quite small, and can be covered by using a slightly thicker stroke. An example of this difference:

Image:text-fill-stroke.png

<image>

<image> does not support SVG images in Firefox 1.5; instead, it only the raster image formats handled by Firefox.

All instances of <image> have a separate copy of the image being used, which is something to keep in mind if your content is using multiple copies of an image for an icon or such. Unfortunately <use> of <image> content counts as another copy in this case.

Additionally, heavy use of raster images in SVG can badly degrade performance in Firefox 1.5.

Events

We support the SVG event attributes with the exception of onfocusin, onfocusout, and onactivate.

Our onload handling is currently somewhat nonstandard, but hopefully not in a way that hurts its use. While the code specified by the onload attribute is called for each element, an SVGLoad event is only fired for the root <svg> element. Some DOM methods will return garbage or an error if called before the corresponding element has been rendered, which you may need to take into account when writing onload code. Such methods are getBBox, getScreenCTM, etc.

We do not support the Adobe specific key events (onkeydown, onkeyup).

Interoperability

If you're working with current SVG content, you may encounter problems loading it into Firefox. Most of the problems tend to be fairly trivial, and are the result of Firefox being a stricter implementation. Jonathan Watt's SVG Authoring Guidelines explains the common problems.

SVG usage situations

Firefox 1.5 handles SVG as entire documents or when referenced by embed, object, or iframe. It cannot currently be used as source for an HTML or XHTML img element or for CSS properties that take an image reference.

Animation

Firefox 1.5 does not implement declarative animation, but does support dynamic scripting. Doug Shepers has used this to create SmilScript, a small Javascript library that implements a subset of SVG's declarative animation.

Bugs fixed in Firefox 2

Firefox 2 fixes some bugs in its SVG implementation. This section provides a quick overview of the most interesting ones.

  • A problem filling and stroking text in which the drawing position isn't reset correctly between the two operations has been fixed (bug 333615).
  • Radial gradients now properly clamp the fx and fy attributes to ensure that they're within the circumference of a circle (bug 330682).
  • Text spans' and text elements' lengths can now be computed using their getComputedTextLength() methods, which improves compatibility with certain web sites (bugs 311031 and 264380).
  • <tspan> elements now properly support the dx and dy attributes, and work if the x and y attributes aren't specified (bug 311063).
  • Improved invalidation logic on redraws, which prevents dropped pixels in certain cases (bug 312269).
  • Fixed a bug that prevented events from being handled properly for objects exposed by the clip path of another object (bug 315861).
  • The overflow attribute now works for the marker element, using the syntax overflow="visible", which did not previously work correctly (bug 320623).
  • You can now access the <style> attribute of marker elements without throwing an exception (bug 323589).
  • You can now use percent values for the radius of a radial gradient (bug 323669).
  • The documentElement.createSVGAngle() method is now implemented (bug 327437).
  • Making a <stop> element a child of another <stop> element no longer asserts (bug 328137).
  • Changes to the height and width of markers, as well as to the orientation of the marker, now work (bug 325728).

Element implementation status

Element Notes
Structure Module
svg
  • Implemented.
  • currentScale and currentTranslate DOM attributes are implemented, but there is no pan and zoom user interface.
  • SVGSVGElement
    • Unimplemented attributes: contentScriptType, contentStyleType, viewport, useCurrentView, currentView
    • Unimplemented bindings: pauseAnimations, unpauseAnimations, animationsPaused, getCurrentTime, setCurrentTime, getIntersectionList, getEnclosureList, checkIntersection, checkEnclosure, deselectAll, createSVGAngle, getElementById
g
  • Implemented.
defs
  • Implemented.
desc
  • Implemented.
  • Only stored in the DOM, no user interface.</td>
title
  • Implemented.
metadata
  • Implemented.
  • Only stored in the DOM, no user interface.</td>
symbol
  • Implemented.
use
  • Implemented.
  • Only works for internal document references (bug 269482).
  • Doesn't completely follow <svg:use> cascading rules (bug 265894).
  • Doesn't deliver events to a SVGElementInstance tree (bug 265895).
Conditional Processing Module
switch
  • Implemented.
Image Module
image
  • Implemented.
  • Only works for raster images (bug 272288).
Style Module
style
  • Implemented.
Shape Module
path
  • Implemented.
  • SVGPathElement Interface
    • Unimplemented attributes: pathLength, normalizedPathSegList, animatedPathSegList, animatedNormalizedPathSegList
    • Unimplemented bindings: getTotalLength, getPointAtLength, getPathSegAtLength
  • SVGPathSegList Interface
    • Unimplemented bindings: replaceItem()
rect
  • Implemented.
circle
  • Implemented.
line
  • Implemented.
ellipse
  • Implemented.
polyline
  • Implemented.
polygon
  • Implemented.
Text Module
text
  • Implemented.
  • SVGTextElement
    • Unimplemented attributes: rotate, textLength, lengthAdjust
    • Unimplemented bindings: getNumberOfChars, getSubStringLength, getStartPositionOfChar, getEndPositionOfChar, getRotationOfChar, getCharNumAtPosition, selectSubString
    • Bindings not functional at onload time: getExtentOfChar
tspan
  • Implemented.
  • SVGTSpanElement
    • Unimplemented attributes: rotate, textLength, lengthAdjust
    • Unimplemented bindings: getNumberOfChars, getComputedTextLength, getSubStringLength, getStartPositionOfChar, getEndPositionOfChar, getExtentOfChar, getRotationOfChar, getCharNumAtPosition, selectSubString
tref
  • Not implemented.
textPath
  • Implemented in Firefox 2.
  • Unimplemented attributes: method, spacing, textLength, lengthAdjust
altGlyph
  • Not implemented.
altGlyphDef
  • Not implemented.
altGlyphItem
  • Not implemented.
glyphRef
  • Not implemented.
Marker Module
marker
  • Implemented.
Color Profile Module
color-profile
  • Not implemented.
Gradient Module
linearGradient
  • Implemented.
radialGradient
  • Implemented.
stop
  • Implemented.
Pattern Module
pattern
  • Not implemented.
Clip Module
clipPath
  • Implemented.
  • Won't handle clip paths with have elements with different clip-rule properties or that reference other clipPaths. (bug 267224).
Mask Module
mask
  • Not implemented.
Filter Module
filter
  • Not implemented.
feBlend
  • Not implemented.
feColorMatrix
  • Not implemented.
feComponentTransfer
  • Not implemented.
feComposite
  • Not implemented.
feConvolveMatrix
  • Not implemented.
feDiffuseLighting
  • Not implemented.
feDisplacementMap
  • Not implemented.
feFlood
  • Not implemented.
feGaussianBlur
  • Not implemented.
feImage
  • Not implemented.
feMerge
  • Not implemented.
feMergeNode
  • Not implemented.
feMorphology
  • Not implemented.
feOffset
  • Not implemented.
feSpecularLighting
  • Not implemented.
feTile
  • Not implemented.
feTurbulence
  • Not implemented.
feDistantLight
  • Not implemented.
fePointLight
  • Not implemented.
feSpotLight
  • Not implemented.
feFuncR
  • Not implemented.
feFuncG
  • Not implemented.
feFuncB
  • Not implemented.
feFuncA
  • Not implemented.
Cursor Module
cursor
  • Not implemented.
Hyperlinking Module
a
  • Implemented as an XBL binding - object is not of type SVGAElement.
  • Only xlink:href, xlink:show, and xlink:target (as of Firefox 2) attributes implemented.
View Module
view
  • Not implemented.
Scripting Module
script
  • Implemented.
Animation Module
animate
  • Not implemented.
set
  • Not implemented.
animateMotion
  • Not implemented.
animateTransform
  • Not implemented.
animateColor
  • Not implemented.
mpath
  • Not implemented.
Font Module
font
  • Not implemented.
font-face
  • Not implemented.
glyph
  • Not implemented.
missing-glyph
  • Not implemented.
hkern
  • Not implemented.
vkern
  • Not implemented.
font-face-src
  • Not implemented.
font-face-uri
  • Not implemented.
font-face-format
  • Not implemented.
font-face-name
  • Not implemented.
definition-src
  • Not implemented.
Extensibility Module
foreignObject
  • Implemented, but not built.
{{ wiki.languages( { "fr": "fr/SVG_dans_Firefox_1.5", "ja": "ja/SVG_in_Firefox_1.5" } ) }}

Revision Source

<p>
Firefox 2 continues to make progress toward a broader implementation of  <a class="external" href="http://www.w3.org/Graphics/SVG/">Scalable Vector Graphics (SVG)</a> functionality.
</p><p>Firefox SVG is a subset of <a class="external" href="http://www.w3.org/TR/SVG11/">SVG 1.1</a>, but not any of the official profiles (Tiny, Basic, Full).  A full list of the elements and whether they've been implemented for Firefox 2 can be found at the end of this document.  The rest of this document attempts to provide you with information about our implementation's limitations.
</p><p>We realize that the pecularities of our implementation can be bothersome when developing content, but we ask for your forbearing as we work towards a full implementation of this large specification.
</p><p>Reading through this document, you might be wondering when these implementation details might change.  Unfortunately the <a class="external" href="http://www.mozilla.org/roadmap/gecko-1.9-roadmap.html">current roadmap</a> puts the public release of Firefox based on the next version of Gecko
a fair ways into the future, in the first quarter of 2007.  However if you want to start experimenting with the new functionality, <a class="external" href="http://www.mozilla.org/developer/#builds">nightly builds</a> of the current development are available.
</p>
<h2 name="Performance"> Performance </h2>
<p>All platforms that Firefox ships for use the same rendering backend, <a class="external" href="http://cairographics.org/">cairo</a>, so their performance characteristics will generally be similar. Performance on Linux is the hardest to predict, as it will vary due to various X servers' implementation of the RENDER extension.
</p><p>SVG rendering in Windows is considerably faster than on other platforms.
</p>
<h2 name="Coordinate_range"> Coordinate range </h2>
<p>If your content has geometry with a large coordinate range, you need to watch out for problems caused by cairo's internal use of a 16.16 bit fixed point representation for calculations.  Cairo doesn't clip primitives before rasterization, so final coordinates after transformation that exceed the range -32678 to 32677 will cause rendering errors and possibly very slow performance.
</p>
<h2 name="Text_on_Windows_98"> Text on Windows 98 </h2>
<p>An unfortunate side effect of using cairo as the rendering backend on Windows is that text rendering does not work on Windows 98 machines. In fact, it's even more serious than that: once any text is encountered during rendering of SVG content, all further drawing will stop.
</p>
<h2 name="Font_selection"> Font selection </h2>
<p>If you're familiar with CSS you probably know that it allows you to specify fallback fonts for the font properties in case glyphs are unavailable in particular font.  The current SVG rendering backend will only try using the first font specified, and if it doesn't exist will use a platform font.  The fallback fonts are never used; so, for
example, <code>font-family="Arial,LucidaSansUnicode"</code> won't result in LucidaSansUnicode being used if Arial is not available.
</p>
<h2 name="Printing"> Printing </h2>
<p>Currently printing is unfortunately not done using the vector properties of SVG to generate extremely crisp output, but instead rendered at screen resolution and then output as an image.
</p><p>Font sizes when printing on Windows will be much larger than specified for SVG.
</p>
<h2 name="Group_opacity"> Group opacity </h2>
<p>The group opacity property <code>opacity</code>allows SVG container objects to be treated as a partially transparent layer, and is separate from the <code>fill-opacity</code> and <code>stroke-opacity</code> properties.  The current implementation of <code>opacity</code> is fairly expensive, so should be used sparingly.  <code>fill-opacity</code> and <code>stroke-opacity</code> are much faster, and depending on your content can yield the same results.
</p><p>Group opacity is currently only implemented for<code> &lt;g&gt;</code> and not for <code>&lt;text&gt;</code> or <code>&lt;svg&gt;</code>.
</p>
<h2 name="Stroking_fonts"> Stroking fonts </h2>
<p>On the Microsoft Windows and Mac OSX platforms, the stroke of the text doesn't exactly match the fill.  The error is typically quite small, and can be covered by using a slightly thicker stroke.  An example of this difference:
</p><p><img alt="Image:text-fill-stroke.png" src="File:en/Media_Gallery/Text-fill-stroke.png">
</p>
<h2 name=".3Cimage.3E"> <code>&lt;image&gt;</code> </h2>
<p><code>&lt;image&gt;</code> does not support SVG images in Firefox 1.5; instead, it only the raster image formats handled by Firefox.
</p><p>All instances of <code>&lt;image&gt;</code> have a separate copy of the image being used, which is something to keep in mind if your content is using multiple copies of an image for an icon or such.  Unfortunately <code>&lt;use&gt;</code> of <code>&lt;image&gt;</code> content counts as another copy in this case.
</p><p>Additionally, heavy use of raster images in SVG can badly degrade performance in Firefox 1.5.
</p>
<h2 name="Events"> Events </h2>
<p>We support the SVG event attributes with the exception of <code>onfocusin</code>, <code>onfocusout</code>, and <code>onactivate</code>.
</p><p>Our <code>onload</code> handling is currently somewhat nonstandard, but hopefully not in a way that hurts its use.  While the code specified by the <code>onload</code> attribute is called for each element, an <code>SVGLoad</code> event is only fired for the root <code>&lt;svg&gt;</code> element.  Some DOM methods will return garbage or an error if called before the corresponding element has been rendered, which you may need to take into account when writing <code>onload</code> code.  Such methods are <code>getBBox</code>, <code>getScreenCTM</code>, etc.
</p><p>We do not support the Adobe specific key events (<code>onkeydown</code>, <code>onkeyup</code>).
</p>
<h2 name="Interoperability"> Interoperability </h2>
<p>If you're working with current SVG content, you may encounter problems loading it into Firefox.  Most of the problems tend to be fairly trivial, and are the result of Firefox being a stricter implementation.  Jonathan Watt's <a class="external" href="http://jwatt.org/svg/authoring/">SVG Authoring Guidelines</a> explains the common problems.
</p>
<h2 name="SVG_usage_situations"> SVG usage situations </h2>
<p>Firefox 1.5 handles SVG as entire documents or when referenced by <code>embed</code>, <code>object</code>, or <code>iframe</code>.  It cannot currently be used as source for an HTML or XHTML <code>img</code> element or for CSS properties that take an image reference.
</p>
<h2 name="Animation"> Animation </h2>
<p>Firefox 1.5 does not implement declarative animation, but does support dynamic scripting.  Doug Shepers has used this to create <a class="external" href="http://www.vectoreal.com/smilscript/">SmilScript</a>, a small Javascript library that implements a subset of SVG's declarative animation.
</p>
<h2 name="Bugs_fixed_in_Firefox_2"> Bugs fixed in Firefox 2 </h2>
<p>Firefox 2 fixes some bugs in its SVG implementation.  This section provides a quick overview of the most interesting ones.
</p>
<ul><li> A problem filling and stroking text in which the drawing position isn't reset correctly between the two operations has been fixed (bug <a class="external" href="https://bugzilla.mozilla.org/show_bug.cgi?id=333615">333615</a>).
</li></ul>
<ul><li> Radial gradients now properly clamp the <code>fx</code> and <code>fy</code> attributes to ensure that they're within the circumference of a circle (bug <a class="external" href="https://bugzilla.mozilla.org/show_bug.cgi?id=330682">330682</a>).
</li></ul>
<ul><li> Text spans' and text elements' lengths can now be computed using their <code>getComputedTextLength()</code> methods, which improves compatibility with certain web sites (bugs <a class="external" href="https://bugzilla.mozilla.org/show_bug.cgi?id=311031">311031</a> and <a class="external" href="https://bugzilla.mozilla.org/show_bug.cgi?id=264380">264380</a>).
</li></ul>
<ul><li> <code>&lt;tspan&gt;</code> elements now properly support the <code>dx</code> and <code>dy</code> attributes, and work if the <code>x</code> and <code>y</code> attributes aren't specified (bug <a class="external" href="https://bugzilla.mozilla.org/show_bug.cgi?id=311063">311063</a>).
</li></ul>
<ul><li> Improved invalidation logic on redraws, which prevents dropped pixels in certain cases (bug <a class="external" href="https://bugzilla.mozilla.org/show_bug.cgi?id=312269">312269</a>).
</li></ul>
<ul><li> Fixed a bug that prevented events from being handled properly for objects exposed by the clip path of another object (bug <a class="external" href="https://bugzilla.mozilla.org/show_bug.cgi?id=315861"> 315861).
</a></li></ul><a class="external" href="https://bugzilla.mozilla.org/show_bug.cgi?id=315861">
</a><ul><a class="external" href="https://bugzilla.mozilla.org/show_bug.cgi?id=315861"></a><li><a class="external" href="https://bugzilla.mozilla.org/show_bug.cgi?id=315861"> Fixed a bug that would crash if a <code>&lt;path&gt;</code> element had a <code>d</code> attribute with an empty string (bug </a><a class="external" href="https://bugzilla.mozilla.org/show_bug.cgi?id=318379">318379</a>).
</li></ul>
<ul><li> The <code>overflow</code> attribute now works for the <code>marker</code> element, using the syntax <code>overflow="visible"</code>, which did not previously work correctly (bug <a class="external" href="https://bugzilla.mozilla.org/show_bug.cgi?id=320623">320623</a>).
</li></ul>
<ul><li> You can now access the <code>&lt;style&gt;</code> attribute of <code>marker</code> elements without throwing an exception (bug <a class="external" href="https://bugzilla.mozilla.org/show_bug.cgi?id=323589">323589</a>).
</li></ul>
<ul><li> You can now use percent values for the radius of a radial gradient (bug <a class="external" href="https://bugzilla.mozilla.org/show_bug.cgi?id=323669">323669</a>).
</li></ul>
<ul><li> The <code>documentElement.createSVGAngle()</code> method is now implemented (bug <a class="external" href="https://bugzilla.mozilla.org/show_bug.cgi?id=327437">327437</a>).
</li></ul>
<ul><li> Making a <code>&lt;stop&gt;</code> element a child of another <code>&lt;stop&gt;</code> element no longer asserts (bug <a class="external" href="https://bugzilla.mozilla.org/show_bug.cgi?id=328137">328137</a>).
</li></ul>
<ul><li> Changes to the height and width of markers, as well as to the orientation of the marker, now work (bug <a class="external" href="https://bugzilla.mozilla.org/show_bug.cgi?id=325728">325728</a>).
</li></ul>
<h2 name="Element_implementation_status"> Element implementation status </h2>
  <table border="1" cellpadding="2px;" cellspacing="0" rules="all" style="margin:5px;">
   <tbody><tr>
    <th><b>Element</b></th>
    <th><b>Notes</b></th>
   </tr>

   <tr>
    <th colspan="2"><a class="external" href="http://www.w3.org/TR/SVG11/struct.html#basic-structure-mod">Structure Module</a></th>
   </tr>

   <tr style="color:black; background-color:lightgreen">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/struct.html#SVGElement">svg</a></td>
    <td>
      <ul>
        <li>Implemented.
        </li><li><code>currentScale</code> and <code>currentTranslate</code>
		DOM attributes are implemented, but there is no pan and zoom user
		interface.
   </li><li>SVGSVGElement
    <ul>
     <li>
      Unimplemented attributes: contentScriptType, contentStyleType, viewport,
      useCurrentView, currentView
     </li>
     <li>
      Unimplemented bindings: pauseAnimations, unpauseAnimations,
      animationsPaused, getCurrentTime, setCurrentTime, getIntersectionList,
      getEnclosureList, checkIntersection, checkEnclosure, deselectAll,
      createSVGAngle, getElementById
     </li>
    </ul>
      </li></ul>
    </td>
   </tr>
   <tr style="color:black; background-color:lightgreen">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/struct.html#GElement">g</a></td>
    <td>
      <ul>
        <li>Implemented.
      </li></ul>
    </td>
   </tr>
   <tr style="color:black; background-color:lightgreen">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/struct.html#DefsElement">defs</a></td>
    <td>
      <ul>
        <li>Implemented.
      </li></ul>
    </td>
   </tr>
   <tr style="color:black; background-color:lightgreen">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/struct.html#DescElement">desc</a></td>
    <td>
      <ul>
        <li>Implemented.
        </li><li>Only stored in the DOM, no user interface.&lt;/td&gt;
      </li></ul>
    </td>
   </tr>
   <tr style="color:black; background-color:lightgreen">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/struct.html#TitleElement">title</a></td>
    <td>
      <ul>
        <li>Implemented.
      </li></ul>
    </td>
   </tr>
   <tr style="color:black; background-color:lightgreen">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/metadata.html#MetadataElement">metadata</a></td>
    <td>
      <ul>
        <li>Implemented.
	</li><li>Only stored in the DOM, no user interface.&lt;/td&gt;
      </li></ul>
    </td>
   </tr>
   <tr style="color:black; background-color:lightgreen">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/struct.html#SymbolElement">symbol</a></td>
    <td>
      <ul>
        <li>Implemented.
      </li></ul>
    </td>
   </tr>
   <tr style="color:black; background-color:lightgreen">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/struct.html#UseElement">use</a></td>
    <td>
    <ul>
      <li>Implemented.
      </li><li>Only works for internal document references (<a class="external" href="https://bugzilla.mozilla.org/show_bug.cgi?id=269482">bug 269482</a>).
      </li><li>Doesn't completely follow &lt;svg:use&gt; cascading rules (<a class="external" href="https://bugzilla.mozilla.org/show_bug.cgi?id=265894">bug 265894</a>).
      </li><li>Doesn't deliver events to a SVGElementInstance tree (<a class="external" href="https://bugzilla.mozilla.org/show_bug.cgi?id=265895">bug 265895</a>).
   </li></ul>
      </td>
   </tr>

   <tr>
    <th colspan="2"><a class="external" href="http://www.w3.org/TR/SVG11/struct.html#conditional-mod">Conditional Processing Module</a></th>
   </tr>

   <tr style="color:black; background-color:lightgreen">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/struct.html#SwitchElement">switch</a></td>
    <td>
      <ul>
        <li>Implemented.
      </li></ul>
    </td>
   </tr>

   <tr>
    <th colspan="2"><a class="external" href="http://www.w3.org/TR/SVG11/struct.html#image-mod">Image Module</a></th>
   </tr>

   <tr style="color:black; background-color:lightgreen">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/struct.html#ImageElement">image</a></td>
    <td>
      <ul>
        <li>Implemented.
        </li><li>Only works for raster images (<a class="external" href="https://bugzilla.mozilla.org/show_bug.cgi?id=272288">bug 272288</a>).
      </li></ul>
    </td>
   </tr>

   <tr>
    <th colspan="2"><a class="external" href="http://www.w3.org/TR/SVG11/styling.html#style-mod">Style Module</a></th>
   </tr>

   <tr style="color:black; background-color:lightgreen">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/styling.html#StyleElement">style</a></td>
    <td>
      <ul>
        <li>Implemented.
      </li></ul>
    </td>
   </tr>

   <tr>
    <th colspan="2"><a class="external" href="http://www.w3.org/TR/SVG11/shapes.html#shape-mod">Shape Module</a></th>
   </tr>

   <tr style="color:black; background-color:lightgreen">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/paths.html#PathElement">path</a></td>
    <td>
      <ul>
        <li>Implemented.</li>
   <li>SVGPathElement Interface
    <ul>
     <li>
      Unimplemented attributes: pathLength, normalizedPathSegList,
      animatedPathSegList, animatedNormalizedPathSegList
     </li>
     <li>
      Unimplemented bindings: getTotalLength, getPointAtLength, getPathSegAtLength
     </li>
    </ul>
    </li>
    <li>SVGPathSegList Interface
      <ul>
        <li>Unimplemented bindings: replaceItem()</li>
      </ul>
    </li>
    </ul>
    </td>
   </tr>
   <tr style="color:black; background-color:lightgreen">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/shapes.html#RectElement">rect</a></td>
    <td>
      <ul>
        <li>Implemented.
      </li></ul>
    </td>
   </tr>
   <tr style="color:black; background-color:lightgreen">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/shapes.html#CircleElement">circle</a></td>
    <td>
      <ul>
        <li>Implemented.
      </li></ul>
    </td>
   </tr>
   <tr style="color:black; background-color:lightgreen">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/shapes.html#LineElement">line</a></td>
    <td>
      <ul>
        <li>Implemented.
      </li></ul>
    </td>
   </tr>
   <tr style="color:black; background-color:lightgreen">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/shapes.html#EllipseElement">ellipse</a></td>
    <td>
      <ul>
        <li>Implemented.
      </li></ul>
    </td>
   </tr>
   <tr style="color:black; background-color:lightgreen">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/shapes.html#PolylineElement">polyline</a></td>
    <td>
      <ul>
        <li>Implemented.
      </li></ul>
    </td>
   </tr>
   <tr style="color:black; background-color:lightgreen">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/shapes.html#PolygonElement">polygon</a></td>
    <td>
      <ul>
        <li>Implemented.
      </li></ul>
    </td>
   </tr>

   <tr>
    <th colspan="2"><a class="external" href="http://www.w3.org/TR/SVG11/text.html#text-mod">Text Module</a></th>
   </tr>

   <tr style="color:black; background-color:lightgreen">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/text.html#TextElement">text</a></td>
    <td>
      <ul>
        <li>Implemented.
   </li><li>SVGTextElement
    <ul>
     <li>
      Unimplemented attributes: rotate, textLength, lengthAdjust
     </li>
     <li>
      Unimplemented bindings: getNumberOfChars, getSubStringLength,
      getStartPositionOfChar, getEndPositionOfChar, getRotationOfChar,
      getCharNumAtPosition, selectSubString
     </li>
     <li>
      Bindings not functional at <code>onload</code> time: getExtentOfChar
     </li>
    </ul>
      </li></ul>
    </td>
   </tr>
   <tr style="color:black; background-color:lightgreen">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/text.html#TSpanElement">tspan</a></td>
    <td>
      <ul>
        <li>Implemented.
   </li><li>SVGTSpanElement
    <ul>
     <li>
      Unimplemented attributes: rotate, textLength, lengthAdjust
     </li>
     <li>
      Unimplemented bindings: getNumberOfChars, getComputedTextLength,
      getSubStringLength, getStartPositionOfChar, getEndPositionOfChar,
      getExtentOfChar, getRotationOfChar, getCharNumAtPosition, selectSubString
     </li>
    </ul>
      </li></ul>
    </td>
   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/text.html#TRefElement">tref</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>
   </tr>
   <tr style="color:black; background-color:lightgreen">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/text.html#TextPathElement">textPath</a></td>
    <td>
      <ul>
        <li>Implemented in Firefox 2.
        </li><li>Unimplemented attributes: method, spacing, textLength, lengthAdjust
      </li></ul>
    </td>
   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/text.html#AltGlyphElement">altGlyph</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>
   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/text.html#AltGlyphDefElement">altGlyphDef</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>
   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/text.html#AltGlyphItemElement">altGlyphItem</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>
   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/text.html#GlyphRefElement">glyphRef</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>
   </tr>

   <tr>
    <th colspan="2"><a class="external" href="http://www.w3.org/TR/SVG11/painting.html#marker-mod">Marker Module</a></th>
   </tr>

   <tr style="color:black; background-color:lightgreen">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/painting.html#MarkerElement">marker</a></td>
    <td>
      <ul>
        <li>Implemented.
      </li></ul>
    </td>
   </tr>

   <tr>
    <th colspan="2"><a class="external" href="http://www.w3.org/TR/SVG11/color.html#color-profile-mod">Color Profile Module</a></th>
   </tr>

   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/color.html#ColorProfileElement">color-profile</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>
   </tr>

   <tr>
    <th colspan="2"><a class="external" href="http://www.w3.org/TR/SVG11/pservers.html#gradient-mod">Gradient Module</a></th>
   </tr>

   <tr style="color:black; background-color:lightgreen">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/pservers.html#LinearGradientElement">linearGradient</a></td>
    <td>
      <ul>
        <li>Implemented.
      </li></ul>
    </td>
   </tr>
   <tr style="color:black; background-color:lightgreen">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/pservers.html#RadialGradientElement">radialGradient</a></td>
    <td>
      <ul>
        <li>Implemented.
      </li></ul>
    </td>

   </tr>
   <tr style="color:black; background-color:lightgreen">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/pservers.html#StopElement">stop</a></td>
    <td>
      <ul>
        <li>Implemented.
      </li></ul>
    </td>
   </tr>

   <tr>
    <th colspan="2"><a class="external" href="http://www.w3.org/TR/SVG11/pservers.html#pattern-mod">Pattern Module</a></th>
   </tr>

   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/pservers.html#PatternElement">pattern</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>
   </tr>

   <tr>
    <th colspan="2"><a class="external" href="http://www.w3.org/TR/SVG11/masking.html#clip-mod">Clip Module</a></th>
   </tr>

   <tr style="color:black; background-color:lightgreen">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/masking.html#ClipPathElement">clipPath</a></td>
    <td>
      <ul>
        <li>Implemented.
        </li><li>Won't handle clip paths with have elements with
   different clip-rule properties or that reference other clipPaths. (<a class="external" href="https://bugzilla.mozilla.org/show_bug.cgi?id=267224">bug 267224</a>).
      </li></ul>
    </td>

   </tr>

   <tr>
    <th colspan="2"><a class="external" href="http://www.w3.org/TR/SVG11/masking.html#mask-mod">Mask Module</a></th>
   </tr>

   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/masking.html#MaskElement">mask</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>

   </tr>

   <tr>
    <th colspan="2"><a class="external" href="http://www.w3.org/TR/SVG11/filters.html#filter-mod">Filter Module</a></th>
   </tr>

   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/filters.html#FilterElement">filter</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>

   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/filters.html#feBlendElement">feBlend</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>

   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/filters.html#feColorMatrixElement">feColorMatrix</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>

   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/filters.html#feComponentTransferElement">feComponentTransfer</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>

   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/filters.html#feCompositeElement">feComposite</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>

    </tr>
    <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/filters.html#feConvolveMatrixElement">feConvolveMatrix</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>

   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/filters.html#feDiffuseLightingElement">feDiffuseLighting</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>

   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/filters.html#feDisplacementMapElement">feDisplacementMap</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>

   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/filters.html#feFloodElement">feFlood</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>

   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/filters.html#feGaussianBlurElement">feGaussianBlur</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>

   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/filters.html#feImageElement">feImage</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>

   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/filters.html#feMergeElement">feMerge</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>

   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/filters.html#feMergeNodeElement">feMergeNode</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>

   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/filters.html#feMorphologyElement">feMorphology</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>

   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/filters.html#feOffsetElement">feOffset</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>

   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/filters.html#feSpecularLightingElement">feSpecularLighting</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>

   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/filters.html#feTileElement">feTile</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>

   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/filters.html#feTurbulenceElement">feTurbulence</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>

   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/filters.html#feDistantLightElement">feDistantLight</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>

   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/filters.html#fePointLightElement">fePointLight</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>

   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/filters.html#feSpotLightElement">feSpotLight</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>

   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/filters.html#feFuncRElement">feFuncR</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>

   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/filters.html#feFuncGElement">feFuncG</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>

   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/filters.html#feFuncBElement">feFuncB</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>

   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/filters.html#feFuncAElement">feFuncA</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>

   </tr>

   <tr>
    <th colspan="2"><a class="external" href="http://www.w3.org/TR/SVG11/interact.html#cursor-mod">Cursor Module</a></th>
   </tr>

   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/interact.html#CursorElement">cursor</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>

   </tr>

   <tr>
    <th colspan="2"><a class="external" href="http://www.w3.org/TR/SVG11/linking.html#hyperlinking-mod">Hyperlinking Module</a></th>
   </tr>

   <tr style="color:black; background-color:lightgreen">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/linking.html#AElement">a</a></td>
    <td>
      <ul>
	<li>Implemented as an XBL binding - object is not of type
	   SVGAElement.</li>
	<li>Only <code>xlink:href</code>, <code>xlink:show</code>, and <code>xlink:target</code> (as of Firefox 2)
	   attributes implemented.</li>
      </ul>
    </td>
   </tr>

   <tr>
    <th colspan="2"><a class="external" href="http://www.w3.org/TR/SVG11/linking.html#view-mod">View Module</a></th>
   </tr>

   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/linking.html#ViewElement">view</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>

   </tr>

   <tr>
    <th colspan="2"><a class="external" href="http://www.w3.org/TR/SVG11/script.html#scripting-mod">Scripting Module</a></th>
   </tr>

   <tr style="color:black; background-color:lightgreen">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/script.html#ScriptElement">script</a></td>
    <td>
      <ul>
        <li>Implemented.
      </li></ul>
    </td>

   </tr>

   <tr>
    <th colspan="2"><a class="external" href="http://www.w3.org/TR/SVG11/animate.html#animation-mod">Animation Module</a></th>
   </tr>

   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/animate.html#AnimateElement">animate</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>

   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/animate.html#SetElement">set</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>

   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/animate.html#AnimateMotionElement">animateMotion</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>

   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/animate.html#AnimateTransformElement">animateTransform</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>

   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/animate.html#AnimateColorElement">animateColor</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>

   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/animate.html#mpathElement">mpath</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>
   </tr>

   <tr>
    <th colspan="2"><a class="external" href="http://www.w3.org/TR/SVG11/fonts.html#font-mod">Font Module</a></th>
   </tr>

   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/fonts.html#FontFaceElement">font</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>
   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/fonts.html#FontFaceNameElement">font-face</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>
   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/fonts.html#GlyphElement">glyph</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>
   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/fonts.html#MissingGlyphElement">missing-glyph</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>
   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/fonts.html#HKernElement">hkern</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>
   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/fonts.html#VKernElement">vkern</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>
   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/fonts.html#FontFaceSrcElement">font-face-src</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>
  </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/fonts.html#FontFaceNameElement">font-face-uri</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>
   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/fonts.html#FontFaceNameElement">font-face-format</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>
   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/fonts.html#FontFaceNameElement">font-face-name</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>
   </tr>
   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/fonts.html#DefinitionSrcElement">definition-src</a></td>
    <td>
      <ul>
        <li>Not implemented.
      </li></ul>
    </td>
   </tr>

   <tr>
    <th colspan="2"><a class="external" href="http://www.w3.org/TR/SVG11/extend.html#extensibility-mod">Extensibility Module</a></th>
   </tr>

   <tr style="color:black; background-color:salmon">
    <td><a class="external" href="http://www.w3.org/TR/SVG11/extend.html#ForeignObjectElement">foreignObject</a></td>
    <td>
      <ul>
        <li>Implemented, but not built.
      </li></ul>
    </td>
   </tr>
  </tbody></table>
{{ wiki.languages( { "fr": "fr/SVG_dans_Firefox_1.5", "ja": "ja/SVG_in_Firefox_1.5" } ) }}
Revert to this revision