附录 K:自 SVG 1.1 以来的更改
本附录仅供参考,非规范性。
本附录概述了自 SVG 1.1 第二版推荐稿 之后所做的更改。自最初的 SVG 2 候选推荐稿 以来的更改已用粗体标出。
K.1. 编写性更改
对规范做了许多文体上的更改,以提高可读性。这些包括以下内容
- 将样式改为类似当代 CSS 规范的方式,删除了对 XSL-FO 的提及。
- 在规范中添加了注释,以反映工作组已决定纳入的特性以及已有成员承诺推动这些特性的实现。
- 更改以突出 SVG 可在 HTML 以及 XML 中使用。
- 删除了其规范性内容已移至其他规范或已废弃的章节:滤镜、裁剪与遮罩、动画、字体、颜色。
- 删除了(信息性)概念章节和向后兼容章节,以及多个附录。
- 合并并重新组织了多个章节
- 将(规范性)合规性附录设为章节。
- 将“display”和“visibility”属性的章节从绘制章节移动到渲染模型章节。
- 将裁剪、遮罩与合成章节中剩余的部分移入渲染模型章节。
- 将 SVG 1.1 元数据章节合并到文档结构章节。
- 将“image”元素的定义从文档结构章节移动到新的嵌入内容章节。
- 将外部命名空间和私有数据部分从 SVG 1.1 可扩展性章节移动到文档结构章节。
- 创建了几何属性章节,并将相关定义从基本形状和路径章节移至该章节。
- 创建了嵌入内容章节,并将 SVG 1 可扩展性章节的全部内容合并进去。
- 合并了 SVG 1.1 脚本和交互性章节。
- 整理了更改列表,补充缺失的更改,并添加了自初始候选推荐以来更改的议题讨论链接。 编辑
- 始终使用“用户坐标系”这一术语(之前也使用过同义的“本地坐标系”)。 议题讨论 编辑
K.2. 实质性更改
除上述编辑性更改外,还进行了以下实质性的增删改。
K.2.1. 整个文档范围内
- 已删除对 SVG DTD 的引用。
- IDL 已更新为使用 Web IDL 语法。
- 为所有列表接口添加了“length”属性和索引属性访问。
- 删除 <angle> 类型的定义,并引用 CSS3-values。
- 将所有坐标类型改为 <length>,为引用 css3-values 做准备。
- 将 ‘script’ 元素添加到所有元素的内容模型中。
- 修改列表对象的 initialize、appendItem、replaceItem 和 insertItemBefore 方法,使其在插入已在其他列表中的列表项时进行复制。
- ‘image’ 和 ‘script’ 元素新增了 crossorigin 属性,以配合 CORS 启用的 fetch 算法使用。
- 使用 mixin 代替 NoInterfaceObject。 议题讨论 编辑
K.2.2. 概念章节(仅 SVG 1.1)
- 在作为资源文档处理的文档中,动画不会运行。
- 将附录设为章节。
- 整合 SVG Integration 规范中关于处理模式的内容。
- 为不同类型的 SVG 交叉引用定义必需的处理模式,并为 HTML/CSS 中的类似引用提供建议的处理模式。(取代 SVG Integration 中的“referencing modes”章节。)
- 更新并重新组织所有合规类,以与本规范其他部分以及其他规范的更改保持一致。
- 明确用于合规性目的的 SVG 查看器即规范其他地方提到的用户代理 / SVG 用户代理;将相应定义从文档结构章节移至此处。
- 将关于生成高精度图形的建议方法的非规范性章节移至实现注记附录。
- 添加对 ICC 和 CSS Color 4 的信息性引用 议题讨论 编辑
K.2.4. 渲染模型章节
- 更新渲染模型以引用 合成与混合规范。
- 添加了关于已渲染和可渲染元素的新定义。
- 将 display 与 visibility 的章节移至本章节。
- 将 z-index 移至本章节。删除非规范性文本,保留示例。
- 解决问题 2 —— 删除了对 knock-out 的引用。
- 解决问题 3 —— 重写了元素和组的渲染描述。
- 解决问题 4 —— 不再明确提及每种绘制服务器类型。
- 解决问题 6 —— 不需要更改。
- 将裁剪、遮罩与合成章节合并到本章节(正在处理中已解决问题 7)。
- 更新“Parent Compositing”章节,明确说明每种引用模式的合成方式。
- 在用户代理样式表中,SVG 根元素和 foreignObject 不再设为 overflow:hidden。
- overflow:auto 在某些情况下可能会裁剪并显示滚动条。
- overflow:scroll 可能在 svg 元素上显示滚动条。
- 删除了初始裁剪路径的定义。
- 更新渲染要求,以反映 use 元素的 shadow DOM 模型。
- 将 z-index 支持延期至 SVG 的未来版本。 议题讨论 编辑
- 将 use 元素从 visibility 属性直接影响的元素列表中移除。 议题讨论 编辑
K.2.5. 基本数据类型与接口章节
K.2.6. 文档结构章节
- 更新 SVGSVGElement 的 IDL,将 getIntersectionList 与 getEnclosureList 中的
referenceElement 参数标记为可为空。
- 废弃 SVGSVGElement 接口上的
suspendRedraw、unsuspendRedraw 与 unsuspendRedrawAll 方法。
- 移除 ‘
externalResourcesRequired’ 属性。
- 允许在 image 元素的
width 与 height 属性使用 ‘auto’。
- 取消了 use 元素无法引用整个文档的限制。
- 在 desc 与 title 元素上添加了 ‘
lang’ 属性。
- 新增了关于 WAI-ARIA 属性的章节。
- 阐明对最外层 svg 元素的 CSS 变换不会影响 currentScale 或 currentTranslate。并定义了非最外层 svg 元素的返回值。
- 废弃 rootElement 属性。
- 在根 svg 元素上定义事件处理器内容属性和 IDL 属性,以用于在 Window 上触发的事件,类似于 HTML 中
body 的事件处理器属性和 IDL 属性。
- 将 image 元素移至 嵌入内容章节。
- 移除了
SVGElementInstance 与 SVGElementInstanceList 接口,以及 SVGUseElement 接口上相应的属性。
- 将 use 元素的事件流改为遵循 Shadow DOM 规范。
- 阐明 switch 元素不会影响 script 元素的处理。
- 将 svg 元素的
width 与 height 属性设为呈现属性,并将初始值改为 auto。
- 从 svg 元素中移除
baseProfile 与 version 属性。
- 废弃 forceRedraw 方法,并定义其调用时无任何效果。
- 基于 Selection API 定义 deselectAll 方法,并同步废弃之。
- 阐明 switch 元素不会影响 style 元素的处理。
- 阐明 SVGSVGElement 接口的 getIntersectionList 与 getEnclosureList 方法不返回 shadow tree 元素。
- 移除
requiredFeatures 属性。
- 移除 SVGSVGElement 上的
currentView 与 useCurrentView 属性。
- 新增 SVGUnknownElement,用于处理 svg 命名空间中的未知元素。
- 在无命名空间中添加了 ‘
lang’ 属性。
- 从 SVGSVGElement 接口中移除
viewport 属性。
- 移除
xml:base 属性。
- 将 ‘discard’ 元素移至单独的 SVG 动画模块。
- 允许在所有 SVG 元素上使用自定义数据属性。
- 重写 desc 与 title 的描述,以反映 ARIA 与可访问性映射。
- 删除关于如何在 SVG 文档中组织元数据元素的建议。
- 删除 Document 接口对象上对
SVGDocument 属性的要求。
- 具有
systemLanguage 属性的 switch 的后代元素应依据 SMIL 的 ‘allowReorder’ 属性定义进行重新排序。
- 将 tspan 与 textPath 添加至 graphics element 类别。这样可对其应用滤镜、遮罩等。
- 更新元素角色章节,以符合最新的 SVG 可访问性 API 映射规范。
- 放宽建议:即使不要求,也建议将预定义内容放入
defs 元素。
- 将
defs、title、desc、metadata 与 symbol 元素的显示行为改为使用用户代理样式表定义。
- 允许在
symbol 上使用 x、y、width 与 height 呈现属性,其对渲染实例的效果与嵌套的 svg 元素相同。
- 为
symbol 上的 refX 与 refY 指定向后兼容的默认行为(与 marker 不同);并阐明关键字的行为与 marker 相同。
- 重新定义 use 元素的 shadow tree,使其与 shadow DOM 规范一致,以更好地与其他 SVG 2 更改集成,并澄清许多相关行为,包括
- x/y/width/height 为呈现属性,且对最终布局具有独特影响
- 宽度与高度为零的值仅在影响克隆的 svg/symbol 的使用值时才有意义;负值为解析错误
- 允许 use 元素引用任何可作为 SVG 容器子元素的有效元素,而不仅限于图形元素
- 将 SVGUseElementShadowRoot 接口定义为
ShadowRoot 接口的扩展,并要求在 use 元素的 shadow tree 中使用它
- 定义多个与 shadow DOM 与 use 元素相关的术语,必要时引用 DOM 标准
- 澄清即使元素位于条件处理失败分支,仍会生成 use 元素的 shadow tree(与之前关于
display:none 的指导保持一致)
- shadow tree 中的元素实例应表现为普通的 Element 节点,但只读。
- 先前定义在
SVGElementInstance 对象上的属性现改为在扩展 SVGElement 的 mixin 接口中定义
- 阐明克隆内容中的 URL 引用会相对于源码文件转为绝对路径。
- 阐明如果交叉引用变更(包括声明式动画导致的变更),则会丢弃 shadow tree(原始与动画的 shadow tree 不会并行保留)。
- 阐明循环引用仅阻止连接该循环的 use 元素的渲染,而不影响其宿主。
- 添加关于 x/y 在 use 元素上表现为变换以及对
userSpaceOnUse 图形效果影响的警告。
- 重新定义 use 元素的
width/height 对 svg/symbol 的影响方式,使其与几何属性和 auto 值保持一致。
- 阐明对于其他重复使用的图形(非
svg/symbol),shadow 元素在 use 元素的坐标系中布局,包括对百分比长度的解析。
- 重新定义 shadow tree 中的样式克隆,使其与 shadow DOM 中的样式作用域一致,包括要求将样式表克隆至 shadow DOM 的作用域。
- 添加警告与示例,说明此情况可能导致与符合 SVG 1.1 的用户代理表现出不同的样式。
- 添加关于
visibility 属性继承行为的示例。
- 要求在 use 元素副本中的多媒体与相同原始元素的所有其他实例同步。
- 阐明 shadow tree 与其宿主文档共享动画的文档时间线。
- 定义 ShadowAnimation 接口,以表示 Web Animations API 动画的克隆
- 禁止将 WAAPI 动画直接应用于 use 元素 shadow tree 中的元素实例。
- 定义 SMIL 风格动画通过克隆动画元素的传播方式;要求影响被引用图形的动画元素即使不是被引用元素的后代,也必须克隆至 shadow tree。
- 定义在不同节点树中出现同一
id 的多个元素时,基于事件的动画元素触发器和动画元素 href 属性的行为。
- 要求 use 元素 shadow tree 中的事件处理遵循 Shadow DOM 规范的事件重新定位规则。
- 阐明从被引用图形复制事件监听器至其元素实例的行为同样适用于通过脚本添加的监听器以及事件属性。
- 禁止直接向 use 元素 shadow tree 中的元素添加事件监听器。
- 默认情况下,将 use 元素和
symbol 映射为 graphics-object 角色,以使 shadow 内容可访问。
- 使 SVGSymbolElement 接口继承自 SVGGraphicsElement,使已渲染的
symbol 实例拥有图形元素的全部行为(例如 getBBox)
- 恢复 SVGUseElement 接口上的 (animated)instanceRoot 属性。
- 更改 a 元素的角色映射,使其取决于其是否为有效链接。
- 将 ARIA 状态与属性标记为可动画的。
- 更新
id 值的要求,使其与 HTML 保持一致,并额外警告在 XML 文档中对有效性的要求。
- 将 外部命名空间和私有数据 章节移动至本章节,并添加了一些新的交叉引用与备注。
- 明确
systemLanguage 的语言标签匹配是大小写不敏感的,符合 BCP 47 的要求。 议题讨论 编辑
K.2.7. 样式章节
- 移除 ‘
contentStyleType’ 属性。
- SVGStyleElement 现在实现了 LinkStyle。
- 更新用户代理样式表——内部
svg 元素和 foreignObject 元素不再设为 overflow:hidden。
- 在用户代理样式表中为
overflow:hidden 的元素列表中添加了 hatch。
- 将除根
svg 元素和 foreignObject 子元素之外的所有元素的 transform-origin 默认值设为 ‘0 0’。
- 大幅重写章节,使其更简洁。
- 定义 HTML 的 ‘
link’ 元素必须加载外部样式表。
- 明确列出具备呈现属性的属性集合、其名称(当呈现属性名称与属性名不匹配时)以及允许使用的元素。
- 添加了其他规范中定义、且符合 SVG 2 的用户代理必须支持的属性列表。
- 在用户代理样式表中添加规则,将已废弃的 ‘
xml:space’ 属性映射至 white-space 属性。
- 要求在 text 元素上支持 @font-face 规则以及
::first-letter 与 ::first-line 伪元素。
- 要求 HTML 文档中包含内联 SVG 内容的所有 SVG 与 HTML 样式表都必须适用于文档中的全部内容。
- 允许在任何
svg 命名空间的元素上使用呈现属性。
- 将
style 元素的显示行为改为使用用户代理样式定义。
- 添加带有
!important 的用户代理样式规则,以控制从不渲染的元素,并附加说明其影响的注释。
- 要求交互式用户代理包含
:focus 与 ::selection 样式。
- 清理呈现属性表,使其与规范其他章节保持一致:从将
x/y/width/height 属性视为呈现属性的元素中移除 mask,添加 use 与 symbol;将动画元素排除在将 fill 视为呈现属性的元素之外;移除 textPath 的 d 作为呈现属性;将 gradientTransform 与 patternTransform 的讨论合并到主表中。
- 移除了对
clip 属性支持的要求。
K.2.8. 几何属性章节(仅限 SVG 2)
- 已移除 ‘pattern’ 和 ‘filter’,不再属于 x 和 y 属性适用的元素集合。
- 定义当 width 和 height 属性值为 auto 时,适用于这些属性的 SVG 元素的计算值为 0。
- auto 在 ‘svg’ 元素上的宽度和高度等价于 100%,在图像上等同于自动尺寸。
- 从宽度和高度视为尺寸属性的元素列表中移除 ‘mask’。
- 明确指出宽度和高度尺寸属性可以通过对应的 max/min 属性进行约束。
K.2.9. 坐标系统、变换与单位章节
- 使 SVGMatrix.skew{X,Y} 在值非法时抛出异常。
- 添加了来自 SVG Tiny 1.2 的改进版边界框措辞,并提供了可为元素计算边界框的算法。
- 将没有位置信息的元素的边界框定义为位于 (0,0)。
- 从 ‘preserveAspectRatio’ 中移除
defer 关键字。
- 为 “current viewport” 添加定义。将 SVG viewport 改为指所有由 SVG 元素创建的视口。
- 为 vector-effect 添加 non-scaling-size、non-rotation 与 fixed-position 值。
- 将对坐标系统布局的要求改为强制性。
- vector-effect 在 3d 渲染上下文 中无效。
- 在 CSS 环境中引用 CSS 默认尺寸算法,对 SVG 尺寸进行定义。
- 明确百分比相对于指定 viewBox 的宽度和高度。
- 将未实现的 vector-effect 选项标记为风险。
- 在 “clipped” 标志被设置时,修改边界框算法以包括 overflow 与 clip 属性的影响。
K.2.10. 路径章节
K.2.11. 基本形状章节
K.2.12. 文本章节
K.2.13. 嵌入内容章节(仅限 SVG 2)
- 新增本章节,包含 ‘video’、‘audio’、‘iframe’、‘canvas’、‘source’ 与 ‘track’ 元素,这些元素的行为几乎与对应的 HTML 元素相同。
- 移除 SVG 对 HTML 嵌入内容元素的复制,实现这些元素可在 SVG 容器内使用 HTML 命名空间。
- 移除在 SVG 文档被 ‘image’ 引用时需忽略 clip 与 overflow 的要求。
- 允许图像的高度与宽度使用 “auto”,从图像文件的固有尺寸或宽高比中确定。
- 明确图像与 foreignObject 的尺寸应与 CSS 以及几何属性保持一致;允许使用 x、y、width 与 height 对嵌入的 HTML 元素进行定位。
- 明确 object-fit 与 object-position 适用于嵌入的 HTML 元素;并添加警告说明它们不适用于 ‘image’。
- 将 “Foreign namespaces and private data” 小节移至文档结构章节。
- 将对已放弃的 Resource Priorities 规范的引用更新为对(工作草案)Resource Hints 规范的引用。
- 为所有嵌入元素定义统一布局模型,包括 ‘image’ 上的 object-fit 与 object-position 行为。
K.2.14. 绘制章节
- 为描边属性的描述添加更多细节,并加入算法以确定描边必须呈现的精确形状。
- 添加 paint-order 属性。
- 将 color-interpolation-filters 属性迁移至 Filter Effects 规范。
- 添加 context-fill 与 context-stroke 绘制值。
- 允许 <paint> 值和标记属性使用 child 关键字以及 <child-selector> 值,以支持无 ID 的引用。
- 将 vector-effect 属性的 non-scaling 规范定义迁入 SVG 2。
- 在 stroke-linejoin 中添加 arcs 值。
- 为 ‘marker’ 上的 ‘orient’ 属性添加 'auto-start-reverse'。
- 移除 SVGPaint 接口。
- 添加了 z-index 属性。(后被移除。)
- 将部分新的标记与描边相关特性拆分至 SVG Markers 与 SVG Strokes 规范。
- 移除 <child-selector> 绘制值。
- 移除 'buffered-rendering' 属性,改以简短讨论 'will-change' 属性。
- 添加 child(<integer>) 绘制值,以支持原本 <child-selector> 所针对的使用场景。
- 澄清所有零长度子路径(无论开闭)其渲染结果均基于 stroke-linecap 属性。
- 允许在所有 shape 上使用标记。
- 澄清 context-stroke 与 context-fill 的描述,特别是关于使用元素影子内容的情况。
- 将标记元素的显示行为改为使用用户代理样式表定义。
- [自上一次 WD 起] 撤回允许 fill 与 stroke 接受多个绘制值的更改。
- 移除 “markable elements” 类别。
K.2.15. 颜色章节(仅 SVG 1.1)
- 移除本章节,改为对 CSS Color 的规范性引用。
K.2.16. 绘制服务器章节(在 SVG 1.1 中称为渐变与图案)
- 新增 ‘solidcolor’ 元素及其两个属性 solid-color 与 solid-opacity,来源于 SVG Tiny 1.2。(将 ‘solidColor’ 改名为 ‘solidcolor’。)
- 在 ‘radialGradient’ 元素上添加 ‘fr’ 属性,可指定焦点圆的半径。
- 新增网格渐变章节,定义 ‘mesh’、‘meshrow’ 与 ‘meshpatch’ 元素。(将 ‘meshGradient’ 改名为 ‘mesh’,‘meshRow’ 改名为 ‘meshrow’,‘meshPatch’ 改名为 ‘meshpatch’。)
- 新增填充图案章节,定义 ‘hatch’ 与 ‘hatchpath’ 元素。(将 ‘hatchPath’ 改名为 ‘hatchpath’。)
- 将 ‘mesh’ 元素上的 ‘gradientTransform’ 与 ‘hatch’ 元素上的 ‘hatchTransform’ 重命名为 ‘transform’。
- 将绘制服务器元素的显示行为改为使用用户代理样式表定义。
- 定义绘制服务器模板交叉引用的通用处理方式,允许外部文件引用,采用 use 元素的影子 DOM 模型克隆子内容,明确 title 与 desc 是否影响子克隆的一致行为,并显式定义每种元素从模板派生的属性。
- 添加警示说明,指出某些看似呈现属性的属性实际上并非如此。
K.2.17. 裁剪、遮罩与合成章节(仅 SVG 1.1)
- SVG 现引用 CSS Masking 规范 [css-masking-1]。
- 移除裁剪/遮罩属性与元素的定义。
- 保留裁剪/遮罩的简短介绍并添加对 CSS Masking 的引用。
- 添加对合成与混合规范的引用。简单 alpha 合成为强制性。
- 应在 HTML 中内联的最外层 svg 元素上尊重 overflow 属性。
- 将裁剪、遮罩与合成章节合并入渲染模型章节。
K.2.18. 滤镜效果章节(仅 SVG 1.1)
K.2.19. 脚本与交互章节(SVG 1.1 中为独立章节)
- 新增 ‘tabindex’ 属性。
- 纠正 “cursor 元素” 上的 ‘cursor/href’ 属性定义,使其接受非 CSS 函数形式的 URL。
- 向 pointer-events 添加 bounding-box 关键字。
- 将 SVGLoad、SVGAbort、SVGError 与 SVGUnload 分别替换为 load、abort、error 与 unload。
- 仅要求结构上外部元素与最外层 svg 元素必须触发 load 事件。
- 将 SVGResize 与 SVGScroll 分别替换为 resize 与 scroll。
- 移除 DOMActivate。
- 将 DOMFocusIn 与 DOMFocusOut 替换为 focusin 与 focusout,并新增 blur 事件。
- 新增键盘事件。
- 移除 mutation 事件。
- 移除 SVGZoomEvent。
- 明确影子 DOM 内容是可聚焦且可交互的。
- 将 script 元素的显示行为改为使用用户代理样式表定义。
- 将 cursor 元素标记为已废弃,并更新对 cursor 的描述。
K.2.20. 链接章节
- 在 ‘view’ 的内容模型中加入 animation elements。
- 新增能够使用 Media Fragments 规范定义的片段标识符链接到 SVG 资源的可能性。
- 移除 ‘xlink:type’、‘xlink:role’、‘xlink:arcrole’、‘xlink:show’ 与 ‘xlink:actuate’ 属性。
- 废弃 ‘xlink:href’,改为使用无命名空间的 ‘href’。
- 废弃 ‘xlink:title’,改为使用子元素 ‘title’。
- 允许在 SVG view 片段中出现空格。
- 定义 “pixel:” 与 “percent:” 空间媒体片段的解释方式。
- 链接到 ‘view’ 时,不再导致隐式的 viewBox 变换去显示最近的祖先 ‘svg’ 元素。
- 澄清未指定的 SVG view 片段参数不会导致相应属性被重置为其初始值。
- 移除 ‘view’ 元素上的 ‘viewTarget’ 属性及其对应的 SVG view 片段参数。
- 仅片段的 URL 始终视为同文档。
- 在 ‘a’ 元素上添加更多属性,以与 HTML 同步。
- 创建关于处理 URL 与外部资源文件的详细指引。
K.2.21. 脚本章节(在 SVG 1.1 中)
- 移除 ‘contentScriptType’ 属性。
- 从 AnimationEvents 中移除 ‘onload’。
- 将整章合并进交互章节。
K.2.22. 动画章节(仅 SVG 1.1)
K.2.23. 字体章节(仅 SVG 1.1)
- 添加 WOFF 要求,重新组织内容。
- 移除本章节及其包含的 SVG 字体特性,包括 ‘font’、‘glyph’、‘missing-glyph’、‘hkern’、‘vkern’、‘font-face’、‘font-face-src’、‘font-face-uri’、‘font-face-format’ 与 ‘font-face-name’ 元素及其对应的 IDL 接口。(其余内容已合并入文本章节。)
K.2.25. 向后兼容章节(仅 SVG 1.1)
K.2.26. 可扩展性章节(仅 SVG 1.1)
K.2.27. 文档类型定义附录(仅 SVG 1.1)
- 移除本附录,因为 SVG 2 不再基于 DTD 定义。
K.2.28. SVG 文档对象模型(DOM)(仅 SVG 1.1)
- 将核心 DOM 支持要求更新为 DOM 4、DOM Level 2 Views、UI Events 与 DOM Level 2 Style/CSS。
- ‘SVGException’ 接口已移除。
- 移除关于已废弃的 ‘hasFeature’ 方法的章节。
- 删除与 SVG 无关的事件与错误处理文本。
- 移除依赖于 ‘CSSValue’ 类型的接口与方法(它们已在 SVG 1.1 中废弃)。
- 对其他 DOM 规范的依赖更新如下:
- 将 DOM 4 设为最低要求,DOM living standard 为 “should”。
- 移除对已废弃的 DOM View 规范的支持要求。
- 将对 DOM Level 2 Style 的要求限制为仅包括在 CSSOM 中也定义的接口,并将对 CSSOM 的完整支持设为 “should”。(同时删除 “Relationship with DOM Level 2 CSS” 小节。)
- 将 Geometry Interfaces Module Level 1 设为必需。
- 将 Clipboard API 与事件设为规范性要求,作为 UI Events 要求的补充。
- 澄清 SVG DOM 要求也适用于其他规范中定义的元素。
- 为处理 SVG 命名空间中的未知元素添加要求:“must” 按当前浏览器的做法(作为 SVGElement 实例)处理;“should” 实现 SVGUnknownElement 接口(该接口仍有风险)。
- 移除对初始化 textLength 的特殊规则,改为更清晰地定义属性的动态初始值。
- 澄清对象初始化规则仅在映射
(none) 初始值时适用,并同样适用于其他规范(如 Geometry)中定义的接口。
- 更新 “Relationship with UI Events” 小节,说明大多数事件处理属性在所有元素上均可用,且 clipboard API 事件可用。措辞已更新,以明确对软件的规范性要求。
- 将本附录的全部内容合并至 Basic Data Types 章节,除 “Relationship with UI Events” 小节外,该小节已合并入交互章节。
Issue discussion Edits
K.2.29. IDL 定义附录
- 已转换为标准 WebIDL 格式。
- 其他更改遵循相应章节的规定。
K.2.30. Java 语言绑定附录(仅 SVG 1.1)
- 移除本附录,因为语言绑定现已由 Web IDL 定义。
K.2.31. ECMAScript 语言绑定附录(仅 SVG 1.1)
- 移除本附录,因为语言绑定现已由 Web IDL 定义。
K.2.32. Implementation Notes 附录(在 SVG 1.1 中为 Implementation Requirements)
- 将规范性章节移入正文章节,并将附录名称改为 Implementation Notes。
- 错误处理已转入 Conformance Criteria。
- 数值限制已移至 Data Types and Interfaces,关于颜色与不透明度的章节已删除(这些属性的限制行为在 CSS Color 中定义)。
- 椭圆弧实现说明的规范性部分已纳入 Paths 章节,其余路径实现要求仍保留。
- 文本选择实现说明已移至 Text 章节,主章节为 Text Selection。
- 打印实现说明已移入 Conformance Criteria。
Issue discussion Edits
K.2.33. 可访问性支持附录
K.2.34. 国际化支持附录(仅 SVG 1.1)
K.2.35. 最小化 SVG 文件大小附录(仅 SVG 1.1)
K.2.36. 动画 SVG 文档附录(仅 SVG 2)
K.2.37. 参考文献附录
- 移除对 CSS2 的规范性引用。
- 移除对 DOM Level 3 Core 的信息性引用。
- 将对 DOM Level 1 Core 的规范性引用改为信息性。
- 将对 DOM Level 2 Core 的规范性引用改为 DOM 4。
- 将对 SMIL 3 的信息性引用改为规范性。
- 新增对 CSS3 Color、CSS3 Fonts、CSS3 Line Box、CSS3 Transforms、CSS3 UI、CSS3 Values and Units、CSS4 Images、Filter Effects、WOFF、Web IDL 的规范性引用。
- 新增对 CSS 3 Transitions 与 Animations 的信息性引用。
- 将对 DOM Level 2 Events 与 DOM Level 3 Events 的引用改为对 UI Events 与 DOM 4 的规范性引用。
- 新增对 WAI‑ARIA 1.1 的规范性引用。
- 新增对 Shadow DOM 的规范性引用。
- 移除对 DOM Level 2 Views 的规范性引用。
- 新增对 Geometry Interfaces 的规范性引用。
- 新增对 CSSOM 的规范性引用。
- 新增对 Clipboard API 与事件的规范性引用。
K.2.38. 元素、属性与属性索引附录
K.2.39. IDL 索引附录(仅 SVG 2)
K.2.40. 功能字符串(仅 SVG 1.1)