/
85.txt
416 lines (310 loc) · 21.6 KB
/
85.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
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
[56] [DFN[[RUBYB[[[DOCTYPEスイッチ]]]@en[DOCTYPE switch]]]]は、 [[DOCTYPE]] の記述によって[[文書]]の
[CODE(DOMa)@en[[[compatMode]]]] を変更するものです。90年代末から00年代初頭の
[[Webブラウザー]]の実装と標準仕様の規定との乖離を解消することを目的に導入されましたが、
現在では間違いだったと考えられています。
[9] [[文書]]には、[[無奇癖モード]] ([[標準モード]])、
[[限定奇癖モード]] ([[ほぼ標準モード]])、
[[奇癖モード]] ([[互換モード]]) が存在します。 [[DOCTYPEスイッチ]]は、
このいずれかを決定するものです。
;; [55] [[Opera]] ([[Presto]]) はこの他に [[WML 2.0]] モードも実装していました。
;; [67] この区別は[[HTML文書]]に関するものです。[[XML文書]]には存在しません。
([[XML]] を第4のモードと考えることもできます。)
* 仕様書
[REFS[
- [13] '''[CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2014-08-01 23:14:59 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#the-initial-insertion-mode>'''
- [62] [CITE@en-US[DOM Standard]] ([TIME[2014-06-23 14:49:32 +09:00]] 版) <http://dom.spec.whatwg.org/#concept-document-no-quirks>
- [60] [CITE@en-US[DOM Standard]] ([TIME[2014-06-23 14:49:32 +09:00]] 版) <http://dom.spec.whatwg.org/#dom-document-compatmode>
]REFS]
* DOCTYPE スイッチと適合性
[121] 現在 [[DOCTYPE]] として正式に認められているのは、 [CODE(HTML)@en[[[<!DOCTYPE HTML>]]]]
だけです。
[122] それ以外にも[[無奇癖モード]]となる [[DOCTYPE]] は存在しますが、
限られた状況下で[[DOCTYPE遺物文字列]]や[[廃止認められているDOCTYPE]]
が使える以外は、すべて認められていません。
[123] [[限定奇癖モード]]や[[奇癖モード]]となる [[DOCTYPE]] は、すべて認められていません。
[124] [[DOCTYPEスイッチ]]は過去の[[HTML文書]]との互換性のために存在する機能ですから、
新しい[[文書]]では [CODE(HTML)@en[[[<!DOCTYPE HTML>]]]]
以外を使ってはいけませんし、その必要もないはずです。
* DOCTYPE スイッチの公開識別子とシステム識別子
[109] [[DOCTYPEスイッチ]]に関わる[[公開識別子]]と[[システム識別子]]は、次のように分類されます。
[FIG(list)[
- [110] [[公開識別子]]の完全一致 ([[ASCII大文字・小文字不区別]]) により、
-- [111] [[奇癖モード]]となるもの
-- [112] [[限定奇癖モード]]となるもの
- [113] [[公開識別子]]の先頭一致 ([[ASCII大文字・小文字不区別]]) により、
[[奇癖モード]]となるもの
- [114] [[公開識別子]]の先頭一致 ([[ASCII大文字・小文字不区別]]) により、
[[システム識別子]]が存在すれば[[限定奇癖モード]]、存在しなければ[[奇癖モード]]となるもの
- [115] [[システム識別子]]の完全一致 ([[ASCII大文字・小文字不区別]]) により、
[[奇癖モード]]となるもの
]FIG]
[116] この他に[[DOCTYPE遺物文字列]]や[[廃止認められているDOCTYPE]]
の[[公開識別子]]や[[システム識別子]]もあります。 (それぞれの項を参照してください。)
[117] [[奇癖モード]]・[[無奇癖モード]]の[[公開識別子]]・[[システム識別子]]と、
[[DOCTYPE遺物文字列]]の[[システム識別子]]と、
[[廃止認められているDOCTYPE]]の[[公開識別子]]・[[システム識別子]]の3種類は、
[[互いに素]]な[[集合]]となっています。
[119] これらの[[公開識別子]]と[[システム識別子]]のリストは、 >>118
に [[JSON]] 形式で含まれています。
[REFS[
- [118] [CITE[data-web-defs/html-syntax.txt at master · manakai/data-web-defs]] ([TIME[2014-08-05 10:39:38 +09:00]] 版) <https://github.com/manakai/data-web-defs/blob/master/doc/html-syntax.txt>
]REFS]
* モードの決定
[63] [[文書]]の初期状態は、[[無奇癖モード]]です [SRC[>>62]]。
[64] [[clone]] はモードも複製します [SRC[>>62]]。
[68] [[HTML構文解析器]]においては、 [[字句化器]]と [["initial" insertion mode]]
によってモードが設定されます。[[注釈]]と[[空白]]を除く最初の[[字句]]によって、
次のように決定されます。
[FIG(steps)[
= [69] [[DOCTYPE字句]]以外なら、
== [70] [[[CODE(HTMLe)@en[iframe]] [CODE(HTMLa)@en[srcdoc]]文書]]以外なら、
=== [71] [[構文解析誤り]]とします。
=== [74] [[奇癖モード]]とします。
= [72] [[字句]]の名前が [CODE(HTML)@en[[[html]]]] 以外なら、
== [95] [[構文解析誤り]]とします。
== [96] [[[CODE(HTMLe)@en[iframe]] [CODE(HTMLa)@en[srcdoc]]文書]]以外なら、
[[奇癖モード]]とします。
= [73] それ以外で[[字句]]の[[公開識別子]]があれば、
== [80] [[廃止認められているDOCTYPE]]の[[公開識別子]]なら (完全一致)、
=== [82] [[字句]]の[[システム識別子]]がなければ、
==== [81] [[廃止認められているDOCTYPE]]で[[システム識別子]]の省略が認められていなければ、[[構文解析誤り]]とします。
=== [83] [[字句]]の[[システム識別子]]があれば、
==== [84] [[廃止認められているDOCTYPE]]の[[システム識別子]]と一致 (完全一致) しなければ、
===== [128] [[構文解析誤り]]とします。
===== [129] [[[CODE(HTMLe)@en[iframe]] [CODE(HTMLa)@en[srcdoc]]文書]]以外なら、
====== [130] [[字句]]に[[システム識別子]]があり、
[[奇癖モード]]になる[[システム識別子]] ([[ASCII大文字・小文字不区別]]) なら、[[奇癖モード]]とします。
== [79] それ以外なら、
=== [108] [[構文解析誤り]]とします。
=== [97] [[[CODE(HTMLe)@en[iframe]] [CODE(HTMLa)@en[srcdoc]]文書]]以外なら、
==== [98] [[奇癖モード]]の[[公開識別子]] ([[ASCII大文字・小文字不区別]]) なら、[[奇癖モード]]とします。
==== [99] それ以外で、[[奇癖モード]]になる[[公開識別子]]の[[接頭辞]]ではじまる ([[ASCII大文字・小文字不区別]]) なら、
[[奇癖モード]]とします。
==== [100] それ以外で、[[字句]]に[[システム識別子]]があり、
[[奇癖モード]]になる[[システム識別子]] ([[ASCII大文字・小文字不区別]]) なら、[[奇癖モード]]とします。
==== [101] それ以外で、[[限定奇癖モード]]になる[[公開識別子]]の[[接頭辞]]ではじまる ([[ASCII大文字・小文字不区別]]) なら、
[[限定奇癖モード]]とします。
==== [102] それ以外で、[[奇癖モード]]か[[限定奇癖モード]]になる[[公開識別子]] ([[ASCII大文字・小文字不区別]]) なら、
===== [103] [[システム識別子]]があれば、[[限定奇癖モード]]とします。
===== [104] なければ、[[奇癖モード]]とします。
= [75] それ以外で[[字句]]の[[システム識別子]]があれば、
== [76] [CODE(URI)@en[[[about:legacy-compat]]]] なら、何もしません。
== [77] それ以外なら、
=== [105] [[構文解析誤り]]とします。
=== [106] [[[CODE(HTMLe)@en[iframe]] [CODE(HTMLa)@en[srcdoc]]文書]]以外なら、
==== [100] [[奇癖モード]]になる[[システム識別子]] ([[ASCII大文字・小文字不区別]]) なら、[[奇癖モード]]とします。
= [93] いずれにせよ、 [[[CODE(HTMLe)@en[iframe]] [CODE(HTMLa)@en[srcdoc]]文書]]以外なら、
[[字句]]の [[force-quirks flag]] が設定されていれば、[[奇癖モード]]とします。
]FIG]
;; [78] [[DOCTYPE字句]]の名前は、[[字句化器]]で[[ASCII小文字]]に正規化されますから、
>>72 は[[大文字]]で書かれていた場合も含まれます。
;; [107] 不存在と[[空文字列]]は区別されています。
* [CODE(JS)@en[document.open]]
[120] 仕様上は [CODE(JS)@en[[[document.open]]]] はモードを変更するとはされていませんから、
最初に[[DOCTYPEスイッチ]]するような[[字句]]が現れる前や、
本来[[無奇癖モード]]になる [[DOCTYPE]] が存在する時に、
[CODE(JS)@en[[[document.open]]]] 前のモードが引き継がれることとなります。
[58] [CODE(JS)@en[[[document]].[[open]]()]] すると、
[[Firefox]] 2、[[WinIE 7]]、[[Opera]] 9.27
では [CODE(DOMa)@en[[[compatMode]]]] が [CODE(HTML)@en[[[BackCompat]]]]
になり、その後は[[文書型宣言]]の有無によって [CODE(HTML)@en[[[CSS1Compat]]]]
になるか、そのまま変わりません。[[Safari]] 3.1.1
はずっと [CODE(HTML)[[[CSS1Compat]]]] のままで、
[[文書型宣言]]によっても変化しません。
;; [CITE[Index of /~wakaba/-temp/test/dom/document/compat-mode]] ([CODE[2008-05-16 20:30:37 +09:00]] 版) <http://suika.fam.cx/~wakaba/-temp/test/dom/document/compat-mode/>
[57] >>58 [[Firefox]] 3 は (試してないけどたぶん [[Firefox]] 2 も)
[CODE(DOMa)@en[[[compatMode]]]] は [CODE(DOMm)@en[[[open]]]] のときにリセットされ''ず''、
その後の[[文書型宣言]]の有無で値を変えているだけみたいです。
[[WinIE 7]] と [[Opera]] 9.61 は [CODE(DOMm)@en[[[open]]]]
で [CODE(HTML)@en[[[BackCompat]]]] に設定しているようです。
* [CODE(JS)@en[document.compatMode]]
[59] [CODE(DOMi)@en[[[Document]]]] [[インターフェイス]]の
[DFN[[CODE(DOMa)@en[[[compatMode]]]]]] [[IDL属性]]は、
[[奇癖モード]]の時 [CODE(DOM)@en[[[BackCompat]]]] を返し、
それ以外の時 [CODE(DOM)@en[[[CSS1Compat]]]] を返します [SRC[>>60]]。
[FIG(corollary)[
[61] [[無奇癖モード]]と[[限定奇癖モード]]を直接区別する方法はありません。
]FIG]
* モードによる挙動の変化
[65] モードによる[[スクリプト]]用 [[API]] の挙動や[[レンダリング]]の変化に関しては、
[[奇癖モード]]、[[限定奇癖モード]]、[[無奇癖モード]]の項を参照してください。
[87] [[適合性検査器]]は、[[DOCTYPE字句]]の名前、[[公開識別子]]、[[システム識別子]]の値や存在・不存在に基づき検査モードを
(例えば [[HTML4]] モードに) 変更しても構いません [SRC[>>13]]。
;; [88] ただし [[HTML4]] 以前や [[XHTML1]] の仕様は [[Webブラウザー]]の実装と乖離した内容が規定されていますから、
そのようなモードの切り替えに ([[学術的]]興味以外に) 意味は無いかもしれません。
[FIG(corollary)[
[89] そのような切り替えが認められているのは、[[適合性検査器]]だけです。
それ以外の実装は、[[奇癖モード]]、[[限定奇癖モード]]、[[無奇癖モード]]のいずれかの
(最新の [[HTML Standard]] その他関連仕様の) 規定に従わなければなりません。
]FIG]
* 安定性
[125] [[HTML Standard]] により [[DOCTYPEスイッチ]]の動作が厳密に規定され、
すべての [[Webブラウザー]]がそれに従う形で動作が統一されたことで、
今後 [[DOCTYPEスイッチ]]によるモードの決定方法が変更される
([[奇癖モード]]となる[[公開識別子]]が追加されるなどする)
可能性はほとんどありません。
;; [126] 遠い将来、[[DOCTYPEスイッチ]]が廃止されてすべて[[無奇癖モード]]に統一される可能性は否定できませんが、
今後十数年以内には起こらないのではないでしょうか。
;; [127] [[[CODE(HTMLe)@en[iframe]] [CODE(HTMLa)@en[srcdoc]]文書]]が新設された時に、
[[[CODE(HTMLe)@en[iframe]] [CODE(HTMLa)@en[srcdoc]]文書]]は常に[[無奇癖モード]]とすることとされました。
このように新しい文脈においては[[DOCTYPEスイッチ]]を適用しない例が今後もあるかもしれません。
* 歴史
** 実装者による情報
[1]
[CITE[The Opera 7 and 8 DOCTYPE Switches]] <http://www.opera.com/docs/specs/doctype/>
[2]
[CITE[Welcome to the MSDN Library]] <http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnie60/html/cssenhancements.asp>
[3]
[CITE[Mozilla's DOCTYPE sniffing]] <http://www.mozilla.org/docs/web-developer/quirks/doctypes.html>
[7]
[CITE[Mozilla's DOCTYPE sniffing - MDC]] <http://developer.mozilla.org/en/docs/Mozilla%27s_DOCTYPE_sniffing>
[12]
[CITE[Mozilla's Quirks Mode - MDC]] <http://developer.mozilla.org/en/docs/Mozilla%27s_Quirks_Mode>
[14]
[CITE[Mozilla Quirks Mode Behavior - MDC]] <http://developer.mozilla.org/en/docs/Mozilla_Quirks_Mode_Behavior>
([[名無しさん]])
[15]
[CITE[Mozilla's DOCTYPE sniffing - MDC]] <http://developer.mozilla.org/en/docs/Mozilla%27s_DOCTYPE_sniffing>
([[名無しさん]])
[16]
[CITE[mozilla/parser/htmlparser/src/nsParser.cpp]] <http://lxr.mozilla.org/mozilla/source/parser/htmlparser/src/nsParser.cpp#833>
([[名無しさん]])
[25]
[CITE[IEBlog : The <?xml> prolog, strict mode, and XHTML in IE]] <http://blogs.msdn.com/ie/archive/2005/09/15/467901.aspx>
([[名無しさん]])
[28]
[CITE[/trunk/WebCore/css/quirks.css - WebKit - Trac]] <http://trac.webkit.org/projects/webkit/browser/trunk/WebCore/css/quirks.css>
([[名無しさん]])
[29]
[CITE[/trunk/WebCore/html/HTMLDocument.cpp - WebKit - Trac]] <http://trac.webkit.org/projects/webkit/browser/trunk/WebCore/html/HTMLDocument.cpp#L240>
([[名無しさん]])
[30]
[CITE[/trunk/WebCore/html/DocTypeStrings.gperf - WebKit - Trac]] <http://trac.webkit.org/projects/webkit/browser/trunk/WebCore/html/DocTypeStrings.gperf>
([[名無しさん]])
[31]
[CITE@en-us[!DOCTYPE]] ([CODE[2007-02-18 01:19:07 +09:00]] 版) <http://msdn.microsoft.com/workshop/author/dhtml/reference/objects/doctype.asp>
([[名無しさん]])
[32]
[CITE@en-us[!DOCTYPE]] ([CODE[2007-02-18 01:19:07 +09:00]] 版) <http://msdn.microsoft.com/workshop/author/dhtml/reference/objects/doctype.asp>
([[名無しさん]])
[35]
[CITE[Bug 1312 – "Standard" compatibility mode needs to be hooked to DOCTYPE]] ([CODE[2007-04-21 18:33:57 +09:00]] 版) <https://bugzilla.mozilla.org/show_bug.cgi?id=1312>
([[名無しさん]])
[38]
[CITE[Bug 31933 – NavQuirks mode triggered for Transitional documents when not desired]] ([CODE[2007-04-21 18:51:15 +09:00]] 版) <https://bugzilla.mozilla.org/show_bug.cgi?id=31933>
([[名無しさん]])
[42]
[CITE[Bug 153032 – Implement almost-standards rendering mode]] ([CODE[2007-04-21 19:29:50 +09:00]] 版) <https://bugzilla.mozilla.org/show_bug.cgi?id=153032>
** モード判定
[5]
[[文書型宣言]]中の[[空白]]は無視されているらしい。
<http://permalink.gmane.org/gmane.org.w3c.whatwg.discuss/4961>
([[名無しさん]] [WEAK[2005-11-12 13:38:17 +00:00]])
[8]
[CITE[Activating the Right Layout Mode Using the Doctype Declaration]] <http://hsivonen.iki.fi/doctype/>
[11]
[CITE[hxxk.jp - DOCTYPE スイッチについての検証とまとめと一覧表]] <http://hxxk.jp/2006/12/19/2100>
([[名無しさん]] [WEAK[2006-12-19 23:21:07 +00:00]])
[10]
[CITE[crisp’s blog » Blog Archive » Having fun with IE - part 3: doctype switching]] <http://therealcrisp.xs4all.nl/blog/2006/12/01/having-fun-with-ie-part-3/>
([[名無しさん]] [WEAK[2006-12-18 11:53:30 +00:00]])
[17]
[CITE[mozilla dtd test]] <http://www.ash.ne.jp/~mal/mozilla/mozdtd/>
([[名無しさん]])
[18]
[CITE[DOCTYPE 宣言による「解釈モード」の切り替え]] <http://www.remus.dti.ne.jp/~a-satomi/bunsyorou/Doctype-Switch_situation.html>
([[名無しさん]])
[20]
[CITE[!DOCTYPE スイッチ]] <http://www.seo-equation.com/www/cat25/doctype_switching>
([[名無しさん]])
[23]
[CITE[M$IE6の文書型宣言判別 (dinosaur's square)]] <http://www.geocities.co.jp/Technopolis-Mars/2989/misc/ie-doctype.html>
([[名無しさん]])
[24]
[CITE[DOCTYPEによる判別]] <http://www.noelnet.org/noel/tech/doctype/>
([[名無しさん]])
[26]
[CITE[DOCTYPEs and their Respective Layout Modes - The Web Standards Project]] <http://www.webstandards.org/learn/reference/charts/doctype-switch/>
([[名無しさん]])
[27]
[CITE[IE7 (beta 2) Doctype Testing - AlastairC.ac]] <http://alastairc.ac/testing/IE7_Doctypes/>
([[名無しさん]])
[41]
[CITE[Bug 55264 – '''['''DOCTYPE''']''' Documents with unknown DOCTYPE should be displayed in strict mode]] ([CODE[2007-04-21 19:28:57 +09:00]] 版) <https://bugzilla.mozilla.org/show_bug.cgi?id=55264>
([[名無しさん]])
[50]
[CITE[Approximate IE6 quirks detection logic]] ([TIME[2008-01-23 07:46:37 +09:00]] 版) <http://philip.html5.org/docs/quirks.txt>
** レンダリングへの影響
[19]
[CITE[「DOCTYPE スイッチ」 CSS 解釈実例編]] <http://www.remus.dti.ne.jp/~a-satomi/bunsyorou/Doctype-Switch_example.html>
([[名無しさん]])
[22]
[CITE[各UAのDOCTYPEスイッチについて - CSS Dencitie]] <http://www6.plala.or.jp/go_west/nextcss/tip/doctype.htm>
([[名無しさん]])
[39]
[CITE[Bug 1044 – inheritance problems in tables]] ([CODE[2007-04-21 19:00:44 +09:00]] 版) <https://bugzilla.mozilla.org/show_bug.cgi?id=1044>
([[名無しさん]])
[40]
[CITE[Bug 5821 – {compat} Nav4 vs CSS2 line box model]] ([CODE[2007-04-21 19:03:04 +09:00]] 版) <https://bugzilla.mozilla.org/show_bug.cgi?id=5821>
** HTML 構文解析への影響
[4]
[CITE[Doctype switching for SGML comments]] <http://www.howtocreate.co.uk/sgml/doctypeSGML.html>
([[名無しさん]] [WEAK[2005-11-07 00:28:23 +00:00]])
[36]
[CITE[Bug 2749 – Comments are incorrectly parsed: <!-- -- --> inside comment! <!-- -- -->]] ([CODE[2007-04-21 18:36:58 +09:00]] 版) <https://bugzilla.mozilla.org/show_bug.cgi?id=2749>
([[名無しさん]])
[37]
[CITE[Bug 31933 – NavQuirks mode triggered for Transitional documents when not desired]] ([CODE[2007-04-21 18:46:36 +09:00]] 版) <https://bugzilla.mozilla.org/show_bug.cgi?id=31933>
** メモ
[6]
[CITE[DOCTYPE Switch - uncolored dinosaurs]] <http://foobar.parfe.jp/apteryx.cgi?p=DOCTYPE_Switch>
([[名無しさん]] [WEAK[2005-12-07 11:38:55 +00:00]])
[21]
[CITE[Mozillaには複数のレンダリングモードがあります - Web標準普及プロジェクト]] <http://www.mozilla.gr.jp/standards/webtips0014.html>
([[名無しさん]])
[33]
>>31 にはこんなことが書いてあるぞ:
> Note In standards-compliant mode, compatibility with other versions of Internet Explorer is not guaranteed. When standards-compliant mode is switched on, the rendering behavior of documents may be different in later versions of Internet Explorer. You should not use this mode for content that is fixed in nature, such as content that is burned on a CD.
([[名無しさん]] [WEAK[2007-02-17 16:23:24 +00:00]])
[34]
[CITE[scroll="no"をCSSで]] ([CODE[2006-12-17 15:08:56 +09:00]] 版) <http://chaichan.web.infoseek.co.jp/qa1000/qa1375.htm>
> あいこ [WriteDate : Thu Jun 14 05:36:59 2001]
> やっぱりネスケ6のテーブルバグは
DOCTYPE宣言の後半の
"http://www.w3.org/〜〜〜〜
を入れていたのが原因だったみたいです。
なんか格好良かったのでついつい入れてしまったのが災いしたようです(汗)
あまり分からない事するものじゃないですね!
([[名無しさん]])
[43]
[[Gecko]] にモードが実装されたのが1999年 ([[リリース]]版としては [[Mozilla]] 0.6、 [[Netscape]] 6)。
([[名無しさん]])
[44]
[[MacIE]] に実装されたのは 5.0 (2000年3月) から。
([[名無しさん]])
[45]
>>44 3月は正式版で、β版で実装されていたかは不明。
([[名無しさん]])
[46]
[[WinIE]] に実装されたのは 6.0 から。
Public Preview は2001年3月、正式版は9月。いつから実装されていたのかは不明。
([[名無しさん]])
[47]
[CITE@ja[各表示モードによる CSS 解釈の違いをまとめたドキュメントを共有 - 2xup.org]] ([[Taichi Kaminogoya]] 著, [CODE[2007-07-27 21:41:05 +09:00]] 版) <http://2xup.org/log/2007/07/27-2111>
([[名無しさん]] [WEAK[2007-07-27 14:02:57 +00:00]])
[48]
[CITE[文書型宣言(DOCTYPE)により、ブラウザのレンダリングが変わってしまう]] ([CODE[2007-08-11 00:43:12 +09:00]] 版) <http://dev.xperl.jp/Okulab/archives/3>
([[名無しさん]] [WEAK[2007-08-10 15:45:07 +00:00]])
[49]
[CITE@ja[M$IE6の文書型宣言判別 (dinosaur's square)]] ([[MOCHIZUKI Sunao]] 著, [CODE[2007-10-16 16:18:04 +09:00]] 版) <http://www.geocities.co.jp/Technopolis-Mars/2989/misc/ie-doctype.html>
[51] [CITE@ja[hxxk.jp - DOCTYPE スイッチについてのまとめと一覧表 (HTML 5 や IE 8 Beta 2 のモードスイッチなどの情報も含んだ 2008 年版 )]] ([[真琴]] 著, [TIME[2009-02-20 22:45:10 +09:00]] 版) <http://hxxk.jp/2008/09/29/0118>
[52] [CITE@en-gb-x-sneddy[gsnedders / The Need For A Switch in IE8]] ([TIME[2009-08-01 09:13:49 +09:00]] 版) <http://gsnedders.com/the-need-for-a-switch-in-ie8>
[53] [CITE[IRC logs: freenode / #whatwg / 20110624]]
( ([TIME[2011-07-03 19:23:48 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20110624#l-77>
[54] [CITE@en[Web Applications 1.0 r8642 Reorder the list of DOCTYPEs to have the exact comparisons before the prefix comparisons, and remove commented-out values since there's very little chance of us having to change this again now that we have multiple deployed implementations.]]
( ([TIME[2014-05-18 09:38:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=8641&to=8642>
* 関連
[66] [[IE]] は独自に [CODE(DOMa)@en[[[documentMode]]]] という似て異なる動作モードを
([[DOCTYPEスイッチ]]に加えて) 実装しています。