/[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 - (hide 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 wakaba 1.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 wakaba 1.2 <section id="html5-tokenize-error">
15     <h2>HTML5 Parse Errors in Tokenization Stage</h2>
16 wakaba 1.1
17 wakaba 1.3 <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 wakaba 1.7 <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 wakaba 1.3 <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 wakaba 1.15 <p>An <code>&amp;</code> character which
52 wakaba 1.3 is not part of any reference appears in the input stream.
53 wakaba 1.15 The document is non‐conforming.</p>
54 wakaba 1.3
55 wakaba 1.15 <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 wakaba 1.9
58 wakaba 1.3 <p>The <code>&amp;</code> character must
59     be the first character of a reference:
60 wakaba 1.15 <dl class="switch">
61 wakaba 1.3 <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 wakaba 1.7 <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 wakaba 1.4 <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 wakaba 1.6 <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 wakaba 1.4
115     <p>The <code>&lt;</code> character as a data character must
116     be escaped as:
117 wakaba 1.6 <pre class="html example"><code>&amp;lt;</code></pre>
118 wakaba 1.4 </p>
119     </d:desc>
120     </d:item>
121    
122 wakaba 1.3 <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 wakaba 1.15 <dl class="switch">
137 wakaba 1.3 <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 wakaba 1.6 a named entity reference for the <code>&amp;</code> character:
150 wakaba 1.3 <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 wakaba 1.6 a named entity reference for the <code>&amp;</code> character:
172 wakaba 1.3 <pre class="html example"><code>&amp;amp;#x</code></pre>
173     </p>
174     </d:desc>
175     </d:item>
176    
177 wakaba 1.9 <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 wakaba 1.15 <dd>In HTML document, comments must be introduced by
192     <code class="example">&lt;!--</code> (<code>&lt;!</code>
193     <em>immediately</em> followed
194 wakaba 1.9 by <em>two</em> <code>-</code>s) and must be terminated by
195 wakaba 1.15 <code class="example">--></code>.
196     Strings <code>&lt;!</code> not followed
197 wakaba 1.9 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 wakaba 1.15 <dd>Marked sections are not allowed in HTML document.</dd>
201 wakaba 1.9 <dt>Markup declarations</dt>
202 wakaba 1.15 <dd>Markup declarations, except for <code>DOCTYPE</code>
203     and comment declarations, are not allowed in HTML document.</dd>
204 wakaba 1.9 <dt>String <code>&lt;!</code></dt>
205     <dd>String <code>&lt;!</code> must be escaped as
206 wakaba 1.15 <code class="example">&amp;lt;!</code>.</dd>
207 wakaba 1.9 </dl>
208     </d:desc>
209     </d:item>
210    
211 wakaba 1.7 <d:item name="bogus end tag"
212     class="tokenize-error">
213 wakaba 1.9 <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 wakaba 1.7 <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 wakaba 1.4 <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 wakaba 1.1 <d:item name="duplicate attribute"
251     class="tokenize-error">
252 wakaba 1.6 <d:message xml:lang="en">There are two attributes with name
253     <code><var>$0</var></code>.</d:message>
254 wakaba 1.1 <d:desc xml:lang="en">
255 wakaba 1.3 <p>There are more than one attributes with the same
256     name in a tag. The document is non-conforming.</p>
257 wakaba 1.1
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 wakaba 1.10 <d:message xml:lang="en">Polytheistic slash (<code>/></code>) cannot be
266 wakaba 1.1 used for this element.</d:message>
267     <d:desc xml:lang="en">
268 wakaba 1.10 <p>Polytheistic slash (<code>/></code>) must not be used
269 wakaba 1.3 for the element. The document is non-conforming.</p>
270    
271 wakaba 1.10 <p>The polytheistic slash can only be
272 wakaba 1.1 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 wakaba 1.3 <code>col</code>, and <code>input</code> elements.</p>
276 wakaba 1.1
277 wakaba 1.12 <dl class="switch">
278 wakaba 1.9 <dt><code>&lt;script/></code></dt>
279 wakaba 1.10 <dd><p>The polytheistic slash cannot be used for <code>script</code>
280 wakaba 1.9 element. Even for an empty <code>script</code> element,
281 wakaba 1.15 there must be an explicit end tag
282     <code class="html example">&lt;/script></code>.</p>
283 wakaba 1.9
284     <p><strong>NOTE</strong>: Though some user agents interpret
285 wakaba 1.10 polytheistic slash for <code>script</code> element as the
286 wakaba 1.9 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 wakaba 1.12 <code>&lt;nest/></code>, or <code>&lt;source/></code></dt>
295 wakaba 1.9 <dd>Future revision of HTML5 parsing algorithm is expected
296 wakaba 1.10 to allow polytheistic slash for these elements.</dd>
297 wakaba 1.9 <dt><code>&lt;a/></code>, <code>&lt;p/></code></dt>
298     <dd>These elements are not always empty and therefore
299 wakaba 1.15 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 wakaba 1.9 </dl>
304    
305 wakaba 1.10 <p>Note that, unlike in XML, the polytheistic slash has
306 wakaba 1.1 no effect in HTML.</p>
307     </d:desc>
308     </d:item>
309    
310 wakaba 1.5
311     <d:item name="pio"
312     class="tokenize-error">
313     <d:message xml:lang="en">Processing instruction
314 wakaba 1.9 (<code>&lt;?<var>...</var>></code>) cannot be used.</d:message>
315 wakaba 1.5 <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 wakaba 1.9 (<code>&lt;?xml-stylesheet <var>...</var>?></code>), are not allowed
320 wakaba 1.5 in the HTML syntax. The document is non-conforming.</p>
321    
322 wakaba 1.12 <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 wakaba 1.15 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 wakaba 1.9 <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 wakaba 1.12 <abbr title="processing instruction">PI</abbr>)</dt>
338 wakaba 1.9 <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 wakaba 1.15 sheet).
342     <pre class="example html"><code>&lt;link rel=stylesheet href="path/to/stylesheet.css"></code></pre>
343     </dd>
344 wakaba 1.12 <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 wakaba 1.9 <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 wakaba 1.5
355     <p>Web browsers will parse processing instructions as bogus
356     comments. Some legacy Web browsers, such as IE:mac and
357 wakaba 1.9 some mobile Web browsers, will display processing instructions
358 wakaba 1.5 as string.</p>
359     </d:desc>
360     </d:item>
361    
362 wakaba 1.1 </section>
363    
364 wakaba 1.2 <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 wakaba 1.3 <p>A start tag appears after the <code>head</code> element is closed
373 wakaba 1.2 but before the <code>body</code> element is opened.
374     The document is non-conforming.</p>
375     </d:desc>
376     </d:item>
377    
378 wakaba 1.4 <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 wakaba 1.5 <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 wakaba 1.4 <d:item name="in body"
405     class="parse-error">
406     <d:message xml:lang="en">Tag <code>&lt;<var>$0</var>&gt;</code>
407 wakaba 1.9 is not allowed in the <code>body</code> element.</d:message>
408 wakaba 1.4 <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 wakaba 1.5 <d:item name="in head:head"
417     class="parse-error">
418 wakaba 1.9 <d:message xml:lang="en">Start tag <code>&lt;head&gt;</code>
419 wakaba 1.5 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 wakaba 1.3 <d:item name="in table"
431     class="parse-error">
432     <d:message xml:lang="en">Tag <code>&lt;<var>$0</var>&gt;</code>
433 wakaba 1.5 is not allowed in a <code>table</code> element.</d:message>
434 wakaba 1.3 <d:desc xml:lang="en">
435 wakaba 1.4 <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 wakaba 1.3
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 wakaba 1.2 <d:item name="no DOCTYPE"
481     class="parse-error">
482 wakaba 1.6 <d:message xml:lang="en">This document does not start with a
483 wakaba 1.3 <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 wakaba 1.12 before the <code>DOCTYPE</code>. XML declaration is <em>not</em>
494     allowed in HTML document.</p>
495 wakaba 1.3 </d:desc>
496 wakaba 1.2 </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 wakaba 1.3 <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 wakaba 1.10
507 wakaba 1.11 <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 wakaba 1.10 <code>ol</code>, <code>option</code>, <code>optgroup</code>,
510 wakaba 1.11 <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 wakaba 1.10 For any element except for void element, there must be an explicit
515     end tag.</p>
516    
517 wakaba 1.12 <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 wakaba 1.15 <code class="html example">&lt;/canvas></code>.</dd>
523 wakaba 1.12 </dl>
524    
525 wakaba 1.10 <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 wakaba 1.3 </d:desc>
529 wakaba 1.2 </d:item>
530    
531 wakaba 1.6 <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 wakaba 1.2 <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 wakaba 1.3 <d:desc xml:lang="en">
554     <p>The document contains a <code>DOCTYPE</code> declaration
555 wakaba 1.6 that is different from HTML5 <code>DOCTYPE</code> (i.e.
556 wakaba 1.15 <code class="example html">&lt;!DOCTYPE HTML&gt;</code>).
557     The document is non‐conforming.</p>
558 wakaba 1.3
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 wakaba 1.2 </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 wakaba 1.4 <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 wakaba 1.12
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 wakaba 1.4 </d:desc>
591 wakaba 1.2 </d:item>
592    
593     </section>
594    
595 wakaba 1.1 <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 wakaba 1.3 <p>A data character appears where it is not allowed in this
604 wakaba 1.1 context. The document is non-conforming.</p>
605    
606     <p>Possible causes:
607 wakaba 1.6 <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 wakaba 1.1 </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 wakaba 1.3 The document is non-conforming.</p>
633 wakaba 1.1
634 wakaba 1.12 <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 wakaba 1.1 </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 wakaba 1.3 <code>td</code> or <code>th</code> child element. The document
654     is non-conforming.</p>
655 wakaba 1.1 </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 wakaba 1.3 <p>An element appears where it is not allowed. The document
664 wakaba 1.1 is non-conforming.</p>
665    
666     <p>Possible causes:
667 wakaba 1.6 <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 wakaba 1.1 <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 wakaba 1.9 <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 wakaba 1.15 <code class="html bad example">&lt;div>&lt;p>Hello!&lt;/p> World!&lt;/div></code>
690 wakaba 1.9 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 wakaba 1.15 <pre class="html example"><code>&lt;div>&lt;p>Hello!&lt;/p> &lt;p>World!&lt;/p>&lt;/div></code></pre>
694 wakaba 1.9 </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 wakaba 1.6 <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 wakaba 1.8 <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 wakaba 1.9
712 wakaba 1.11 <dt><code>button</code>, <code>datalist</code>,
713     <code>fieldset</code>, <code>form</code>,
714 wakaba 1.9 <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 wakaba 1.1 </dl>
722     </p>
723     </d:desc>
724     </d:item>
725    
726 wakaba 1.12 <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 wakaba 1.15 <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 wakaba 1.12 <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 wakaba 1.15 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 wakaba 1.12 <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 wakaba 1.6 <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 wakaba 1.2 </section>
770    
771 wakaba 1.3 <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 wakaba 1.9 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 wakaba 1.3 </d:desc>
796     </d:item>
797    
798 wakaba 1.8 <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 wakaba 1.3 <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 wakaba 1.8 <d:desc xml:lang="en">
820 wakaba 1.3 <p>The <code>xml:lang</code> attribute is not allowed in
821     HTML document. The document is non-conforming.</p>
822    
823 wakaba 1.9 <p>Use of the <code>xml:lang</code> attribute is conforming
824     <em>only</em> in XML documents.</p>
825 wakaba 1.3
826     <p>To specify natural language information in HTML document,
827     use <code>lang</code> attribute instead.</p>
828 wakaba 1.6
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 wakaba 1.3 <!-- @@ 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 wakaba 1.9 namespace for HTML elements is conforming <em>only</em> in
866     HTML documents.</p>
867 wakaba 1.3
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 wakaba 1.8 <p>This error should not occur in conformance-checking of
883 wakaba 1.3 static documents.</p>
884     </d:desc>
885     </d:item>
886    
887     </section>
888    
889 wakaba 1.2 <section id="attribute-value-errors">
890     <h2>Attribute Value Errors</h2>
891 wakaba 1.1
892 wakaba 1.2 <d:item name="enumerated:invalid"
893 wakaba 1.3 class="attribute-value-error">
894 wakaba 1.2 <d:message xml:lang="en">This attribute only allow a limited set of
895 wakaba 1.6 values and the specified value <code><var>{@}</var></code> is not one
896     of them.</d:message>
897 wakaba 1.8 <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 wakaba 1.15 <dd><p>Only values <code>Default-Style</code> and <code>Refresh</code>
905     are allowed.</p>
906 wakaba 1.8 <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 wakaba 1.2 </d:item>
922    
923 wakaba 1.14 <d:item name="enumerated:invalid:http-equiv:content-type"
924     class="attribute-value-error">
925     <d:message xml:lang="en">Charset declaration syntax
926 wakaba 1.15 <code class="html bad example">&lt;meta http-equiv="Content-Type" content="text/html; charset=<var>charset-name</var>"></code>
927 wakaba 1.14 is obsolete.</d:message>
928     <d:desc xml:lang="en">
929     <p>Old long charset declaration syntax
930 wakaba 1.15 <code class="html bad example">&lt;meta http-equiv="Content-Type" content="text/html; charset=<var>charset-name</var>"></code>
931 wakaba 1.14 is in use. The document is non‐conforming.</p>
932    
933     <p>The new charset declaration syntax is:
934 wakaba 1.15 <pre class="html example"><code>&lt;meta charset="<var>charset-name</var>"></code></pre>
935 wakaba 1.14 </p>
936     </d:desc>
937     </d:item>
938    
939 wakaba 1.3 <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 wakaba 1.5 <d:item name="link type:bad context"
947 wakaba 1.4 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 wakaba 1.6 <p>The specified link type is non-conforming, and therefore
969     the document is non-conforming.</p>
970 wakaba 1.4
971 wakaba 1.12 <dl class="switch">
972 wakaba 1.6 <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 wakaba 1.12 <dt>Link type <code>previous</code></dt>
979     <dd>Use link type <code>prev</code>.</dd>
980 wakaba 1.6 <dt>Link type <code>start</code></dt>
981     <dd>Use link type <code>first</code>.</dd>
982 wakaba 1.12 <dt>Link type <code>toc</code> or <code>top</code></dt>
983 wakaba 1.6 <dd>Use link type <code>index</code>.</dd>
984     </dl>
985 wakaba 1.4 </d:desc>
986     </d:item>
987    
988 wakaba 1.3 <d:item name="reserved browsing context name"
989     class="attribute-value-error">
990 wakaba 1.6 <d:message xml:lang="en">Browsing context name
991     <code><var>{@}</var></code> is reserved.</d:message>
992     <d:desc xml:lang="en">
993 wakaba 1.3 <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 wakaba 1.6 </d:desc>
1006 wakaba 1.3 </d:item>
1007    
1008 wakaba 1.2 </section>
1009    
1010 wakaba 1.4 <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 wakaba 1.12 been accepted or rejected. The document might or might not be
1026     conforming depending on the status. See WHATWG Wiki
1027 wakaba 1.4 for the latest information.</p>
1028     </d:desc>
1029     </d:item>
1030    
1031     </section>
1032    
1033 wakaba 1.2 <section id="table-model-errors">
1034     <h2>Table Model Errors</h2>
1035    
1036 wakaba 1.3 <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 wakaba 1.2 <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 wakaba 1.6 <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 wakaba 1.15 <pre class="html bad example"><code>&lt;table>
1062 wakaba 1.6 &lt;tbody>
1063     &lt;tr>&lt;td rowspan=2>&lt;/td>&lt;/tr>
1064     &lt;/tbody>
1065     &lt;/table></code></pre>
1066 wakaba 1.9 ... since the second row contains only
1067     a cell that spans between first and second rows.</p>
1068 wakaba 1.6 </d:desc>
1069     </d:item>
1070    
1071 wakaba 1.2 </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 wakaba 1.6 <d:message xml:lang="en"><code><var>{@}</var></code>: An <em>obsolete</em>
1079     subtype is used.</d:message>
1080 wakaba 1.12 <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 wakaba 1.2 </d:item>
1098    
1099     <d:item name="IMT:private subtype"
1100     class="should" level="s">
1101 wakaba 1.6 <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 wakaba 1.2 </d:item>
1104    
1105     <d:item name="IMT:unregistered subtype"
1106     class="should" level="s">
1107 wakaba 1.6 <d:message xml:lang="en"><code><var>{@}</var></code>: The subtype is
1108     not registered to IANA.</d:message>
1109 wakaba 1.2 <!-- 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 wakaba 1.6 <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 wakaba 1.2 </d:item>
1135    
1136     </section>
1137    
1138 wakaba 1.9 <section id="uri-shoulds">
1139     <h2>URI (or IRI) Should-level Errors</h2>
1140 wakaba 1.3
1141     <d:item name="URI::dot-segment"
1142     class="should" level="s">
1143 wakaba 1.9 <d:message xml:lang="en">A dot-segment (<code>.</code> or
1144     <code>..</code>) occurs in an absolute reference.</d:message>
1145 wakaba 1.3 <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 wakaba 1.2
1157     <d:item name="URI::empty path"
1158     class="should" level="s">
1159 wakaba 1.9 <d:message xml:lang="en">This IRI does not end with
1160     a <code>/</code>.</d:message>
1161 wakaba 1.12 <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 wakaba 1.2 </d:item>
1170 wakaba 1.1
1171 wakaba 1.4 <d:item name="URI::lowercase hexadecimal digit"
1172     class="should" level="s">
1173 wakaba 1.9 <d:message xml:lang="en">A lowercase hexadecimal digit is used
1174     in percent-encoding.</d:message>
1175 wakaba 1.4 <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 wakaba 1.6 <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 wakaba 1.1 </section>
1214    
1215 wakaba 1.12 <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 wakaba 1.15 <code class="manifest example">CACHE MANIFEST</code>
1229     (exactly one space character between
1230 wakaba 1.12 <code>CACHE</code> and <code>MANIFEST</code>).</p>
1231     </d:desc>
1232     </d:item>
1233     </section>
1234    
1235 wakaba 1.1 <section id="unsupported-messages">
1236     <h2><i>Unsupported</i> Messages</h2>
1237    
1238 wakaba 1.9 <d:item name="element"
1239 wakaba 1.2 class="unsupported" level="unsupported">
1240 wakaba 1.9 <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 wakaba 1.1 <d:desc xml:lang="en">
1244 wakaba 1.9 <p>The conformant checker does not support the element.
1245 wakaba 1.1 It cannot determine whether the document is conforming or not.</p>
1246     </d:desc>
1247     </d:item>
1248    
1249 wakaba 1.9 <d:item name="attribute"
1250 wakaba 1.2 class="unsupported" level="unsupported">
1251 wakaba 1.9 <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 wakaba 1.1 <d:desc xml:lang="en">
1256 wakaba 1.9 <p>The conformant checker does not support the attribute.
1257 wakaba 1.1 It cannot determine whether the document is conforming or not.</p>
1258     </d:desc>
1259     </d:item>
1260    
1261 wakaba 1.2 <d:item name="link type"
1262     class="unsupported" level="unsupported">
1263 wakaba 1.9 <d:message xml:lang="en">Link type <code><var>$0</var></code> is not
1264 wakaba 1.4 standardized or registered at the time of the release of the conformance
1265 wakaba 1.9 checker; <em>it is non-conforming unless it now has been
1266 wakaba 1.4 registered</em>.</d:message>
1267 wakaba 1.1 <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 wakaba 1.8
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 wakaba 1.1 </d:desc>
1285     </d:item>
1286    
1287 wakaba 1.4 <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 wakaba 1.1 </section>
1314    
1315 wakaba 1.2 <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 wakaba 1.13 <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 wakaba 1.1 <section id="license">
1368     <h2>License of This Document</h2>
1369    
1370 wakaba 1.12 <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 wakaba 1.9 <p>This document is free software; you can redistribute it
1375 wakaba 1.1 and/or modify it under the same terms as Perl itself.</p>
1376     </section>
1377    
1378 wakaba 1.14 <!-- $Date: 2007/11/05 09:33:52 $ -->
1379 wakaba 1.1 </body>
1380     </html>

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24