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

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24