/[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.9 - (hide annotations) (download)
Mon Sep 3 14:30:46 2007 UTC (16 years, 8 months ago) by wakaba
Branch: MAIN
Changes since 1.8: +153 -60 lines
++ ChangeLog	3 Sep 2007 14:30:43 -0000
2007-09-03  Wakaba  <wakaba@suika.fam.cx>

	* error-description-source.xml: Updated.

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24