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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.8 - (show annotations) (download) (as text)
Sun Sep 2 07:59:01 2007 UTC (16 years, 8 months ago) by wakaba
Branch: MAIN
Changes since 1.7: +54 -3 lines
File MIME type: text/xml
++ ChangeLog	2 Sep 2007 07:58:58 -0000
2007-08-26  Wakaba  <wakaba@suika.fam.cx>

	* cc.cgi: New catalog macros |local-name| and |element-local-name|.

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24