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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.15 - (show annotations) (download) (as text)
Wed Nov 7 12:20:44 2007 UTC (16 years, 6 months ago) by wakaba
Branch: MAIN
Changes since 1.14: +51 -35 lines
File MIME type: text/xml
++ ChangeLog	7 Nov 2007 12:20:41 -0000
	* cc-style.css: Styling examples.

2007-11-07  Wakaba  <wakaba@suika.fam.cx>

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24