Re: [svgwg] `SVGTransform.matrix` returns `SVGMatrix` in all browsers (#1055)

**The specs**:

**SVG 1.1**
W3C Recommendation 16 August 2011
https://www.w3.org/TR/2011/REC-SVG11-20110816/

```
  readonly attribute unsigned short type;
  readonly attribute SVGMatrix matrix;
  readonly attribute float angle;

  void setMatrix(in SVGMatrix matrix) raises(DOMException);
```

**SVG2** 
https://svgwg.org/svg2-draft/single-page.html#coords-InterfaceSVGTransform
W3C Editor’s Draft 14 September 2025

```
  readonly attribute unsigned short type;
  [SameObject] readonly attribute DOMMatrix matrix;
  readonly attribute float angle;

  undefined setMatrix(optional DOMMatrix2DInit matrix = {});
```

**Chromium**
https://github.com/chromium/chromium/blob/37969c6446f6082a13e66356cf08539b269074af/third_party/blink/renderer/core/svg/svg_transform.idl#L37-L40June 15, 2019

```
    [ImplementedAs=transformType] readonly attribute unsigned short type;
    // TODO(foolip): SVGMatrix should be DOMMatrix.
    readonly attribute SVGMatrix matrix;
    readonly attribute float angle;


    // TODO(foolip): SVGMatrix should be DOMMatrixReadOnly.
    [RaisesException] void setMatrix(SVGMatrix matrix);
```

**Gecko**
https://github.com/mozilla-firefox/firefox/blob/94583492da555d7f1c229b4d43c5e74e415a72d1/dom/webidl/SVGTransform.webidl#L25-L28
December 28, 2022

```
  readonly attribute unsigned short type;
  [BinaryName="getMatrix"]
  readonly attribute SVGMatrix matrix;
  readonly attribute float angle;


  [Throws]
  undefined setMatrix(optional DOMMatrix2DInit matrix = {});
```

**WebKit**
https://github.com/WebKit/WebKit/blob/7c8968c2ec20b0c7e94513704ce4773ae6c0e134/Source/WebCore/svg/SVGTransform.idl#L38-L41

```
    readonly attribute unsigned short type;
    [SameObject] readonly attribute SVGMatrix matrix;
    readonly attribute float angle;


    undefined setMatrix(optional DOMMatrix2DInit matrix = {});
```


OK I understand your table now. 

**Resolutions ( Oct 22, 2019):**

* RESOLVED: Revert decision to make SVG* geometry interfaces aliases of the DOM* geometry interfaces (pending CSS WG approval)
* RESOLVED: Change the SVG spec to use the SVG* geometry interfaces instead of DOM* interfaces
* RESOLVED: Keep the usage of DOM*Init types in the SVG spec
* RESOLVED: Ask CSS WG to approve separating out most of the geometry interfaces into mixins we can reference in SVG interface definitions.

The discussions refer to the `DOM* geometry interfaces` which I believe are in 
https://www.w3.org/TR/2014/WD-geometry-1-20140522/
Geometry Interfaces Module Level 1
W3C First Public Working Draft, 22 May 2014

which became:

https://drafts.csswg.org/geometry/
Geometry Interfaces Module Level 1
[W3C Candidate Recommendation Draft](https://www.w3.org/standards/types/#CRD), 12 December 2025


There is a mention of SVG into it.
10.2. SVG

Earlier revisions of SVG defined [SVGPoint](https://drafts.csswg.org/geometry/#svgpoint), [SVGRect](https://drafts.csswg.org/geometry/#svgrect), [SVGMatrix](https://drafts.csswg.org/geometry/#svgmatrix), which are defined in this specifications as aliases to [DOMPoint](https://drafts.csswg.org/geometry/#dompoint), [DOMRect](https://drafts.csswg.org/geometry/#domrect), [DOMMatrix](https://drafts.csswg.org/geometry/#dommatrix), respectively. [[SVG11]](https://drafts.csswg.org/geometry/#biblio-svg11)


-- 
GitHub Notification of comment by karlcow
Please view or discuss this issue at https://github.com/w3c/svgwg/issues/1055#issuecomment-3841211639 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Tuesday, 3 February 2026 13:07:36 UTC