/[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.12 - (show annotations) (download)
Mon Nov 5 09:33:52 2007 UTC (16 years, 6 months ago) by wakaba
Branch: MAIN
Changes since 1.11: +44 -1 lines
++ ChangeLog	5 Nov 2007 09:33:38 -0000
2007-11-05  Wakaba  <wakaba@suika.fam.cx>

	* cc.cgi (get_error_level_label): New.

	* cc-style.css: New rules for error level descriptions.

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24