/[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.13 - (show annotations) (download)
Wed Nov 7 11:29:46 2007 UTC (16 years, 6 months ago) by wakaba
Branch: MAIN
Changes since 1.12: +14 -1 lines
++ ChangeLog	7 Nov 2007 11:29:34 -0000
2007-11-07  Wakaba  <wakaba@suika.fam.cx>

	* error-description-source.xml (enumerated:invalid:http-equiv:content-type):
	New.

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="enumerated:invalid:http-equiv:content-type"><h3>Charset declaration syntax
767 <code>&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=<var>charset-name</var>&quot;&gt;</code>
768 is obsolete.</h3>
769 <p>Old long charset declaration syntax
770 <code>&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=<var>charset-name</var>&quot;&gt;</code>
771 is in use. The document is non‐conforming.</p>
772
773 <p>The new charset declaration syntax is:
774 <pre>
775 <code>&lt;meta charset=&quot;<var>charset-name</var>&quot;&gt;</code></pre>
776 </p>
777 </div>
778
779 <div class="section attribute-value-error" id="duplicate-ID"><h3>This identifier has already been
780 assigned to another element.</h3></div>
781
782 <div class="section attribute-value-error" id="link-type:bad-context"><h3>The link type <code><var>$0</var></code>
783 cannot be specified for this element.</h3>
784 <p>The specified link type cannot be used for the element.
785 The document is non-conforming.</p>
786
787 <p>Link types are associated with limited set of elements.
788 They cannot be used with other elements.</p>
789
790 <p>For example, link type <code>bookmark</code>
791 can be used with <code>a</code> or <code>area</code> element,
792 while it cannot be used with <code>link</code> element.</p>
793 </div>
794
795 <div class="section attribute-value-error" id="link-type:non-conforming"><h3>The link type <code><var>$0</var></code>
796 is non-conforming.</h3>
797 <p>The specified link type is non-conforming, and therefore
798 the document is non-conforming.</p>
799
800 <dl class="switch">
801 <dt>Link type <code>contents</code></dt>
802 <dd>Use link type <code>index</code>.</dd>
803 <dt>Link type <code>copyright</code></dt>
804 <dd>Use link type <code>license</code>.</dd>
805 <dt>Link type <code>home</code></dt>
806 <dd>Use link type <code>index</code>.</dd>
807 <dt>Link type <code>previous</code></dt>
808 <dd>Use link type <code>prev</code>.</dd>
809 <dt>Link type <code>start</code></dt>
810 <dd>Use link type <code>first</code>.</dd>
811 <dt>Link type <code>toc</code> or <code>top</code></dt>
812 <dd>Use link type <code>index</code>.</dd>
813 </dl>
814 </div>
815
816 <div class="section attribute-value-error" id="reserved-browsing-context-name"><h3>Browsing context name
817 <code><var>{@}</var></code> is reserved.</h3>
818 <p>The specified browsing context name is reserved.
819 The document is non-conforming.</p>
820
821 <p>Names of browsing contexts starting with <code>_</code>
822 (<code>U+005F</code> <code class="charname">LOW LINE</code>)
823 are reserved so that it must not be used.</p>
824
825 <p>Old version of HTML, non-HTML markup languages, and
826 Web browsers define or implements special reserved
827 browsing context names <code>_blank</code>,
828 <code>_main</code>, and <code>_replace</code>.
829 However, they are <em>not</em> conforming attribute values.</p>
830 </div>
831
832 </section>
833
834 <section id="attribute-value-warnings">
835 <h2>Attribute Value Warnings</h2>
836
837 <div class="section attribute-value-warning should" id="s:link-type:proposed"><h3>Link type <code><var>$0</var></code>
838 is proposed but not accepted yet; it <em>should not</em> be
839 used until it has been accepted.</h3>
840 <p>The link type is in the <i>proposed</i> status; it
841 <em>should not</em> be used until it has been
842 accepted.</p>
843
844 <p><strong>Warning</strong>: The data served to the
845 conforming checker might be out of date; it might have already
846 been accepted or rejected. The document might or might not be
847 conforming depending on the status. See WHATWG Wiki
848 for the latest information.</p>
849 </div>
850
851 </section>
852
853 <section id="table-model-errors">
854 <h2>Table Model Errors</h2>
855
856 <div class="section table-model-error" id="table:colspan-creates-column-with-no-anchored-cell"><h3>This <code>colspan</code> attribute
857 results in creating a table column that does not contain
858 any cell anchored to it.</h3></div>
859
860 <div class="section table-model-error" id="table:no-cell-in-last-row"><h3>The table has no cell (<code>td</code> or
861 <code>th</code>) in the last row.</h3></div>
862
863 <div class="section table-model-error" id="table:rowspan-extends-table"><h3>This <code>rowspan</code> attribute
864 results in creating a table row that does not contain
865 any cell anchored to it.</h3>
866 <p>The <code>rowspan</code> attribute value of the cell
867 is so specified that it extends a table in the row axis.
868 However, the extended row does not contain any cell by itself.
869 The document is non-conforming.</p>
870
871 <p>For example, the table below is non-conforming:
872 <pre class="html non-conforming example">
873 <code>&lt;table&gt;
874 &lt;tbody&gt;
875 &lt;tr&gt;&lt;td rowspan=2&gt;&lt;/td&gt;&lt;/tr&gt;
876 &lt;/tbody&gt;
877 &lt;/table&gt;</code></pre>
878 ... since the second row contains only
879 a cell that spans between first and second rows.</p>
880 </div>
881
882 </section>
883
884 <section id="imt-warnings">
885 <h2>Internet Media Type Warnings</h2>
886
887 <div class="section should" id="s:IMT:obsolete-subtype"><h3><code><var>{@}</var></code>: An <em>obsolete</em>
888 subtype is used.</h3></div>
889
890 <div class="section should" id="s:IMT:private-subtype"><h3><code><var>{@}</var></code>: A private
891 (<code>x-</code> or <code>x.</code>) subtype is used.</h3></div>
892
893 <div class="section should" id="s:IMT:unregistered-subtype"><h3><code><var>{@}</var></code>: The subtype is
894 not registered to IANA.</h3></div>
895
896 </section>
897
898 <section id="uri-errors">
899 <h2>URI (or IRI) Errors</h2>
900
901 <div class="section must" id="m:URI::syntax-error"><h3>The specified value is syntactically not an IRI
902 reference.</h3>
903 <p>The specified value does not satisfy the syntactical requirements
904 for IRI references. The document is non-conforming.</p>
905
906 <p>Possible causes:
907 <ul>
908 <li>The string might contain one or more white space characters.
909 Especially, the <code> </code> (<code>U+0020</code>
910 <code class="charname">SPACE</code>) character cannot be
911 used in IRI references.</li>
912 </ul>
913 </p>
914 </div>
915
916 </section>
917
918 <section id="uri-shoulds">
919 <h2>URI (or IRI) Should-level Errors</h2>
920
921 <div class="section should" id="s:URI::dot-segment"><h3>A dot-segment (<code>.</code> or
922 <code>..</code>) occurs in an absolute reference.</h3>
923 <p>Dot-segment (<code>.</code> or <code>..</code>) should
924 not occur in an absolute reference.</p>
925
926 <p>In relative references, dot-segments are used to represent
927 the current (<code>.</code>) or the parent (<code>..</code>)
928 hierarchy of the path. Though they are also allowed
929 in absolute references, it should be resolved to the
930 canonical form before it has been published.</p>
931 </div>
932
933 <div class="section should" id="s:URI::empty-path"><h3>This IRI does not end with
934 a <code>/</code>.</h3></div>
935
936 <div class="section should" id="s:URI::lowercase-hexadecimal-digit"><h3>A lowercase hexadecimal digit is used
937 in percent-encoding.</h3>
938 <p>The hexadecimal digit in percent-encoding string in the IRI
939 is in lowercase. Though the IRI <em>is</em> conforming,
940 it should be in uppercase.</p>
941 </div>
942
943 <div class="section should" id="s:URI::percent-encoded-unreserved"><h3>An unreserved character is
944 percent-encoded.</h3>
945 <p>An unreserved character is percent-encoded in the IRI.
946 Though it <em>is</em> conforming, it should be in the
947 decoded (or bare) form.</p>
948 </div>
949
950 <div class="section should" id="s:URI::uppercase-scheme-name"><h3>URI scheme name is in uppercase.</h3>
951 <p>The scheme part of the IRI is written in uppercase letter.</p>
952
953 <p>Uppercase scheme names are not required to be processed
954 correctly.</p>
955 <!-- @@
956 RFC 3986 3.1.
957 > Although schemes are case-
958 insensitive, the canonical form is lowercase and documents that
959 specify schemes must do so with lowercase letters.
960
961 > An implementation ... should only produce lowercase scheme names for
962 consistency.
963 -->
964 </div>
965
966 </section>
967
968 <section id="cache-manifest-errors">
969 <h2>Cache Manifest Errors</h2>
970
971 <div class="section must" id="m:not-manifest"><h3>This document is not a cache manifest.</h3>
972 <p>The specified document is <em>not</em> a cache manifest.
973 The document is non-conforming.</p>
974
975 <p>An entity labeled as Internet media type
976 <code>text/cache-manifest</code> must contain a cache manifest.</p>
977
978 <p>A cache manifest must start with a line whose content is
979 <code>CACHE MANIFEST</code> (exactly one space character between
980 <code>CACHE</code> and <code>MANIFEST</code>).</p>
981 </div>
982 </section>
983
984 <section id="unsupported-messages">
985 <h2><i>Unsupported</i> Messages</h2>
986
987 <div class="section unsupported" id="unsupported:element"><h3>Conformance checking for element
988 <code><var>{local-name}</var></code> is not supported; <em>it might or
989 might not be conforming</em>.</h3>
990 <p>The conformant checker does not support the element.
991 It cannot determine whether the document is conforming or not.</p>
992 </div>
993
994 <div class="section unsupported" id="unsupported:attribute"><h3>Conformance checking for attribute
995 <code><var>{local-name}</var></code> of element
996 <code><var>{element-local-name}</var></code> is not supported;
997 <em>it might or might not be conforming</em>.</h3>
998 <p>The conformant checker does not support the attribute.
999 It cannot determine whether the document is conforming or not.</p>
1000 </div>
1001
1002 <div class="section unsupported" id="unsupported:link-type"><h3>Link type <code><var>$0</var></code> is not
1003 standardized or registered at the time of the release of the conformance
1004 checker; <em>it is non-conforming unless it now has been
1005 registered</em>.</h3>
1006 <p>The <code>rel</code> attribute is defined as a list of link types.
1007 Some common link types are defined in the HTML5 specification.
1008 Additional link types can be registered to the WHATWG Wiki.
1009 use of any other link type is non-conforming.</p>
1010
1011 <p>The specified link type is not part of the standard or registry
1012 when the database used by the conformance cheker is created.
1013 The link type might have been added to the registry since then.
1014 In such case it might be conforming. Otherwise, the
1015 document is non-conforming.</p>
1016
1017 <dl>
1018 <dt>Link types <code>shortcut icon</code></dt>
1019 <dd>Link type <code>shortcut</code> is not registered.
1020 Use only <code>icon</code> for linking to so-called favicon.</dd>
1021 </dl>
1022 </div>
1023
1024 <div class="section unsupported" id="unsupported:event-handler"><h3>Conformance checking for event handler attribute
1025 is not supported; <em>it might or might not be conforming.</em></h3></div>
1026
1027 <div class="section unsupported" id="unsupported:media-query"><h3>Conformance checking for media query
1028 is not supported; <em>it might or might not be conforming.</em></h3></div>
1029
1030 <div class="section unsupported" id="unsupported:script"><h3>Conformance checking for script
1031 language <code><var>$0</var></code> is not supported;
1032 <em>it might or might not be conforming.</em></h3></div>
1033
1034 <div class="section unsupported" id="unsupported:style"><h3>Conformance checking for style
1035 language <code><var>$0</var></code> is not supported;
1036 <em>it might or might not be conforming.</em></h3></div>
1037
1038 </section>
1039
1040
1041
1042 <section id="levels">
1043 <h2>Error Levels</h2>
1044
1045 <table id="levels-table">
1046 <thead>
1047 <tr><th scope="col">Level</th>
1048 <th scope="col">Conforming?</th>
1049 <th scope="col">Description</th>
1050 </tr>
1051 </thead>
1052 <tbody>
1053 <tr class="level-m" id="level-m">
1054 <th scope="row"><em class="rfc2119">MUST</em>‐level error</th>
1055 <td>Non‐conforming.</td>
1056 <td>A violation to a hard requirement of the specification.
1057 The document is non‐conforming.</td>
1058 </tr>
1059 <tr class="level-s" id="level-s">
1060 <th scope="row"><em class="rfc2119">SHOULD</em>‐level error</th>
1061 <td>Non‐conforming, but <em>in some case</em>
1062 conforming.</td>
1063 <td>A violation to a requirement of the specification.
1064 The violation might be legitimize in some case. Otherwise,
1065 the document is non‐conforming.</td>
1066 </tr>
1067 <tr class="level-w" id="level-w">
1068 <th scope="row">Warning</th>
1069 <td>Conforming.</td>
1070 <td>A warning is an advice from the conformance checker to avoid
1071 to solve a problem in a confusing or possibly wrong way.
1072 It does not affect to the conformance of the document, and
1073 may sometimes be inappropriate.</td>
1074 </tr>
1075 <tr class="level-unsupported" id="level-unsupported">
1076 <th scope="row">Not supported</th>
1077 <td><em>Unknown</em>.</td>
1078 <td>Some feature that is not supported by the conformance checker
1079 is used in the document.</td>
1080 </tr>
1081 </tbody>
1082 </table>
1083 </section>
1084
1085 <section id="license">
1086 <h2>License of This Document</h2>
1087
1088 <p>Copyright <time>2007</time>
1089 <a href="http://suika.fam.cx/~wakaba/who?" rel="author" xml:lang="ja">Wakaba</a>
1090 <code class="mail">&lt;<a href="mailto:w@suika.fam.cx">w@suika.fam.cx</a>&gt;</code>.</p>
1091
1092 <p>This document is free software; you can redistribute it
1093 and/or modify it under the same terms as Perl itself.</p>
1094 </section>
1095
1096 <!-- $Date: 2007/11/05 09:33:52 $ -->
1097 </body>
1098 </html>

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24