SVG 2 support in Mozilla

This article needs a technical review. How you can help.

Draft
This page is not complete.

SVG 2 is the next major version of the SVG standard, which is a complete rework of the SVG 1.2 draft.

Version 2 contains a lot of changes regarding the last stable version SVG 1.1. Those changes are listed below including their support status within Mozilla applications.

General

Change Notes
length attribute and indexed property for list interfaces Implementation status unknown
<script> element in content model of all elements Implementation status unknown
initialize(), appendItem(), replaceItem() and insertItemBefore() on list objects making a copy of any list item being inserted that is already in another list Implementation status unknown
crossorigin attribute for <image> and <script> elements Not implemented yet (at least for <image>; bug 1240357)

Rendering Model

Change Notes
Allow overflow: auto; to clip and show scroll bars Implementation status unknown
Allow overflow: scroll; to show scroll bars on <svg> elements Implementation status unknown

Basic Data Types and Interfaces

Change Notes
DOMMatrix or DOMMatrixReadOnly instead of SVGMatrix Implementation status unknown
DOMRect or DOMRectReadOnly instead of SVGRect Implementation status unknown
DOMPoint or DOMPointReadOnly instead of SVGPoint Implementation status unknown
Members of SVGStylable and SVGLangSpace available in SVGElement Implementation status unknown
SVGGraphicsElement instead of SVGLocatable and SVGTransformable Implementation status unknown
SVGGeometryElement Not implemented (bug 1239100)
SVGExternalResourcesRequired removed Implementation status unknown
SVGElement.viewportElement and SVGElement.ownerSVGElement nullable Implementation status unknown
SVGElement.getPresentationAttribute() removed Never implemented (prototype removed in bug 921456)
SVGColor and SVGICCColor removed Never implemented
SVGElement.focus(), SVGElement.blur() Not implemented (bug 778654)
SVGElement.tabIndex Not implemented (bug 778654)
Document.activeElement Implementation status unknown
GlobalEventHandlers on SVGElement Implementation status unknown
options dictionary attribute for SVGGraphicsElement.getBBox() Implemented behind the preference svg.new-getBBox.enabled (bug 999964, bug 1019326)
Allow leading and trailing whitespace in <length>, <angle>, <number> and <integer> Implementation status unknown
Form feed (U+000C) in whitespace Implementation status unknown
SVGElement.xmlbase, SVGElement.xmllang and SVGElement.xmlspace removed Implementation status unknown
SVGViewSpec removed Implementation status unknown
SVGGraphicsElement.getTransformToElement() removed Not removed yet
SVGGraphicsElement.getCTM() on the outermost element Implementation status unknown
animVal attribute alias of baseVal Implementation status unknown

Document Structure

Change Notes
SVGSVGElement.suspendRedraw(), SVGSVGElement.unsuspendRedraw() and SVGSVGElement.unsuspendRedrawAll() deprecated Deprecated in bug 734079
externalResourcesRequired attribute removed Implementation status unknown
auto value for width and height in <image> Implementation status unknown
referencing entire document Implementation status unknown
lang attribute on <desc> and <title> Implemented (bug 721920)
CSS transforms on outermost <svg> not affecting SVGSVGElement.currentScale or SVGSVGElement.currentTranslate Implementation status unknown
rootElement attribute deprecated Implementation status unknown
SVGElementInstance and SVGElementInstanceList and corresponding attributes on SVGUseElement removed Implementation status unknown
<use> event flow following Shadow DOM spec. Implementation status unknown
auto as initial value for width and height attributes of <svg> Implementation status unknown
baseProfile and version attributes removed from <svg> Implementation status unknown
SVGSVGElement.forceRedraw() deprecated Implementation status unknown
SVGSVGElement.deselectAll() deprecated Implementation status unknown
<switch> not affecting <style> Implementation status unknown
requiredFeatures attribute removed Implementation status unknown
SVGSVGElement.currentView and SVGSVGElement.useCurrentView removed SVGSVGElement.currentView was never implemented, SVGSVGElement.useCurrentView not removed yet (bug 1174097)
SVGUnknownElement Not implemented (bug 1239218)
lang attribute without namespace Implemented (bug 721920)
SVGSVGElement.viewport removed Never implemented
xml:base attribute removed Implementation status unknown

Styling

Change Notes
contentStyleType attribute removed Implementation status unknown
LinkStyle on SVGStyleElement Implemented (bug 1239128 (Firefox 46.0 / Thunderbird 46.0 / SeaMonkey 2.43))
Inner <svg>s and <foreignObjects>s not overflow: hidden; in UA style sheet Implementation status unknown
overflow: hidden; on <hatch> in UA style sheet Implementation status unknown
0 0 as default value of transform-origin except root <svg> and <svg> children of <foreign> Implementation status unknown
Use of white-space instead of deprecated xml:space attribute in UA style sheet Implementation status unknown
@font-face, ::first-letter and ::first-line on <text> Implementation status unknown
SVG and HTML style sheets in HTML document with inline SVG applying to whole document content Implementation status unknown

Geometry

Change Notes
x and y attributes removed from <pattern> and <filter> Implementation status unknown
auto value of width and height computes to 0 Not implemented

Coordinate Systems, Transformations and Units

Change Notes
Exception for bad values on SVGMatrix.skewX() and SVGMatrix.skewY() Implementation status unknown
defer keyword removed from preserveAspectRatio attribute Implementation status unknown

Paths

Change Notes
B and b path commands Implementation status unknown
Z and z path commands to add path coordinate data to previous command Implementation status unknown
Not render <path>, <polygon> and <polyline> with no data Implementation status unknown
SVGPathSeg*, SVGAnimatedPathData and related methods removed from SVGPathElement Implementation status unknown

Basic Shapes

Change Notes
SVGAnimatedPoints.animatedPoints as alias of SVGAnimatedPoints.points Implementation status unknown

Text

Change Notes
inline-size attribute for <text> Implementation status unknown
white-space Implementation status unknown
Deprecated xml:space attribute Implementation status unknown
kerning property removed Implementation status unknown
d attribute for <textPath> Implementation status unknown
Reference basic shapes to <textPath> Implementation status unknown
<tref> removed Implementation status unknown
<altGlyph>, <altGlyphDef>, <altGlyphItem> and <glyphRef> removed Implementation status unknown
SVGTextContentElement.selectSubString() deprecated Implementation status unknown
getComputedTextLength() not including dx and dy values Implementation status unknown

Embedded Content

Change Notes
<video> Implementation status unknown
<audio> Implementation status unknown
<iframe> Implementation status unknown
<canvas> Implementation status unknown
<source> Implementation status unknown
<track> Implementation status unknown

Painting

Change Notes
paint-order Implemented (bug 828805)
will-change Implementation status unknown
context-fill and context-stroke paint values Implemented (bug 719286 (Firefox 18.0 / Thunderbird 18.0 / SeaMonkey 2.15) and bug 798843 (Firefox 26.0 / Thunderbird 26.0 / SeaMonkey 2.23))
child keyword for <paint> values and marker properties Implementation status unknown
ID-less referencing in <child-selector> values Implementation status unknown
vector-effect property Only none and non-scaling-stroke values are supported (bug 528332 (Firefox 15 / Thunderbird 15 / SeaMonkey 2.12), bug 1265666)
arcs value for stroke-linejoin Not implemented (bug 1239142)
auto-start-reverse value for <marker>'s orient attribute Implemented (bug 879659)
SVGPaint removed Implementation status unknown
fill and stroke taking multiple paints Implementation status unknown
z-index Not implemented (bug 360148
child(<integer>) paint value Implementation status unknown

Color

Change Notes
color-profile removed Implementation status unknown
<color-profile> removed Implementation status unknown

Paint Servers

Change Notes
<solidcolor> (renamed solidColor) Not implemented (bug 1177032)
fr attribute for <radialGradient> Implementation status unknown
<mesh> (renamed meshGradient) Not implemented (bug 1238882)
<meshrow> (renamed meshRow) Not implemented (bug 1238882)
<meshpatch> (renamed meshPatch) Not implemented (bug 1238882)
<hatch> Not implemented (bug 1239147)
<hatchpath> (renamed hatchPath) Not implemented (bug 1239147)
transform attribute on <mesh> and <hatch> (renamed gradientTransform and hatchTransform) Not implemented

Interactivity

Change Notes
bounding-box on pointer-events Not implemented (bug 945187)
load, abort, error and unload instead of SVGLoad, SVGAbort, SVGError and SVGUnload Not implemented (bug 620002)
resize and scroll instead of SVGResize and SVGScroll Implementation status unknown
DOMActivate removed Implementation status unknown
focusin and focusout instead of DOMFocusIn and DOMFocusOut Implementation status unknown
Keyboard events Implementation status unknown
Mutation events removed Implementation status unknown

Linking

Change Notes
Link SVG resources with fragment identifiers Implementation status unknown
xlink:type, xlink:role, xlink:arcrole, xlink:show and xlink:actuate attributes removed Implementation status unknown
xlink:href attribute deprecated in favor of href Not implemented (bug 1245751)
xlink:title attribute deprecated in favor of child <title> Implementation status unknown
Spaces in SVG view fragments Implementation status unknown
pixel: and percent: spatial media fragments Implementation status unknown
viewTarget attribute of <view> and corresponding SVG view fragment parameter removed Implementation status unknown

Fonts

Change Notes
<font>, <glyph>, <missing-glyph>, <hkern>, <vkern>, <font-face>, <font-face-src>, <font-face-uri>, <font-face-format> and <font-face-name> and corresponding IDL interfaces removed Implementation status unknown

Document Tags and Contributors

Tags: 
 Contributors to this page: Sebastianz, rolfedh
 Last updated by: Sebastianz,