/[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.10 - (show annotations) (download)
Tue Sep 4 11:40:02 2007 UTC (16 years, 8 months ago) by wakaba
Branch: MAIN
Changes since 1.9: +22 -9 lines
*** empty log message ***

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>
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;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>
276 <dt><code>&lt;?xml?&gt;</code> (XML declaration)</dt>
277 <dd>XML declaration is unnecessary for HTML documents.</dd>
278 <dt><code>&lt;?xml-stylesheet?&gt;</code> (XML style sheet
279 <abbr title="processing instruction">PI</abbr></dt>
280 <dd>Use HTML <code>link</code> element with <code>rel</code>
281 attribute set to <code>stylesheet</code> (or,
282 <code>alternate stylesheet</code> for an alternate style
283 sheet).</dd>
284 <dt><code>&lt;?php?&gt;</code> (PHP code)</dt>
285 <dd>The conformance checker does <em>not</em> support
286 checking for PHP source documents.</dd>
287 <dt>Other processing instructions</dt>
288 <dd>Processing instructions cannot be inserted in an HTML
289 document. Use XML document or insert
290 <code>ProcessingInstruction</code> node by scripting.</dd>
291 </dl>
292
293 <p>Web browsers will parse processing instructions as bogus
294 comments. Some legacy Web browsers, such as IE:mac and
295 some mobile Web browsers, will display processing instructions
296 as string.</p>
297 </div>
298
299 </section>
300
301 <section id="html5-parse-errors">
302 <h2>HTML5 Parse Errors in Tree Construction Stage</h2>
303
304 <div class="section parse-error" id="after-head"><h3>The <code><var>$0</var></code> element cannot be
305 inserted between <code>head</code> and <code>body</code> elements.</h3>
306 <p>A start tag appears after the <code>head</code> element is closed
307 but before the <code>body</code> element is opened.
308 The document is non-conforming.</p>
309 </div>
310
311 <div class="section parse-error" id="DOCTYPE-in-the-middle"><h3>A <code>DOCTYPE</code> appears after any
312 element or data character has been seen.</h3>
313 <p>A <code>DOCTYPE</code> appears after any element or data character
314 has been seen. The document is non-conforming.</p>
315
316 <p>The <code>DOCTYPE</code> must be placed before any
317 tag, reference, or data character. Only white space characters
318 and comments can be inserted before the <code>DOCTYPE</code>.</p>
319 </div>
320
321 <div class="section parse-error" id="in-a:a"><h3>Anchor cannot be nested.</h3>
322 <p>HTML <code>a</code> elements cannot be nested.
323 The document is non-conforming.</p>
324
325 <p>In the HTML syntax, a start tag of the <code>a</code>
326 implies the end tag of any opening <code>a</code> element.</p>
327 </div>
328
329 <div class="section parse-error" id="in-body"><h3>Tag <code>&lt;<var>$0</var>&gt;</code>
330 is not allowed in the <code>body</code> element.</h3>
331 <p>The start or end tag of an element, which
332 cannot be a descendant of <code>body</code> element, appears
333 in the input stream while the <code>body</code> element has been opened.
334 The document is non-conforming.</p>
335 </div>
336
337 <div class="section parse-error" id="in-head:head"><h3>Start tag <code>&lt;head&gt;</code>
338 is not allowed in the <code>head</code> element.</h3>
339 <p>There is a start tag <code>&lt;head&gt;</code> in the
340 <code>&lt;head&gt;</code> element. The document is non-conforming.</p>
341
342 <p>In an HTML document there must not be more than
343 one <code>head</code> element, therefore no more than one
344 start tag <code>&lt;head&gt;</code> can appear in the input stream.</p>
345 </div>
346
347 <div class="section parse-error" id="in-table"><h3>Tag <code>&lt;<var>$0</var>&gt;</code>
348 is not allowed in a <code>table</code> element.</h3>
349 <p>The start or end tag of an element, which
350 cannot be a child of <code>table</code> element, appears
351 in the input stream while the <code>table</code> element has been opened
352 but no other element has been opened. The document is non-conforming.</p>
353
354 <p>In <code>table</code>, only table related elements
355 are allowed; any other element must be contained in
356 <code>td</code> or <code>th</code> element to form
357 a part of the table, or <code>caption</code> element to create
358 a table caption.</p>
359 </div>
360
361 <div class="section parse-error" id="in-table:#character"><h3>Data character is not allowed in
362 <code>table</code>.</h3>
363 <p>A data character appears in <code>table</code>. The document
364 is non-conforming.</p>
365
366 <p>In <code>table</code>, only table related elements
367 are allowed; any other element and data character must be contained in
368 <code>td</code> or <code>th</code> element to form
369 a part of the table, or <code>caption</code> element to create
370 a table caption.</p>
371 </div>
372
373 <div class="section parse-error" id="missing-start-tag:tr"><h3>Start tag of <code>tr</code>
374 element is missing.</h3>
375 <p>Start tag of a <code>tr</code> element, which is <em>not</em>
376 optional, is missing. The document is non-conforming.</p>
377
378 <p>In a table section, a <code>&lt;tr&gt;</code> start tag
379 must occur before any <code>&lt;td&gt;</code> or
380 <code>&lt;th&gt;</code> start tag. Though the HTML5 parser
381 implies the <code>&lt;tr&gt;</code> start tag before
382 these start tags, it must be explicitly specified.</p>
383 </div>
384
385 <div class="section parse-error" id="no-DOCTYPE"><h3>This document does not start with a
386 <code>DOCTYPE</code>.</h3>
387 <p>The document does not start with a <code>DOCTYPE</code>.
388 The document is non-conforming.</p>
389
390 <p>An HTML document must start by a <code>DOCTYPE</code>:
391 <pre class="html example">
392 <code>&lt;!DOCTYPE HTML&gt;</code></pre>
393 </p>
394
395 <p>Only white space characters and comments are allowed
396 before the <code>DOCTYPE</code>.</p>
397 </div>
398
399 <div class="section parse-error" id="not-closed"><h3>Element <code><var>$0</var></code> is not
400 closed.</h3>
401 <p>End tag of an element is not found before, for example,
402 an end tag of another element appears or
403 the end of the document. The document is non-conforming.</p>
404
405 <p>Only <code>body</code>, <code>dd</code>, <code>dt</code>,
406 <code>head</code>, <code>html</code>, <code>li</code>,
407 <code>ol</code>, <code>option</code>, <code>optgroup</code>,
408 <code>p</code>, <code>rb</code>, <code>rp</code>, <code>rt</code>, or
409 <code>ul</code> end tag can be implied in HTML documents.
410 For any element except for void element, there must be an explicit
411 end tag.</p>
412
413 <p>Note that misnesting tags, such as
414 <code class="bad example">&lt;a&gt;&lt;b&gt;&lt;/a&gt;&lt;/b&gt;</code>, are not
415 allowed and they also cause this error.</p>
416 </div>
417
418 <div class="section parse-error" id="not-first-start-tag"><h3>This <code>&lt;html&gt;</code> tag is not
419 the first start tag.</h3>
420 <p>There is a start tag of the <code>html</code> element
421 that it not the first start tag in the input stream.
422 The document is non-conforming.</p>
423
424 <p>In an HTML document, there cannot be more than one
425 <code>html</code> element and therefore there cannot be
426 more than one <code>&lt;html&gt;</code> tag. In addition,
427 nothing can be placed before the <code>&lt;html&gt;</code> tag
428 except a <code>DOCTYPE</code>, white space characters,
429 and comments.</p>
430 </div>
431
432 <div class="section parse-error" id="not-HTML5"><h3>This document is written in an old version of
433 HTML.</h3>
434 <p>The document contains a <code>DOCTYPE</code> declaration
435 that is different from HTML5 <code>DOCTYPE</code> (i.e.
436 <code>&lt;!DOCTYPE HTML&gt;</code>). The document is non-conforming.</p>
437
438 <p>The document might or might not be conformant to
439 some version of HTML. However, conformance to any HTML
440 specification other than HTML5 provides for no practical
441 convenience, since Web borwsers will parse any
442 HTML document (roughly) as defined in HTML5.</p>
443 </div>
444
445 <div class="section parse-error" id="unmatched-end-tag"><h3>Element <code><var>$0</var></code> is not
446 opened.</h3>
447 <p>An end tag appears though no element with the same name
448 has been opened. The document is non-conforming.</p>
449
450 <p>For any end tag in HTML document, there must be a
451 corresponding start tag.</p>
452 </div>
453
454 </section>
455
456 <section id="element-content-model-errors">
457 <h2>Element Content Model Errors</h2>
458
459 <div class="section content-model-error" id="character-not-allowed"><h3>Data character is not allowed in this
460 context.</h3>
461 <p>A data character appears where it is not allowed in this
462 context. The document is non-conforming.</p>
463
464 <p>Possible causes:
465 <ul>
466 <li><p>A data character cannot be a child
467 of certain sectioning elements such as <code>body</code>,
468 <code>section</code>, and <code>blockquote</code>.</p>
469
470 <p>Any inline-level content must be put
471 in e.g. paragraph element such as <code>p</code>.</p></li>
472 <li><p>Though some elements such as <code>div</code>,
473 <code>li</code>, and <code>td</code> allow
474 <em>either one</em> of block-level or inline-level content
475 is allowed. If there is a block-level content,
476 any inline-level content must be put
477 in e.g. paragraph element such as <code>p</code>.</p></li>
478 </ul>
479 </p>
480 </div>
481
482 <div class="section content-model-error" id="child-element-missing"><h3>There must be a <code><var>$0</var></code>
483 element as a child of this element.</h3>
484 <p>The content model of the element is so defined that it
485 must contain a <code><var>$0</var></code> child element.
486 The document is non-conforming.</p>
487
488 <p>For example:
489 <ul>
490 <li>The <code>head</code> element must contain exactly one
491 <code>title</code> child element.</li>
492 <li><a href="#child-element-missing:td%7Cth">The <code>tr</code>
493 element must contain one or more <code>td</code> or <code>th</code>
494 child element.</a></li>
495 </ul>
496 </p>
497 </div>
498
499 <div class="section content-model-error" id="child-element-missing:td|th"><h3>There must be a <code>td</code>
500 or <code>th</code> element as a child of this element.</h3>
501 <p>The <code>tr</code> element must contain at least one
502 <code>td</code> or <code>th</code> child element. The document
503 is non-conforming.</p>
504 </div>
505
506 <div class="section content-model-error" id="element-not-allowed"><h3>This element is not allowed in this
507 context.</h3>
508 <p>An element appears where it is not allowed. The document
509 is non-conforming.</p>
510
511 <p>Possible causes:
512 <dl class="switch">
513 <dt>If the element with the error is an inline-level element,
514 such as <code>a</code>, <code>progress</code>, or <code>img</code></dt>
515 <dd><p>An inline-level element cannot be a child
516 of certain sectioning elements such as <code>body</code>,
517 <code>section</code>, and <code>blockquote</code>.</p>
518
519 <p>Any inline-level content must be put
520 in e.g. paragraph element such as <code>p</code>.</p></dd>
521 <dt>If it is a block-level elements, such as <code>aside</code>,
522 <code>div</code>, <code>h<var>n</var></code>,
523 <code>p</code>, or <code>section</code></dt>
524 <dd><dl class="switch">
525 <dt>If the parent element is <code>div</code>,
526 <code>li</code>, <code>td</code>, or <code>th</code></dt>
527 <!-- @@ TODO: more... -->
528 <!-- @@ TODO: <p><ul><li><p> -->
529 <dd><p>The parent element allows <em>either</em>
530 block-level or inline-level content. If there is a
531 block-level content, any inline-level content must be
532 put in e.g. paragraph element such as <code>p</code>.</p>
533 <p>For example, an HTML document fragment
534 <code class="bad example">&lt;div&gt;&lt;p&gt;Hello!&lt;/p&gt; World!&lt;/div&gt;</code>
535 is non-conforming, since a word <q>World!</q> does not belong
536 to any paragraph. (If not part of any paragraph, what is
537 it!?) A conforming example would be:
538 <pre class="example">
539 <code>&lt;div&gt;&lt;p&gt;Hello!&lt;/p&gt; &lt;p&gt;World!&lt;/p&gt;&lt;/div&gt;</code></pre>
540 </p></dd>
541 <dt>If the parent element does <em>not</em> allow
542 block-level elements as content</dt>
543 <dd>The element is not allowed to be inserted here.
544 For example, a <code>div</code> element cannot be
545 a child of an <code>h1</code> element.</dd>
546 </dl></dd>
547 <dt>If the element with the error is a <code>noscript</code> element</dt>
548 <dd>The <code>noscript</code> element is allowed only in the context
549 where a block-level or inline-level content is expected
550 and in the <code>head</code> element.
551 It cannot be used in e.g. <code>ul</code>, <code>table</code>,
552 or <code>select</code>.</dd>
553 <dt>If the element with the error is the <code>html</code> element
554 that is the root element of an XHTML document</dt>
555 <dd><p>In an XHTML document, the root <code>html</code>
556 element must have an <code>xmlns</code> attribute
557 whose value is set to
558 <code>http://www.w3.org/1999/xhtml</code>.</p></dd>
559 <dt>If the element with the error is <code>blink</code>,
560 <code>center</code>, or <code>marquee</code> element</dt>
561 <dd>These elements are not part of the HTML standard.
562 Use CSS for styling control.</dd>
563
564 <dt><code>button</code>, <code>datalist</code>, <code>form</code>,
565 <code>input</code>, <code>label</code>,
566 <code>optgroup</code>, <code>option</code>, <code>output</code>,
567 <code>rb</code>, <code>rp</code>, <code>rt</code>, <code>ruby</code>,
568 <code>textarea</code>, or <code>textarea</code> element</dt>
569 <!-- rbc, rtc ? -->
570 <dd>These elements are intentionally not supported by the conformance
571 checker <em>yet</em>.</dd>
572 </dl>
573 </p>
574 </div>
575
576 <div class="section content-model-error" id="ps-element-missing"><h3>There is no <code><var>$0</var></code>
577 element before this element.</h3>
578 <p>There must be an element before another element, but there
579 is not. The document is non-conforming.</p>
580
581 <p>For example, there must be a <code>dt</code> element
582 before any <code>dd</code> element.</p>
583 </div>
584
585 </section>
586
587 <section id="attribute-errors">
588 <h2>Attribute Errors</h2>
589
590 <div class="section attribute-error" id="attribute-missing"><h3>Required attribute <code><var>$0</var></code>
591 is not specified.</h3>
592 <p>A required attribute is not specified. The document
593 is non-conforming.</p>
594
595 <p>Some attribute is defined as <i>required</i>.
596 Without required attributes specified, user agents
597 cannot provide full functionality of the element to the user.</p>
598
599 <dl class="switch">
600 <dt>HTML <code>img</code> element</dt>
601 <dd>The <code>src</code> attribute must be specified.
602 Additionally, the <code>alt</code> attribute must be specified
603 in many cases.</dd>
604 <dt>HTML <code>link</code> element</dt>
605 <dd>The <code>rel</code> attribute must be specified.
606 Note that the <code>rev</code> attribute is obsolete.</dd>
607 </dl>
608 </div>
609
610 <div class="section attribute-error" id="attribute-not-allowed"><h3>Attribute
611 <code><var>{local-name}</var></code> is not allowed for
612 <code><var>{element-local-name}</var></code> element.</h3>
613 <p>An attribute is specified where it is not allowed.
614 The document is non-conforming.</p>
615
616 <dl>
617 <dt>HTML <code>meta</code> element</dt>
618 <dd>For HTML <code>meta</code> element, <em>only one</em> of
619 <code>name</code>, <code>http-equiv</code>, or <code>charset</code>
620 attribute is allowed.</dd>
621 </dl>
622 </div>
623
624 <div class="section attribute-error" id="in-HTML:xml:lang"><h3>The <code>xml:lang</code> attribute is not
625 allowed in HTML document.</h3>
626 <p>The <code>xml:lang</code> attribute is not allowed in
627 HTML document. The document is non-conforming.</p>
628
629 <p>Use of the <code>xml:lang</code> attribute is conforming
630 <em>only</em> in XML documents.</p>
631
632 <p>To specify natural language information in HTML document,
633 use <code>lang</code> attribute instead.</p>
634
635 <p>XHTML 1.0 Appendix C was encouraged to specify both
636 <code>lang</code> and <code>xml:lang</code> attributes with
637 the same value. Such a duplication has <em>no effect</em> in practice.
638 Use only one of <code>lang</code> (in HTML) or <code>xml:lang</code> (in
639 XML).</p>
640
641 <!-- @@ ISSUE: xml:lang in non-HTML element in DOM5 HTML created
642 from an HTML document? -->
643 </div>
644
645 <div class="section attribute-error" id="in-XML:charset"><h3>The <code>charset</code> attribute is not
646 allowed in XML document.</h3>
647 <p>The <code>charset</code> attribute of a
648 <code>meta</code> element is not allowed in XML document.
649 The document is non-conforming.</p>
650
651 <p>To specify the character encoding used for serialization,
652 if necessary, use XML declaration instead:
653 <pre class="xml example">
654 <code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;<var>encoding-name</var>&quot;?&gt;</code></pre>
655 </p>
656 </div>
657
658 <div class="section attribute-error" id="in-XML:lang"><h3>The <code>lang</code> attribute is not
659 allowed in XML document.</h3>
660 <p>The HTML <code>lang</code> attribute is not allowed in
661 XML document. The document is non-conforming.</p>
662
663 <p>The <code>lang</code> attribute in <code>null</code>
664 namespace for HTML elements is conforming <em>only</em> in
665 HTML documents.</p>
666
667 <p>To specify natural language information in XML document,
668 use <code>xml:lang</code> attribute instead.</p>
669 </div>
670
671 <div class="section attribute-error" id="in-XML:xmlns"><h3>The <code>xmlns</code> attribute
672 in the <code>null</code> namespace is not allowed in
673 XHTML document. The document is non-conforming.</h3>
674 <p>The <code>xmlns</code> attribute in the <code>null</code>
675 namespace is not allowed in XHTML document.</p>
676
677 <p>This error should not occur in conformance-checking of
678 static documents.</p>
679 </div>
680
681 </section>
682
683 <section id="attribute-value-errors">
684 <h2>Attribute Value Errors</h2>
685
686 <div class="section attribute-value-error" id="enumerated:invalid"><h3>This attribute only allow a limited set of
687 values and the specified value <code><var>{@}</var></code> is not one
688 of them.</h3>
689 <p>For this attribute only several values are allowed and the
690 value of the attribute is not one of them. The document
691 is non-conforming.</p>
692
693 <dl>
694 <dt>HTML <code>meta</code> element, <code>http-equiv</code> attribute</dt>
695 <dd><p>Only <code>Default-Style</code> and <code>Refresh</code>
696 is allowed.</p>
697 <p>Value <code>Content-Type</code> is obsolete; for charset
698 declaration, the <code>charset</code> attribute can be used as:
699 <pre class="html example">
700 <code>&lt;meta charset=&quot;<var>charset-name</var>&quot;&gt;</code></pre>
701 ... where <var>charset-name</var> is a name of the character encoding
702 of the document, such as <code>utf-8</code>.</p>
703 <p>Values <code>Content-Style-Type</code> and
704 <code>Content-Script-Type</code> are currently not allowed.</p>
705 <p>Value <code>Keywords</code> is not allowed. Use
706 <code>name</code> attribute instead of <code>http-equiv</code>
707 attribute.</p>
708 <p>Values <code>Expires</code>, <code>Pragma</code>,
709 and <code>Cache-Control</code> are not allowed;
710 use <em>real</em> HTTP header fields for cache control.</p></dd>
711 </dl>
712 </div>
713
714 <div class="section attribute-value-error" id="duplicate-ID"><h3>This identifier has already been
715 assigned to another element.</h3></div>
716
717 <div class="section attribute-value-error" id="link-type:bad-context"><h3>The link type <code><var>$0</var></code>
718 cannot be specified for this element.</h3>
719 <p>The specified link type cannot be used for the element.
720 The document is non-conforming.</p>
721
722 <p>Link types are associated with limited set of elements.
723 They cannot be used with other elements.</p>
724
725 <p>For example, link type <code>bookmark</code>
726 can be used with <code>a</code> or <code>area</code> element,
727 while it cannot be used with <code>link</code> element.</p>
728 </div>
729
730 <div class="section attribute-value-error" id="link-type:non-conforming"><h3>The link type <code><var>$0</var></code>
731 is non-conforming.</h3>
732 <p>The specified link type is non-conforming, and therefore
733 the document is non-conforming.</p>
734
735 <dl>
736 <dt>Link type <code>contents</code></dt>
737 <dd>Use link type <code>index</code>.</dd>
738 <dt>Link type <code>copyright</code></dt>
739 <dd>Use link type <code>license</code>.</dd>
740 <dt>Link type <code>home</code></dt>
741 <dd>Use link type <code>index</code>.</dd>
742 <dt>Link type <code>start</code></dt>
743 <dd>Use link type <code>first</code>.</dd>
744 <dt>Link type <code>toc</code></dt>
745 <dd>Use link type <code>index</code>.</dd>
746 </dl>
747 </div>
748
749 <div class="section attribute-value-error" id="reserved-browsing-context-name"><h3>Browsing context name
750 <code><var>{@}</var></code> is reserved.</h3>
751 <p>The specified browsing context name is reserved.
752 The document is non-conforming.</p>
753
754 <p>Names of browsing contexts starting with <code>_</code>
755 (<code>U+005F</code> <code class="charname">LOW LINE</code>)
756 are reserved so that it must not be used.</p>
757
758 <p>Old version of HTML, non-HTML markup languages, and
759 Web browsers define or implements special reserved
760 browsing context names <code>_blank</code>,
761 <code>_main</code>, and <code>_replace</code>.
762 However, they are <em>not</em> conforming attribute values.</p>
763 </div>
764
765 </section>
766
767 <section id="attribute-value-warnings">
768 <h2>Attribute Value Warnings</h2>
769
770 <div class="section attribute-value-warning should" id="s:link-type:proposed"><h3>Link type <code><var>$0</var></code>
771 is proposed but not accepted yet; it <em>should not</em> be
772 used until it has been accepted.</h3>
773 <p>The link type is in the <i>proposed</i> status; it
774 <em>should not</em> be used until it has been
775 accepted.</p>
776
777 <p><strong>Warning</strong>: The data served to the
778 conforming checker might be out of date; it might have already
779 been accepted or rejected, depending on which the document
780 might be conforming or non-conforming. See WHATWG Wiki
781 for the latest information.</p>
782 </div>
783
784 </section>
785
786 <section id="table-model-errors">
787 <h2>Table Model Errors</h2>
788
789 <div class="section table-model-error" id="table:colspan-creates-column-with-no-anchored-cell"><h3>This <code>colspan</code> attribute
790 results in creating a table column that does not contain
791 any cell anchored to it.</h3></div>
792
793 <div class="section table-model-error" id="table:no-cell-in-last-row"><h3>The table has no cell (<code>td</code> or
794 <code>th</code>) in the last row.</h3></div>
795
796 <div class="section table-model-error" id="table:rowspan-extends-table"><h3>This <code>rowspan</code> attribute
797 results in creating a table row that does not contain
798 any cell anchored to it.</h3>
799 <p>The <code>rowspan</code> attribute value of the cell
800 is so specified that it extends a table in the row axis.
801 However, the extended row does not contain any cell by itself.
802 The document is non-conforming.</p>
803
804 <p>For example, the table below is non-conforming:
805 <pre class="html non-conforming example">
806 <code>&lt;table&gt;
807 &lt;tbody&gt;
808 &lt;tr&gt;&lt;td rowspan=2&gt;&lt;/td&gt;&lt;/tr&gt;
809 &lt;/tbody&gt;
810 &lt;/table&gt;</code></pre>
811 ... since the second row contains only
812 a cell that spans between first and second rows.</p>
813 </div>
814
815 </section>
816
817 <section id="imt-warnings">
818 <h2>Internet Media Type Warnings</h2>
819
820 <div class="section should" id="s:IMT:obsolete-subtype"><h3><code><var>{@}</var></code>: An <em>obsolete</em>
821 subtype is used.</h3></div>
822
823 <div class="section should" id="s:IMT:private-subtype"><h3><code><var>{@}</var></code>: A private
824 (<code>x-</code> or <code>x.</code>) subtype is used.</h3></div>
825
826 <div class="section should" id="s:IMT:unregistered-subtype"><h3><code><var>{@}</var></code>: The subtype is
827 not registered to IANA.</h3></div>
828
829 </section>
830
831 <section id="uri-errors">
832 <h2>URI (or IRI) Errors</h2>
833
834 <div class="section must" id="m:URI::syntax-error"><h3>The specified value is syntactically not an IRI
835 reference.</h3>
836 <p>The specified value does not satisfy the syntactical requirements
837 for IRI references. The document is non-conforming.</p>
838
839 <p>Possible causes:
840 <ul>
841 <li>The string might contain one or more white space characters.
842 Especially, the <code> </code> (<code>U+0020</code>
843 <code class="charname">SPACE</code>) character cannot be
844 used in IRI references.</li>
845 </ul>
846 </p>
847 </div>
848
849 </section>
850
851 <section id="uri-shoulds">
852 <h2>URI (or IRI) Should-level Errors</h2>
853
854 <div class="section should" id="s:URI::dot-segment"><h3>A dot-segment (<code>.</code> or
855 <code>..</code>) occurs in an absolute reference.</h3>
856 <p>Dot-segment (<code>.</code> or <code>..</code>) should
857 not occur in an absolute reference.</p>
858
859 <p>In relative references, dot-segments are used to represent
860 the current (<code>.</code>) or the parent (<code>..</code>)
861 hierarchy of the path. Though they are also allowed
862 in absolute references, it should be resolved to the
863 canonical form before it has been published.</p>
864 </div>
865
866 <div class="section should" id="s:URI::empty-path"><h3>This IRI does not end with
867 a <code>/</code>.</h3></div>
868
869 <div class="section should" id="s:URI::lowercase-hexadecimal-digit"><h3>A lowercase hexadecimal digit is used
870 in percent-encoding.</h3>
871 <p>The hexadecimal digit in percent-encoding string in the IRI
872 is in lowercase. Though the IRI <em>is</em> conforming,
873 it should be in uppercase.</p>
874 </div>
875
876 <div class="section should" id="s:URI::percent-encoded-unreserved"><h3>An unreserved character is
877 percent-encoded.</h3>
878 <p>An unreserved character is percent-encoded in the IRI.
879 Though it <em>is</em> conforming, it should be in the
880 decoded (or bare) form.</p>
881 </div>
882
883 <div class="section should" id="s:URI::uppercase-scheme-name"><h3>URI scheme name is in uppercase.</h3>
884 <p>The scheme part of the IRI is written in uppercase letter.</p>
885
886 <p>Uppercase scheme names are not required to be processed
887 correctly.</p>
888 <!-- @@
889 RFC 3986 3.1.
890 > Although schemes are case-
891 insensitive, the canonical form is lowercase and documents that
892 specify schemes must do so with lowercase letters.
893
894 > An implementation ... should only produce lowercase scheme names for
895 consistency.
896 -->
897 </div>
898
899 </section>
900
901 <section id="unsupported-messages">
902 <h2><i>Unsupported</i> Messages</h2>
903
904 <div class="section unsupported" id="unsupported:element"><h3>Conformance checking for element
905 <code><var>{local-name}</var></code> is not supported; <em>it might or
906 might not be conforming</em>.</h3>
907 <p>The conformant checker does not support the element.
908 It cannot determine whether the document is conforming or not.</p>
909 </div>
910
911 <div class="section unsupported" id="unsupported:attribute"><h3>Conformance checking for attribute
912 <code><var>{local-name}</var></code> of element
913 <code><var>{element-local-name}</var></code> is not supported;
914 <em>it might or might not be conforming</em>.</h3>
915 <p>The conformant checker does not support the attribute.
916 It cannot determine whether the document is conforming or not.</p>
917 </div>
918
919 <div class="section unsupported" id="unsupported:link-type"><h3>Link type <code><var>$0</var></code> is not
920 standardized or registered at the time of the release of the conformance
921 checker; <em>it is non-conforming unless it now has been
922 registered</em>.</h3>
923 <p>The <code>rel</code> attribute is defined as a list of link types.
924 Some common link types are defined in the HTML5 specification.
925 Additional link types can be registered to the WHATWG Wiki.
926 use of any other link type is non-conforming.</p>
927
928 <p>The specified link type is not part of the standard or registry
929 when the database used by the conformance cheker is created.
930 The link type might have been added to the registry since then.
931 In such case it might be conforming. Otherwise, the
932 document is non-conforming.</p>
933
934 <dl>
935 <dt>Link types <code>shortcut icon</code></dt>
936 <dd>Link type <code>shortcut</code> is not registered.
937 Use only <code>icon</code> for linking to so-called favicon.</dd>
938 </dl>
939 </div>
940
941 <div class="section unsupported" id="unsupported:event-handler"><h3>Conformance checking for event handler attribute
942 is not supported; <em>it might or might not be conforming.</em></h3></div>
943
944 <div class="section unsupported" id="unsupported:language-tag"><h3>Conformance checking for language tag
945 is not supported; <em>it might or might not be conforming.</em></h3></div>
946
947 <div class="section unsupported" id="unsupported:media-query"><h3>Conformance checking for media query
948 is not supported; <em>it might or might not be conforming.</em></h3></div>
949
950 <div class="section unsupported" id="unsupported:script"><h3>Conformance checking for script
951 language <code><var>$0</var></code> is not supported;
952 <em>it might or might not be conforming.</em></h3></div>
953
954 <div class="section unsupported" id="unsupported:style"><h3>Conformance checking for style
955 language <code><var>$0</var></code> is not supported;
956 <em>it might or might not be conforming.</em></h3></div>
957
958 </section>
959
960
961
962 <section id="license">
963 <h2>License of This Document</h2>
964
965 <p>Copyright 2007 <a href="http://suika.fam.cx/~wakaba/who?" rel="author" xml:lang="ja">Wakaba</a></p>
966 <p>This document is free software; you can redistribute it
967 and/or modify it under the same terms as Perl itself.</p>
968 </section>
969
970 <!-- $Date: 2007/09/03 14:30:46 $ -->
971 </body>
972 </html>

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24