/[suikacvs]/test/html-webhacc/error-description.en.html.u8
Suika

Contents of /test/html-webhacc/error-description.en.html.u8

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.16 - (show annotations) (download)
Fri Nov 23 06:36:19 2007 UTC (16 years, 5 months ago) by wakaba
Branch: MAIN
Changes since 1.15: +90 -4 lines
++ ChangeLog	23 Nov 2007 06:36:14 -0000
2007-11-23  Wakaba  <wakaba@suika.fam.cx>

	* error-description-source.xml: New error descriptions.

	* cc.cgi: |Accept-Encoding: *; q=0| is a request for server to send
	a 406 page!  |identity| encoding is added.

1 <!DOCTYPE html><html id="error-description" lang="en" xmlns:d="http://suika.fam.cx/~wakaba/archive/2007/wdcc-desc/" xmlns="http://www.w3.org/1999/xhtml">
2 <head>
3 <title xml:lang="en">Description of Errors —
4 Web Document Conformance Checker (BETA)</title>
5 <link href="cc-style" rel="stylesheet">
6 <link href="#license" rel="license">
7 </head>
8 <body>
9 <h1>Description of Errors</h1>
10
11 <section id="html5-character-encoding">
12 <h2>HTML5 Character Encoding Errors</h2>
13
14 <div class="section format-charset must" id="m:character-encoding"><h3>Character encoding <code><var>$0</var></code>
15 is not allowed for <abbr>HTML</abbr> document.</h3>
16 <p>The character encoding used for the document is not allowed
17 for <abbr>HTML</abbr> document. The document is non‐conforming.</p>
18 </div>
19
20 <div class="section format-charset should" id="s:character-encoding"><h3>Character encoding <code><var>$0</var></code>
21 should not be used for <abbr>HTML</abbr> document.</h3>
22 <p>The character encoding used for the document is not recommended
23 for <abbr>HTML</abbr> document. The document is non‐conforming
24 unless there is any good reason to use that encoding.</p>
25 </div>
26
27 <div class="section format-charset warning" id="w:character-encoding"><h3>Use of UTF-8 is encouraged.</h3>
28 <p>Use of UTF-8 as the character encoding of the document is encouraged,
29 though the use of another character encoding is conforming.</p>
30 </div>
31
32 <div class="section format-charset unsupported" id="unsupported:character-encoding"><h3>Conformance for character encoding requirements
33 cannot be checked.</h3>
34 <p>The conformance checker cannot detect whether the input document
35 met the requirements on character encoding, since the document
36 is not inputed as a serialized byte sequence. The document is
37 not conforming if it is not encoded in an appropriate character
38 encoding with appropriate labeling.</p>
39 </div>
40
41 <div class="section format-charset error" id="m:no-character-encoding-declaration"><h3>There is no character encoding
42 declaration.</h3>
43 <p>The document does not contain a character encoding
44 declaration. Unless the character encoding is explicitly
45 specified in lower‐level protocol, e.g. in <abbr>HTTP</abbr>,
46 or is implied by <abbr>BOM</abbr>, there must be a character
47 encoding declaration. The document is non‐conforming.</p>
48
49 <p>The long character encoding declaration syntax
50 <code class="html bad example">&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=<var>charset-name</var>&quot;&gt;</code>
51 is obsolete. The new syntax is:</p>
52 <pre class="html example">
53 <code>&lt;meta charset=&quot;<var>charset-name</var>&quot;&gt;</code></pre>
54
55 <p>Note that the <code>encoding</code> declaration in <abbr>XML</abbr>
56 declaration has no effect for <abbr>HTML</abbr> document.</p>
57 </div>
58
59 <div class="section format-charset error" id="m:non-ascii-superset"><h3>No character encoding metadata is found
60 in lower‐level protocol nor is there <abbr>BOM</abbr>, while
61 character encoding <code><var>$0</var></code>
62 is not a superset of <abbr>ASCII</abbr>.</h3>
63 <p>The document is not labeled with character encoding name
64 in lower‐level protocol, e.g. in <abbr>HTTP</abbr>, and
65 the document is not begin with <abbr>BOM</abbr>. In addition,
66 the character encoding of the document is not a superset of
67 <abbr>ASCII</abbr>. The document is non‐conforming.</p>
68
69 <p>Unless there is a <abbr>BOM</abbr>, the character encoding
70 for the document must be specified in e.g. <abbr>HTTP</abbr>‐level,
71 as:</p>
72 <pre class="http example">
73 <code>Content-Type: text/html; charset=<var>charset-name</var></code></pre>
74
75 <p>Existence of <abbr>HTML</abbr> character encoding declaration, i.e.
76 <code class="html example">&lt;meta charset=&quot;<var>charset-name</var>&quot;&gt;</code>,
77 does not allow to omit <code>charset</code> parameter
78 for <abbr>HTML</abbr> document encoded in non‐<abbr>ASCII</abbr>
79 compatible encoding.</p>
80
81 <p>Character encodings <code>Shift_JIS</code>, <code>Windows-31J</code>,
82 and <code>ISO-2022-JP</code> are <em>not</em> a superset of
83 <abbr>ASCII</abbr> for the purpose of <abbr>HTML</abbr> conformance.</p>
84 </div>
85
86 <div class="section format-charset warning" id="w:charset-label-detected"><h3>While parsing the document as
87 <code><var>$0</var></code>, a character encoding declaration specifying
88 character encoding as <code><var>$1</var></code> is found. The document
89 is reparsed.</h3>
90 <p>While parsing a document in a character encoding,
91 a character encoding declaration which declares the character
92 encoding of the document as another character encoding is found.
93 The occurence of this warning itself does not make the document
94 non‐conforming. However, the failure of the first attempt to
95 to detect the character encoding might be the result of non‐conformance
96 of the document.</p>
97
98 <p>The document will be reparsed from the beginning. Some error
99 or warning might be reported again.</p>
100
101 <p>These are suggestions to avoid this warning:</p>
102 <ul>
103 <li>Specify <code>charset</code> parameter in the <code>Content-Type</code>
104 field in the <abbr>HTTP</abbr> header, as:
105 <pre class="HTTP example">
106 <code>Content-Type: text/html; charset=&quot;<var>charset-name</var>&quot;</code></pre></li>
107 <li>Put the character encoding declaration
108 (<code class="html example">&lt;meta charset=&quot;<var>charset-name</var>&quot;&gt;</code>)
109 just after <code class="html example">&lt;head&gt;</code> start tag.</li>
110 <li>Use <code>UTF-8</code>.</li>
111 </ul>
112 </div>
113 </section>
114
115 <section id="html5-tokenize-error">
116 <h2>HTML5 Parse Errors in Tokenization Stage</h2>
117
118 <div class="section parse-error" id="after-html"><h3>Tag <code>&lt;<var>$0</var>&gt;</code>
119 is not allowed after the end tag <code>&lt;/html&gt;</code>.</h3>
120 <p>The start or end tag of an element appears after the
121 <code>html</code> element has been closed. The document is
122 non-conforming.</p>
123
124 <p>Any content of the document other than comments
125 must be put into the <code>html</code> element.</p>
126 </div>
127
128 <div class="section parse-error" id="after-body"><h3>Tag <code>&lt;<var>$0</var>&gt;</code>
129 is not allowed after the end tag <code>&lt;/body&gt;</code>.</h3>
130 <p>The start or end tag of an element appears after the
131 <code>body</code> element has been closed. The document is
132 non-conforming.</p>
133
134 <p>Any content of the document other than <code>head</code>
135 contents and comments must be put into the <code>body</code>
136 element.</p>
137 </div>
138
139 <div class="section tokenize-error" id="bare-ero"><h3>The <code>&amp;</code> character must
140 introduce a reference.</h3>
141 <p>An <code>&amp;</code> character which
142 is not part of any reference appears in the input stream.
143 The document is non‐conforming.</p>
144
145 <p><em>Any <code>&amp;</code> character in URI (or IRI)
146 must be escaped as <code class="example">&amp;amp;</code>.</em></p>
147
148 <p>The <code>&amp;</code> character must
149 be the first character of a reference:
150 <dl class="switch">
151 <dt>Named entity reference</dt>
152 <dd><pre class="html example">
153 <code>&amp;<var>entity-name</var>;</code></pre>
154 where <var>entity-name</var> is the name of the
155 character entity to be referenced.</dd>
156 <dt>Numeric character reference</dt>
157 <dd><pre class="html example">
158 <code>&amp;#<var>d</var>;</code></pre>
159 where <var>d</var> is the decimal representation of
160 the code position of the character to be referenced.</dd>
161 <dt>Hexadecimal character reference</dt>
162 <dd><pre class="html example">
163 <code>&amp;#x<var>h</var>;</code></pre>
164 where <var>h</var> is the hexadecimal representation
165 of the code position of the character to be referenced.</dd>
166 </dl>
167 </p>
168
169 <p>To represent <code>&amp;</code> as a data character, use
170 named entity reference:
171 <pre class="html example">
172 <code>&amp;amp;</code></pre>
173 </p>
174 </div>
175
176 <div class="section tokenize-error" id="bare-etago"><h3>A <code>&lt;/</code> string is not followed
177 by a tag name.</h3>
178 <p>There is a <code>&lt;</code> (<code>U+003C</code>
179 <code class="charname">LESS-THAN SIGN</code>) character
180 immediately followed by a <code>/</code> (<code>U+005F</code>
181 <code>SOLIDUS</code>) character, which is not part
182 of any end tag, in the input stream. The document
183 is non-conforming.</p>
184
185 <p>The <code>&lt;/</code> sequence immediately followed
186 by an <abbr title="End of file pseudo-character">EOF</abbr> is
187 interpreted as a string data of <code>&lt;/</code>.</p>
188
189 <p>The <code>&lt;/</code> sequence as string data must
190 be escaped as:
191 <pre class="html example">
192 <code>&amp;lt;/</code></pre>
193 </p>
194 </div>
195
196 <div class="section tokenize-error" id="bare-stago"><h3>A <code>&lt;</code> character is not followed
197 by tag name or by a <code>!</code> character.</h3>
198 <p>A <code>&lt;</code> (<code>U+003C</code>
199 <code class="charname">LESS-THAN SIGN</code>) character which is not part
200 of any markup appears in the input stream.</p>
201
202 <p>The <code>&lt;</code> character as a data character must
203 be escaped as:
204 <pre class="html example">
205 <code>&amp;lt;</code></pre>
206 </p>
207 </div>
208
209 <div class="section tokenize-error" id="bare-nero"><h3>The decimal representation of the code position
210 of a character must be specified after <code>&amp;#</code>.</h3>
211 <p>An <code>&amp;</code> (<code>U+0026</code>
212 <code class="charname">AMPERSAND</code>) character immediately
213 followed by a <code>#</code> (<code>U+0023</code>
214 <code>NUMBER SIGN</code>) character which
215 is not part of any reference appears in the input stream.
216 The document is non-conforming.</p>
217
218 <p>The string <code>&amp;#</code> must be the first two characters
219 of a reference:
220 <dl class="switch">
221 <dt>Numeric character reference</dt>
222 <dd><pre class="html example">
223 <code>&amp;#<var>d</var>;</code></pre>
224 where <var>d</var> is the decimal representation of
225 the code point of the character to be referenced.</dd>
226 <dt>Hexadecimal character reference</dt>
227 <dd><pre class="html example">
228 <code>&amp;#x<var>h</var>;</code></pre>
229 where <var>h</var> is the hexadecimal representation
230 of the code point of the character to be referenced.</dd>
231 </dl>
232 </p>
233
234 <p>To represent <code>&amp;#</code> as data characters, use
235 a named entity reference for the <code>&amp;</code> character:
236 <pre class="html example">
237 <code>&amp;amp;#</code></pre>
238 </p>
239 </div>
240
241 <div class="section tokenize-error" id="bare-hcro"><h3>The hexadecimal representation of the code position
242 of a character must be specified after <code>&amp;#x</code>.</h3>
243 <p>The string <code>&amp;#x</code> or <code>&amp;#X</code> which
244 is not part of any reference appears in the input stream.
245 The document is non-conforming.</p>
246
247 <p>The string <code>&amp;#x</code> or <code>&amp;#X</code> must
248 be the first three characters of a hexadecimal reference:
249 <pre class="html example">
250 <code>&amp;#x<var>h</var>;</code></pre>
251 where <var>h</var> is the hexadecimal representation
252 of the code point of the character to be referenced.</p>
253
254 <p>To represent <code>&amp;#x</code> as data characters, use
255 a named entity reference for the <code>&amp;</code> character:
256 <pre class="html example">
257 <code>&amp;amp;#x</code></pre>
258 </p>
259 </div>
260
261 <div class="section tokenize-error" id="bogus-comment"><h3>String <code>&lt;!</code> is not followed
262 by <code>--</code>.</h3>
263 <p>There is a <code>&lt;</code> (<code>U+003C</code>
264 <code class="charname">LESS-THAN SIGN</code>) character
265 followed by a <code>!</code> (<code>U+0021</code>
266 <code class="charname">EXCLAMATION MARK</code>) character,
267 which is not followed by a <code>--</code> or
268 <code>!DOCTYPE</code>. The document is non-conforming.</p>
269
270 <dl class="switch">
271 <dt>Comments</dt>
272 <dd>In HTML document, comments must be introduced by
273 <code class="example">&lt;!--</code> (<code>&lt;!</code>
274 <em>immediately</em> followed
275 by <em>two</em> <code>-</code>s) and must be terminated by
276 <code class="example">--&gt;</code>.
277 Strings <code>&lt;!</code> not followed
278 by <code>--</code> and <code>&lt;!-</code> not followed by
279 <code>-</code> are not valid open delimiters for comments.</dd>
280 <dt>Marked sections, including <code>CDATA</code> sections</dt>
281 <dd>Marked sections are not allowed in HTML document.</dd>
282 <dt>Markup declarations</dt>
283 <dd>Markup declarations, except for <code>DOCTYPE</code>
284 and comment declarations, are not allowed in HTML document.</dd>
285 <dt>String <code>&lt;!</code></dt>
286 <dd>String <code>&lt;!</code> must be escaped as
287 <code class="example">&amp;lt;!</code>.</dd>
288 </dl>
289 </div>
290
291 <div class="section tokenize-error" id="bogus-end-tag"><h3>String <code>&lt;/</code> is not followed
292 by tag name.</h3>
293 <p>There is a <code>&lt;</code> (<code>U+003C</code>
294 <code class="charname">LESS-THAN SIGN</code>) character
295 immediately followed by a <code>/</code> (<code>U+005F</code>
296 <code>SOLIDUS</code>) character, which is not part
297 of any end tag, in the input stream. The document
298 is non-conforming.</p>
299
300 <p>The <code>&lt;/</code> sequence not followed by a
301 tag name is parsed as an opening of bogus comment.</p>
302
303 <p>The <code>&lt;/</code> sequence as string data must
304 be escaped as:
305 <pre class="html example">
306 <code>&amp;lt;/</code></pre>
307 </p>
308 </div>
309
310 <div class="section tokenize-error" id="dash-in-comment"><h3>There is a <code>--</code> sequence
311 in a comment.</h3>
312 <p>There is a <code>-</code> (<code>U+002D</code>
313 <code class="charname">HYPHEN-MINUS</code>) character
314 at the end of the comment or a <code>--</code> sequence
315 in the comment. The document is non-conforming.</p>
316
317 <p>Comments cannot contain a string <code>--</code>, as in XML.
318 Unlike SGML, there cannot be more than one comments
319 (where <i>comment</i> is an SGML term) in the comment
320 declaration.</p>
321 </div>
322
323 <div class="section tokenize-error" id="duplicate-attribute"><h3>There are two attributes with name
324 <code><var>$0</var></code>.</h3>
325 <p>There are more than one attributes with the same
326 name in a tag. The document is non-conforming.</p>
327
328 <p>The <code>motion</code> attribute is not part of the HTML standard.
329 Use <code>img</code> element with animation GIF instead.</p>
330 </div>
331
332 <div class="section tokenize-error" id="nestc"><h3>Polytheistic slash (<code>/&gt;</code>) cannot be
333 used for this element.</h3>
334 <p>Polytheistic slash (<code>/&gt;</code>) must not be used
335 for the element. The document is non-conforming.</p>
336
337 <p>The polytheistic slash can only be
338 used for <code>base</code>, <code>link</code>, <code>meta</code>,
339 <code>hr</code>, <code>br</code>, <code>img</code>,
340 <code>embed</code>, <code>param</code>, <code>area</code>,
341 <code>col</code>, and <code>input</code> elements.</p>
342
343 <dl class="switch">
344 <dt><code>&lt;script/&gt;</code></dt>
345 <dd><p>The polytheistic slash cannot be used for <code>script</code>
346 element. Even for an empty <code>script</code> element,
347 there must be an explicit end tag
348 <code class="html example">&lt;/script&gt;</code>.</p>
349
350 <p><strong>NOTE</strong>: Though some user agents interpret
351 polytheistic slash for <code>script</code> element as the
352 closing of the element, such usage is not allowed under
353 the current standard.</p></dd>
354 <dt><code>&lt;basefont/&gt;</code>, <code>&lt;bgsound/&gt;</code>,
355 <code>&lt;frame/&gt;</code>, <code>&lt;keygen/&gt;</code>,
356 <code>&lt;spacer/&gt;</code>, <code>&lt;wbr/&gt;</code></dt>
357 <dd>These elements are themselves non-conforming.</dd>
358 <!-- isindex, image -->
359 <dt><code>&lt;command/&gt;</code>, <code>&lt;event-source/&gt;</code>,
360 <code>&lt;nest/&gt;</code>, or <code>&lt;source/&gt;</code></dt>
361 <dd>Future revision of HTML5 parsing algorithm is expected
362 to allow polytheistic slash for these elements.</dd>
363 <dt><code>&lt;a/&gt;</code>, <code>&lt;p/&gt;</code></dt>
364 <dd>These elements are not always empty and therefore
365 polytheistic slash is not allowed. Use explicit end tag
366 to represent empty element as:
367 <pre class="example html">
368 <code>&lt;p&gt;&lt;/p&gt;</code></pre>
369 </dd>
370 </dl>
371
372 <p>Note that, unlike in XML, the polytheistic slash has
373 no effect in HTML.</p>
374 </div>
375
376
377 <div class="section tokenize-error" id="pio"><h3>Processing instruction
378 (<code>&lt;?<var>...</var>&gt;</code>) cannot be used.</h3>
379 <p>Processing instructions (<code>&lt;?<var>...</var>?&gt;</code>),
380 including XML declaration (<code>&lt;?xml <var>...</var>?&gt;</code>)
381 and XML style sheet <abbr title="processing instruction">PI</abbr>
382 (<code>&lt;?xml-stylesheet <var>...</var>?&gt;</code>), are not allowed
383 in the HTML syntax. The document is non-conforming.</p>
384
385 <dl class="switch">
386 <dt><code>&lt;?xbl?&gt;</code> (<abbr>XBL</abbr> Association)</dt>
387 <dd>An <abbr>XBL</abbr> binding cannot be associated by
388 <abbr title="processing instruction">PI</abbr> in <abbr>HTML</abbr>
389 document. Use <code>binding</code> property in <abbr>CSS</abbr>
390 style sheet as:
391 <pre class="html example">
392 <code>&lt;style&gt;
393 p {
394 binding: url(binding.xbl);
395 }
396 &lt;/style&gt;</code></pre>
397 </dd>
398 <dt><code>&lt;?xml?&gt;</code> (XML declaration)</dt>
399 <dd>XML declaration is unnecessary for HTML documents.</dd>
400 <dt><code>&lt;?xml-stylesheet?&gt;</code> (XML style sheet
401 <abbr title="processing instruction">PI</abbr>)</dt>
402 <dd>Use HTML <code>link</code> element with <code>rel</code>
403 attribute set to <code>stylesheet</code> (or,
404 <code>alternate stylesheet</code> for an alternate style
405 sheet).
406 <pre class="example html">
407 <code>&lt;link rel=stylesheet href=&quot;path/to/stylesheet.css&quot;&gt;</code></pre>
408 </dd>
409 <dt><code>&lt;?php?&gt;</code> or
410 <code>&lt;? <var>... <abbr>PHP</abbr> code ...</var> ?&gt;</code>
411 (<abbr>PHP</abbr> code)</dt>
412 <dd>The conformance checker does <em>not</em> support
413 checking for PHP source documents.</dd>
414 <dt>Other processing instructions</dt>
415 <dd>Processing instructions cannot be inserted in an HTML
416 document. Use XML document or insert
417 <code>ProcessingInstruction</code> node by scripting.</dd>
418 </dl>
419
420 <p>Web browsers will parse processing instructions as bogus
421 comments. Some legacy Web browsers, such as IE:mac and
422 some mobile Web browsers, will display processing instructions
423 as string.</p>
424 </div>
425
426 </section>
427
428 <section id="html5-parse-errors">
429 <h2>HTML5 Parse Errors in Tree Construction Stage</h2>
430
431 <div class="section parse-error" id="after-head"><h3>The <code><var>$0</var></code> element cannot be
432 inserted between <code>head</code> and <code>body</code> elements.</h3>
433 <p>A start tag appears after the <code>head</code> element is closed
434 but before the <code>body</code> element is opened.
435 The document is non-conforming.</p>
436 </div>
437
438 <div class="section parse-error" id="DOCTYPE-in-the-middle"><h3>A <code>DOCTYPE</code> appears after any
439 element or data character has been seen.</h3>
440 <p>A <code>DOCTYPE</code> appears after any element or data character
441 has been seen. The document is non-conforming.</p>
442
443 <p>The <code>DOCTYPE</code> must be placed before any
444 tag, reference, or data character. Only white space characters
445 and comments can be inserted before the <code>DOCTYPE</code>.</p>
446 </div>
447
448 <div class="section parse-error" id="in-a:a"><h3>Anchor cannot be nested.</h3>
449 <p>HTML <code>a</code> elements cannot be nested.
450 The document is non-conforming.</p>
451
452 <p>In the HTML syntax, a start tag of the <code>a</code>
453 implies the end tag of any opening <code>a</code> element.</p>
454 </div>
455
456 <div class="section parse-error" id="in-body"><h3>Tag <code>&lt;<var>$0</var>&gt;</code>
457 is not allowed in the <code>body</code> element.</h3>
458 <p>The start or end tag of an element, which
459 cannot be a descendant of <code>body</code> element, appears
460 in the input stream while the <code>body</code> element has been opened.
461 The document is non-conforming.</p>
462 </div>
463
464 <div class="section parse-error" id="in-head:head"><h3>Start tag <code>&lt;head&gt;</code>
465 is not allowed in the <code>head</code> element.</h3>
466 <p>There is a start tag <code>&lt;head&gt;</code> in the
467 <code>&lt;head&gt;</code> element. The document is non-conforming.</p>
468
469 <p>In an HTML document there must not be more than
470 one <code>head</code> element, therefore no more than one
471 start tag <code>&lt;head&gt;</code> can appear in the input stream.</p>
472 </div>
473
474 <div class="section parse-error" id="in-table"><h3>Tag <code>&lt;<var>$0</var>&gt;</code>
475 is not allowed in a <code>table</code> element.</h3>
476 <p>The start or end tag of an element, which
477 cannot be a child of <code>table</code> element, appears
478 in the input stream while the <code>table</code> element has been opened
479 but no other element has been opened. The document is non-conforming.</p>
480
481 <p>In <code>table</code>, only table related elements
482 are allowed; any other element must be contained in
483 <code>td</code> or <code>th</code> element to form
484 a part of the table, or <code>caption</code> element to create
485 a table caption.</p>
486 </div>
487
488 <div class="section parse-error" id="in-table:#character"><h3>Data character is not allowed in
489 <code>table</code>.</h3>
490 <p>A data character appears in <code>table</code>. The document
491 is non-conforming.</p>
492
493 <p>In <code>table</code>, only table related elements
494 are allowed; any other element and data character must be contained in
495 <code>td</code> or <code>th</code> element to form
496 a part of the table, or <code>caption</code> element to create
497 a table caption.</p>
498 </div>
499
500 <div class="section parse-error" id="missing-start-tag:tr"><h3>Start tag of <code>tr</code>
501 element is missing.</h3>
502 <p>Start tag of a <code>tr</code> element, which is <em>not</em>
503 optional, is missing. The document is non-conforming.</p>
504
505 <p>In a table section, a <code>&lt;tr&gt;</code> start tag
506 must occur before any <code>&lt;td&gt;</code> or
507 <code>&lt;th&gt;</code> start tag. Though the HTML5 parser
508 implies the <code>&lt;tr&gt;</code> start tag before
509 these start tags, it must be explicitly specified.</p>
510 </div>
511
512 <div class="section parse-error" id="no-DOCTYPE"><h3>This document does not start with a
513 <code>DOCTYPE</code>.</h3>
514 <p>The document does not start with a <code>DOCTYPE</code>.
515 The document is non-conforming.</p>
516
517 <p>An HTML document must start by a <code>DOCTYPE</code>:
518 <pre class="html example">
519 <code>&lt;!DOCTYPE HTML&gt;</code></pre>
520 </p>
521
522 <p>Only white space characters and comments are allowed
523 before the <code>DOCTYPE</code>. XML declaration is <em>not</em>
524 allowed in HTML document.</p>
525 </div>
526
527 <div class="section parse-error" id="not-closed"><h3>Element <code><var>$0</var></code> is not
528 closed.</h3>
529 <p>End tag of an element is not found before, for example,
530 an end tag of another element appears or
531 the end of the document. The document is non-conforming.</p>
532
533 <p>Only <code>body</code>, <code>colgroup</code>, <code>dd</code>,
534 <code>dt</code>, <code>head</code>, <code>html</code>, <code>li</code>,
535 <code>ol</code>, <code>option</code>, <code>optgroup</code>,
536 <code>p</code>, <code>rb</code>, <code>rp</code>, <code>rt</code>,
537 <code>tbody</code>, <code>td</code>, <code>tfoot</code>,
538 <code>th</code>, <code>thead</code>, <code>tr</code>,
539 <code>ul</code> end tag can be omitted in HTML documents.
540 For any element except for void element, there must be an explicit
541 end tag.</p>
542
543 <dl class="switch">
544 <dt>HTML <code>canvas</code> element</dt>
545 <dd>Though the element is void in earlier versions of Safari,
546 the <code>canvas</code> element is <em>no</em> longer
547 defined as empty. There must be an end tag
548 <code class="html example">&lt;/canvas&gt;</code>.</dd>
549 </dl>
550
551 <p>Note that misnesting tags, such as
552 <code class="bad example">&lt;a&gt;&lt;b&gt;&lt;/a&gt;&lt;/b&gt;</code>, are not
553 allowed and they also cause this error.</p>
554 </div>
555
556 <div class="section parse-error" id="not-first-start-tag"><h3>This <code>&lt;html&gt;</code> tag is not
557 the first start tag.</h3>
558 <p>There is a start tag of the <code>html</code> element
559 that it not the first start tag in the input stream.
560 The document is non-conforming.</p>
561
562 <p>In an HTML document, there cannot be more than one
563 <code>html</code> element and therefore there cannot be
564 more than one <code>&lt;html&gt;</code> tag. In addition,
565 nothing can be placed before the <code>&lt;html&gt;</code> tag
566 except a <code>DOCTYPE</code>, white space characters,
567 and comments.</p>
568 </div>
569
570 <div class="section parse-error" id="not-HTML5"><h3>This document is written in an old version of
571 HTML.</h3>
572 <p>The document contains a <code>DOCTYPE</code> declaration
573 that is different from HTML5 <code>DOCTYPE</code> (i.e.
574 <code class="example html">&lt;!DOCTYPE HTML&gt;</code>).
575 The document is non‐conforming.</p>
576
577 <p>The document might or might not be conformant to
578 some version of HTML. However, conformance to any HTML
579 specification other than HTML5 provides for no practical
580 convenience, since Web borwsers will parse any
581 HTML document (roughly) as defined in HTML5.</p>
582 </div>
583
584 <div class="section parse-error" id="unmatched-end-tag"><h3>Element <code><var>$0</var></code> is not
585 opened.</h3>
586 <p>An end tag appears though no element with the same name
587 has been opened. The document is non-conforming.</p>
588
589 <p>For any end tag in HTML document, there must be a
590 corresponding start tag.</p>
591
592 <dl class="switch">
593 <dt>HTML <code>base</code>, <code>basefont</code>,
594 <code>bgsound</code>, <code>br</code>, <code>col</code>,
595 <code>embed</code>, <code>frame</code>, <code>hr</code>,
596 <code>image</code>, <code>img</code>, <code>input</code>,
597 <code>isindex</code>, <code>link</code>, <code>meta</code>,
598 <code>param</code>, <code>spacer</code>, or <code>wbr</code> element</dt>
599 <dd>End tag is not allowed for these elements, since
600 those content must always be empty. Remove end tag.</dd>
601 <!-- keygen -->
602 <!-- command, event-source, nest, source -->
603 </dl>
604 </div>
605
606 </section>
607
608 <section id="element-content-model-errors">
609 <h2>Element Content Model Errors</h2>
610
611 <div class="section content-model-error" id="character-not-allowed"><h3>Data character is not allowed in this
612 context.</h3>
613 <p>A data character appears where it is not allowed in this
614 context. The document is non-conforming.</p>
615
616 <p>Possible causes:
617 <ul>
618 <li><p>A data character cannot be a child
619 of certain sectioning elements such as <code>body</code>,
620 <code>section</code>, and <code>blockquote</code>.</p>
621
622 <p>Any inline-level content must be put
623 in e.g. paragraph element such as <code>p</code>.</p></li>
624 <li><p>Though some elements such as <code>div</code>,
625 <code>li</code>, and <code>td</code> allow
626 <em>either one</em> of block-level or inline-level content
627 is allowed. If there is a block-level content,
628 any inline-level content must be put
629 in e.g. paragraph element such as <code>p</code>.</p></li>
630 </ul>
631 </p>
632 </div>
633
634 <div class="section content-model-error" id="child-element-missing"><h3>There must be a <code><var>$0</var></code>
635 element as a child of this element.</h3>
636 <p>The content model of the element is so defined that it
637 must contain a <code><var>$0</var></code> child element.
638 The document is non-conforming.</p>
639
640 <dl class="switch">
641 <dt>HTML <code>head</code> element</dt>
642 <dd>There must be a <code>title</code> child element.</dd>
643 <dt>HTML <code>html</code> element</dt>
644 <dd>There must be a <code>head</code> child element followed
645 by a <code>body</code> element.</dd>
646 <dt>HTML <code>tr</code> element</dt>
647 <dd><a href="#child-element-missing:td%7Cth">There must be
648 one or more <code>td</code> or <code>th</code> child element.</a></dd>
649 </dl>
650 </div>
651
652 <div class="section content-model-error" id="child-element-missing:td|th"><h3>There must be a <code>td</code>
653 or <code>th</code> element as a child of this element.</h3>
654 <p>The <code>tr</code> element must contain at least one
655 <code>td</code> or <code>th</code> child element. The document
656 is non-conforming.</p>
657 </div>
658
659 <div class="section content-model-error" id="element-not-allowed"><h3>This element is not allowed in this
660 context.</h3>
661 <p>An element appears where it is not allowed. The document
662 is non-conforming.</p>
663
664 <p>Possible causes:
665 <dl class="switch">
666 <dt>If the element with the error is an inline-level element,
667 such as <code>a</code>, <code>progress</code>, or <code>img</code></dt>
668 <dd><p>An inline-level element cannot be a child
669 of certain sectioning elements such as <code>body</code>,
670 <code>section</code>, and <code>blockquote</code>.</p>
671
672 <p>Any inline-level content must be put
673 in e.g. paragraph element such as <code>p</code>.</p></dd>
674 <dt>If it is a block-level elements, such as <code>aside</code>,
675 <code>div</code>, <code>h<var>n</var></code>,
676 <code>p</code>, or <code>section</code></dt>
677 <dd><dl class="switch">
678 <dt>If the parent element is <code>div</code>,
679 <code>li</code>, <code>td</code>, or <code>th</code></dt>
680 <!-- @@ TODO: more... -->
681 <!-- @@ TODO: <p><ul><li><p> -->
682 <dd><p>The parent element allows <em>either</em>
683 block-level or inline-level content. If there is a
684 block-level content, any inline-level content must be
685 put in e.g. paragraph element such as <code>p</code>.</p>
686 <p>For example, an HTML document fragment
687 <code class="html bad example">&lt;div&gt;&lt;p&gt;Hello!&lt;/p&gt; World!&lt;/div&gt;</code>
688 is non-conforming, since a word <q>World!</q> does not belong
689 to any paragraph. (If not part of any paragraph, what is
690 it!?) A conforming example would be:
691 <pre class="html example">
692 <code>&lt;div&gt;&lt;p&gt;Hello!&lt;/p&gt; &lt;p&gt;World!&lt;/p&gt;&lt;/div&gt;</code></pre>
693 </p></dd>
694 <dt>If the parent element does <em>not</em> allow
695 block-level elements as content</dt>
696 <dd>The element is not allowed to be inserted here.
697 For example, a <code>div</code> element cannot be
698 a child of an <code>h1</code> element.</dd>
699 </dl></dd>
700 <dt>If the element with the error is a <code>noscript</code> element</dt>
701 <dd>The <code>noscript</code> element is allowed only in the context
702 where a block-level or inline-level content is expected
703 and in the <code>head</code> element.
704 It cannot be used in e.g. <code>ul</code>, <code>table</code>,
705 or <code>select</code>.</dd>
706 <dt>If the element with the error is <code>blink</code>,
707 <code>center</code>, or <code>marquee</code> element</dt>
708 <dd>These elements are not part of the HTML standard.
709 Use CSS for styling control.</dd>
710
711 <dt><code>button</code>, <code>datalist</code>,
712 <code>fieldset</code>, <code>form</code>,
713 <code>input</code>, <code>label</code>,
714 <code>optgroup</code>, <code>option</code>, <code>output</code>,
715 <code>rb</code>, <code>rp</code>, <code>rt</code>, <code>ruby</code>,
716 <code>textarea</code>, or <code>textarea</code> element</dt>
717 <!-- rbc, rtc ? -->
718 <dd>These elements are intentionally not supported by the conformance
719 checker <em>yet</em>.</dd>
720 </dl>
721 </p>
722 </div>
723
724 <div class="section content-model-error" id="element-not-allowed:root"><h3>This element is not allowed as a root
725 element.</h3>
726 <p>An element that is not allowed as the root element
727 is used as the root element of the document. The document is
728 non-conforming, as far as the conformance checker can tell.</p>
729
730 <dl class="switch">
731 <dt><code>html</code> element in an XHTML document</dt>
732 <dd><p>In <abbr>XHTML</abbr> document, the root <code>html</code>
733 element must have an <code>xmlns</code> attribute as:
734 <pre class="xml example">
735 <code>&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;</code></pre></p></dd>
736 <dt><code>rss</code> element</dt>
737 <dd><p>The document is written in some version of RSS.</p>
738 <p>The conformance checker does not support any version
739 of RSS. Use Atom 1.0 for feed documents.</p></dd>
740 <dt><code>feed</code> element</dt>
741 <dd><p>The Atom <code>feed</code> element must be
742 in the <code>http://www.w3.org/2005/Atom</code>
743 namespace as:
744 <pre class="xml example">
745 <code>&lt;feed xmlns=&quot;http://www.w3.org/2005/Atom&quot;&gt;</code></pre>
746 </p>
747 <p>The conformance checker does not support Atom 0.3.
748 Use Atom 1.0 for feed documents.</p></dd>
749 </dl>
750 </div>
751
752 <div class="section content-model-error" id="ps-element-missing"><h3>There is no <code><var>$0</var></code>
753 element before this element.</h3>
754 <p>There must be an element before another element, but there
755 is not. The document is non-conforming.</p>
756
757 <p>For example, there must be a <code>dt</code> element
758 before any <code>dd</code> element.</p>
759 </div>
760
761 </section>
762
763 <section id="attribute-errors">
764 <h2>Attribute Errors</h2>
765
766 <div class="section attribute-error" id="attribute-missing"><h3>Required attribute <code><var>$0</var></code>
767 is not specified.</h3>
768 <p>A required attribute is not specified. The document
769 is non-conforming.</p>
770
771 <p>Some attribute is defined as <i>required</i>.
772 Without required attributes specified, user agents
773 cannot provide full functionality of the element to the user.</p>
774
775 <dl class="switch">
776 <dt>HTML <code>img</code> element</dt>
777 <dd>The <code>src</code> attribute must be specified.
778 Additionally, the <code>alt</code> attribute must be specified
779 in many cases.</dd>
780 <dt>HTML <code>link</code> element</dt>
781 <dd>The <code>rel</code> attribute must be specified.
782 Note that the <code>rev</code> attribute is obsolete.</dd>
783 </dl>
784 </div>
785
786 <div class="section attribute-error" id="attribute-not-allowed"><h3>Attribute
787 <code><var>{local-name}</var></code> is not allowed for
788 <code><var>{element-local-name}</var></code> element.</h3>
789 <p>An attribute is specified where it is not allowed.
790 The document is non-conforming.</p>
791
792 <dl>
793 <dt>HTML <code>meta</code> element</dt>
794 <dd>For HTML <code>meta</code> element, <em>only one</em> of
795 <code>name</code>, <code>http-equiv</code>, or <code>charset</code>
796 attribute is allowed.</dd>
797 </dl>
798 </div>
799
800 <div class="section attribute-error" id="in-HTML:xml:lang"><h3>The <code>xml:lang</code> attribute is not
801 allowed in HTML document.</h3>
802 <p>The <code>xml:lang</code> attribute is not allowed in
803 HTML document. The document is non-conforming.</p>
804
805 <p>Use of the <code>xml:lang</code> attribute is conforming
806 <em>only</em> in XML documents.</p>
807
808 <p>To specify natural language information in HTML document,
809 use <code>lang</code> attribute instead.</p>
810
811 <p>XHTML 1.0 Appendix C was encouraged to specify both
812 <code>lang</code> and <code>xml:lang</code> attributes with
813 the same value. Such a duplication has <em>no effect</em> in practice.
814 Use only one of <code>lang</code> (in HTML) or <code>xml:lang</code> (in
815 XML).</p>
816
817 <!-- @@ ISSUE: xml:lang in non-HTML element in DOM5 HTML created
818 from an HTML document? -->
819 </div>
820
821 <div class="section attribute-error" id="in-XML:charset"><h3>The <code>charset</code> attribute is not
822 allowed in XML document.</h3>
823 <p>The <code>charset</code> attribute of a
824 <code>meta</code> element is not allowed in XML document.
825 The document is non-conforming.</p>
826
827 <p>To specify the character encoding used for serialization,
828 if necessary, use XML declaration instead:
829 <pre class="xml example">
830 <code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;<var>encoding-name</var>&quot;?&gt;</code></pre>
831 </p>
832 </div>
833
834 <div class="section attribute-error" id="in-XML:lang"><h3>The <code>lang</code> attribute is not
835 allowed in XML document.</h3>
836 <p>The HTML <code>lang</code> attribute is not allowed in
837 XML document. The document is non-conforming.</p>
838
839 <p>The <code>lang</code> attribute in <code>null</code>
840 namespace for HTML elements is conforming <em>only</em> in
841 HTML documents.</p>
842
843 <p>To specify natural language information in XML document,
844 use <code>xml:lang</code> attribute instead.</p>
845 </div>
846
847 <div class="section attribute-error" id="in-XML:xmlns"><h3>The <code>xmlns</code> attribute
848 in the <code>null</code> namespace is not allowed in
849 XHTML document. The document is non-conforming.</h3>
850 <p>The <code>xmlns</code> attribute in the <code>null</code>
851 namespace is not allowed in XHTML document.</p>
852
853 <p>This error should not occur in conformance-checking of
854 static documents.</p>
855 </div>
856
857 </section>
858
859 <section id="attribute-value-errors">
860 <h2>Attribute Value Errors</h2>
861
862 <div class="section attribute-value-warning warning" id="w:charset:not-registered"><h3>Character encoding name <code><var>$0</var></code>
863 is not registered.</h3>
864 <p>The specified character encoding name is not registered to
865 <abbr>IANA</abbr>. Use of registered character encoding name
866 is a good practice to facilitate interoperability.</p>
867
868 <dl class="switch">
869 <dt><code>EUC-TW</code></dt>
870 <dd><code>EUC-TW</code> is not registered. Unfortunately, there
871 is no registered name for that character encoding. Use
872 Big5 encoding with character encoding name <code>Big5</code>
873 if it is enough to represent the document.</dd>
874 <dt><code>ISO-2022-JP-1</code></dt>
875 <dd><code>ISO-2022-JP-1</code> is not registered, nevertheless
876 this character encoding name is documented in
877 <a href="urn:ietf:rfc:2237"><abbr>RFC</abbr> 2237</a>. Use
878 <code>ISO-2022-JP-2</code> instead, since that character encoding
879 is a superset of ISO-2022-JP-1.</dd>
880 <dt><code>ISO-2022-JP-3</code>, <code>ISO-2022-JP-3-plane1</code></dt>
881 <dd>These names are not registered and obsoleted in favor of
882 <code>ISO-2022-JP-2004</code> and
883 <code>ISO-2022-JP-2004-plane1</code>.</dd>
884 <dt><code>ISO-2022-JP-2003</code>,
885 <code>ISO-2022-JP-2003-plane1</code></dt>
886 <dd>These names are not registered and corrected to
887 <code>ISO-2022-JP-2004</code> and
888 <code>ISO-2022-JP-2004-plane1</code>.</dd>
889 <dt><code>ISO-2022-JP-2004</code>,
890 <code>ISO-2022-JP-2004-plane1</code></dt>
891 <dd>These names are not registered. Unfortunately, there is
892 no registered name for these character encodings.</dd>
893 <dt><code>UTF-8N</code></dt>
894 <dd><code>UTF-8N</code> is not registered. Character encoding
895 name <code>UTF-8</code> represents UTF-8 encoding with or
896 without <abbr>BOM</abbr>.</dd>
897 </dl>
898
899 <p><strong>WARNING</strong>: This error might be raised for
900 a registered character encoding name, since the character encoding
901 name database of the conformance checker is not complete yet.</p>
902 </div>
903
904 <div class="section attribute-value-warning warning" id="w:charset:private"><h3><code><var>$0</var></code> is a private
905 character encoding name.</h3>
906 <p>The specified character encoding name is a private name and
907 not registered to <abbr>IANA</abbr>. Use of registered character
908 encoding name is a good practice to facilitate interoperability.</p>
909
910 <dl class="switch">
911 <dt><code>x-euc-jp</code></dt>
912 <dd>Use <code>EUC-JP</code> for the Japanese <abbr>EUC</abbr>
913 character encoding.</dd>
914 <dt><code>x-sjis</code></dt>
915 <dd>Use <code>Shift_JIS</code> for standard Shift encoding scheme of
916 <abbr>JIS</abbr> coded character set, or <code>Windows-31J</code>
917 for Microsoft standard character set as implemented by
918 Microsoft Windows.</dd>
919 </dl>
920 </div>
921
922 <div class="section attribute-value-error" id="m:charset:syntax-error"><h3>The specified value is syntactically not a
923 character encoding name.</h3>
924 <p>The attribute value must be a character encoding name. However,
925 the specified value is not a character encoding name syntactically.
926 The document is non‐conforming.</p>
927 <p>Character encoding name is a string of <abbr>ASCII</abbr>
928 printable characters, up to 40 characters.</p>
929 </div>
930
931 <div class="section attribute-value-error" id="enumerated:invalid"><h3>This attribute only allow a limited set of
932 values and the specified value <code><var>{@}</var></code> is not one
933 of them.</h3>
934 <p>For this attribute only several values are allowed and the
935 value of the attribute is not one of them. The document
936 is non-conforming.</p>
937
938 <dl>
939 <dt>HTML <code>meta</code> element, <code>http-equiv</code> attribute</dt>
940 <dd><p>Only values <code>Default-Style</code> and <code>Refresh</code>
941 are allowed.</p>
942 <p>Value <code>Content-Type</code> is obsolete; for charset
943 declaration, the <code>charset</code> attribute can be used as:
944 <pre class="html example">
945 <code>&lt;meta charset=&quot;<var>charset-name</var>&quot;&gt;</code></pre>
946 ... where <var>charset-name</var> is a name of the character encoding
947 of the document, such as <code>utf-8</code>.</p>
948 <p>Values <code>Content-Style-Type</code> and
949 <code>Content-Script-Type</code> are currently not allowed.</p>
950 <p>Value <code>Keywords</code> is not allowed. Use
951 <code>name</code> attribute instead of <code>http-equiv</code>
952 attribute.</p>
953 <p>Values <code>Expires</code>, <code>Pragma</code>,
954 and <code>Cache-Control</code> are not allowed;
955 use <em>real</em> HTTP header fields for cache control.</p></dd>
956 </dl>
957 </div>
958
959 <div class="section attribute-value-error" id="enumerated:invalid:http-equiv:content-type"><h3>Character encoding declaration syntax
960 <code class="html bad example">&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=<var>charset-name</var>&quot;&gt;</code>
961 is obsolete.</h3>
962 <p>Old long character encoding declaration syntax
963 <code class="html bad example">&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=<var>charset-name</var>&quot;&gt;</code>
964 is in use. The document is non‐conforming.</p>
965
966 <p>The new character encoding declaration syntax is:
967 <pre class="html example">
968 <code>&lt;meta charset=&quot;<var>charset-name</var>&quot;&gt;</code></pre>
969 </p>
970 </div>
971
972 <div class="section attribute-value-error" id="duplicate-ID"><h3>This identifier has already been
973 assigned to another element.</h3></div>
974
975 <div class="section attribute-value-error" id="link-type:bad-context"><h3>The link type <code><var>$0</var></code>
976 cannot be specified for this element.</h3>
977 <p>The specified link type cannot be used for the element.
978 The document is non-conforming.</p>
979
980 <p>Link types are associated with limited set of elements.
981 They cannot be used with other elements.</p>
982
983 <p>For example, link type <code>bookmark</code>
984 can be used with <code>a</code> or <code>area</code> element,
985 while it cannot be used with <code>link</code> element.</p>
986 </div>
987
988 <div class="section attribute-value-error" id="link-type:non-conforming"><h3>The link type <code><var>$0</var></code>
989 is non-conforming.</h3>
990 <p>The specified link type is non-conforming, and therefore
991 the document is non-conforming.</p>
992
993 <dl class="switch">
994 <dt>Link type <code>contents</code></dt>
995 <dd>Use link type <code>index</code>.</dd>
996 <dt>Link type <code>copyright</code></dt>
997 <dd>Use link type <code>license</code>.</dd>
998 <dt>Link type <code>home</code></dt>
999 <dd>Use link type <code>index</code>.</dd>
1000 <dt>Link type <code>previous</code></dt>
1001 <dd>Use link type <code>prev</code>.</dd>
1002 <dt>Link type <code>start</code></dt>
1003 <dd>Use link type <code>first</code>.</dd>
1004 <dt>Link type <code>toc</code> or <code>top</code></dt>
1005 <dd>Use link type <code>index</code>.</dd>
1006 </dl>
1007 </div>
1008
1009 <div class="section attribute-value-error" id="m:mismatched-charset-name"><h3>Character encoding name <code><var>$1</var></code>
1010 is different from document character encoding
1011 <code><var>$0</var></code>.</h3>
1012 <p>The specified character encoding name is different from
1013 the character encoding of the document. The document
1014 is non‐conforming.</p>
1015 </div>
1016
1017 <div class="section attribute-value-error" id="reserved-browsing-context-name"><h3>Browsing context name
1018 <code><var>{@}</var></code> is reserved.</h3>
1019 <p>The specified browsing context name is reserved.
1020 The document is non-conforming.</p>
1021
1022 <p>Names of browsing contexts starting with <code>_</code>
1023 (<code>U+005F</code> <code class="charname">LOW LINE</code>)
1024 are reserved so that it must not be used.</p>
1025
1026 <p>Old version of HTML, non-HTML markup languages, and
1027 Web browsers define or implements special reserved
1028 browsing context names <code>_blank</code>,
1029 <code>_main</code>, and <code>_replace</code>.
1030 However, they are <em>not</em> conforming attribute values.</p>
1031 </div>
1032
1033 </section>
1034
1035 <section id="attribute-value-warnings">
1036 <h2>Attribute Value Warnings</h2>
1037
1038 <div class="section attribute-value-warning should" id="s:link-type:proposed"><h3>Link type <code><var>$0</var></code>
1039 is proposed but not accepted yet; it <em>should not</em> be
1040 used until it has been accepted.</h3>
1041 <p>The link type is in the <i>proposed</i> status; it
1042 <em>should not</em> be used until it has been
1043 accepted.</p>
1044
1045 <p><strong>Warning</strong>: The data served to the
1046 conforming checker might be out of date; it might have already
1047 been accepted or rejected. The document might or might not be
1048 conforming depending on the status. See WHATWG Wiki
1049 for the latest information.</p>
1050 </div>
1051
1052 </section>
1053
1054 <section id="table-model-errors">
1055 <h2>Table Model Errors</h2>
1056
1057 <div class="section table-model-error" id="table:colspan-creates-column-with-no-anchored-cell"><h3>This <code>colspan</code> attribute
1058 results in creating a table column that does not contain
1059 any cell anchored to it.</h3></div>
1060
1061 <div class="section table-model-error" id="table:no-cell-in-last-row"><h3>The table has no cell (<code>td</code> or
1062 <code>th</code>) in the last row.</h3></div>
1063
1064 <div class="section table-model-error" id="table:rowspan-extends-table"><h3>This <code>rowspan</code> attribute
1065 results in creating a table row that does not contain
1066 any cell anchored to it.</h3>
1067 <p>The <code>rowspan</code> attribute value of the cell
1068 is so specified that it extends a table in the row axis.
1069 However, the extended row does not contain any cell by itself.
1070 The document is non-conforming.</p>
1071
1072 <p>For example, the table below is non-conforming:
1073 <pre class="html bad example">
1074 <code>&lt;table&gt;
1075 &lt;tbody&gt;
1076 &lt;tr&gt;&lt;td rowspan=2&gt;&lt;/td&gt;&lt;/tr&gt;
1077 &lt;/tbody&gt;
1078 &lt;/table&gt;</code></pre>
1079 ... since the second row contains only
1080 a cell that spans between first and second rows.</p>
1081 </div>
1082
1083 </section>
1084
1085 <section id="imt-warnings">
1086 <h2>Internet Media Type Warnings</h2>
1087
1088 <div class="section should" id="s:IMT:obsolete-subtype"><h3><code><var>{@}</var></code>: An <em>obsolete</em>
1089 subtype is used.</h3></div>
1090
1091 <div class="section should" id="s:IMT:private-subtype"><h3><code><var>{@}</var></code>: A private
1092 (<code>x-</code> or <code>x.</code>) subtype is used.</h3></div>
1093
1094 <div class="section should" id="s:IMT:unregistered-subtype"><h3><code><var>{@}</var></code>: The subtype is
1095 not registered to IANA.</h3></div>
1096
1097 </section>
1098
1099 <section id="uri-errors">
1100 <h2>URI (or IRI) Errors</h2>
1101
1102 <div class="section must" id="m:URI::syntax-error"><h3>The specified value is syntactically not an IRI
1103 reference.</h3>
1104 <p>The specified value does not satisfy the syntactical requirements
1105 for IRI references. The document is non-conforming.</p>
1106
1107 <p>Possible causes:
1108 <ul>
1109 <li>The string might contain one or more white space characters.
1110 Especially, the <code> </code> (<code>U+0020</code>
1111 <code class="charname">SPACE</code>) character cannot be
1112 used in IRI references.</li>
1113 </ul>
1114 </p>
1115 </div>
1116
1117 </section>
1118
1119 <section id="uri-shoulds">
1120 <h2>URI (or IRI) Should-level Errors</h2>
1121
1122 <div class="section should" id="s:URI::dot-segment"><h3>A dot-segment (<code>.</code> or
1123 <code>..</code>) occurs in an absolute reference.</h3>
1124 <p>Dot-segment (<code>.</code> or <code>..</code>) should
1125 not occur in an absolute reference.</p>
1126
1127 <p>In relative references, dot-segments are used to represent
1128 the current (<code>.</code>) or the parent (<code>..</code>)
1129 hierarchy of the path. Though they are also allowed
1130 in absolute references, it should be resolved to the
1131 canonical form before it has been published.</p>
1132 </div>
1133
1134 <div class="section should" id="s:URI::empty-path"><h3>This IRI does not end with
1135 a <code>/</code>.</h3></div>
1136
1137 <div class="section should" id="s:URI::lowercase-hexadecimal-digit"><h3>A lowercase hexadecimal digit is used
1138 in percent-encoding.</h3>
1139 <p>The hexadecimal digit in percent-encoding string in the IRI
1140 is in lowercase. Though the IRI <em>is</em> conforming,
1141 it should be in uppercase.</p>
1142 </div>
1143
1144 <div class="section should" id="s:URI::percent-encoded-unreserved"><h3>An unreserved character is
1145 percent-encoded.</h3>
1146 <p>An unreserved character is percent-encoded in the IRI.
1147 Though it <em>is</em> conforming, it should be in the
1148 decoded (or bare) form.</p>
1149 </div>
1150
1151 <div class="section should" id="s:URI::uppercase-scheme-name"><h3>URI scheme name is in uppercase.</h3>
1152 <p>The scheme part of the IRI is written in uppercase letter.</p>
1153
1154 <p>Uppercase scheme names are not required to be processed
1155 correctly.</p>
1156 <!-- @@
1157 RFC 3986 3.1.
1158 > Although schemes are case-
1159 insensitive, the canonical form is lowercase and documents that
1160 specify schemes must do so with lowercase letters.
1161
1162 > An implementation ... should only produce lowercase scheme names for
1163 consistency.
1164 -->
1165 </div>
1166
1167 </section>
1168
1169 <section id="cache-manifest-errors">
1170 <h2>Cache Manifest Errors</h2>
1171
1172 <div class="section must" id="m:not-manifest"><h3>This document is not a cache manifest.</h3>
1173 <p>The specified document is <em>not</em> a cache manifest.
1174 The document is non-conforming.</p>
1175
1176 <p>An entity labeled as Internet media type
1177 <code>text/cache-manifest</code> must contain a cache manifest.</p>
1178
1179 <p>A cache manifest must start with a line whose content is
1180 <code class="manifest example">CACHE MANIFEST</code>
1181 (exactly one space character between
1182 <code>CACHE</code> and <code>MANIFEST</code>).</p>
1183 </div>
1184 </section>
1185
1186 <section id="unsupported-messages">
1187 <h2><i>Unsupported</i> Messages</h2>
1188
1189 <div class="section unsupported" id="unsupported:element"><h3>Conformance checking for element
1190 <code><var>{local-name}</var></code> is not supported; <em>it might or
1191 might not be conforming</em>.</h3>
1192 <p>The conformant checker does not support the element.
1193 It cannot determine whether the document is conforming or not.</p>
1194 </div>
1195
1196 <div class="section unsupported" id="unsupported:attribute"><h3>Conformance checking for attribute
1197 <code><var>{local-name}</var></code> of element
1198 <code><var>{element-local-name}</var></code> is not supported;
1199 <em>it might or might not be conforming</em>.</h3>
1200 <p>The conformant checker does not support the attribute.
1201 It cannot determine whether the document is conforming or not.</p>
1202 </div>
1203
1204 <div class="section unsupported" id="unsupported:link-type"><h3>Link type <code><var>$0</var></code> is not
1205 standardized or registered at the time of the release of the conformance
1206 checker; <em>it is non-conforming unless it now has been
1207 registered</em>.</h3>
1208 <p>The <code>rel</code> attribute is defined as a list of link types.
1209 Some common link types are defined in the HTML5 specification.
1210 Additional link types can be registered to the WHATWG Wiki.
1211 use of any other link type is non-conforming.</p>
1212
1213 <p>The specified link type is not part of the standard or registry
1214 when the database used by the conformance cheker is created.
1215 The link type might have been added to the registry since then.
1216 In such case it might be conforming. Otherwise, the
1217 document is non-conforming.</p>
1218
1219 <dl>
1220 <dt>Link types <code>shortcut icon</code></dt>
1221 <dd>Link type <code>shortcut</code> is not registered.
1222 Use only <code>icon</code> for linking to so-called favicon.</dd>
1223 </dl>
1224 </div>
1225
1226 <div class="section unsupported" id="unsupported:event-handler"><h3>Conformance checking for event handler attribute
1227 is not supported; <em>it might or might not be conforming.</em></h3></div>
1228
1229 <div class="section unsupported" id="unsupported:media-query"><h3>Conformance checking for media query
1230 is not supported; <em>it might or might not be conforming.</em></h3></div>
1231
1232 <div class="section unsupported" id="unsupported:script"><h3>Conformance checking for script
1233 language <code><var>$0</var></code> is not supported;
1234 <em>it might or might not be conforming.</em></h3></div>
1235
1236 <div class="section unsupported" id="unsupported:style"><h3>Conformance checking for style
1237 language <code><var>$0</var></code> is not supported;
1238 <em>it might or might not be conforming.</em></h3></div>
1239
1240 </section>
1241
1242
1243
1244 <section id="levels">
1245 <h2>Error Levels</h2>
1246
1247 <table id="levels-table">
1248 <thead>
1249 <tr><th scope="col">Level</th>
1250 <th scope="col">Conforming?</th>
1251 <th scope="col">Description</th>
1252 </tr>
1253 </thead>
1254 <tbody>
1255 <tr class="level-m" id="level-m">
1256 <th scope="row"><em class="rfc2119">MUST</em>‐level error</th>
1257 <td>Non‐conforming.</td>
1258 <td>A violation to a hard requirement of the specification.
1259 The document is non‐conforming.</td>
1260 </tr>
1261 <tr class="level-s" id="level-s">
1262 <th scope="row"><em class="rfc2119">SHOULD</em>‐level error</th>
1263 <td>Non‐conforming, but <em>in some case</em>
1264 conforming.</td>
1265 <td>A violation to a requirement of the specification.
1266 The violation might be legitimize in some case. Otherwise,
1267 the document is non‐conforming.</td>
1268 </tr>
1269 <tr class="level-w" id="level-w">
1270 <th scope="row">Warning</th>
1271 <td>Conforming.</td>
1272 <td>A warning is an advice from the conformance checker to avoid
1273 to solve a problem in a confusing or possibly wrong way.
1274 It does not affect to the conformance of the document, and
1275 may sometimes be inappropriate.</td>
1276 </tr>
1277 <tr class="level-unsupported" id="level-unsupported">
1278 <th scope="row">Not supported</th>
1279 <td><em>Unknown</em>.</td>
1280 <td>Some feature that is not supported by the conformance checker
1281 is used in the document.</td>
1282 </tr>
1283 </tbody>
1284 </table>
1285 </section>
1286
1287 <section id="license">
1288 <h2>License of This Document</h2>
1289
1290 <p>Copyright <time>2007</time>
1291 <a href="http://suika.fam.cx/~wakaba/who?" rel="author" xml:lang="ja">Wakaba</a>
1292 <code class="mail">&lt;<a href="mailto:w@suika.fam.cx">w@suika.fam.cx</a>&gt;</code>.</p>
1293
1294 <p>This document is free software; you can redistribute it
1295 and/or modify it under the same terms as Perl itself.</p>
1296 </section>
1297
1298 <!-- $Date: 2007/11/18 11:05:12 $ -->
1299 </body>
1300 </html>

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24