-
Notifications
You must be signed in to change notification settings - Fork 0
/
changes.html
1284 lines (1018 loc) · 59.1 KB
/
changes.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional+edit//EN" "xhtml1-transitional+edit.dtd">
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:edit="http://xmlns.grorg.org/SVGT12NG/">
<head>
<title>Changes from SVG 1.1</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/>
<!-- Style sheets for local dev. Will be standardized in processing.
Add attribute data-keep="" to any extra stylesheet link you do not want removed
(or use <style>), and include it before here. -->
<link rel="stylesheet" href="style/svg.css" type="text/css" />
<link rel="stylesheet" href="style/W3C-ED.css" type="text/css" />
</head>
<body class="ready-for-wider-review">
<h1>Changes from SVG 1.1</h1>
<p class="normativity"><em>This appendix is informative, not normative.</em></p>
<p>This appendix summarizes the changes that have been made since the
<a href="https://www.w3.org/TR/2011/REC-SVG11-20110816/">SVG 1.1 Second Edition Recommendation</a>.
Changes made since the initial <a href="https://www.w3.org/TR/2016/CR-SVG2-20160915/">SVG 2 Candidate Recommendation</a> are highlighted.
</p>
<h2 id="editorial">Editorial changes</h2>
<p>A number of stylistic changes have been made to the specification to make it more readable. These include the following:</p>
<ul>
<li>A change towards using styling similar to contemporary CSS specifications, removing mention of XSL-FO.</li>
<li>Annotations have been added to the specification to reflect features that the Working Group
has resolved on including and for which a member of the group has committed to drive that feature.</li>
<li>Changes to highlight that SVG can be used in HTML as well as in XML.</li>
<li>Removed chapters whose normative content has either been moved to other specifications or deprecated: Filters, Clipping and Masking, Animation, Fonts, Color.</li>
<li>Removed the (informative) Concepts and Backwards Compatibility chapters, as well as multiple appendices.</li>
<li>Merged and re-organized multiple chapters:
<ul>
<li>Made the (normative) Conformance appendix a chapter.</li>
<li>Moved sections on 'display' and 'visibility' properties from the Painting chapter to the Rendering Model chapter.</li>
<li>Moved remaining sections from Clipping, Masking, and Compositing chapter into the Rendering Model chapter.</li>
<li>Merged the SVG 1.1 Metadata chapter into the Document Structure chapter.</li>
<li>Moved the 'image' element definition from the Document Structure chapter to the new Embedded Content chapter.</li>
<li>Moved Foreign namespaces and private data section from the SVG 1.1 Extensibility chapter to Document Structure chapter.</li>
<li>Created the Geometry Properties chapter, and moved relevant definitions to it from the Basic Shapes and Paths chapters.</li>
<li>Created the Embedded Content chapter, and merged all content from the SVG 1 Extensibility chapter into it.</li>
<li>Merged the SVG 1.1 Scripting and Interactivity chapters.</li>
</ul>
</li>
</ul>
<div class="changed-since-cr1 cr2">
<ul>
<li>Tidied up the changes list, adding missing changes,
and adding links to issue discussion for changes since the initial Candidate Recommendation.
<a href="https://github.com/w3c/svgwg/pull/521">Edits</a>
</li>
<li>Consistently use the term "user coordinate system" (previously, the
synonymous term "local coordinate system" was also used).
<a href="https://github.com/w3c/svgwg/issues/519">Issue discussion</a>
<a href="https://github.com/w3c/svgwg/pull/552">Edits</a>
</li>
</ul>
</div>
<h2 id="substantial">Substantial changes</h2>
<p>In additional to the editorial changes listed above, the following substantial additions, changes and removals
have been made.</p>
<h3 id="whole">Across the whole document</h3>
<ul>
<li>References to the SVG DTD have been removed.</li>
<li>IDL has been updated to use Web IDL syntax.</li>
<li>Added "length" attribute and indexed property access to all list interfaces.</li>
<li>Remove definition of <a><angle></a> type and reference CSS3-values.</li>
<li>Change all coordinate types to <a><length></a> in preparation for referencing css3-values.</li>
<li>Add the <a>'script'</a> element to the content model of all elements.</li>
<li>Changed the initialize, appendItem, replaceItem and insertItemBefore methods
on list objects to make a copy of any list item being inserted that is already
in another list.</li>
<li>The <a>'image'</a> and <a>'script'</a> elements have gained a <span class="attr-name">crossorigin</span> attribute,
for use with the <em>CORS-enabled fetch</em> algorithm.</li>
</ul>
<div class='changed-since-cr1'>
<ul>
<li>Use mixins over NoInterfaceObject.
<a href="https://github.com/w3c/svgwg/issues/353">Issue discussion</a>
<a href="https://github.com/w3c/svgwg/pull/376">Edits</a></li>
</ul>
</div>
<div class='changed-since-cr1 cr2'>
<ul>
<li>Refer to HTML LS throughout.
<a href="https://github.com/w3c/svgwg/issues/514">Issue discussion</a>
<a href="https://github.com/w3c/svgwg/pull/544">Edits</a>
</li>
</ul>
</div>
<h3 id="concepts">Concepts chapter (SVG 1.1 only)</h3>
<ul>
<li>Removed this chapter.</li>
</ul>
<h3 id="conform">Conformance Criteria chapter (Appendix in SVG 1.1)</h3>
<ul>
<li>Animations do not run in documents processed
as resource documents.</li>
<li>Made the appendix a chapter.</li>
<li>Integrate content on processing modes from the SVG Integration specification.</li>
<li>Define required processing modes for different types of SVG cross-references,
with suggested processing modes for similar references from HTML/CSS.
(Replaces the "referencing modes" section from SVG Integration.)
</li>
<li>Update and re-organize all the conformance classes,
to be consistent with changes to other parts of this specification
and changes to other specifications.
</li>
<li>Make clear that a <a>SVG viewer</a> for conformance purposes
is the <a>user agent</a> / <a>SVG user agent</a> mentioned everywhere else in the spec;
move the corresponding definitions from the Document structure chapter to here.
</li>
<li>Move the non-normative section on suggested methods for generating
high-precision graphics to the Implementation Notes appendix.
</li>
</ul>
<div class='changed-since-cr1 cr2'>
<ul>
<li>Add informative references to ICC and to CSS Color 4
<a href="https://github.com/w3c/svgwg/issues/532">Issue discussion</a>
<a href="https://github.com/w3c/svgwg/pull/549">Edits</a>
</li>
</ul>
</div>
<h3 id="rendering">Rendering Model chapter</h3>
<ul>
<li>Update rendering model to refer to <a href="https://www.w3.org/TR/compositing/">Compositing and Blending Specification</a>.</li>
<li>Added new definitions regarding rendered and renderable elements.</li>
<li>Moved the section on <a>'display'</a> and <a>'visibility'</a> to this chapter.</li>
<li>Moved z-index to this chapter. Removed non-normative text, keeping examples.</li>
<li>Resolve issue 2 - removed reference to knock-out.</li>
<li>Resolve issue 3 - rewrote description of how elements and groups are rendered.</li>
<li>Resolve issue 4 - Don't mention each paint server type explicity.</li>
<li>Resolve issue 6 - No changes required.</li>
<li>Merge Clipping, Masking and Compositing chapter into this chapter (resolved issue 7 in process).</li>
<li>Update 'Parent Compositing' section to
explicitly mention how each referencing mode composites.</li>
<li>SVG root and foreignObject are no longer overflow:hidden in User Agent style sheet.</li>
<li>overflow:auto may clip and show scroll bars in some cases.</li>
<li>overflow:scroll may show scroll bars on svg elements.</li>
<li>Removed definition of initial clipping path.</li>
<li>Updated rendering requirements to reflect shadow DOM model for use elements.</li>
<li class='changed-since-cr1'>Deferred z-index support to a future version of SVG.
<a href="https://github.com/w3c/svgwg/issues/483">Issue discussion</a>
<a href="https://github.com/w3c/svgwg/pull/489">Edits</a></li>
<li class='changed-since-cr1 cr3'>Clarify that <a>'foreignObject'</a> is, and its content may be, hit-testing target.</li>
<li class='changed-since-cr1 cr2'>Removed the use element from list of elements that the <a>'visibility'</a> property directly affects.
<a href="https://github.com/w3c/svgwg/issues/405">Issue discussion</a>
<a href="https://github.com/w3c/svgwg/pull/430">Edits</a></li>
</ul>
<h3 id="types">Basic Data Types and Interfaces chapter</h3>
<ul>
<li>All appearance of <a>SVGMatrix</a> were replaced by <a>DOMMatrix</a> or <a>DOMMatrixReadOnly</a>.</li>
<li>All appearance of <a>SVGRect</a> were replaced by <a>DOMRect</a> or <a>DOMRectReadOnly</a>.</li>
<li>All appearance of <a>SVGPoint</a> were replaced by <a>DOMPoint</a> or <a>DOMPointReadOnly</a>.</li>
<li>Removed the SVGStylable and SVGLangSpace interfaces and moved all of their members on to <a>SVGElement</a>.</li>
<li>Turned SVGLocatable and SVGTransformable into <a>SVGGraphicsElement</a>,
which directly inherits from <a>SVGElement</a>.</li>
<li>Added an <a>SVGGraphicsElement</a> interface.</li>
<li>Added an <a>SVGGeometryElement</a> interface with isPointInFill and isPointInStroke methods.</li>
<li>Removed the SVGExternalResourcesRequired interface.</li>
<li>Added getStrokeBBox on <a>SVGGraphicsElement</a> to get the tight stroke bounding box.</li>
<li>Make viewportElement and ownerSVGElement on <a>SVGElement</a> nullable.</li>
<li>Removed the getPresentationAttribute operation on <a>SVGElement</a> and the SVGColor and SVGICCColor interfaces.</li>
<li>Added focus and blur operations and tabIndex attribute to <a>SVGElement</a>.</li>
<li>Added <a href="struct.html#__svg__SVGDocument__activeElement">activeElement</a> attribute to <a>Document</a>.</li>
<li>Made <a>SVGElement</a> include the <a>GlobalEventHandlers</a> interface from HTML.</li>
<li>Removed getStrokeBBox from <a>SVGGraphicsElement</a> and extended <a href="types.html#__svg__SVGGraphicsElement__getBBox">getBBox</a> with a dictionary argument that controls which parts of the element are included in the returned bounding box.</li>
<li>Allow leading and trailing whitespace in <a><length></a>, <a><angle></a>, <a><number></a> and <a><integer></a>.</li>
<li>Make whitespace include form feed (U+000C) to align with CSS and HTML.</li>
<li>Remove basic data types already defined by CSS Values and Units.</li>
<li>Remove list of color keywords. The list is part of CSS Colors 3 which is referenced normatively and a REC.</li>
<li>Allow a single trailing comma-wsp in various list-typed attributes.</li>
<li>Removed the xmlbase, xmllang and xmlspace attributes from the <a>SVGElement</a> interface.</li>
<li>Removed the SVGViewSpec interface.</li>
<li>Removed the style IDL attribute from <a>SVGElement</a>,
since CSSOM defines that for us.</li>
<li>Removed the getTransformToElement method on
<a>SVGGraphicsElement</a>.</li>
<li>Defined that getCTM on an <a>outermost svg element</a>
should work, and listed which transforms it should include.</li>
<li>Defined attribute reflection in more depth,
including the effect it has on SVG DOM object liveness.</li>
<li>animVal IDL attributes on all interfaces now alias baseVal.</li>
<li>Added the dataset IDL attribute to <a>SVGElement</a>.</li>
<li>Moved the <a href='types.html#__svg__SVGGeometryElement__pathLength'>pathLength</a> attribute,
<a href='types.html#__svg__SVGGeometryElement__getTotalLength'>getTotalLength()</a>,
and <a href='types.html#__svg__SVGGeometryElement__getPointAtLength'>getPointAtLength()</a> methods from SVGPathElement
onto SVGGeometryElement.</li>
<li>Move definition of wsp and comma-wsp to
path grammar since that's the only EBNF grammar in the spec.</li>
</ul>
<div class='changed-since-cr1'>
<ul>
<li><a>SVGUnitTypes</a> is no longer NoInterfaceObject.
<a href="https://github.com/w3c/svgwg/issues/291">Issue discussion</a>
<a href="https://github.com/w3c/svgwg/pull/295">Edits</a></li>
<li>Clarified that <a>SVGElement</a>.<a href="types.html#__svg__SVGElement__className">className</a>
overrides <a>Element</a>.className. Not normative.
<a href="https://github.com/w3c/svgwg/issues/298">Issue discussion</a>
<a href="https://github.com/w3c/svgwg/pull/301">Edits</a></li>
<li>Specify <a>DOMPointInit</a> as argument type for isPointInFill() and isPointInStroke() instead of <a>DOMPoint</a>, and
specify algorithm used for isPointInFill() and isPointInStroke().
<a href="https://github.com/w3c/svgwg/issues/416">Issue discussion</a>
<a href="https://github.com/w3c/svgwg/pull/443">Edits</a></li>
<li>Moved dataset, tabIndex, focus(), and blur() to a shared <a>HTMLOrSVGElement</a> mixin defined in the HTML specification.
<a href="https://github.com/w3c/svgwg/issues/60">Issue discussion</a>
<a href="https://github.com/w3c/svgwg/pull/415">Edits</a></li>
<li>Made <a>SVGElement</a> include the <a>DocumentAndElementEventHandlers</a> interface from HTML.
<a href="https://github.com/w3c/svgwg/issues/395">Issue discussion</a>
<a href="https://github.com/w3c/svgwg/pull/413">Edits</a></li>
</ul>
</div>
<div class='changed-since-cr1 cr2'>
<ul>
<li>Merged in content from the former normative <a href="#svgdom">SVG DOM appendix</a>
(after edits),
with sections on reflecting attributes re-arranged to fit.
<a href="https://github.com/w3c/svgwg/issues/520">Issue discussion</a>
<a href="https://github.com/w3c/svgwg/pull/548">Edits</a>
</li>
</ul>
</div>
<div class='changed-since-cr1 cr2 cr3'>
<ul>
<li>Clarify possible UA behavior on getTotalLength, getPointAtLength, getBBox, getCTM, getScreenCTM, isPointInFill
and isPointInStroke if the current element is a <a>non-rendered element</a>.</li>
<li>Removed the text-decoration-fill and text-decoration-stroke properties.</li>
<li>
Setting the DOM property for an enumerated attribute
to an out-of-range integer or 0 throws a TypeError.
<a href="https://github.com/w3c/svgwg/issues/547">Issue discussion</a>
</li>
<li>
Remove <code>zoomAndPan</code> attribute and related text.
<a href="https://github.com/w3c/svgwg/issues/56">Issue discussion</a>
</li>
</ul>
</div>
<h3 id="structure">Document Structure chapter</h3>
<ul>
<li>Updated IDL for <a>SVGSVGElement</a> marking the referenceElement argument in <a href="struct.html#__svg__SVGSVGElement__getIntersectionList">getIntersectionList</a> and <a href="struct.html#__svg__SVGSVGElement__getEnclosureList">getEnclosureList</a> as nullable.</li>
<li>Deprecated the <code>suspendRedraw</code>, <code>unsuspendRedraw</code> and <code>unsuspendRedrawAll</code> methods on the SVGSVGElement interface.</li>
<li>Removed the <span class="attr-name">'externalResourcesRequired'</span> attribute.</li>
<li>Added the ability to use <span class="attr-value">'auto'</span> for the <a>'width'</a> and <a>'height'</a> attributes on <a>'image'</a>.</li>
<li>Lifted the restriction on <a>'use'</a> not being able to reference an entire document.</li>
<li>Added <a>'lang'</a> attribute on <a>'desc'</a> and <a>'title'</a> elements.</li>
<li>Added section on WAI-ARIA attributes.</li>
<li>Clarified that CSS transforms on an <a>outermost svg element</a> do not affect <a href="struct.html#__svg__SVGSVGElement__currentScale">currentScale</a> or <a href="struct.html#__svg__SVGSVGElement__currentTranslate">currentTranslate</a>. Defined the returned values on <a>'svg'</a> elements that are not <a>outermost svg element</a>.</li>
<li>Deprecated the <a href="struct.html#__svg__SVGDocument__rootElement">rootElement</a> attribute.</li>
<li>Defined event handler content attributes and IDL attributes on the root <a>'svg'</a> element to be for events fired at the <a>Window</a>, like HTML's event handler content attributes and IDL attribute on <code>body</code>.</li>
<li>Moved the <a>'image'</a> element to the <a href='embedded.html'>Embedded Content chapter</a>.</li>
<li>Removed the <code>SVGElementInstance</code> and <code>SVGElementInstanceList</code> interfaces, and the corresponding attributes on the <a>SVGUseElement</a> interface.</li>
<li>Changed the <a>'use'</a> element event flow to follow the Shadow DOM spec.</li>
<li>Clarified that the <a>'switch'</a> element does not affect processing of <a>'script'</a> elements.</li>
<li>Made the <span class='attr-name'>'width'</span> and <span class='attr-name'>'height'</span> attributes on the <a>'svg'</a> element presentation attributes, and changed the initial value to
<span class="attr-value">auto</span>.
</li>
<li>Removed the <span class="attr-name">baseProfile</span> and <span class="attr-name">version</span> attributes from the <a>'svg'</a> element.</li>
<li>Deprecated the <a href="struct.html#__svg__SVGSVGElement__forceRedraw">forceRedraw</a> method on the <a>SVGSVGElement</a> interface and defined it to have no effect when called.</li>
<li>Defined the
<a href="struct.html#__svg__SVGSVGElement__deselectAll">deselectAll</a> method
on the <a>SVGSVGElement</a> interface in terms of the Selection API
and simultaneously deprecated it.</li>
<li>Clarified that the <a>'switch'</a> element does not affect the processing of <a>'style element'</a> elements.</li>
<li>Clarified that the <a href="struct.html#__svg__SVGSVGElement__getIntersectionList">getIntersectionList</a> and <a href="struct.html#__svg__SVGSVGElement__getEnclosureList">getEnclosureList</a> methods on the <a>SVGSVGElement</a> interface do not return shadow tree elements.</li>
<li>Removed the <span class="attr-name">requiredFeatures</span> attribute.</li>
<li>Removed the currentView and useCurrentView properties on <a>SVGSVGElement</a>.</li>
<li>Added SVGUnknownElement for handling unknown elements in the svg namespace.</li>
<div class="changed-since-cr1 cr2 cr3">
<li>Removed SVGUnknownElement due to lack of implementations.</li>
</div>
<li>Added the <a>'lang'</a> attribute in no namespace.</li>
<li>Removed the <code>viewport</code> attribute from the <a>SVGSVGElement</a> interface.</li>
<li>Removed the <span class="attr-name">xml:base</span> attribute.</li>
<li>Moved the <span class='element-name'>'discard'</span> element to
the split-out SVG Animations module.</li>
<li>Allowed <a href='struct.html#DataAttributes'>custom data attributes</a>
on all SVG elements.</li>
<li>Rewrite <a>'desc'</a> and <a>'title'</a> description
to reflect ARIA and accessibility mapping.</li>
<li>Remove recommendation on how to structure metadata elements
within the SVG document.</li>
<li>Remove requirement for SVGDocument property on the Document interface object.</li>
<li>Descendent elements of <a>'switch'</a> that have
the <a>'systemLanguage'</a> attribute should be reordered according to the
definition of the SMIL 'allowReorder' attribute.</li>
<li>Add <a>'tspan'</a> and <a>'textPath'</a> to
the <a>graphics element</a> category. This allows filters, masks, etc to
be applied to them.</li>
<li>Update section on element roles to conform to latest SVG Accessibility API Mappings specification.</li>
<li>Soften recommendation to put pre-defined content in a defs element even if not required.</li>
<li>Change display behavior of defs, title, desc, metadata, and symbol elements to be defined using user agent styles.</li>
<li>Allow x, y, width, and height presentation attributes on a symbol, with the same effect on a rendered instance as on a nested svg element.</li>
<li>Specify a backwards-compatible default behavior for <a>'symbol/refX'</a> and <a>'symbol/refY'</a> on a symbol (which will be different from marker); clarify that keywords have same behavior as marker.</li>
<li>Re-define use-element shadow trees to be consistent with the shadow DOM spec,
to integrate better with other SVG 2 changes,
and to clarify much related behavior, including:
<ul>
<li>x/y/width/height are presentation attributes, albeit ones with a unique effect on final layout</li>
<li>zero values for width and height are only significant through their impact on the used value of a cloned svg/symbol; negative values are parse errors</li>
<li>Allow use elements to reference any element that can be a valid child of an SVG container, rather than only graphics elements</li>
<li>Define the SVGUseElementShadowRoot interface as an extension of the ShadowRoot interface, and require it to be used for use-element shadow trees</li>
<li>Define a number of terms related to shadow DOM and use elements, referencing the DOM standard where applicable</li>
<li>Clarify that use-element shadow trees are generated even if the element is in a conditional processing failed branch (consistent with previous guidance re display:none)</li>
<li>Element instances in the shadow tree must appear to be regular Element nodes, except they are read-only.</li>
<li>Properties formerly defined on the SVGElementInstance object are now defined as a mixin interface extending SVGElement</li>
<li>Clarify that URL references in cloned content are made absolute relative to the source file.</li>
<li>Clarify that the shadow tree is discarded if the cross-references change, including due to declarative animation (the original and animated shadow trees are not preserved in parallel).</li>
<li>Clarify that circular references only block the rendering of the use-element that would connect the circle, and not it's own host.</li>
<li>Added warning about x/y behaving as a transformation on the use element, and the impact on userSpaceOnUse graphical effects.</li>
<li>Redefine the way width/height on use elements impact svg/symbol to be consistent with geometry properties and auto values.</li>
<li>Clarify that for other re-used graphics (not svg/symbol), the shadow elements are laid out in the use element's coordinate system, including for the resolution of percentage lengths.</li>
<li>Redefine style cloning in shadow trees to be consistent with style scoping in shadow DOM, including by requiring style sheets to be cloned into the shadow DOM's scope.</li>
<li>Add warning and example regarding the cases where this results in different styles than an SVG 1.1-conforming user agent.</li>
<li>Add example regarding the inherited behavior of the visibility property.</li>
<li>Require multimedia in use-element copies to be synchronized with all other instances of the same original element.</li>
<li>Clarify that the shadow tree shares the document timeline for animations with its host document.</li>
<li>Define a ShadowAnimation interface to represent the cloning of Web Animations API animations</li>
<li>Prohibit WAAPI animations from being directly applied to element instances in the use-element shadow tree.</li>
<li>Define the propagation of SMIL-style animations through the cloning of animation elements; require that animations elements affecting the referenced graphic be cloned into the shadow tree, even if they are not descendents of the referenced element.</li>
<li>Define how event-based animation element triggers and animation element href attributes behave when there are multiple elements with the same <a>'id'</a> in different node trees.</li>
<li>Require event handling in use-element shadow trees to follow the event retargetting rules from the Shadow DOM spec.</li>
<li>Clarify that the copying of event listeners from referenced graphics to their element instances applies to listeners added by script as well as by event attributes.</li>
<li>Prohibit event listeners from being directly added to elements in the use-element shadow tree.</li>
<li>Make use elements and symbols map to the graphics-object role by default, so the shadow content will be accessible.</li>
<li>Make the SVGSymbolElement interface extend from SVGGraphicsElement, so that rendered symbol element instances have all the behavior of graphics elements (e.g., getBBox)</li>
<li>Restore the (animated)instanceRoot properties on the SVGUseElement interface.</li>
</ul>
</li>
<li>Change role mapping for the <a>'a'</a> element to depend on whether it is actually a valid link.</li>
<li>Mark ARIA state and property attributes as animatable.</li>
<li>Update requirements for <a>'id'</a> values to harmonize with HTML, with extra warning about requirements for validity in an XML document.</li>
<li>Moved the <a href="struct.html#ForeignNamespaces">Foreign namespaces and private data</a> section to this chapter and added some new cross-references and notes.</li>
</ul>
<div class='changed-since-cr1'>
<ul>
<li>Corrected incorrect interface name for definition of <a>SVGUseElementShadowRoot</a>.
<a href="https://github.com/w3c/svgwg/issues/290">Issue discussion</a>
<a href="https://github.com/w3c/svgwg/pull/296">Edits</a></li>
</ul>
</div>
<div class='changed-since-cr1 cr2'>
<ul>
<li>Make it clear that language-tag matching for <a>'systemLanguage'</a>
is case-insensitive, as required by BCP 47.
<a href="https://github.com/w3c/svgwg/issues/517">Issue discussion</a>
<a href="https://github.com/w3c/svgwg/pull/528">Edits</a>
</li>
<li>Added the <a>'autofocus'</a> attribute in no namespace.</li>
</ul>
</div>
<div class='changed-since-cr1 cr2 cr3'>
<ul>
<li>
Remove <code>zoomAndPan</code> attribute and related text.
<a href="https://github.com/w3c/svgwg/issues/56">Issue discussion</a>
</li>
</ul>
</div>
<h3 id="styling">Styling chapter</h3>
<ul>
<li>Removed the <span class="attr-name">'contentStyleType'</span> attribute.</li>
<li><a>SVGStyleElement</a> now implements <a>LinkStyle</a>.</li>
<li>Updated user agent style sheet - inner svg elements and foreignObject elements are no longer set as overflow:hidden.</li>
<li>Added hatch to list of elements with overflow:hidden in User Agent style sheet.</li>
<li>Set the default value of transform-origin to '0 0' for all elements except root svg elements and svg elements that are the child of a foreignObject element.</li>
<li>Substantially rewrote the chapter to be more concise.</li>
<li>Defined that HTML <span class='element-name'>'link'</span> elements
must load external style sheets.</li>
<li>Specified the exact set of properties
that have presentation attributes, their names (when the presentation
attribute name does not match the property name), and on which elements
they are allowed.</li>
<li>Added a list of properties defined in other
specifications that conforming SVG 2 user agents must support.</li>
<li>Added User Agent style sheet rule to map the
deprecated <span class='attr-name'>'xml:space'</span> attribute to the
<a>'white-space'</a> property.</li>
<li>Required that @font-face rules and
::first-letter & ::first-line pseudo-elements on <a>'text'</a>
elements must be supported.</li>
<li>Required that all SVG and HTML
style sheets in an HTML document with inline SVG content must
apply to all content in the document.</li>
<li>Allow presentation attributes on any svg namespaced element.</li>
<li>Change display behavior of style element to be defined using user agent styles.</li>
<li>Add !important user agent style rules controlling never-rendered elements,
with a note explaining their impact.</li>
<li>Require interactive user agents to include :focus and ::selection styles.</li>
<li>Clean-up presentation attributes table to be consistent with other sections of the spec:
remove <a>'mask element'</a> from elements that treat x/y/width/height attributes as presentation attributes,
add <a>'use'</a> and <a>'symbol'</a>;
exclude <a>animation elements</a> from those that treat <a>'fill'</a> as a presentation attribute;
remove <a>'d'</a> as a presentation attribute for <a>'textPath'</a>;
merge the discussion of gradientTransform and patternTransform into the main table.
</li>
<li>Removed requirement for <a>'clip'</a> property support.</li>
</ul>
<div class='changed-since-cr1'>
<ul>
<li>Specify that <a>'transform'</a>, <a>'pattern/patternTransform'</a> and <a>'linearGradient/gradientTransform'</a>
are presentation attributes for <a>'transform'</a> that can be specified to certain sets of elements in the SVG namespace.
<a href="https://github.com/w3c/csswg-drafts/issues/919">Issue discussion</a>
<a href="https://github.com/w3c/svgwg/pull/378">Edits</a></li>
</ul>
</div>
<div class='changed-since-cr1 cr2'>
<ul>
<li>Add a user-agent stylesheet requirement for a pointer cursor on links, consistent with HTML and CSS.
<a href="https://github.com/w3c/svgwg/issues/468">Issue discussion</a>
<a href="https://github.com/w3c/svgwg/pull/536">Edits</a></li>
</ul>
</div>
<h3 id="geometry">Geometry Properties chapter (SVG 2 only)</h3>
<ul>
<li>Removed <a>'pattern'</a> and <a>'filter element'</a> from the set of elements that the <a>'x property'</a> and <a>'y property'</a> properties
apply to.</li>
<li>Defined that <a>'width property'</a> and
<a>'height property'</a> property values of <span class='prop-value'>auto</span>
are computed to <span class='prop-value'>0</span> for SVG elements that
the properties apply to.</li>
<li>auto equates to 100% for width and height on the <a>'svg'</a> element, and to auto-sizing for images.</li>
<li>Remove <a>'mask element'</a> from the list of elements where width and height are sizing properties.</li>
<li>Clarify that width and height sizing properties
can be constrained with the corresponding max/min properties.</li>
</ul>
<h3 id="coords">Coordinate Systems, Transformations and Units chapter</h3>
<ul>
<li>Make <a>SVGMatrix</a>.skew{X,Y} throw an exception on bad values.</li>
<li>Added improved wording on bounding box
from SVG Tiny 1.2, and an algorithm which can compute a bounding box for an element.</li>
<li>Define bounding box for element with no position to be at (0,0).</li>
<li>Removed the defer keyword from <a>'preserveAspectRatio'</a>.</li>
<li>Add definition for 'current viewport'. Change SVG viewport to mean all viewports created by SVG elements.</li>
<li>Add <span class='prop-value'>non-scaling-size</span>, <span class='prop-value'>non-rotation</span>,
and <span class='prop-value'>fixed-position</span> values for <a>'vector-effect'</a></li>
<li>Changed requirement for co-ordinate system layout to be mandatory.</li>
<li><a>'vector-effect'</a> has no effect within a <a>3d rendering context</a>.</li>
<li>Define SVG sizing in CSS contexts with reference to the CSS <a>Default Sizing Algorithm</a>.</li>
<li>Clarify that percentages are relative to the width and height of the specified viewBox.</li>
<li>Mark unimplemented <a>'vector-effect'</a> options at-risk.</li>
<div class='changed-since-cr1 cr2 cr3'>
<li>Adapt <a>'vector-effect'</a> host coordinate space definition to actual implemented behavior. Remove screen and viewport values.</li>
</div>
<li>Change bounding box algorithm to include the effect of overflow and clip properties when the "clipped" flag is set.</li>
</ul>
<div class="changed-since-cr1 cr2 cr3">
<ul>
<li>Use DOMMatrix2DInit as parameters for methods</li>
<li>
Setting the enumerated parts of an <a>SVGPreserveAspectRatio</a> object
to an out-of-range integer or 0 throws a TypeError.
<a href="https://github.com/w3c/svgwg/issues/547">Issue discussion</a>
</li>
</ul>
</div>
<h3 id="paths">Paths chapter</h3>
<ul>
<li>Define <a>'path'</a>, <a>'polygon'</a> and <a>'polyline'</a> elements with no data set (empty or zero valid commands) to not render.</li>
<!--
<li>Define how <a href="paths.html#__svg__SVGPathElement__getPathSegAtLength">getPathSegAtLength</a> and
<a href="paths.html#__svg__SVGPathElement__getPointAtLength">getPointAtLength</a> handle out-of-range input, and what to do in case there's no valid path data.</li>
<li>Removed the <code>normalizedPathSegList</code> and <code>animatedNormalizedPathSegList</code> attributes from <a>SVGAnimatedPathData</a>.</li>
-->
<li>Removed the <code>SVGPathSeg*</code> and <code>SVGAnimatedPathData</code> interfaces and the related methods on <a>SVGPathElement</a>.</li>
<li>Promoted the <span class='attr-name'>'d'</span> attribute
to a property.</li>
<li>Removed the <a href='types.html#__svg__SVGGeometryElement__pathLength'>pathLength</a> attribute,
<a href='types.html#__svg__SVGGeometryElement__getTotalLength'>getTotalLength()</a>,
and <a href='types.html#__svg__SVGGeometryElement__getPointAtLength'>getPointAtLength()</a> methods from SVGPathElement,
they are now on SVGGeometryElement.</li>
<li>Clarified that a value of zero for <a>'pathLength'</a> is valid.</li>
</ul>
<div class='changed-since-cr1 cr2'>
<ul>
<li>Clarified that percentage distances are not affected by zero <a>'pathLength'</a>.
<a href="https://github.com/w3c/svgwg/issues/383">Issue discussion</a>
<a href="https://github.com/w3c/svgwg/pull/485">Edits</a></li>
<li>Reorganized the Implementation Notes section into logical subsections
(including the section on out-of-bounds arc parameters,
which was formerly in the Implementation Notes appendix).
<a href="https://github.com/w3c/svgwg/pull/548">Edits</a>
</li>
</ul>
</div>
<h3 id="shapes">Basic Shapes chapter</h3>
<ul>
<li>The <a href="shapes.html#__svg__SVGAnimatedPoints__animatedPoints">animatedPoints</a>
IDL attributes of SVGAnimatedPoints now aliases the <a href="shapes.html#__svg__SVGAnimatedPoints__points">points</a>
attribute.</li>
<li>Added the <a>'pathLength'</a> attribute to all basic shapes.</li>
<li>Added auto behavior for <a>'rx'</a> and <a>'ry'</a> to <a>'ellipse'</a>.</li>
</ul>
<h3 id="text">Text chapter</h3>
<ul>
<li>
Require support for WOFF fonts.
</li>
<li>
Adopt the CSS3 changes to the <a>'text-decoration'</a> property.
</li>
<li>Added a number of missing attributes to the element summary boxes of the
<a>'text'</a> and <a>'textPath'</a> elements.</li>
<li>Added <a>'inline-size'</a> presentation attribute to <a>'text'</a>.</li>
<li>Added a section about <a>'text-overflow'</a> processing.</li>
<li>
Added <a>'shape-inside'</a> property.
</li>
<li>
Added <a>'shape-subtract'</a> property (replaces <a>'shape-outside'</a>).
</li>
<li>Added <a>'white-space'</a> property and deprecated <a>'xml:space'</a> attribute.</li>
<li>Removed the <span class='property'>'kerning'</span> property.</li>
<li>Added a <span class='attr-name'>'path'</span>
attribute to <a>'textPath'</a>.</li>
<li>Added ability to reference basic shapes to <a>'textPath'</a>.</li>
<li>
Added the <a>'textPath/side'</a> attribute to allow placing text on
either side of a path.
</li>
<li>
Render characters for one loop of a single closed path, effected by the
<a>'textPath/startOffset'</a> attribute and <a>'text-anchor'</a> property.
</li>
<li>Removed the <span class='element'>'tref'</span> element.</li>
<li>Removed the <span class='element'>'altGlyph'</span>, <span class='element'>'altGlyphDef'</span>,
<span class='element'>'altGlyphItem'</span> and <span class='element'>'glyphRef'</span> elements.</li>
<li>Defined the
<a href="text.html#__svg__SVGTextContentElement__selectSubString">selectSubString</a>
method on the <a>SVGTextContentElement</a> interface in terms of the
Selection API and simultaneously deprecated it.</li>
<li>Changed getComputedTextLength() to not include
<a>'tspan/dx'</a> and <a>'tspan/dy'</a> values.</li>
<li>Moved the discussion of <a>'width property'</a>
and <a>'height property'</a> properties to the Geometry Properties chapter.</li>
<li>Require support for ::selection in interactive user agents.</li>
<li>Require that text in non-rendered elements are not included in <a>addressable characters</a>
and therefore are not counted when assigning positioning attributes
and in the <a>SVGTextContentElement::getNumberOfChars</a> methods.
</li>
<li>Require that Unknown elements within text render as unpositioned spans,
but that known-but-invalidly-positioned elements do not.
</li>
<li>Clarify that when text is positioned along a transformed path,
offset distances should be measured in the text element's coordinate system,
not the path element's.
</li>
</ul>
<div class='changed-since-cr1'>
<ul>
<li>Specify <a>DOMPointInit</a> as argument type for getCharNumAtPosition() instead of
<a>DOMPoint</a>.
<a href="https://github.com/w3c/svgwg/issues/389">Issue discussion</a>
<a href="https://github.com/w3c/svgwg/pull/414">Edits</a>
</li>
<li>
Remove 'number' value from <a>'inline-size'</a> property for consistency with CSS.
<a href="https://github.com/w3c/svgwg/issues/436">Issue discussion</a>
<a href="https://github.com/w3c/svgwg/pull/482">Edits</a>
</li>
<li>Removed unintended restriction that <a>'path/pathLength'</a> applied only to <span class='element'>path</span>s
and not <a>shapes</a> when computing <a>'textPath/startOffset'</a>.
<a href="https://github.com/w3c/svgwg/issues/382">Issue discussion</a>
<a href="https://github.com/w3c/svgwg/pull/476">Edits</a>
</li>
</ul>
</div>
<div class='changed-since-cr1 cr2'>
<ul>
<li>Clarify the initial value for <a>'textLength'</a>,
and add note about its impact on the reflected IDL attribute.
</li>
</ul>
</div>
<div class='changed-since-cr1 cr3'>
<ul>
<li>Reverted to SVG 1.1 definition of addressable character for the
purposes of text positioning attributes (e.g. counting by Unicode
code points).
</li>
</ul>
</div>
<h3 id="embedded">Embedded Content chapter (SVG 2 only)</h3>
<ul>
<div class="changed-since-cr1 cr2 cr3">
<li>Removed HTML multimedia section and the use of the audio, video, iframe, canvas elements due to lack of implementations.</li>
</div>
<li>Added this chapter, which includes new
'video', 'audio', 'iframe', 'canvas',
'source' and track'
elements that behave almost identically
to the equivalent HTML elements.</li>
<li>Removed the SVG copies of
HTML's embedded content elements and instead allowed those
elements to be used in the HTML namespace within SVG
container elements.</li>
<li>Removed the requirement to
ignore <a>'clip'</a> and <a>'overflow'</a> on an SVG document
when referenced by an <a>'image'</a> element.</li>
<li>Allow image height and width to be "auto", determined from intrinsic dimensions or aspect ratio of the image file.</li>
<li>
Clarify image and foreignObject sizing to be consistent with CSS and with geometry properties;
allow embedded HTML elements to be positioned using <a>'x'</a>, <a>'y'</a>, <a>'width'</a>, and <a>'height'</a> geometric properties.
</li>
<li>
Clarify that <a>'object-fit'</a> and <a>'object-position'</a> properties
apply to embedded HTML elements;
add warning note that they are not defined for <a>'image'</a>.
</li>
<li>Moved the "Foreign namespaces and private data" section to the Document Structure chapter.</li>
<li>Updated the reference to the (abandoned) Resource Priorities spec to instead refer to the (working draft) Resource Hints spec.</li>
<li>Define unified layout model for all embedded elements,
including behavior of <a>'object-fit'</a> and <a>'object-position'</a> properties for <a>'image'</a>.
</li>
</ul>
<h3 id="painting">Painting chapter</h3>
<ul>
<li>Added more detail to the descriptions of the stroke properties and added algorithms
defining the exact shape a stroke must have.</li>
<li>Added the <a>'paint-order'</a> property.</li>
<li>Moved the <span class='property'>color-interpolation-filters</span> property
to the Filter Effects specification.</li>
<li>Added the <span class="prop-value">context-fill</span> and <span class="prop-value">context-stroke</span>
paint values.</li>
<li>Allowed <a><paint></a> values and marker properties to take the
<span class="prop-value">child</span> keyword and
<child-selector> values to support ID-less referencing.</li>
<li>Move normative definition of <a>'vector-effect'</a> property
<span class='prop-value'>non-scaling</span> into SVG 2.</li>
<li>Added arcs value on <a>'stroke-linejoin'</a>.</li>
<li>Added the <span class="attr-value">'auto-start-reverse'</span>
attribute to the <a>'marker/orient'</a> attribute on <a>'marker element'</a>.</li>
<li>Removed the SVGPaint interface.</li>
<li>Added the 'z-index' property. (Later removed.)</li>
<li>Split out some new marker and stroke related
features into the <a href="https://www.w3.org/TR/2015/WD-svg-markers-20150407/">SVG Markers</a>
and <a href="https://www.w3.org/TR/2015/WD-svg-strokes-20150407/">SVG Strokes</a>
specifications.</li>
<li>Removed <child-selector> paint values.</li>
<li>Removed the
<span class='prop-name'>'buffered-rendering'</span> property and replaced it
with a short discussion of the <span class='prop-name'>'will-change'</span>
property.</li>
<li>Added a <span class='prop-value'>child(<integer>)</span>
paint value to support the use cases that <child-selector> was intended for.</li>
<li>Clarify that for all zero length subpaths,
whether open or closed, the rendered result is based on the
<a>'stroke-linecap'</a> attribute.</li>
<li>Allow markers on all <a>shapes</a>.</li>
<li>Clarify the description of context-stroke and context-fill, particularly re use element shadow content.</li>
<li>Change display behavior of marker elements to be defined using user agent styles.</li>
<li>[Since last WD] Roll back the change allowing
<a>fill</a> and <a>stroke</a> to take multiple paints.</li>
<li>Remove the 'markable elements' category.</li>
<div class='changed-since-cr1 cr2'>
<ul>
<li>Remove <span class="prop-value">child</span>, <span class='prop-value'>child(<integer>)</span> as
they are deferred to the next level of the spec.
<a href="https://github.com/w3c/svgwg/pull/533/">Edits and discussion</a>
</li>
<li>
Make any non-negative number a valid value for <a>'stroke-miterlimit'</a>.
<a href="https://github.com/w3c/svgwg/issues/545">Issue discussion</a>
<a href="https://github.com/w3c/svgwg/pull/551">Edits</a>
</li>
</ul>
</div>
<div class='changed-since-cr1 cr2 cr3'>
<ul>
<li>
Remove the color-rendering CSS property.
<a href="https://github.com/w3c/svgwg/issues/647">Issue discussion</a>
</li>
</ul>
</div>
</ul>
<h3 id="color">Color chapter (SVG 1.1 only)</h3>
<ul>
<li>Removed this chapter, replaced with normative reference to CSS Color.</li>
</ul>
<h3 id="pservers">Paint Servers chapter (called Gradients and Patterns in SVG 1.1)</h3>
<ul>
<li>Added the solidcolor element and its two properties solid-color
and solid-opacity, ported over from SVG Tiny 1.2. (Renamed 'solidColor' to
'solidcolor'.)</li>
<li>Added an <a>'radialGradient/fr'</a> attribute to the <a>'radialGradient'</a> element,
which allows specifying the radius of the focal circle.</li>
<li>Added a section for mesh gradients, defining the mesh, meshrow
and meshpatch elements. (Renamed 'meshGradient' to 'mesh', 'meshRow' to 'meshrow',
and 'meshPatch' to 'meshpatch'.)</li>
<li>Added a section for hatches, defining the hatch and hatchpath elements.
(Renamed 'hatchPath' to 'hatchpath'.)</li>
<li>Renamed <span class="attr-name">'gradientTransform'</span> on the 'mesh' element
and <span class="attr-name">'hatchTransform'</span> on the 'hatch' element to <span class="attr-name">'transform'</span>.</li>
<li>Change display behavior of paint server elements to be defined using user agent styles.</li>
<li>Define common handling of paint server template cross-references,
allowing external file references,
using a use-element shadow DOM model for cloned child content,
defining consistent behavior for whether title and desc affect child cloning,
and explicitly defining which attributes are derived from the template for each element.
</li>
<li>Add notes warning about attributes that look like presentation attributes, but aren't.</li>
</ul>
<div class='changed-since-cr1'>
<ul>
<li><a>SVGGradientElement</a> and <a>SVGPatternElement</a> no longer implement <a>SVGUnitTypes</a>.
<a href="https://github.com/w3c/svgwg/issues/291">Issue discussion</a>
<a href="https://github.com/w3c/svgwg/pull/295">Edits</a></li>
<li>Deferred hatch and hatchpath elements to a future version of SVG.
<a href="https://github.com/w3c/svgwg/issues/449">Issue discussion</a>
<a href="https://github.com/w3c/svgwg/pull/451">Edits</a></li>
<li>Deferred mesh gradients, including mesh, meshrow, and meshpath elements to a future version of SVG.
<a href="https://github.com/w3c/svgwg/issues/449">Issue discussion</a>
<a href="https://github.com/w3c/svgwg/pull/452">Edits</a></li>
<li>Removed the solidcolor element and the solid-color and solid-opacity properties.
<a href="https://github.com/w3c/svgwg/issues/449">Issue discussion</a>
<a href="https://github.com/w3c/svgwg/pull/450">Edits</a></li>
</ul>
</div>
<h3 id="masking">Clipping, Masking and Compositing chapter (SVG 1.1 only)</h3>
<ul>
<li>SVG now references CSS Masking [<a href="refs.html#ref-css-masking-1">css-masking-1</a>] specification.
<ul>
<li>Removed definition of clipping/masking properties and elements.</li>
<li>Keep short introduction to clipping/masking and add reference to CSS Masking</li>
</ul>
</li>
<li>Added reference to Compositing and Blending spec. Simple alpha compositing is mandatory.</li>
<li>The <a>'overflow'</a> property should be respected on the outermost svg elements inline in html.</li>
<li>Merge Clipping, Masking and Compositing chapter into Rendering Model chapter.</li>
</ul>
<h3 id="filters">Filter Effects chapter (SVG 1.1 only)</h3>
<ul>
<li>Removed this chapter (replaced by Filter Effects specification [<a href="refs.html#ref-filter-effects-1">filter-effects-1</a>]).</li>
</ul>
<h3 id="interact">Scripting and Interactivity chapter (separate chapters in SVG 1.1)</h3>
<ul>
<li>Added the <span class="attr-name">'tabindex'</span> attribute.</li>
<li>Corrected the definition of the 'cursor/href' attribute on
the 'cursor element' element to take an URL that is not in a CSS-like
functional form.</li>
<li>Added the <span class="prop-value">bounding-box</span> keyword to <a>'pointer-events'</a>.</li>
<li>Replaced SVGLoad, SVGAbort, SVGError and SVGUnload with load, abort, error and unload respectively.</li>
<li>Required that only <a>structurally external elements</a> and the <a>outermost svg element</a> must fire load events.</li>
<li>Replaced SVGResize and SVGScroll with resize and scroll respectively.</li>
<li>Removed DOMActivate.</li>
<li>Replaced DOMFocusIn and DOMFocusOut with focusin and focusout, and added the blur event.</li>
<li>Added keyboard events.</li>
<li>Removed mutation events.</li>
<li>Removed SVGZoomEvent.</li>
<li>Clarify that shadow DOM content is focusable and interactive.</li>
<li>Change display behavior of script elements to be defined using user agent styles.</li>
<li>Mark cursor element as deprecated, update description of <a>'cursor property'</a>.</li>
</ul>
<div class='changed-since-cr1'>
<ul>
<li>Removed the cursor element and the SVG specific definition of the <a>'cursor property'</a>
<a href="https://github.com/w3c/svgwg/issues/449">Issue discussion</a>
<a href="https://github.com/w3c/svgwg/pull/455">Edits</a></li>
</ul>
</div>
<div class='changed-since-cr1 cr2'>
<ul>
<li>Merged in content on events from the removed SVG DOM appendix.
<a href="https://github.com/w3c/svgwg/issues/520">Issue discussion</a>
<a href="https://github.com/w3c/svgwg/pull/548">Edits</a>
</li>
<li>Added the <span class="prop-value">auto</span> keyword to <a>'pointer-events'</a>.</li>
</ul>
</div>
<div class='changed-since-cr1 cr2 cr3'>
<ul>
<li>Remove requirements on <a>'pointer-events'</a> for raster images to check individual pixels for transparency.</li>
<li>Remove <code>zoomAndPan</code> attribute and related text.</li>
<li>Removed the onfocusin and onfocusout event attributes.</li>
</ul>
</div>
<h3 id="linking">Linking chapter</h3>
<ul>
<li>Added <a>animation elements</a> to the content model of <a>'view'</a>.</li>
<li>Added the possibility to link to SVG resources with fragment identifiers defined by the Media Fragments specification.</li>
<li>Removed the <span class='attr-name'>'xlink:type'</span>, <span class='attr-name'>'xlink:role'</span>, <span class='attr-name'>'xlink:arcrole'</span>, <span class='attr-name'>'xlink:show'</span> and <span class='attr-name'>'xlink:actuate'</span> attributes.</li>
<li>Deprecated the <a>'xlink:href'</a> attribute in favor of using <span
class="attr-name">'href'</span> without a namespace.
</li>
<li>Deprecated the <a>'xlink:title'</a> attribute in favor of using child
<a>'title'</a> elements.</li>
<li>Allowed spaces in SVG view fragments.</li>
<li>Defined how "pixel:" and "percent:" spatial media
fragments are interpreted.</li>
<li>Made linking to <a>'view'</a> elements not
cause an implicit view box transformation to show the nearest ancestor
<a>'svg'</a> element.</li>
<li>Clarified that unspecified SVG view fragment
parameters do not cause the corresponding attributes to be reset to their
initial values.</li>
<li>Removed the <span class='attr-name'>'viewTarget'</span> attribute