/[suikacvs]/test/html-webhacc/error-description.en.html.u8
Suika

Contents of /test/html-webhacc/error-description.en.html.u8

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.15 - (show annotations) (download)
Sun Nov 18 11:05:12 2007 UTC (16 years, 6 months ago) by wakaba
Branch: MAIN
Changes since 1.14: +99 -4 lines
++ ChangeLog	18 Nov 2007 11:04:51 -0000
	* cc-style.css: New rules for warnings.

	* cc-todo.en.txt: Updated.

	* cc.cgi: Default to |Windows-1252| instead of |ISO-8859-1|
	for |inner_html| with external source.  Set |manakai_charset|
	attribute if possible.
	(load_text_catalog): Interpret catalog file as UTF-8.

	* error-description-source.en.xml: New errors for character
	encodings are added.

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

	* error-description-source.xml: s/charset declaration/character
	encoding declaration/g, since HTML5 spec says so.

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

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24