[4] IDL属性が内容属性を反映するとは、 IDL属性の取得が内容属性の値を返し、 設定が内容属性の値を変更するようなものをいいます。
[7] IDL属性のデータ型と内容属性の値の種類により、次のバリエーションがあります。
[20] 次の内容属性を URL として反映する IDL属性があります。
[23] 次の内容属性を URL (valid non-empty URL potentially surrounded by spaces) として反映する IDL属性があります。
[41] 列挙属性とIDL属性の関係は、 列挙属性の項を参照。
[18] 次の IDL属性は、反映の処理と当該属性専用の処理が組み合わさっています。
[57] 次のIDL属性は、一部または全部の処理が反映と似ていますが、 反映と異なる定義となっています。
[33] CSSStyleDeclaration
インターフェイスの
IDL属性は、 CSS特性に対応するもので、実質的には反映と同じものですが、
仕様書の用語としては異なるものになっています。
[145] HTMLElement
としての反映は、定義はされていますが、
実際には使われていません。
[133] 内容属性内容属性を反映する DOMTokenList
の
IDL属性IDL属性は、
すべて読み取り専用で、 SameObject
となっています。
IDL属性を持つ要素要素は、次のような DOMTokenList
オブジェクトを保持し、IDL属性の取得器はこのオブジェクトを返さなければなりません
>>6。
[132] それ以外の場合は、次のようにします。
[69] IDL属性IDL属性と内容属性内容属性の取得器は、 次のようにしなければなりません >>6。
[70] IDL属性IDL属性と内容属性内容属性の設定器は、
次のようにしなければなりません >>6。null
、false
true
USVString
, DOMString
long
IndexSizeError
を投げ、ここで停止します。unsigned long
IndexSizeError
例外を投げ、ここで停止します。double
、unrestricted double
[105] ここで、内容属性の既定値は、当該内容属性について特に規定がない場合、 limited to only non-negative numbers なら -1、 limited to only non-negative numbers greater than zero なら 1、 それ以外なら 0 です >>6。
[147] なお、ここに示した処理の他に、 CEReactions
の処理も行う必要があります。
[44] 2017年の改訂で、 crossOrigin
IDL属性について
limited to only known values であるとの記述が加わりました
>>43。しかし IDL属性の型は DOMString?
のままで変更されず、 DOMString?
に関する
limited to only known values の処理の規定はないため、
何を意味しているのかは不明です。ただ DOMString?
は実際には crossOrigin
のみで使われている規定なので、
実質的な規定の変更は無いものを思われます。
[3] 「reflect」という言葉を使って明示的にIDL属性と内容属性の関係を明確に定義したのはおそらく HTML5 が最初です。それ以前の DOM1 HTML や DOM2 HTML では IDL属性の説明から HTML4 へリンクしていただけで、相互の関係を完全に明確には定義していませんでした。
[8] その後 DOM Standard も (文字列の) reflect を定義しました。
[9] SVG と MathML にも reflect 相当の IDL属性がありますが、 DOM HTML スタイルの古い曖昧な説明になっていて、「reflect」とは言っていません。
[10] Atom DOM も「reflect」を定義しています。
[13] Remove HTMLAreaElement.hreflang and .type · Issue #232 · whatwg/html ( 版) <https://github.com/whatwg/html/issues/232>
[14] Fix #477: Unused spec content in common DOM interfaces · whatwg/html@06c2a32 ( 版) <https://github.com/whatwg/html/commit/06c2a3225194e61990f4930e7eb5887de28dd58a>
[15] Fix #358: use DOMTokenList exclusively · whatwg/html@98183f9 ( 版) <https://github.com/whatwg/html/commit/98183f98c609d61e508bbec46b7ab86d37b99b47>
[16] URLs are parsed and produce records · whatwg/html@30bc255 ( 版) <https://github.com/whatwg/html/commit/30bc2557105ad62881ec9670f253febbc9761b44>
[17] Adding [SameObject] to DOMTokenLists · whatwg/html@ec1dc4d ( 版) <https://github.com/whatwg/html/commit/ec1dc4d4571c61cf0c0dfe3e562898635886b412>
[19] Fix reflect and its callers · whatwg/dom@75303c5 ( 版) <https://github.com/whatwg/dom/commit/75303c5158db058fcd3bd21ac1ddc95bb2a18f9e>
[24] Fix #561: Reflecting a broken URL should return the unparsed value · whatwg/html@f9567cd ( 版) <https://github.com/whatwg/html/commit/f9567cd22f506d9a872cd6240555fb047fc75c67>
[25] Fix #859: Special-case empty string in reflect as URL · whatwg/html@f09dbee ( 版) <https://github.com/whatwg/html/commit/f09dbee68524c5ca8fd062a234e339d11c65e3b5>
[54] Fix #875: Editorial: Remove unused 'default value' in reflect as URL · whatwg/html@b2084ec ( 版) <https://github.com/whatwg/html/commit/b2084ec2f3818c0e8433dd5525b118b033b18294>
[55] Editorial: synchronize with the DOM Standard · whatwg/html@21c6ec7 ( 版) <https://github.com/whatwg/html/commit/21c6ec77594eb89b836d4872222f5916910967fd>
[56] Allow <menuitem> to have children giving the label · whatwg/html@8fdccb5 ( 版) <https://github.com/whatwg/html/commit/8fdccb55e40a36449ae6011f9960cb09c1da0db7>
[58] Reflect USVString IDL attributes for URLs as well as DOMString ones · whatwg/html@2ced624 ( 版) <https://github.com/whatwg/html/commit/2ced6248d16e5a742e324ba3f506cc6d179b0414>
[59] Hyperlink term "reflect" for <script>'s event and htmlFor · whatwg/html@9ab42dd ( 版) <https://github.com/whatwg/html/commit/9ab42dd45bcaa23523e5a196e5614449cf979d94>
[60] Formalize custom element reactions · whatwg/html@27aa7bc ( 版) <https://github.com/whatwg/html/commit/27aa7bc4fa6f168654a8c858f0773e611f679b39>
[61] Add [CEReactions] annotation to as · w3c/preload@b632000 ( 版) <https://github.com/w3c/preload/commit/b632000d8bd32118d3b7833b7c0caca044329072>
[62] Use USVString for all URLs ( (domenic著, )) <https://github.com/whatwg/html/commit/018b983b77b2cd908f6d00100e7e0abe893dd2c3>
[63] Scalable Vector Graphics (SVG) 2 ( ()) <https://svgwg.org/svg2-draft/single-page.html#types-TermReflect>
[64] Add the "as" attribute for the <link> element (sideshowbarker著, ) <https://github.com/whatwg/html/commit/2381476ea6143d835f08a3a82e6634b215cb60ea>
[67] Do not throw for zero colgroup/col.span and textarea.rows/cols (domenic著, ) <https://github.com/whatwg/html/commit/00b9b91548fbeb7a3c65bdaedf0a92d796183bcc>
[68] Revert "Fix #859: Special-case empty string in reflect as URL" (zcorpan著, ) <https://github.com/whatwg/html/commit/85227d27670d37382fe5e3dd2084a76cd4e9abf4>
[32] Remove old-fashioned vendor-specific extension advice (annevk著, ) <https://github.com/whatwg/html/commit/76f88a4015d55273749c34238d250b7bdb1aff62>
[34] Make <link>'s as="" attribute case-insensitive (domenic著, ) <https://github.com/whatwg/html/commit/9c7da4998f005c1799b04f452cb6c4a618f2d42e>
[35] Standardize special behavior of colspan/rowspan (ayg著, ) <https://github.com/whatwg/html/commit/4fbd00f5c5a839dcde33d2820c2cd57ddefa8a6e>
[40] Tweak <link>.workerType reflection (domenic著, ) <https://github.com/whatwg/html/commit/81032355f6c50131bda6d77c97299a273682c2e8>
[42] Remove <applet> (zcorpan著, ) <https://github.com/whatwg/html/commit/b9b9d60f9451c05f8e8d542e4094f987ae1a5fb8>
[43] Limit crossOrigin reflection to only known values (ayg著, ) <https://github.com/whatwg/html/commit/d967dc0120c137d0eb22808d4eaac0726cd8ea78>
[45] Editorial: no IDL attribute is said to reflect an HTMLElement anymore (annevk著, ) <https://github.com/whatwg/html/commit/f0f7a14c4eed844d6e099731e17dd993d626059a>
[46] Editorial: no IDL attribute is said to reflect an HTMLElement anymore by annevk · Pull Request #3055 · whatwg/html () <https://github.com/whatwg/html/pull/3055>
URLUtils
参照。