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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

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

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.19

[email protected]
ViewVC Help
Powered by ViewVC 1.1.24