付録K: SVG 1.1からの変更点
この付録は参考情報であり、規範的なものではありません。
この付録では、SVG 1.1 第二版勧告以降に行われた変更点をまとめています。
初期のSVG 2 候補勧告以降の変更は、特に強調されています。
K.1. 編集上の変更
仕様書をより読みやすくするために、いくつかの文体変更が行われました。主な変更点は以下の通りです:
- XSL-FOへの言及を除去し、現代のCSS仕様に近いスタイリングに変更。
- ワーキンググループが採用を決定し、メンバーが推進する機能について、仕様に注釈を追加。
- SVGがHTMLだけでなくXMLでも利用可能であることを強調。
- 規範的な内容が他仕様に移動済みまたは廃止された章を削除:
フィルター、クリッピングとマスキング、アニメーション、フォント、色。
- (参考情報)概念章、後方互換章、および複数の付録を削除。
- 複数章の統合と再編成:
- (規範的)適合性付録を章に昇格。
- 「display」と「visibility」プロパティの節を塗り章から描画モデル章へ移動。
- クリッピング、マスキング、合成章の残りの節を描画モデル章に移動。
- SVG 1.1 のメタデータ章を文書構造章に統合。
- 「image」要素定義を文書構造章から新しい埋め込みコンテンツ章へ移動。
- SVG 1.1 の拡張性章から外部名前空間・プライベートデータ節を文書構造章へ移動。
- 幾何プロパティ章を新設し、基本図形章・パス章から該当定義を移動。
- 埋め込みコンテンツ章を新設し、SVG 1 拡張性章の内容すべてを統合。
- SVG 1.1 のスクリプティング章とインタラクション章を統合。
- 変更点リストを整理し、抜けていた変更を追加。
初期候補勧告以降の変更にはイシュー議論へのリンクを追加。
編集
- 「user coordinate system」(従来は同義語の「local coordinate system」も使用)という用語の統一。
イシュー議論
編集
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対応フェッチアルゴリズムで使用。
- NoInterfaceObject の代わりに mixin を使用。
イシュー議論
編集
K.2.2. 概念章(SVG 1.1のみ)
- リソース文書として処理された文書ではアニメーションは実行されません。
- この付録を章に昇格。
- SVG統合仕様から処理モードに関する内容を統合。
- SVGクロスリファレンスの各種に対して必要な処理モードを定義し、
HTML/CSSからの類似参照には推奨処理モードを提示。
(SVG統合仕様の「参照モード」節を置き換え)
- すべての適合性クラスを更新・再編成し、
本仕様や他仕様の変更点に合わせて一貫性を持たせました。
- 適合性評価においてSVGビューアは、
仕様全体で言及されているユーザーエージェント/SVGユーザーエージェントであることを明確化。
該当定義を文書構造章から本章へ移動。
- 高精度グラフィックス生成の推奨方法に関する非規範節を、実装ノート付録へ移動。
- ICCおよびCSS Color 4への参考情報リンクを追加。
イシュー議論
編集
K.2.4. 描画モデル章
- 合成とブレンディング仕様への参照で描画モデルを更新。
- 描画される要素と描画可能な要素に関する新しい定義を追加。
- display と visibility に関する節を本章へ移動。
- z-index を本章へ移動し、非規範テキストを削除して例のみを残す。
- イシュー2解決 - knock-outへの参照を削除。
- イシュー3解決 - 要素やグループの描画方法説明を改稿。
- イシュー4解決 - 各ペイントサーバ型の記述を明示しない。
- イシュー6解決 - 変更なし。
- クリッピング、マスキング、合成章を本章に統合(イシュー7の解決含む)。
- 親合成の節を更新し、各参照モードがどのように合成されるかを明確化。
- SVGルートおよびforeignObjectは、ユーザーエージェントのスタイルシートでoverflow:hiddenではなくなりました。
- overflow:autoは場合によってはクリップしスクロールバーを表示可能。
- overflow:scrollはsvg要素にスクロールバーを表示可能。
- 初期クリッピングパスの定義を削除。
- use要素のシャドウDOMモデルに合わせて描画要件を更新。
K.2.5. 基本データ型とインターフェース章
K.2.6. 文書構造章
- SVGSVGElementのIDLを更新し、
getIntersectionListとgetEnclosureListのreferenceElement引数をnullableにしました。
- SVGSVGElementインターフェースの
suspendRedraw
、unsuspendRedraw
、unsuspendRedrawAll
メソッドを廃止しました。
- ‘externalResourcesRequired’属性を削除しました。
- ‘image’のwidthおよびheight属性で'auto'が使用可能になりました。
- ‘use’が文書全体を参照できない制限を解除しました。
- ‘desc’および‘title’要素に‘lang’属性を追加しました。
- WAI-ARIA属性に関する節を追加しました。
- 最外svg要素上のCSS変形がcurrentScaleやcurrentTranslateに影響しないことを明確化し、‘svg’要素で最外svg要素でない場合の返り値も定義しました。
- rootElement属性を廃止しました。
- ルート‘svg’要素上のイベントハンドラコンテンツ属性・IDL属性は、HTMLの
body
と同様にWindowで発火するイベント向けとなることを定義しました。
- ‘image’要素を埋め込みコンテンツ章へ移動しました。
SVGElementInstance
およびSVGElementInstanceList
インターフェース、およびSVGUseElementインターフェース上の対応属性を削除しました。
- ‘use’要素のイベントフローをShadow
DOM仕様に従うよう変更しました。
- ‘switch’要素が‘script’要素の処理に影響しないことを明確化しました。
- ‘svg’要素の‘width’と‘height’属性を表示属性とし、初期値をautoに変更しました。
- ‘svg’要素からbaseProfileとversion属性を削除しました。
- forceRedrawメソッドをSVGSVGElementインターフェースで廃止し、呼び出しても効果がないように定義しました。
-
deselectAllメソッドをSVGSVGElementインターフェースでSelection APIに基づいて定義し、同時に廃止しました。
- ‘switch’要素が‘style’要素の処理に影響しないことを明確化しました。
- getIntersectionListとgetEnclosureListメソッドがshadow
tree要素を返さないことを明確化しました。
- requiredFeatures属性を削除しました。
- SVGSVGElementのcurrentViewおよびuseCurrentViewプロパティを削除しました。
- svg名前空間の未知の要素を扱うためSVGUnknownElementを追加しました。
- 名前空間なしで‘lang’属性を追加しました。
- SVGSVGElementインターフェースから
viewport
属性を削除しました。
- xml:base属性を削除しました。
- ‘discard’要素を分離したSVGアニメーションモジュールへ移動しました。
- すべてのSVG要素でカスタムデータ属性を許容しました。
- ‘desc’および‘title’の説明をARIAやアクセシビリティマッピングに合わせて改訂しました。
- SVG文書内でメタデータ要素をどのように構成するかの推奨事項を削除しました。
- Documentインターフェースオブジェクト上のSVGDocumentプロパティ要件を削除しました。
- ‘switch’の子孫要素が‘systemLanguage’属性を持つ場合、SMILの'allowReorder'属性の定義に従って並び替えるようにしました。
- ‘tspan’および‘textPath’をグラフィックス要素カテゴリに追加。これによりフィルターやマスク等を適用可能となります。
- 要素ロールに関する節を最新のSVGアクセシビリティAPIマッピング仕様に合わせて更新しました。
- 必須でなくてもdefs要素に事前定義コンテンツを入れる推奨を緩和しました。
- defs、title、desc、metadata、symbol要素の表示挙動をユーザーエージェントのスタイルで定義するよう変更しました。
- symbol要素でx, y, width, height表示属性を許容し、ネストしたsvg要素と同じ効果を持つことを明確化しました。
- ‘refX’および‘refY’の互換性のあるデフォルト挙動を定義し、キーワードがmarkerと同じ挙動であることを明確化しました。
- use要素のシャドウツリーをShadow DOM仕様と整合させ、SVG 2の他の変更とよりよく統合し、関連する挙動を明確化しました。主な項目は以下の通りです:
- x/y/width/heightは表示属性ですが、最終レイアウトに固有の効果を持ちます
- widthとheightが0の場合は、クローンされたsvg/symbolの使用値にのみ影響し、負値は構文エラーとなります
- use要素がSVGコンテナの有効な子となるすべての要素を参照可能に(従来はグラフィックス要素のみ)
- SVGUseElementShadowRootインターフェースをShadowRootインターフェースの拡張として定義し、use要素のシャドウツリーに必須としました
- Shadow DOMおよびuse要素に関連する用語を定義し、必要に応じてDOM標準を参照
- use要素のシャドウツリーは、条件付き処理失敗分岐内でも生成されることを明確化(display:noneについての従来の指針と整合)
- シャドウツリー内の要素インスタンスは通常のElementノードとして扱われ、ただし読み取り専用です
- SVGElementInstanceオブジェクトで定義されていたプロパティは、SVGElementを拡張するミックスインインターフェースとして定義
- クローンされたコンテンツでのURL参照はソースファイルを基準に絶対化されることを明確化
- クロスリファレンスが変化した場合(宣言的アニメーションも含む)、シャドウツリーは破棄され、元・アニメーション済みシャドウツリーは並行して保持されないことを明確化
- 循環参照は、環を接続するuse要素のレンダリングのみをブロックし、自身のホストはブロックしないことを明確化
- x/yがuse要素上で変換として機能し、userSpaceOnUseグラフィック効果に影響する警告を追加
- use要素のwidth/heightがsvg/symbolに与える影響をgeometry propertiesとauto値と整合するよう再定義
- その他の再利用グラフィック(svg/symbol以外)では、シャドウ要素はuse要素の座標系でレイアウトされ、パーセンテージ長さの解決も含むことを明確化
- シャドウツリーでのスタイルのクローンを、Shadow DOMでのスタイルスコープと整合するよう再定義し、スタイルシートをシャドウDOMのスコープにクローンすることを必須化
- SVG 1.1に準拠したユーザーエージェントと異なるスタイルとなる場合の警告・例を追加
- visibilityプロパティの継承挙動について例を追加
- use要素コピー内のマルチメディアを同じ元要素の他インスタンスと同期させることを必須化
- シャドウツリーがホスト文書のアニメーションタイムラインを共有することを明確化
- Web Animations APIアニメーションのクローンを表すShadowAnimationインターフェースを定義
- WAAPIアニメーションをuse要素のシャドウツリー内の要素インスタンスに直接適用することを禁止
- SMIL形式のアニメーション要素のクローンによる伝播を定義し、参照元グラフィックに影響するアニメーション要素は必ずシャドウツリーにクローンされることを必須化(参照元要素の子孫でなくても)
- イベントベースのアニメーション要素トリガーやanimation要素href属性が、異なるノードツリーで同じ‘id’を持つ場合の挙動を定義
- use要素のシャドウツリー内のイベント処理はShadow DOM仕様のイベントリターゲット規則に従うことを必須化
- 参照グラフィックから要素インスタンスへのイベントリスナーのコピーは、イベント属性だけでなくスクリプト追加も対象とすることを明確化
- use要素のシャドウツリー内の要素へ直接イベントリスナーを追加することを禁止
- use要素とsymbol要素はデフォルトでgraphics-objectロールへマッピングし、シャドウコンテンツがアクセシブルとなるように
- SVGSymbolElementインターフェースをSVGGraphicsElementから継承し、描画されるsymbol要素インスタンスがグラフィックス要素の全挙動(例:getBBox)を持つようにしました
- SVGUseElementインターフェース上で(animated)instanceRootプロパティを復元しました
- ‘a’要素のロールマッピングを、実際に有効なリンクかどうかで決定するよう変更しました。
- ARIA状態・プロパティ属性をアニメーション可能としてマークしました。
- ‘id’値の要件をHTMLと調和させ、XML文書での有効性要件について追加警告も明記しました。
- 外部名前空間とプライベートデータ節を本章へ移動し、新たなクロスリファレンスや注釈も追加しました。
K.2.7. スタイリング章
- ‘contentStyleType’属性を削除しました。
- SVGStyleElementは LinkStyle
を実装するようになりました。
- ユーザーエージェントスタイルシートを更新し、内部svg要素やforeignObject要素はoverflow:hiddenで設定されなくなりました。
- ユーザーエージェントスタイルシートにoverflow:hiddenとなる要素リストにhatchを追加しました。
- 全要素で、ルートsvg要素およびforeignObject要素の子となるsvg要素を除き、transform-originの初期値を'0 0'に設定しました。
- 章全体を簡潔に書き直しました。
- HTMLの‘link’要素が外部スタイルシートを読み込まなければならないと定義しました。
- プレゼンテーション属性を持つプロパティの正確なセット、その名称(属性名がプロパティ名と一致しない場合)、および許可される要素を明示しました。
- SVG 2準拠ユーザーエージェントがサポート必須な、他仕様で定義されたプロパティのリストを追加しました。
- 廃止された‘xml:space’属性をwhite-spaceプロパティにマッピングするユーザーエージェントスタイルシート規則を追加しました。
- @font-face規則および‘text’要素上の::first-letterと::first-line擬似要素のサポートを必須としました。
- HTML文書中のSVGおよびHTMLスタイルシートは、インラインSVGコンテンツを含むすべての文書コンテンツに適用されなければならないとしました。
- 任意のsvg名前空間要素でプレゼンテーション属性を許容しました。
- style要素の表示挙動をユーザーエージェントスタイルで定義するよう変更しました。
- 決して描画されない要素を制御する!importantユーザーエージェントスタイル規則を追加し、その影響について注記しました。
- インタラクティブなユーザーエージェントには:focusと::selectionスタイルの包含を必須としました。
- プレゼンテーション属性表を他の仕様箇所と整合するよう整理:
‘mask’をx/y/width/height属性をプレゼンテーション属性として扱う要素から除外し、
‘use’と‘symbol’を追加;
アニメーション要素をfillをプレゼンテーション属性として扱う要素から除外;
‘textPath’についてdのプレゼンテーション属性を削除;
gradientTransformおよびpatternTransformの議論をメイン表に統合。
- clipプロパティサポート要件を削除しました。
- HTMLやCSSと整合するよう、リンクに対するポインターカーソルのユーザーエージェントスタイルシート要件を追加。
イシュー議論
編集
K.2.8. 幾何プロパティ章(SVG 2のみ)
- ‘pattern’と‘filter’をxおよびyプロパティが適用される要素セットから除外しました。
- widthおよびheightプロパティ値がautoの場合、対象SVG要素では0に算出されると定義しました。
- svg要素のwidth/heightのautoは100%に、画像要素では自動サイズに等しいとしました。
- ‘mask’をwidth/heightがサイズプロパティとなる要素から除外しました。
- width/heightのサイズプロパティは、対応するmax/minプロパティで制約可能であることを明確化しました。
K.2.9. 座標系・変換・単位章
- SVGMatrix.skew{X,Y}は不正値で例外を投げるようにしました。
- SVG Tiny 1.2からバウンディングボックスに関する表現を改良し、要素のバウンディングボックスを計算するアルゴリズムを追加。
- 位置を持たない要素のバウンディングボックスが(0,0)となるよう定義しました。
- ‘preserveAspectRatio’からdeferキーワードを削除しました。
- 'current viewport'定義を追加。SVG viewportはSVG要素が作る全てのビューポートを意味するよう変更。
- non-scaling-size、non-rotation、fixed-position値をvector-effectに追加。
- 座標系レイアウトの要件を必須としました。
- vector-effectは3d描画コンテキスト内では効果を持ちません。
- CSSデフォルトサイズアルゴリズムに基づきCSSコンテキストでのSVGのサイズ決定方法を定義。
- パーセンテージ値はviewBoxで指定した幅と高さに対する相対値であることを明確化しました。
- 未実装のvector-effectオプションをat-riskとしてマーク。
- バウンディングボックスアルゴリズムを変更し、"clipped"フラグが立っている場合はoverflowやclipプロパティの効果を含むようにしました。
K.2.10. パス章
- パーセンテージ距離がゼロ‘pathLength’により影響されないことを明確化しました。
イシュー議論
編集
- 実装ノート節を論理的なサブセクションに再編(範囲外アークパラメータ節含む、以前は実装ノート付録にあった)。
編集
K.2.11. 基本図形章
K.2.12. テキスト章
- ‘textLength’の初期値を明確化し、反映されるIDL属性への影響について注記を追加しました。
K.2.13. 埋め込みコンテンツ章(SVG 2のみ)
- この章を追加しました。この章には新しい
‘video’、‘audio’、‘iframe’、‘canvas’、
‘source’および‘track’
要素が含まれており、これらは対応するHTML要素とほぼ同じ挙動をします。
- HTMLの埋め込みコンテンツ要素のSVG版を削除し、これらの要素をSVGコンテナ要素内でHTML名前空間として使用できるようにしました。
- ‘image’要素で参照されたSVG文書に対し、clipやoverflowを無視する要件を削除しました。
- 画像のheightおよびwidth属性に「auto」を許容し、画像ファイルの本来寸法やアスペクト比から決定できるようにしました。
-
image要素およびforeignObject要素のサイズ指定をCSSや幾何プロパティと整合させることを明確化し、埋め込まれたHTML要素をx、y、width、heightの幾何プロパティで配置可能としました。
-
object-fit および
object-position
プロパティが埋め込みHTML要素に適用されることを明確化し、‘image’には定義されていない旨の注意書きを追加しました。
- 「外部名前空間とプライベートデータ」節を文書構造章に移動しました。
- 放棄された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>が対象だったユースケースをサポートしました。
- 長さ0のサブパス(開閉問わず)は、stroke-linecap属性に基づく描画結果となることを明確化しました。
- すべての図形でマーカー指定を許容しました。
- context-strokeとcontext-fillの説明を、特にuse要素シャドウコンテンツに関して明確化しました。
- marker要素の表示挙動をユーザーエージェントスタイルで定義するよう変更しました。
- [最新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への参照を追加しました。
- Compositing and Blending仕様への参照を追加しました。単純なアルファ合成は必須です。
- 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の記述を更新しました。
- 削除されたSVG DOM付録からイベントに関する内容を統合しました。
イシュー議論
編集
K.2.20. リンク章
- ‘view’のコンテンツモデルにアニメーション要素を追加しました。
- Media Fragments仕様で定義されるフラグメント識別子によるSVGリソースへのリンクが可能になりました。
- ‘xlink:type’、‘xlink:role’、‘xlink:arcrole’、‘xlink:show’、‘xlink:actuate’属性を削除しました。
- ‘xlink:href’属性を廃止し、名前空間なしの‘href’属性を使用するよう推奨しました。
- ‘xlink:title’属性を廃止し、子‘title’要素の利用を推奨しました。
- SVG viewフラグメントで空白を許容しました。
- "pixel:"および"percent:"空間メディアフラグメントの解釈方法を定義しました。
- ‘view’要素へのリンクが、最近傍の祖先‘svg’要素の暗黙的なviewBox変換を引き起こさないようにしました。
- 未指定の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のみ)
- この章をSVGアニメーションモジュールに分離しました。
- 一部の参考情報テキストは新しいアニメーション付録へ移動しました。
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サポート要件をDOM4、DOM Level 2 Views、UI Events、DOM Level 2 Style/CSSへ更新。
- 'SVGException' インターフェースを削除しました。
- (廃止)'hasFeature'メソッドの節を削除。
- イベントやエラー処理に関するSVG固有でないテキストを削除しました。
- 'CSSValue'型依存のインターフェース・メソッドを削除(SVG 1.1ですでに廃止済み)。
- 他のDOM仕様への依存関係を以下のように更新:
- DOM 4を最低要件とし、DOM現行標準を「推奨」に。
- 廃止されたDOM View仕様のサポート要件を削除。
- DOM Level 2 Styleの要件はCSSOMでも定義されているインターフェースに限定し、CSSOMの完全サポートを「推奨」に。
(「DOM Level 2 CSSとの関係」節を削除)
- Geometry Interfaces Module Level 1を要件に追加。
- UI Events要件に加え、Clipboard APIおよびイベントも規範要件として追加。
- SVG DOMの要件が他仕様で定義された要素にも及ぶことを明確化。
- SVG名前空間の未知要素の扱いについて要件を追加:
「必須」:現状のブラウザ同様SVGElementインスタンスとして扱うこと、
「推奨」:SVGUnknownElementインターフェースの実装(ただしリスクあり)。
- textLengthの初期化に関する特別規則を削除し、属性の動的初期値を明確化。
- オブジェクト初期化規則は、
(none)
初期値の反映時のみ適用であり、他仕様(例:Geometry)で定義されたインターフェースにも適用されることを明確化。
- 「UI Eventsとの関係」節を更新し、ほとんどのイベントハンドラ属性が全要素上で利用可能・Clipboard APIイベントも利用可能であることを明記。文言を更新してソフトウェアへの規範要件を明確化。
- この付録全体を基本データ型章へ統合(「UI Eventsとの関係」節のみインタラクション章へ統合)。
イシュー議論
編集
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. 実装ノート付録(SVG 1.1では実装要件)
- 規範節を章へ移動し、付録名を実装ノートへ変更:
- エラー処理は適合性基準章へ。
- 値のクランプはデータ型とインターフェース章へ、色と不透明度に関する節は削除(これらのプロパティのクランプ挙動はCSS Colorで定義)。
- 楕円弧実装ノートの規範部分はパス章へ、その他のパス実装要件も同章へ。
- テキスト選択実装ノートはテキスト章へ、主なテキスト選択節も同章へ。
- 印刷実装ノートは適合性基準章へ。
イシュー議論
編集
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への規範参照をDOM4へ変更しました。
- 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のみ)