/[suikacvs]/test/html-webhacc/error-description-source.xml
Suika

Contents of /test/html-webhacc/error-description-source.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.23 - (show annotations) (download) (as text)
Sun May 18 07:24:04 2008 UTC (16 years, 6 months ago) by wakaba
Branch: MAIN
Changes since 1.22: +9 -1 lines
File MIME type: text/xml
++ ChangeLog	18 May 2008 07:23:53 -0000
	* LICENSE: Note on icons/*.png are added.

	* icons/: New directory.

	* cc-style.css: Rules for background images on error category
	are added.

2008-05-18  Wakaba  <wakaba@suika.fam.cx>

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24