/
698.txt
374 lines (315 loc) · 18.4 KB
/
698.txt
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
[4] [[IDL属性]]が[[内容属性]]を[DFN[[RUBYB[反映する]@en[reflect]]]]とは、 [[IDL属性]]の[[取得]]が[[内容属性]]の値を返し、
[[設定]]が[[内容属性]]の値を変更するようなものをいいます。
* 仕様書
[REFS[
- [5] [CITE@en-US[DOM Standard]] ([TIME[2012-12-26 22:14:50 +09:00]] 版) <http://dom.spec.whatwg.org/#concept-reflect>
- [6] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2016-09-16 22:41:59 +09:00]]) <https://html.spec.whatwg.org/#reflect>
]REFS]
* 定義
[7] [[IDL属性]]のデータ型と[[内容属性]]の値の種類により、次のバリエーションがあります。
[FIG(list)[
- [[URL]] [SRC[>>6]]
- [[valid non-empty URL potentially surrounded by spaces]] [SRC[>>6]]
- [DEL[複数 [[URL]] [SRC[>>6]]]]
- [DFN[[RUBYB[[[既知の値のみに限定]]]@en[limited to only known values]]]]の[[列挙属性]] [SRC[>>6]]
- [[列挙属性]] [CODE(IDL)@en[[[DOMString]]?]] [SRC[>>6]]
- [[IDL列挙型]] [SRC[>>6]]
- その他の文字列 ([CODE(DOMi)@en[[[DOMString]]]]) [SRC[>>5, >>6]]
- [CODE[[[boolean]]]]
- [DFN[[RUBYB[[[非負数のみに限定]]]@en[limited to only non-negative numbers]]]]の [CODE[[[long]]]] [SRC[>>6]]
- [CODE[[[long]]]] [SRC[>>6]]
- [DFN[[RUBYB[[[零より大きな非負数のみに限定]]]@en[limited to only non-negative numbers greater than zero]]]]の [CODE[[[unsigned long]]]] [SRC[>>6]]
- [DFN[[RUBYB[フォールバック付き零より大きな非負数のみに限定][limited to only non-negative numbers greater than zero with fallback]]]]の [CODE[unsigned long]] [SRC[>>6]]
- [CODE[[[unsigned long]]]] [SRC[>>6]]
- [DFN[[RUBYB[[[零より大きな数のみに限定]]]@en[limited to numbers greater than zero]]]]の [CODE[[[double]]]],
[CODE[[[unrestricted double]]]] [SRC[>>6]]
- [CODE[[[double]]]], [CODE[[[unrestricted double]]]] [SRC[>>6]]
- [CODE(DOMi)@en[[[DOMTokenList]]]], [DEL[[CODE(DOMi)@en[[[DOMSettableTokenList]]]]]] [SRC[>>6]]
- [CODE(DOMi)@en[[[HTMLElement]]]] [SRC[>>6]]
]FIG]
[18] 次の [[IDL属性]]は、[[反映]]の処理と当該属性専用の処理が組み合わさっています。
[FIG(list)[
- [CODE(DOMi)@en[[[HTMLScriptElement]]]] の [CODE(DOMa)@en[[[async]]]]
]FIG]
[57] 次の[[IDL属性]]は、一部または全部の処理が[[反映]]と似ていますが、
[[反映]]と異なる定義となっています。
[FIG(list)[
- [CODE(DOMa)@en[label][<menuitem label>]]
- [CODE(HTML)@en[<base href>]]
]FIG]
* 処理
[69] [[IDL属性]][VAR[IDL属性]]と[[内容属性]][VAR[内容属性]]の[[取得器]]は、
次のようにしなければ[MUST[なりません]] [SRC[>>6]]。
[FIG(steps)[
= [71] [[文脈オブジェクト]]の[F[属性リスト]]に[VAR[内容属性]]が含まれなければ、
[FIG(switch)[
: [VAR[IDL属性]]の[F[型][型 (Web IDL)]]が [CODE(IDL)@en[USVString]] または [CODE(IDL)@en[DOMString]] の場合 :
[[空文字列]]を返します。
: [VAR[IDL属性]]の[F[型][型 (Web IDL)]]が [CODE(IDL)@en[boolean]] の場合 :
[[偽]]を返します。
: [VAR[IDL属性]]の[F[型][型 (Web IDL)]]が [CODE(IDL)@en[long]] の場合 :
[VAR[内容属性]]の既定値を返します。
]FIG]
= [73] それ以外なら、
== [78] [VAR[値]]を、[[文脈オブジェクト]]の[VAR[内容属性]][[属性]]の[F[値][属性値]]に設定します。
== [74]
[FIG(switch)[
: [VAR[IDL属性]]の[F[型][型 (Web IDL)]]が [CODE(IDL)@en[USVString]] で[VAR[内容属性]]の値が [[URL]] と定義されている場合 :
[FIG(steps)[
= [75] [VAR[結果]]を、[[文脈オブジェクト]]の[F[節点文書]]に対して[VAR[値]]を[[URLとして構文解析][URLの構文解析]]した結果に設定します。
= [76] [VAR[結果]]が[[失敗]]なら、
== [77] [VAR[値]]を [CODE(IDL)@en[USVString]] に[[変換]]した結果を返します。
= [79] それ以外なら、
== [80] [VAR[結果]]の[F[結果URL文字列]]を返します。
]FIG]
: [VAR[IDL属性]]の[F[型][型 (Web IDL)]]が [CODE(IDL)@en[DOMString]] で[VAR[内容属性]]が[[列挙属性]]の場合で [[limited to only known values]] なら :
[FIG(steps)[
= [83] [VAR[状態]]を、[[文脈オブジェクト]]の[VAR[内容属性]]の[F[状態][列挙属性]]に設定します。
= [84] [VAR[状態]]が [CODE[null]] の場合、
== [85] [[空文字列]]を返します。
= [86] それ以外の場合、
== [87] [VAR[状態]]の値で[[適合]]するものの[[正準]]形を返します。
]FIG]
: [VAR[IDL属性]]の[F[型][型 (Web IDL)]]が [CODE(IDL)@en[[[DOMString]][[?][nullable]]]] で[VAR[内容属性]]が[[列挙属性]]の場合 :
[FIG(steps)[
= [88] [VAR[状態]]を、[[文脈オブジェクト]]の[VAR[内容属性]]の[F[状態][列挙属性]]に設定します。
= [89] [VAR[状態]]が [CODE[null]] の場合、
== [90] [CODE[null]] を返します。
= [91] それ以外の場合、
== [92] [VAR[状態]]の値で[[適合]]するものの[[正準]]形を返します。
]FIG]
: それ以外で[VAR[IDL属性]]の[F[型][型 (Web IDL)]]が [CODE(IDL)@en[DOMString]] または [CODE(IDL)@en[USVString]] の場合 :
[VAR[値]]を返します。
: [VAR[IDL属性]]の[F[型][型 (Web IDL)]]が[[IDL列挙型]]の場合 :
[FIG(steps)[
= [97] [VAR[値]]が[VAR[IDL属性]]の[F[型][型 (Web IDL)]]のいずれかの値の場合、
== [98] [VAR[値]]を返します。
= [99] それ以外の場合、
== [100] [VAR[内容属性]]の[[既定値]]を返します。
]FIG]
: [VAR[IDL属性]]の[F[型][型 (Web IDL)]]が [CODE(IDL)@en[boolean]] の場合 :
[[真]]を返します。
: [VAR[IDL属性]]の[F[型][型 (Web IDL)]]が [CODE(IDL)@en[long]] の場合 :
[FIG(steps)[
= [102] [VAR[IDL属性]]の [F[limited to only non-negative numbers]] が[[真]]なら、
== [103] [VAR[結果]]を、[VAR[値]]に [[rules for parsing non-negative integers]] を適用した結果に設定します。
= [104] それ以外の場合、
== [72] [VAR[結果]]を、[VAR[値]]に [[rules for parsing signed integers]] を適用した結果に設定します。
= [82]
[FIG(list)[
- [VAR[結果]]が[[失敗]]
- [VAR[結果]]が[VAR[IDL属性]]の[F[型][型 (Web IDL)]]の範囲外の値
- [VAR[結果]]が[VAR[内容属性]]の範囲外の値
]FIG]
... のいずれかの場合、
== [94] [VAR[内容属性]]の既定値を返します。
= [95] それ以外なら、
== [101] [VAR[結果]]を返します。
]FIG]
]FIG]
]FIG]
[105] ここで、[VAR[内容属性]]の既定値は、当該[[内容属性]]について特に規定がない場合、
[[limited to only non-negative numbers]] なら [N[-1]]、
それ以外なら [N[0]] です [SRC[>>6]]。
[70] [[IDL属性]][VAR[IDL属性]]と[[内容属性]][VAR[内容属性]]の[[設定器]]は、
次のようにしなければ[MUST[なりません]] [SRC[>>6]]。
[FIG(steps)[
= [81] [VAR[値]]を、指定された値を[VAR[IDL属性]]の[F[型][型 (Web IDL)]]に[[変換]]した結果に設定します。
= [93] [VAR[値]]により、
[FIG(switch)[
: [CODE[null]]、[CODE[false]] :
[[文脈オブジェクト]]の[VAR[内容属性]][[属性]]を[[削除][属性の削除]]します。
: [CODE[true]] :
[[文脈オブジェクト]]の[VAR[内容属性]][[属性]]を、[[空文字列]]に設定します。
: [CODE[USVString]], [CODE(IDL)@en[DOMString]] :
[[文脈オブジェクト]]の[VAR[内容属性]][[属性]]を、[VAR[値]]に設定します。
: [CODE(IDL)@en[long]] :
[FIG(steps)[
= [106] [VAR[IDL属性]]の [F[limited to only non-negative numbers]] が[[真]]なら、
== [107] [VAR[値]]が[[負]]なら、
=== [108] [CODE(DOMe)@en[IndexSizeError]] を[[投げ]]、ここで停止します。
= [109] [[文脈オブジェクト]]の[VAR[内容属性]][[属性]]を、[VAR[値]]に [[serialize an integer]]
を適用した結果に設定します。
]FIG]
]FIG]
]FIG]
;; [96] [VAR[IDL属性]]の[F[型][型 (Web IDL)]]が [CODE[?][nullable]]
以外の場合 (ほとんどの[[反映]] [[IDL属性]]の場合) には、
[CODE[null]] が指定されても[[変換]]時点で[[文字列化]]されてしまうので、
[VAR[内容属性]]の削除には至りません。
* URL として反映
[20] 次の[[内容属性]]を [[URL]] として[[反映]]する [[IDL属性]]があります。
[FIG(short list)[
- [CODE(HTML)@en[<blockquote cite>]]
- [CODE(HTML)@en[<q cite>]]
- [CODE(HTML)@en[<ins cite>]]
- [CODE(HTML)@en[<del cite>]]
- [CODE(HTML)@en[<script src>]]
- [CODE(HTML)@en[<applet object>]]
- [CODE(HTML)@en[<frame src>]]
- [CODE(HTML)@en[<frame longdesc>]] ([CODE(DOMa)@en[longDesc]])
- [CODE(HTML)@en[<iframe longdesc>]] ([CODE(DOMa)@en[longDesc]])
- [CODE(HTML)@en[<img longdesc>]] ([CODE(DOMa)@en[longDesc]])
- [CODE(HTML)@en[<img lowsrc>]]
- [CODE(HTML)@en[<applet codebase>]] ([CODE(DOMa)@en[codeBase]])
- [CODE(HTML)@en[<object codebase>]] ([CODE(DOMa)@en[codeBase]])
]FIG]
[HISTORY[
[53] かつては[[HTML要素]]の [CODE(HTMLa)@en[itemid]] [[属性]]もありました。
]HISTORY]
[39] これらの[[取得器]]は、[[内容属性]]の名前[VAR[属性名]]について、
次のようにしなければ[MUST[なりません]] [SRC[>>6]]。
[FIG(steps)[
= [41] [VAR[属性値]]を、[[文脈オブジェクト]]の[VAR[属性名]][[内容属性]]の値に設定します。
= [42] [VAR[属性値]]が [[null]] なら、
== [43] [[空文字列]]を返します。
= [44] それ以外なら、
== [45] [VAR[結果]]を、[[文脈オブジェクト]]の[F[節点文書]]に対して[VAR[属性値]]を[[URLの構文解析]]した結果に設定します。
== [46] [VAR[結果]]が[[失敗]]なら、
=== [47] [VAR[属性値]]を返します。
== [48] それ以外なら、
=== [49] [VAR[結果]]の[[URL文字列]]を返します。
]FIG]
[HISTORY[
[40] かつて[[仕様書]]では[VAR[属性値]]が [[null]] の時[[既定値]]を (あれば)
返すことになっていましたが、現在そのような例はありません。
]HISTORY]
[50] これらの[[設定器]]は、[[内容属性]]の名前[VAR[属性名]]について、
次のようにしなければ[MUST[なりません]] [SRC[>>6]]。
[FIG(steps)[
= [51] [VAR[入力]]を、与えられた値を[[文字列]]として解釈した結果に設定します。
= [52] [[文脈オブジェクト]]の[VAR[属性名]][[内容属性]]の値を、[VAR[入力]]に設定します。
]FIG]
[23] 次の[[内容属性]]を [[URL]] ([[valid non-empty URL potentially surrounded by spaces]])
として[[反映]]する [[IDL属性]]があります。
[FIG(short list)[
- [CODE(HTML)@en[<link href>]]
- [CODE(HTML)@en[<img src>]]
- [CODE(HTML)@en[<iframe src>]]
- [CODE(HTML)@en[<embed src>]]
- [CODE(HTML)@en[<object data>]]
- [CODE(HTML)@en[<video poster>]]
- [CODE(HTML)@en[<source src>]]
- [CODE(HTML)@en[<track src>]]
- [CODE(HTML)@en[<video src>]]
- [CODE(HTML)@en[<audio src>]]
- [CODE(HTML)@en[<input src>]]
- [CODE(HTML)@en[<form action>]]
- [CODE(HTML)@en[<button formaction>]] ([CODE(DOMa)@en[formAction]])
- [CODE(HTML)@en[<input formaction>]] ([CODE(DOMa)@en[formAction]])
- [CODE(HTML)@en[<menuitem icon>]]
]FIG]
[26] これらの[[取得器]]は、[[内容属性]]の名前[VAR[属性名]]について、
次のようにしなければ[MUST[なりません]] [SRC[>>6]]。
[FIG(steps)[
= [27] [VAR[属性値]]を、[[文脈オブジェクト]]の[VAR[属性名]][[内容属性]]の値に設定します。
= [28] [VAR[属性値]]が [[null]] か[[空文字列]]なら、
== [34] [[空文字列]]を返します。
= [35] それ以外なら、
== [29] [VAR[結果]]を、[[文脈オブジェクト]]の[F[節点文書]]に対して[VAR[属性値]]を[[URLの構文解析]]した結果に設定します。
== [30] [VAR[結果]]が[[失敗]]なら、
=== [33] [VAR[属性値]]を返します。
== [31] それ以外なら、
=== [32] [VAR[結果]]の[[URL文字列]]を返します。
]FIG]
[36] これらの[[設定器]]は、[[内容属性]]の名前[VAR[属性名]]について、
次のようにしなければ[MUST[なりません]] [SRC[>>6]]。
[FIG(steps)[
= [37] [VAR[入力]]を、与えられた値を[[文字列]]として解釈した結果に設定します。
= [38] [[文脈オブジェクト]]の[VAR[属性名]][[内容属性]]の値を、[VAR[入力]]に設定します。
]FIG]
[21] 次の[[内容属性]]は、[[URL分解属性]]があります。
[FIG(short list)[
- [CODE(HTML)@en[<a href>]]
- [CODE(HTML)@en[<area href>]]
]FIG]
;; [22] [[仕様書]]の用語としては[[反映]]とは異なりますが、
その特殊形に当たります。 [CODE(DOMi)@en[URLUtils]] 参照。
* 列挙型の反映
[65] いくつかの値が認められる[[属性]]にも何パターンかあります。
[66] [[IDL列挙型]]として[[反映]]される[[属性]]:
[FIG(short list)[
- [CODE(HTML)@en[<link as>]]
]FIG]
* 歴史
[3] 「reflect」という言葉を使って明示的に[[IDL属性]]と[[内容属性]]の関係を明確に定義したのはおそらく [[HTML5]]
が最初です。それ以前の [[DOM1 HTML]] や [[DOM2 HTML]] では [[IDL属性]]の説明から [[HTML4]]
へリンクしていただけで、相互の関係を完全に明確には定義していませんでした。
[REFS[
- [1] [CITE[IRC logs: freenode / #whatwg / 20101026]]
( ([TIME[2010-11-07 15:25:47 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20101026#l-510>
- [2] [CITE@en[Web Applications 1.0 r7129 Update to take into account WebIDL's 'double' vs 'unrestricted double' change.]]
( ([TIME[2012-06-12 08:07:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=7128&to=7129>
]REFS]
[8] その後 [[DOM Standard]] も (文字列の) [[reflect]] を定義しました。
[9] [[SVG]] と [[MathML]] にも [[reflect]] 相当の [[IDL属性]]がありますが、 [[DOM HTML]]
スタイルの古い曖昧な説明になっていて、「reflect」とは言っていません。
[10] [[Atom DOM]] も「reflect」を定義しています。
[REFS[
- [11] [CITE@en[Re: Adding ''''''[''''''Reflect'''''']'''''' to WebIDL?]]
( ([[Ian Hickson]] 著, [TIME[2014-08-08 06:47:53 +09:00]] 版))
<http://lists.w3.org/Archives/Public/public-script-coord/2014JulSep/0168.html>
- [12] [CITE@en[Web Applications 1.0 r8727 Make .crossOrigin = null remove the content attribute.]] ([TIME[2014-08-29 07:00:00 +09:00]] 版) <http://html5.org/r/8727>
]REFS]
[13] [CITE@en[Remove HTMLAreaElement.hreflang and .type · Issue #232 · whatwg/html]]
([TIME[2015-10-08 11:30:19 +09:00]] 版)
<https://github.com/whatwg/html/issues/232>
[14] [CITE@en[Fix #477: Unused spec content in common DOM interfaces · whatwg/html@06c2a32]]
([TIME[2016-02-03 12:18:31 +09:00]] 版)
<https://github.com/whatwg/html/commit/06c2a3225194e61990f4930e7eb5887de28dd58a>
[15] [CITE@en[Fix #358: use DOMTokenList exclusively · whatwg/html@98183f9]]
([TIME[2016-02-04 18:46:23 +09:00]] 版)
<https://github.com/whatwg/html/commit/98183f98c609d61e508bbec46b7ab86d37b99b47>
[16] [CITE@en[URLs are parsed and produce records · whatwg/html@30bc255]]
([TIME[2016-02-14 22:52:45 +09:00]] 版)
<https://github.com/whatwg/html/commit/30bc2557105ad62881ec9670f253febbc9761b44>
[17] [CITE@en[Adding ''''''[''''''SameObject'''''']'''''' to DOMTokenLists · whatwg/html@ec1dc4d]]
([TIME[2016-02-18 11:09:35 +09:00]] 版)
<https://github.com/whatwg/html/commit/ec1dc4d4571c61cf0c0dfe3e562898635886b412>
[19] [CITE@en[Fix reflect and its callers · whatwg/dom@75303c5]]
([TIME[2016-03-02 15:22:59 +09:00]] 版)
<https://github.com/whatwg/dom/commit/75303c5158db058fcd3bd21ac1ddc95bb2a18f9e>
[24] [CITE@en[Fix #561: Reflecting a broken URL should return the unparsed value · whatwg/html@f9567cd]]
([TIME[2016-03-16 15:35:19 +09:00]] 版)
<https://github.com/whatwg/html/commit/f9567cd22f506d9a872cd6240555fb047fc75c67>
[25] [CITE@en[Fix #859: Special-case empty string in reflect as URL · whatwg/html@f09dbee]]
([TIME[2016-03-16 15:35:25 +09:00]] 版)
<https://github.com/whatwg/html/commit/f09dbee68524c5ca8fd062a234e339d11c65e3b5>
[54] [CITE@en[Fix #875: Editorial: Remove unused 'default value' in reflect as URL · whatwg/html@b2084ec]]
([TIME[2016-03-17 16:53:41 +09:00]] 版)
<https://github.com/whatwg/html/commit/b2084ec2f3818c0e8433dd5525b118b033b18294>
[55] [CITE@en[Editorial: synchronize with the DOM Standard · whatwg/html@21c6ec7]]
([TIME[2016-03-20 17:53:56 +09:00]] 版)
<https://github.com/whatwg/html/commit/21c6ec77594eb89b836d4872222f5916910967fd>
[56] [CITE@en[Allow <menuitem> to have children giving the label · whatwg/html@8fdccb5]]
([TIME[2016-04-16 22:11:51 +09:00]] 版)
<https://github.com/whatwg/html/commit/8fdccb55e40a36449ae6011f9960cb09c1da0db7>
[58] [CITE@en[Reflect USVString IDL attributes for URLs as well as DOMString ones · whatwg/html@2ced624]]
([TIME[2016-04-23 16:30:04 +09:00]] 版)
<https://github.com/whatwg/html/commit/2ced6248d16e5a742e324ba3f506cc6d179b0414>
[59] [CITE@en[Hyperlink term "reflect" for <script>'s event and htmlFor · whatwg/html@9ab42dd]]
([TIME[2016-04-25 11:27:11 +09:00]] 版)
<https://github.com/whatwg/html/commit/9ab42dd45bcaa23523e5a196e5614449cf979d94>
[60] [CITE@en[Formalize custom element reactions · whatwg/html@27aa7bc]]
([TIME[2016-04-26 18:50:27 +09:00]] 版)
<https://github.com/whatwg/html/commit/27aa7bc4fa6f168654a8c858f0773e611f679b39>
[61] [CITE@en[Add ''''''[''''''CEReactions'''''']'''''' annotation to as · w3c/preload@b632000]]
([TIME[2016-05-01 14:01:04 +09:00]] 版)
<https://github.com/w3c/preload/commit/b632000d8bd32118d3b7833b7c0caca044329072>
[62] [CITE@en[Use USVString for all URLs]]
( ([[domenic]]著, [TIME[2016-05-20 22:02:29 +09:00]]))
<https://github.com/whatwg/html/commit/018b983b77b2cd908f6d00100e7e0abe893dd2c3>
[63] [CITE[Scalable Vector Graphics (SVG) 2]]
( ([TIME[2016-05-27 14:32:28 +09:00]]))
<https://svgwg.org/svg2-draft/single-page.html#types-TermReflect>
[64] [CITE@en[Add the "as" attribute for the <link> element]]
([[sideshowbarker]]著, [TIME[2016-07-01 04:20:03 +09:00]])
<https://github.com/whatwg/html/commit/2381476ea6143d835f08a3a82e6634b215cb60ea>
[67] [CITE@en[Do not throw for zero colgroup/col.span and textarea.rows/cols]]
([[domenic]]著, [TIME[2016-08-20 00:52:06 +09:00]])
<https://github.com/whatwg/html/commit/00b9b91548fbeb7a3c65bdaedf0a92d796183bcc>
[68] [CITE@en[Revert "Fix #859: Special-case empty string in reflect as URL"]]
([[zcorpan]]著, [TIME[2016-09-07 02:20:27 +09:00]])
<https://github.com/whatwg/html/commit/85227d27670d37382fe5e3dd2084a76cd4e9abf4>