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

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

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

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

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.15

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24