New Version of SVG Released by W3C

The W3C (World Wide Web Consortium) has officially announced on their GitHub the official release of SVG 2.

New graphics features

Text changes

Use element changes

  • ‘use’ element now defined in terms of Web Components
    • ‘use’ elements may now reference an entire document
    • ‘use’ element ‘shadow tree’ now consist of actual ‘SVGElement’ objects in a proper shadow DOM node tree, not ‘SVGElementInstance’ pseudo-nodes.
    • Events bubbling out of a ‘use’ element shadow tree must follow the shadow DOM re-targetting rules.
    • Styles rules are resolved independently for clones versus the referenced graphics
    • Some interactive animations are now triggered independently on the shadow content vs the referenced graphics.
    • Never-rendered elements will now have a computed style of display: none
    • The shadow tree must now have a ‘ShadowRoot’ object, and implement extra functionality from shadow DOM specs.
    • All elements in a subtree must now be cloned, not only graphics elements.
    • The shadow tree has scoped stylesheets.
    • Symbol elements can have ‘x’/‘y’/‘width’/‘height’ properties.


  • Include WAI-ARIA attributes and define semantics
  • Change role mapping for the ‘a’ element to depend on whether it is actually a valid link.


  • ordering of ‘systemLanguage’ preferences follows SMIL allowReorder definition
  • Add ‘lang’ attribute to replace xml:lang’


Document structure changes

Synchronise with other tech (e.g. HTML)

  • Add additional attributes to the ‘a’ element to synchronise with HTML
  • Added ‘tabindex’ attribute
  • Update requirements for ‘id’ values to harmonize with HTML
  • ‘white space character’ set now includes form feed (U+000C) to align with HTML and CSS
  • Support ‘white-space’ property in favour of xml:space’ attribute
  • Support custom data attributes on all SVG elements
  • Support percentages and CSS lengths in many places
  • HTML ‘link’ element supported and must load external style sheets
  • Add ‘crossorigin’ attribute to the ‘image’ and ‘script’ elements
  • Inclusion of HTML ‘audio’, ‘video’, ‘iframe’, ‘canvas’, ‘source’, and ‘track’ elements

Promote attributes to presentation attributes

Other Visual changes from SVG 1.1


  • Remove DTD
  • Removed SVG Fonts
  • Removed externalResourcesRequired attribute
  • Removed baseProfile and version attributes from the ‘svg’ element
  • Removed requiredFeatures attribute
  • Removed the ‘contentStyleType’ attribute.
  • Removed xml:base
  • Removed defer keyword from preservedAspectRatio
  • Removed the tref element
  • removed the Alternate Glyph elements (altGlyph, altGlyphItem, glyphRef)
  • Removed xlink:type, xlink:role, xlink:arcrole, xlink:show, and xlink:actuate attributes
  • Removed the viewTarget attribute from the view element
  • Remove contentScriptType attribute


API Changes

To do: Draw up UML diagrams to show this info graphically