/[suikacvs]/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.4 by wakaba, Mon Jul 16 13:56:26 2007 UTC revision 1.16 by wakaba, Sun Nov 18 11:05:12 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-character-encoding">
15    <h2>HTML5 Character Encoding Errors</h2>
16    
17    <d:item name="character encoding" class="format-charset must" level="m">
18      <d:message xml:lang="en">Character encoding <code><var>$0</var></code>
19      is not allowed for <abbr>HTML</abbr> document.</d:message>
20      <d:desc xml:lang="en">
21        <p>The character encoding used for the document is not allowed
22        for <abbr>HTML</abbr> document.  The document is non‐conforming.</p>
23      </d:desc>
24    </d:item>
25    
26    <d:item name="character encoding" class="format-charset should"
27        level="s">
28      <d:message xml:lang="en">Character encoding <code><var>$0</var></code>
29      should not be used for <abbr>HTML</abbr> document.</d:message>
30      <d:desc xml:lang="en">
31        <p>The character encoding used for the document is not recommended
32        for <abbr>HTML</abbr> document.  The document is non‐conforming
33        unless there is any good reason to use that encoding.</p>
34      </d:desc>
35    </d:item>
36    
37    <d:item name="character encoding" class="format-charset warning"
38        level="w">
39      <d:message xml:lang="en">Use of UTF-8 is encouraged.</d:message>
40      <d:desc xml:lang="en">
41        <p>Use of UTF-8 as the character encoding of the document is encouraged,
42        though the use of another character encoding is conforming.</p>
43      </d:desc>
44    </d:item>
45    
46    <d:item name="no character encoding declaration" class="format-charset error"
47        level="m">
48      <d:message xml:lang="en">There is no character encoding
49      declaration.</d:message>
50      <d:desc xml:lang="en">
51        <p>The document does not contain a character encoding
52        declaration.  Unless the character encoding is explicitly
53        specified in upper‐level protocol, e.g. in <abbr>HTTP</abbr>,
54        or is implied by <abbr>BOM</abbr>, there must be a character
55        encoding declaration.  The document is non‐conforming.</p>
56    
57        <p>The long character encoding declaration syntax
58        <code class="html bad example">&lt;meta http-equiv="Content-Type" content="text/html; charset=<var>charset-name</var>"></code>
59        is obsolete.  The new syntax is:</p>
60        <pre class="html example"><code>&lt;meta charset="<var>charset-name</var>"></code></pre>
61    
62        <p>Note that the <code>encoding</code> declaration in <abbr>XML</abbr>
63        declaration has no effect for <abbr>HTML</abbr> document.</p>
64      </d:desc>
65    </d:item>
66    
67    <d:item name="non ascii superset" class="format-charset error"
68        level="m">
69      <d:message xml:lang="en">No character encoding metadata is found
70      in upper‐level protocol nor is there <abbr>BOM</abbr>, while
71      character encoding <code><var>$0</var></code>
72      is not a superset of <abbr>ASCII</abbr>.</d:message>
73      <d:desc xml:lang="en">
74        <p>The document is not labeled with character encoding name
75        in upper‐level protocol, e.g. in <abbr>HTTP</abbr>, and
76        the document is not begin with <abbr>BOM</abbr>.  In addition,
77        the character encoding of the document is not a superset of
78        <abbr>ASCII</abbr>.  The document is non‐conforming.</p>
79    
80        <p>Unless there is a <abbr>BOM</abbr>, the character encoding
81        for the document must be specified in e.g. <abbr>HTTP</abbr>‐level,
82        as:</p>
83        <pre class="http example"><code>Content-Type: text/html; charset=<var>charset-name</var></code></pre>
84    
85        <p>Existence of <abbr>HTML</abbr> character encoding declaration, i.e.
86        <code class="html example">&lt;meta charset="<var>charset-name</var>"></code>,
87        does not allow to omit <code>charset</code> parameter
88        for <abbr>HTML</abbr> document encoded in non‐<abbr>ASCII</abbr>
89        compatible encoding.</p>
90    
91        <p>Character encodings <code>Shift_JIS</code>, <code>Windows-31J</code>,
92        and <code>ISO-2022-JP</code> are <em>not</em> a superset of
93        <abbr>ASCII</abbr> for the purpose of <abbr>HTML</abbr> conformance.</p>
94      </d:desc>
95    </d:item>
96    
97    <d:item name="charset label detected" class="format-charset warning"
98        level="w">
99      <d:message xml:lang="en">While parsing the document as
100      <code><var>$0</var></code>, a character encoding declaration specifying
101      character encoding as <code><var>$1</var></code> is found.  The document
102      is reparsed.</d:message>
103      <d:desc xml:lang="en">
104        <p>While parsing a document in a character encoding,
105        a character encoding declaration which declares the character
106        encoding of the document as another character encoding is found.
107        The occurence of this warning itself does not make the document
108        non‐conforming.  However, the failure of the first attempt to
109        to detect the character encoding might be the result of non‐conformance
110        of the document.</p>
111    
112        <p>The document will be reparsed from the beginning.  Some error
113        or warning might be reported again.</p>
114    
115        <p>These are suggestions to avoid this warning:</p>
116        <ul>
117        <li>Specify <code>charset</code> parameter in the <code>Content-Type</code>
118        field in the <abbr>HTTP</abbr> header, as:
119        <pre class="HTTP example"><code>Content-Type: text/html; charset="<var>charset-name</var>"</code></pre></li>
120        <li>Put the character encoding declaration
121        (<code class="html example">&lt;meta charset="<var>charset-name</var>"></code>)
122        just after <code class="html example">&lt;head></code> start tag.</li>
123        <li>Use <code>UTF-8</code>.</li>
124        </ul>
125      </d:desc>
126    </d:item>
127    </section>
128    
129  <section id="html5-tokenize-error">  <section id="html5-tokenize-error">
130  <h2>HTML5 Parse Errors in Tokenization Stage</h2>  <h2>HTML5 Parse Errors in Tokenization Stage</h2>
131    
# Line 28  Web Document Conformance Checker (BETA)< Line 143  Web Document Conformance Checker (BETA)<
143    </d:desc>    </d:desc>
144  </d:item>  </d:item>
145    
146    <d:item name="after body"
147        class="parse-error">
148      <d:message xml:lang="en">Tag <code>&lt;<var>$0</var>&gt;</code>
149      is not allowed after the end tag <code>&lt;/body></code>.</d:message>
150      <d:desc xml:lang="en">
151        <p>The start or end tag of an element appears after the
152        <code>body</code> element has been closed.  The document is
153        non-conforming.</p>
154    
155        <p>Any content of the document other than <code>head</code>
156        contents and comments must be put into the <code>body</code>
157        element.</p>
158      </d:desc>
159    </d:item>
160    
161  <d:item name="bare ero"  <d:item name="bare ero"
162      class="tokenize-error">      class="tokenize-error">
163    <d:message xml:lang="en">The <code>&amp;</code> character must    <d:message xml:lang="en">The <code>&amp;</code> character must
164    introduce a reference.</d:message>    introduce a reference.</d:message>
165    <d:desc xml:lang="en">    <d:desc xml:lang="en">
166      <p>An <code>&amp;</code> (<code>U+0026</code>      <p>An <code>&amp;</code> character which
     <code class="charname">AMPERSAND</code>) character which  
167      is not part of any reference appears in the input stream.      is not part of any reference appears in the input stream.
168      The document is non-conforming.</p>      The document is non‐conforming.</p>
169    
170        <p><em>Any <code>&amp;</code> character in URI (or IRI)
171        must be escaped as <code class="example">&amp;amp;</code>.</em></p>
172    
173      <p>The <code>&amp;</code> character must      <p>The <code>&amp;</code> character must
174      be the first character of a reference:      be the first character of a reference:
175        <dl>        <dl class="switch">
176        <dt>Named entity reference</dt>        <dt>Named entity reference</dt>
177            <dd><pre class="html example"><code>&amp;<var>entity-name</var>;</code></pre>            <dd><pre class="html example"><code>&amp;<var>entity-name</var>;</code></pre>
178            where <var>entity-name</var> is the name of the            where <var>entity-name</var> is the name of the
# Line 63  Web Document Conformance Checker (BETA)< Line 195  Web Document Conformance Checker (BETA)<
195    </d:desc>    </d:desc>
196  </d:item>  </d:item>
197    
198    <d:item name="bare etago"
199        class="tokenize-error">
200      <d:message xml:lang="en">A <code>&lt;/</code> string is not followed
201      by a tag name.</d:message><!-- </ EOF -->
202      <d:desc xml:lang="en">
203        <p>There is a <code>&lt;</code> (<code>U+003C</code>
204        <code class="charname">LESS-THAN SIGN</code>) character
205        immediately followed by a <code>/</code> (<code>U+005F</code>
206        <code>SOLIDUS</code>) character, which is not part
207        of any end tag, in the input stream.  The document
208        is non-conforming.</p>
209    
210        <p>The <code>&lt;/</code> sequence immediately followed
211        by an <abbr title="End of file pseudo-character">EOF</abbr> is
212        interpreted as a string data of <code>&lt;/</code>.</p>
213    
214        <p>The <code>&lt;/</code> sequence as string data must
215        be escaped as:
216        <pre class="html example"><code>&amp;lt;/</code></pre>
217        </p>
218      </d:desc>
219    </d:item>
220    
221  <d:item name="bare stago"  <d:item name="bare stago"
222      class="tokenize-error">      class="tokenize-error">
223    <d:message xml:lang="en">A <code>&lt;</code> character is not followed    <d:message xml:lang="en">A <code>&lt;</code> character is not followed
224    by tag name or by a <code>!</code> character.</d:message>    by tag name or by a <code>!</code> character.</d:message>
225    <d:desc xml:lang="en">    <d:desc xml:lang="en">
226      <p>A <code>&lt;</code> (<code>U+003C</code> <code class="charname">LESS-THAN      <p>A <code>&lt;</code> (<code>U+003C</code>
227      SIGN</code>) character which is not part of any markup appears      <code class="charname">LESS-THAN SIGN</code>) character which is not part
228      in the input stream.</p>      of any markup appears in the input stream.</p>
229    
230      <p>The <code>&lt;</code> character as a data character must      <p>The <code>&lt;</code> character as a data character must
231      be escaped as:      be escaped as:
232      <pre class="html example"><code>&lt;lt;</code></pre>      <pre class="html example"><code>&amp;lt;</code></pre>
233      </p>      </p>
234    </d:desc>    </d:desc>
235  </d:item>  </d:item>
# Line 92  Web Document Conformance Checker (BETA)< Line 247  Web Document Conformance Checker (BETA)<
247      The document is non-conforming.</p>      The document is non-conforming.</p>
248    
249      <p>The string <code>&amp;#</code> must be the first two characters      <p>The string <code>&amp;#</code> must be the first two characters
     <code>NUMBER SIGN</code>) character must be the first two characters  
250      of a reference:      of a reference:
251        <dl>        <dl class="switch">
252        <dt>Numeric character reference</dt>        <dt>Numeric character reference</dt>
253            <dd><pre class="html example"><code>&amp;#<var>d</var>;</code></pre>            <dd><pre class="html example"><code>&amp;#<var>d</var>;</code></pre>
254            where <var>d</var> is the decimal representation of            where <var>d</var> is the decimal representation of
# Line 107  Web Document Conformance Checker (BETA)< Line 261  Web Document Conformance Checker (BETA)<
261      </p>      </p>
262    
263      <p>To represent <code>&amp;#</code> as data characters, use      <p>To represent <code>&amp;#</code> as data characters, use
264      named entity reference:      a named entity reference for the <code>&amp;</code> character:
265        <pre class="html example"><code>&amp;amp;#</code></pre>        <pre class="html example"><code>&amp;amp;#</code></pre>
266      </p>      </p>
267    </d:desc>    </d:desc>
# Line 129  Web Document Conformance Checker (BETA)< Line 283  Web Document Conformance Checker (BETA)<
283      of the code point of the character to be referenced.</p>      of the code point of the character to be referenced.</p>
284    
285      <p>To represent <code>&amp;#x</code> as data characters, use      <p>To represent <code>&amp;#x</code> as data characters, use
286      named entity reference:      a named entity reference for the <code>&amp;</code> character:
287        <pre class="html example"><code>&amp;amp;#x</code></pre>        <pre class="html example"><code>&amp;amp;#x</code></pre>
288      </p>      </p>
289    </d:desc>    </d:desc>
290  </d:item>  </d:item>
291    
292    <d:item name="bogus comment"
293        class="tokenize-error">
294      <d:message xml:lang="en">String <code>&lt;!</code> is not followed
295      by <code>--</code>.</d:message>
296      <d:desc xml:lang="en">
297        <p>There is a <code>&lt;</code> (<code>U+003C</code>
298        <code class="charname">LESS-THAN SIGN</code>) character
299        followed by a <code>!</code> (<code>U+0021</code>
300        <code class="charname">EXCLAMATION MARK</code>) character,
301        which is not followed by a <code>--</code> or
302        <code>!DOCTYPE</code>.  The document is non-conforming.</p>
303    
304        <dl class="switch">
305        <dt>Comments</dt>
306          <dd>In HTML document, comments must be introduced by
307          <code class="example">&lt;!--</code> (<code>&lt;!</code>
308          <em>immediately</em> followed
309          by <em>two</em> <code>-</code>s) and must be terminated by
310          <code class="example">--></code>.
311          Strings <code>&lt;!</code> not followed
312          by <code>--</code> and <code>&lt;!-</code> not followed by
313          <code>-</code> are not valid open delimiters for comments.</dd>
314        <dt>Marked sections, including <code>CDATA</code> sections</dt>
315          <dd>Marked sections are not allowed in HTML document.</dd>
316        <dt>Markup declarations</dt>
317          <dd>Markup declarations, except for <code>DOCTYPE</code>
318          and comment declarations, are not allowed in HTML document.</dd>
319        <dt>String <code>&lt;!</code></dt>
320          <dd>String <code>&lt;!</code> must be escaped as
321          <code class="example">&amp;lt;!</code>.</dd>
322        </dl>
323      </d:desc>
324    </d:item>
325    
326    <d:item name="bogus end tag"
327        class="tokenize-error">
328      <d:message xml:lang="en">String <code>&lt;/</code> is not followed
329      by tag name.</d:message><!-- </ non-name-start-char-non-EOF -->
330      <d:desc xml:lang="en">
331        <p>There is a <code>&lt;</code> (<code>U+003C</code>
332        <code class="charname">LESS-THAN SIGN</code>) character
333        immediately followed by a <code>/</code> (<code>U+005F</code>
334        <code>SOLIDUS</code>) character, which is not part
335        of any end tag, in the input stream.  The document
336        is non-conforming.</p>
337    
338        <p>The <code>&lt;/</code> sequence not followed by a
339        tag name is parsed as an opening of bogus comment.</p>
340    
341        <p>The <code>&lt;/</code> sequence as string data must
342        be escaped as:
343        <pre class="html example"><code>&amp;lt;/</code></pre>
344        </p>
345      </d:desc>
346    </d:item>
347    
348  <d:item name="dash in comment"  <d:item name="dash in comment"
349      class="tokenize-error">      class="tokenize-error">
350    <d:message xml:lang="en">There is a <code>--</code> sequence    <d:message xml:lang="en">There is a <code>--</code> sequence
# Line 154  Web Document Conformance Checker (BETA)< Line 364  Web Document Conformance Checker (BETA)<
364    
365  <d:item name="duplicate attribute"  <d:item name="duplicate attribute"
366      class="tokenize-error">      class="tokenize-error">
367    <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
368          <code><var>$0</var></code>.</d:message>
369    <d:desc xml:lang="en">    <d:desc xml:lang="en">
370      <p>There are more than one attributes with the same      <p>There are more than one attributes with the same
371      name in a tag.  The document is non-conforming.</p>      name in a tag.  The document is non-conforming.</p>
# Line 166  Web Document Conformance Checker (BETA)< Line 377  Web Document Conformance Checker (BETA)<
377    
378  <d:item name="nestc"  <d:item name="nestc"
379      class="tokenize-error">      class="tokenize-error">
380    <d:message xml:lang="en">Void element syntax (<code>/></code>) cannot be    <d:message xml:lang="en">Polytheistic slash (<code>/></code>) cannot be
381    used for this element.</d:message>    used for this element.</d:message>
382    <d:desc xml:lang="en">    <d:desc xml:lang="en">
383      <p>Void element syntax (<code>/></code>) must not be used      <p>Polytheistic slash (<code>/></code>) must not be used
384      for the element.  The document is non-conforming.</p>      for the element.  The document is non-conforming.</p>
385    
386      <p>The void element syntax can only be      <p>The polytheistic slash can only be
387      used for <code>base</code>, <code>link</code>, <code>meta</code>,      used for <code>base</code>, <code>link</code>, <code>meta</code>,
388      <code>hr</code>, <code>br</code>, <code>img</code>,      <code>hr</code>, <code>br</code>, <code>img</code>,
389      <code>embed</code>, <code>param</code>, <code>area</code>,      <code>embed</code>, <code>param</code>, <code>area</code>,
390      <code>col</code>, and <code>input</code> elements.</p>      <code>col</code>, and <code>input</code> elements.</p>
391    
392      <p>Note that, unlike in XML, the void element syntax has      <dl class="switch">
393        <dt><code>&lt;script/></code></dt>
394            <dd><p>The polytheistic slash cannot be used for <code>script</code>
395            element.  Even for an empty <code>script</code> element,
396            there must be an explicit end tag
397            <code class="html example">&lt;/script></code>.</p>
398    
399            <p><strong>NOTE</strong>: Though some user agents interpret
400            polytheistic slash for <code>script</code> element as the
401            closing of the element, such usage is not allowed under
402            the current standard.</p></dd>
403        <dt><code>&lt;basefont/></code>, <code>&lt;bgsound/></code>,
404        <code>&lt;frame/></code>, <code>&lt;keygen/></code>,
405        <code>&lt;spacer/></code>, <code>&lt;wbr/></code></dt>
406            <dd>These elements are themselves non-conforming.</dd>
407        <!-- isindex, image -->
408        <dt><code>&lt;command/></code>, <code>&lt;event-source/></code>,
409        <code>&lt;nest/></code>, or <code>&lt;source/></code></dt>
410            <dd>Future revision of HTML5 parsing algorithm is expected
411            to allow polytheistic slash for these elements.</dd>
412        <dt><code>&lt;a/></code>, <code>&lt;p/></code></dt>
413            <dd>These elements are not always empty and therefore
414            polytheistic slash is not allowed.  Use explicit end tag
415            to represent empty element as:
416              <pre class="example html"><code>&lt;p>&lt;/p></code></pre>
417            </dd>
418        </dl>
419    
420        <p>Note that, unlike in XML, the polytheistic slash has
421      no effect in HTML.</p>      no effect in HTML.</p>
422    </d:desc>    </d:desc>
423  </d:item>  </d:item>
424    
425    
426    <d:item name="pio"
427        class="tokenize-error">
428      <d:message xml:lang="en">Processing instruction
429      (<code>&lt;?<var>...</var>></code>) cannot be used.</d:message>
430      <d:desc xml:lang="en">
431        <p>Processing instructions (<code>&lt;?<var>...</var>?></code>),
432        including XML declaration (<code>&lt;?xml <var>...</var>?></code>)
433        and XML style sheet <abbr title="processing instruction">PI</abbr>
434        (<code>&lt;?xml-stylesheet <var>...</var>?></code>), are not allowed
435        in the HTML syntax.  The document is non-conforming.</p>
436    
437        <dl class="switch">
438        <dt><code>&lt;?xbl?></code> (<abbr>XBL</abbr> Association)</dt>
439          <dd>An <abbr>XBL</abbr> binding cannot be associated by
440          <abbr title="processing instruction">PI</abbr> in <abbr>HTML</abbr>
441          document.  Use <code>binding</code> property in <abbr>CSS</abbr>
442          style sheet as:
443            <pre class="html example"><code>&lt;style>
444    p {
445      binding: url(binding.xbl);
446    }
447    &lt;/style></code></pre>
448          </dd>
449        <dt><code>&lt;?xml?&gt;</code> (XML declaration)</dt>
450            <dd>XML declaration is unnecessary for HTML documents.</dd>
451        <dt><code>&lt;?xml-stylesheet?></code> (XML style sheet
452        <abbr title="processing instruction">PI</abbr>)</dt>
453            <dd>Use HTML <code>link</code> element with <code>rel</code>
454            attribute set to <code>stylesheet</code> (or,
455            <code>alternate stylesheet</code> for an alternate style
456            sheet).
457              <pre class="example html"><code>&lt;link rel=stylesheet href="path/to/stylesheet.css"></code></pre>
458            </dd>
459        <dt><code>&lt;?php?&gt;</code> or
460        <code>&lt;? <var>... <abbr>PHP</abbr> code ...</var> ?&gt;</code>
461        (<abbr>PHP</abbr> code)</dt>
462            <dd>The conformance checker does <em>not</em> support
463            checking for PHP source documents.</dd>
464        <dt>Other processing instructions</dt>
465            <dd>Processing instructions cannot be inserted in an HTML
466            document.  Use XML document or insert
467            <code>ProcessingInstruction</code> node by scripting.</dd>
468        </dl>
469    
470        <p>Web browsers will parse processing instructions as bogus
471        comments.  Some legacy Web browsers, such as IE:mac and
472        some mobile Web browsers, will display processing instructions
473        as string.</p>
474      </d:desc>
475    </d:item>
476    
477  </section>  </section>
478    
479  <section id="html5-parse-errors">  <section id="html5-parse-errors">
# Line 213  Web Document Conformance Checker (BETA)< Line 504  Web Document Conformance Checker (BETA)<
504    </d:desc>    </d:desc>
505  </d:item>  </d:item>
506    
507    <d:item name="in a:a"
508        class="parse-error">
509      <d:message xml:lang="en">Anchor cannot be nested.</d:message>
510      <d:desc xml:lang="en">
511        <p>HTML <code>a</code> elements cannot be nested.
512        The document is non-conforming.</p>
513    
514        <p>In the HTML syntax, a start tag of the <code>a</code>
515        implies the end tag of any opening <code>a</code> element.</p>
516      </d:desc>
517    </d:item>
518    
519  <d:item name="in body"  <d:item name="in body"
520      class="parse-error">      class="parse-error">
521    <d:message xml:lang="en">Tag <code>&lt;<var>$0</var>&gt;</code>    <d:message xml:lang="en">Tag <code>&lt;<var>$0</var>&gt;</code>
522    is not allowed in <code>body</code>.</d:message>    is not allowed in the <code>body</code> element.</d:message>
523    <d:desc xml:lang="en">    <d:desc xml:lang="en">
524      <p>The start or end tag of an element, which      <p>The start or end tag of an element, which
525      cannot be a descendant of <code>body</code> element, appears      cannot be a descendant of <code>body</code> element, appears
# Line 225  Web Document Conformance Checker (BETA)< Line 528  Web Document Conformance Checker (BETA)<
528    </d:desc>    </d:desc>
529  </d:item>  </d:item>
530    
531    <d:item name="in head:head"
532        class="parse-error">
533      <d:message xml:lang="en">Start tag <code>&lt;head&gt;</code>
534      is not allowed in the <code>head</code> element.</d:message>
535      <d:desc xml:lang="en">
536        <p>There is a start tag <code>&lt;head></code> in the
537        <code>&lt;head></code> element.  The document is non-conforming.</p>
538    
539        <p>In an HTML document there must not be more than
540        one <code>head</code> element, therefore no more than one
541        start tag <code>&lt;head></code> can appear in the input stream.</p>
542      </d:desc>
543    </d:item>
544    
545  <d:item name="in table"  <d:item name="in table"
546      class="parse-error">      class="parse-error">
547    <d:message xml:lang="en">Tag <code>&lt;<var>$0</var>&gt;</code>    <d:message xml:lang="en">Tag <code>&lt;<var>$0</var>&gt;</code>
548    is not allowed in <code>table</code>.</d:message>    is not allowed in a <code>table</code> element.</d:message>
549    <d:desc xml:lang="en">    <d:desc xml:lang="en">
550      <p>The start or end tag of an element, which      <p>The start or end tag of an element, which
551      cannot be a child of <code>table</code> element, appears      cannot be a child of <code>table</code> element, appears
# Line 277  Web Document Conformance Checker (BETA)< Line 594  Web Document Conformance Checker (BETA)<
594    
595  <d:item name="no DOCTYPE"  <d:item name="no DOCTYPE"
596      class="parse-error">      class="parse-error">
597    <d:message xml:lang="en">This document does not start with the    <d:message xml:lang="en">This document does not start with a
598    <code>DOCTYPE</code>.</d:message>    <code>DOCTYPE</code>.</d:message>
599    <d:desc>    <d:desc>
600      <p>The document does not start with a <code>DOCTYPE</code>.      <p>The document does not start with a <code>DOCTYPE</code>.
# Line 288  Web Document Conformance Checker (BETA)< Line 605  Web Document Conformance Checker (BETA)<
605      </p>      </p>
606    
607      <p>Only white space characters and comments are allowed      <p>Only white space characters and comments are allowed
608      before the <code>DOCTYPE</code>.</p>      before the <code>DOCTYPE</code>.  XML declaration is <em>not</em>
609        allowed in HTML document.</p>
610    </d:desc>    </d:desc>
611  </d:item>  </d:item>
612    
# Line 300  Web Document Conformance Checker (BETA)< Line 618  Web Document Conformance Checker (BETA)<
618      <p>End tag of an element is not found before, for example,      <p>End tag of an element is not found before, for example,
619      an end tag of another element appears or      an end tag of another element appears or
620      the end of the document.  The document is non-conforming.</p>      the end of the document.  The document is non-conforming.</p>
621    
622        <p>Only <code>body</code>, <code>colgroup</code>, <code>dd</code>,
623        <code>dt</code>, <code>head</code>, <code>html</code>, <code>li</code>,
624        <code>ol</code>, <code>option</code>, <code>optgroup</code>,
625        <code>p</code>, <code>rb</code>, <code>rp</code>, <code>rt</code>,
626        <code>tbody</code>, <code>td</code>, <code>tfoot</code>,
627        <code>th</code>, <code>thead</code>, <code>tr</code>,
628        <code>ul</code> end tag can be omitted in HTML documents.
629        For any element except for void element, there must be an explicit
630        end tag.</p>
631    
632        <dl class="switch">
633        <dt>HTML <code>canvas</code> element</dt>
634          <dd>Though the element is void in earlier versions of Safari,
635          the <code>canvas</code> element is <em>no</em> longer
636          defined as empty.  There must be an end tag
637          <code class="html example">&lt;/canvas></code>.</dd>
638        </dl>
639    
640        <p>Note that misnesting tags, such as
641        <code class="bad example">&lt;a>&lt;b>&lt;/a>&lt;/b></code>, are not
642        allowed and they also cause this error.</p>
643      </d:desc>
644    </d:item>
645    
646    <d:item name="not first start tag"
647        class="parse-error">
648      <d:message xml:lang="en">This <code>&lt;html></code> tag is not
649      the first start tag.</d:message>
650      <d:desc>
651        <p>There is a start tag of the <code>html</code> element
652        that it not the first start tag in the input stream.
653        The document is non-conforming.</p>
654    
655        <p>In an HTML document, there cannot be more than one
656        <code>html</code> element and therefore there cannot be
657        more than one <code>&lt;html></code> tag.  In addition,
658        nothing can be placed before the <code>&lt;html></code> tag
659        except a <code>DOCTYPE</code>, white space characters,
660        and comments.</p>
661    </d:desc>    </d:desc>
662  </d:item>  </d:item>
663    
# Line 309  Web Document Conformance Checker (BETA)< Line 667  Web Document Conformance Checker (BETA)<
667    HTML.</d:message>    HTML.</d:message>
668    <d:desc xml:lang="en">    <d:desc xml:lang="en">
669      <p>The document contains a <code>DOCTYPE</code> declaration      <p>The document contains a <code>DOCTYPE</code> declaration
670      that is different from HTML5 <code>DOCTYPE</code> (i.e. <code>&lt;!DOCTYPE      that is different from HTML5 <code>DOCTYPE</code> (i.e.
671      HTML&gt;</code>).  The document is non-conforming.</p>      <code class="example html">&lt;!DOCTYPE HTML&gt;</code>).
672        The document is non‐conforming.</p>
673    
674      <p>The document might or might not be conformant to      <p>The document might or might not be conformant to
675      some version of HTML.  However, conformance to any HTML      some version of HTML.  However, conformance to any HTML
# Line 330  Web Document Conformance Checker (BETA)< Line 689  Web Document Conformance Checker (BETA)<
689    
690      <p>For any end tag in HTML document, there must be a      <p>For any end tag in HTML document, there must be a
691      corresponding start tag.</p>      corresponding start tag.</p>
692    
693        <dl class="switch">
694        <dt>HTML <code>base</code>, <code>basefont</code>,
695        <code>bgsound</code>, <code>br</code>, <code>col</code>,
696        <code>embed</code>, <code>frame</code>, <code>hr</code>,
697        <code>image</code>, <code>img</code>, <code>input</code>,
698        <code>isindex</code>, <code>link</code>, <code>meta</code>,
699        <code>param</code>, <code>spacer</code>, or <code>wbr</code> element</dt>
700          <dd>End tag is not allowed for these elements, since
701          those content must always be empty.  Remove end tag.</dd>
702        <!-- keygen -->
703        <!-- command, event-source, nest, source -->
704        </dl>
705    </d:desc>    </d:desc>
706  </d:item>  </d:item>
707    
# Line 347  Web Document Conformance Checker (BETA)< Line 719  Web Document Conformance Checker (BETA)<
719      context.  The document is non-conforming.</p>      context.  The document is non-conforming.</p>
720    
721      <p>Possible causes:      <p>Possible causes:
722        <dl>        <ul>
723        <dt>If the erred element is an inline-level element (such        <li><p>A data character cannot be a child
724        as <code>a</code> or <code>span</code>)</dt>        of certain sectioning elements such as <code>body</code>,
725            <dd><p>A data character cannot be a child        <code>section</code>, and <code>blockquote</code>.</p>
726            of certain sectioning elements such as <code>body</code>,  
727            <code>section</code>, and <code>blockquote</code>.</p>        <p>Any inline-level content must be put
728          in e.g. paragraph element such as <code>p</code>.</p></li>
729            <p>Any inline-level content must be put        <li><p>Though some elements such as <code>div</code>,
730            in e.g. paragraph element such as <code>p</code>.</p></dd>        <code>li</code>, and <code>td</code> allow
731        <dt>If the erred element is a block-level element (such as        <em>either one</em> of block-level or inline-level content
732        <code>div</code> or <code>h<var>n</var></code>)</dt>        is allowed.  If there is a block-level content,
733            <dd><p>Though some elements such as <code>div</code>,        any inline-level content must be put
734            <code>li</code>, and <code>td</code> allow        in e.g. paragraph element such as <code>p</code>.</p></li>
735            <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>  
736      </p>      </p>
737    </d:desc>    </d:desc>
738  </d:item>  </d:item>
# Line 378  Web Document Conformance Checker (BETA)< Line 746  Web Document Conformance Checker (BETA)<
746      must contain a <code><var>$0</var></code> child element.      must contain a <code><var>$0</var></code> child element.
747      The document is non-conforming.</p>      The document is non-conforming.</p>
748    
749      <p>For example:      <dl class="switch">
750        <ul>      <dt>HTML <code>head</code> element</dt>
751        <li>The <code>head</code> element must contain exactly one        <dd>There must be a <code>title</code> child element.</dd>
752        <code>title</code> child element.</li>      <dt>HTML <code>html</code> element</dt>
753        <li><a href="#child-element-missing:td%7Cth">The <code>tr</code>        <dd>There must be a <code>head</code> child element followed
754        element must contain one or more <code>td</code> or <code>th</code>        by a <code>body</code> element.</dd>
755        child element.</a></li>      <dt>HTML <code>tr</code> element</dt>
756        </ul>        <dd><a href="#child-element-missing:td%7Cth">There must be
757      </p>        one or more <code>td</code> or <code>th</code> child element.</a></dd>
758        </dl>
759    </d:desc>    </d:desc>
760  </d:item>  </d:item>
761    
# Line 409  Web Document Conformance Checker (BETA)< Line 778  Web Document Conformance Checker (BETA)<
778      <p>An element appears where it is not allowed.  The document      <p>An element appears where it is not allowed.  The document
779      is non-conforming.</p>      is non-conforming.</p>
780    
     <p><strong>Note</strong>: The conformance checker does  
     <em>not</em> support form elements yet.</p>  
   
781      <p>Possible causes:      <p>Possible causes:
782        <dl>        <dl class="switch">
783        <dt>If the erred element is an inline-level element (such        <dt>If the element with the error is an inline-level element,
784        as <code>a</code> or <code>span</code>)</dt>        such as <code>a</code>, <code>progress</code>, or <code>img</code></dt>
785            <dd><p>An inline-level element cannot be a child            <dd><p>An inline-level element cannot be a child
786            of certain sectioning elements such as <code>body</code>,            of certain sectioning elements such as <code>body</code>,
787            <code>section</code>, and <code>blockquote</code>.</p>            <code>section</code>, and <code>blockquote</code>.</p>
788    
789            <p>Any inline-level content must be put            <p>Any inline-level content must be put
790            in e.g. paragraph element such as <code>p</code>.</p></dd>            in e.g. paragraph element such as <code>p</code>.</p></dd>
791        <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>,
792        <code>div</code> or <code>h<var>n</var></code>)</dt>        <code>div</code>, <code>h<var>n</var></code>,
793            <dd><p>Though some elements such as <code>div</code>,        <code>p</code>, or <code>section</code></dt>
794            <code>li</code>, and <code>td</code> allow            <dd><dl class="switch">
795            <em>either one</em> of block-level or inline-level content                <dt>If the parent element is <code>div</code>,
796            is allowed.  If there is a block-level content,                <code>li</code>, <code>td</code>, or <code>th</code></dt>
797            any inline-level content must be put                <!-- @@ TODO: more... -->
798            in e.g. paragraph element such as <code>p</code>.</p></dd>                    <!-- @@ TODO: <p><ul><li><p> -->
799        <dt>If the erred element is the root <code>html</code> element</dt>                    <dd><p>The parent element allows <em>either</em>
800            <dd><p>In an XHTML document, the root <code>html</code>                    block-level or inline-level content.  If there is a
801            element must have an <code>xmlns</code> attribute                    block-level content, any inline-level content must be
802            whose value is set to                    put in e.g. paragraph element such as <code>p</code>.</p>
803            <code>http://www.w3.org/1999/xhtml</code>.</p></dd>                    <p>For example, an HTML document fragment
804                      <code class="html bad example">&lt;div>&lt;p>Hello!&lt;/p> World!&lt;/div></code>
805                      is non-conforming, since a word <q>World!</q> does not belong
806                      to any paragraph.  (If not part of any paragraph, what is
807                      it!?)  A conforming example would be:
808                        <pre class="html example"><code>&lt;div>&lt;p>Hello!&lt;/p> &lt;p>World!&lt;/p>&lt;/div></code></pre>
809                      </p></dd>
810                  <dt>If the parent element does <em>not</em> allow
811                  block-level elements as content</dt>
812                      <dd>The element is not allowed to be inserted here.
813                      For example, a <code>div</code> element cannot be
814                      a child of an <code>h1</code> element.</dd>
815              </dl></dd>
816          <dt>If the element with the error is a <code>noscript</code> element</dt>
817              <dd>The <code>noscript</code> element is allowed only in the context
818              where a block-level or inline-level content is expected
819              and in the <code>head</code> element.
820              It cannot be used in e.g. <code>ul</code>, <code>table</code>,
821              or <code>select</code>.</dd>
822          <dt>If the element with the error is <code>blink</code>,
823          <code>center</code>, or <code>marquee</code> element</dt>
824              <dd>These elements are not part of the HTML standard.
825              Use CSS for styling control.</dd>
826    
827          <dt><code>button</code>, <code>datalist</code>,
828          <code>fieldset</code>, <code>form</code>,
829          <code>input</code>, <code>label</code>,
830          <code>optgroup</code>, <code>option</code>, <code>output</code>,
831          <code>rb</code>, <code>rp</code>, <code>rt</code>, <code>ruby</code>,
832          <code>textarea</code>, or <code>textarea</code> element</dt>
833          <!-- rbc, rtc ? -->
834              <dd>These elements are intentionally not supported by the conformance
835              checker <em>yet</em>.</dd>
836        </dl>        </dl>
837      </p>      </p>
838    </d:desc>    </d:desc>
839  </d:item>  </d:item>
840    
841    <d:item name="element not allowed:root"
842        class="content-model-error">
843      <d:message xml:lang="en">This element is not allowed as a root
844      element.</d:message>
845      <d:desc xml:lang="en">
846        <p>An element that is not allowed as the root element
847        is used as the root element of the document.  The document is
848        non-conforming, as far as the conformance checker can tell.</p>
849    
850        <dl class="switch">
851        <dt><code>html</code> element in an XHTML document</dt>
852            <dd><p>In <abbr>XHTML</abbr> document, the root <code>html</code>
853            element must have an <code>xmlns</code> attribute as:
854              <pre class="xml example"><code>&lt;html xmlns="http://www.w3.org/1999/xhtml"></code></pre></p></dd>
855        <dt><code>rss</code> element</dt>
856            <dd><p>The document is written in some version of RSS.</p>
857            <p>The conformance checker does not support any version
858            of RSS.  Use Atom 1.0 for feed documents.</p></dd>
859        <dt><code>feed</code> element</dt>
860            <dd><p>The Atom <code>feed</code> element must be
861            in the <code>http://www.w3.org/2005/Atom</code>
862            namespace as:
863              <pre class="xml example"><code>&lt;feed xmlns="http://www.w3.org/2005/Atom"></code></pre>
864            </p>
865            <p>The conformance checker does not support Atom 0.3.
866            Use Atom 1.0 for feed documents.</p></dd>
867        </dl>
868      </d:desc>
869    </d:item>
870    
871    <d:item name="ps element missing"
872        class="content-model-error">
873      <d:message xml:lang="en">There is no <code><var>$0</var></code>
874      element before this element.</d:message>
875      <d:desc xml:lang="en">
876        <p>There must be an element before another element, but there
877        is not.  The document is non-conforming.</p>
878    
879        <p>For example, there must be a <code>dt</code> element
880        before any <code>dd</code> element.</p>
881      </d:desc>
882    </d:item>
883    
884  </section>  </section>
885    
886  <section id="attribute-errors">  <section id="attribute-errors">
# Line 454  Web Document Conformance Checker (BETA)< Line 895  Web Document Conformance Checker (BETA)<
895      is non-conforming.</p>      is non-conforming.</p>
896    
897      <p>Some attribute is defined as <i>required</i>.      <p>Some attribute is defined as <i>required</i>.
     For example, any <code>img</code> element must have  
     <code>alt</code> and <code>src</code> attributes specified.  
898      Without required attributes specified, user agents      Without required attributes specified, user agents
899      cannot provide the full functionality of the element      cannot provide full functionality of the element to the user.</p>
900      to the user.</p>  
901        <dl class="switch">
902        <dt>HTML <code>img</code> element</dt>
903            <dd>The <code>src</code> attribute must be specified.
904            Additionally, the <code>alt</code> attribute must be specified
905            in many cases.</dd>
906        <dt>HTML <code>link</code> element</dt>
907            <dd>The <code>rel</code> attribute must be specified.
908            Note that the <code>rev</code> attribute is obsolete.</dd>
909        </dl>
910      </d:desc>
911    </d:item>
912    
913    <d:item name="attribute not allowed" class="attribute-error">
914      <d:message xml:lang="en">Attribute
915      <code><var>{local-name}</var></code> is not allowed for
916      <code><var>{element-local-name}</var></code> element.</d:message>
917      <d:desc xml:lang="en">
918        <p>An attribute is specified where it is not allowed.
919        The document is non-conforming.</p>
920    
921        <dl>
922        <dt>HTML <code>meta</code> element</dt>
923            <dd>For HTML <code>meta</code> element, <em>only one</em> of
924            <code>name</code>, <code>http-equiv</code>, or <code>charset</code>
925            attribute is allowed.</dd>
926        </dl>
927    </d:desc>    </d:desc>
928  </d:item>  </d:item>
929    
# Line 466  Web Document Conformance Checker (BETA)< Line 931  Web Document Conformance Checker (BETA)<
931      class="attribute-error">      class="attribute-error">
932    <d:message xml:lang="en">The <code>xml:lang</code> attribute is not    <d:message xml:lang="en">The <code>xml:lang</code> attribute is not
933    allowed in HTML document.</d:message>    allowed in HTML document.</d:message>
934    <d:desc>    <d:desc xml:lang="en">
935      <p>The <code>xml:lang</code> attribute is not allowed in      <p>The <code>xml:lang</code> attribute is not allowed in
936      HTML document.  The document is non-conforming.</p>      HTML document.  The document is non-conforming.</p>
937    
938      <p>The <code>lang</code> attribute in the <code>null</code>      <p>Use of the <code>xml:lang</code> attribute is conforming
939      namespace for HTML elements is defined as conforming <em>only</em> for      <em>only</em> in XML documents.</p>
     XML document.</p>  
940    
941      <p>To specify natural language information in HTML document,      <p>To specify natural language information in HTML document,
942      use <code>lang</code> attribute instead.</p>      use <code>lang</code> attribute instead.</p>
943    
944        <p>XHTML 1.0 Appendix C was encouraged to specify both
945        <code>lang</code> and <code>xml:lang</code> attributes with
946        the same value.  Such a duplication has <em>no effect</em> in practice.
947        Use only one of <code>lang</code> (in HTML) or <code>xml:lang</code> (in
948        XML).</p>
949    
950      <!-- @@ ISSUE: xml:lang in non-HTML element in DOM5 HTML created      <!-- @@ ISSUE: xml:lang in non-HTML element in DOM5 HTML created
951           from an HTML document? -->           from an HTML document? -->
952    </d:desc>    </d:desc>
# Line 506  Web Document Conformance Checker (BETA)< Line 977  Web Document Conformance Checker (BETA)<
977      XML document.  The document is non-conforming.</p>      XML document.  The document is non-conforming.</p>
978    
979      <p>The <code>lang</code> attribute in <code>null</code>      <p>The <code>lang</code> attribute in <code>null</code>
980      namespace for HTML elements is defined as conforming <em>only</em> for      namespace for HTML elements is conforming <em>only</em> in
981      HTML document.</p>      HTML documents.</p>
982    
983      <p>To specify natural language information in XML document,      <p>To specify natural language information in XML document,
984      use <code>xml:lang</code> attribute instead.</p>      use <code>xml:lang</code> attribute instead.</p>
# Line 523  Web Document Conformance Checker (BETA)< Line 994  Web Document Conformance Checker (BETA)<
994      <p>The <code>xmlns</code> attribute in the <code>null</code>      <p>The <code>xmlns</code> attribute in the <code>null</code>
995      namespace is not allowed in XHTML document.</p>      namespace is not allowed in XHTML document.</p>
996    
997      <p>This error should not occur in conformance-checking      <p>This error should not occur in conformance-checking of
998      static documents.</p>      static documents.</p>
999    </d:desc>    </d:desc>
1000  </d:item>  </d:item>
# Line 536  Web Document Conformance Checker (BETA)< Line 1007  Web Document Conformance Checker (BETA)<
1007  <d:item name="enumerated:invalid"  <d:item name="enumerated:invalid"
1008      class="attribute-value-error">      class="attribute-value-error">
1009    <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
1010    values and the specified value is not one of them.</d:message>    values and the specified value <code><var>{@}</var></code> is not one
1011      of them.</d:message>
1012      <d:desc xml:lang="en">
1013        <p>For this attribute only several values are allowed and the
1014        value of the attribute is not one of them.  The document
1015        is non-conforming.</p>
1016    
1017        <dl>
1018        <dt>HTML <code>meta</code> element, <code>http-equiv</code> attribute</dt>
1019            <dd><p>Only values <code>Default-Style</code> and <code>Refresh</code>
1020            are allowed.</p>
1021            <p>Value <code>Content-Type</code> is obsolete; for charset
1022            declaration, the <code>charset</code> attribute can be used as:
1023            <pre class="html example"><code>&lt;meta charset="<var>charset-name</var>"></code></pre>
1024            ... where <var>charset-name</var> is a name of the character encoding
1025            of the document, such as <code>utf-8</code>.</p>
1026            <p>Values <code>Content-Style-Type</code> and
1027            <code>Content-Script-Type</code> are currently not allowed.</p>
1028            <p>Value <code>Keywords</code> is not allowed.  Use
1029            <code>name</code> attribute instead of <code>http-equiv</code>
1030            attribute.</p>
1031            <p>Values <code>Expires</code>, <code>Pragma</code>,
1032            and <code>Cache-Control</code> are not allowed;
1033            use <em>real</em> HTTP header fields for cache control.</p></dd>
1034        </dl>
1035      </d:desc>
1036    </d:item>
1037    
1038    <d:item name="enumerated:invalid:http-equiv:content-type"
1039        class="attribute-value-error">
1040      <d:message xml:lang="en">Character encoding declaration syntax
1041      <code class="html bad example">&lt;meta http-equiv="Content-Type" content="text/html; charset=<var>charset-name</var>"></code>
1042      is obsolete.</d:message>
1043      <d:desc xml:lang="en">
1044        <p>Old long character encoding declaration syntax
1045        <code class="html bad example">&lt;meta http-equiv="Content-Type" content="text/html; charset=<var>charset-name</var>"></code>
1046        is in use.  The document is non‐conforming.</p>
1047    
1048        <p>The new character encoding declaration syntax is:
1049          <pre class="html example"><code>&lt;meta charset="<var>charset-name</var>"></code></pre>
1050        </p>
1051      </d:desc>
1052  </d:item>  </d:item>
1053    
1054  <d:item name="duplicate ID"  <d:item name="duplicate ID"
# Line 546  Web Document Conformance Checker (BETA)< Line 1058  Web Document Conformance Checker (BETA)<
1058    <!-- @@ <id=a xml:id=a>? -->    <!-- @@ <id=a xml:id=a>? -->
1059  </d:item>  </d:item>
1060    
1061  <d:item name="link type:bad-context"  <d:item name="link type:bad context"
1062      class="attribute-value-error">      class="attribute-value-error">
1063    <d:message xml:lang="en">The link type <code><var>$0</var></code>    <d:message xml:lang="en">The link type <code><var>$0</var></code>
1064    cannot be specified for this element.</d:message>    cannot be specified for this element.</d:message>
# Line 568  Web Document Conformance Checker (BETA)< Line 1080  Web Document Conformance Checker (BETA)<
1080    <d:message xml:lang="en">The link type <code><var>$0</var></code>    <d:message xml:lang="en">The link type <code><var>$0</var></code>
1081    is non-conforming.</d:message>    is non-conforming.</d:message>
1082    <d:desc xml:lang="en">    <d:desc xml:lang="en">
1083      <p>The specified link type is non-conforming.  The entire document      <p>The specified link type is non-conforming, and therefore
1084      is non-conforming.</p>      the document is non-conforming.</p>
1085    
1086      <p>For example, in place of non-conforming link type <code>copyright</code>      <dl class="switch">
1087      you must use link type <code>license</code>.</p>      <dt>Link type <code>contents</code></dt>
1088          <dd>Use link type <code>index</code>.</dd>
1089        <dt>Link type <code>copyright</code></dt>
1090          <dd>Use link type <code>license</code>.</dd>
1091        <dt>Link type <code>home</code></dt>
1092          <dd>Use link type <code>index</code>.</dd>
1093        <dt>Link type <code>previous</code></dt>
1094          <dd>Use link type <code>prev</code>.</dd>
1095        <dt>Link type <code>start</code></dt>
1096          <dd>Use link type <code>first</code>.</dd>
1097        <dt>Link type <code>toc</code> or <code>top</code></dt>
1098          <dd>Use link type <code>index</code>.</dd>
1099        </dl>
1100    </d:desc>    </d:desc>
1101  </d:item>  </d:item>
1102    
1103  <d:item name="reserved browsing context name"  <d:item name="reserved browsing context name"
1104      class="attribute-value-error">      class="attribute-value-error">
1105    <d:message xml:lang="en">This browsing context name is reserved.</d:message>    <d:message xml:lang="en">Browsing context name
1106    <d:item>    <code><var>{@}</var></code> is reserved.</d:message>
1107      <d:desc xml:lang="en">
1108      <p>The specified browsing context name is reserved.      <p>The specified browsing context name is reserved.
1109      The document is non-conforming.</p>      The document is non-conforming.</p>
1110    
# Line 592  Web Document Conformance Checker (BETA)< Line 1117  Web Document Conformance Checker (BETA)<
1117      browsing context names <code>_blank</code>,      browsing context names <code>_blank</code>,
1118      <code>_main</code>, and <code>_replace</code>.      <code>_main</code>, and <code>_replace</code>.
1119      However, they are <em>not</em> conforming attribute values.</p>      However, they are <em>not</em> conforming attribute values.</p>
1120    </d:item>    </d:desc>
1121  </d:item>  </d:item>
1122    
1123  </section>  </section>
# Line 612  Web Document Conformance Checker (BETA)< Line 1137  Web Document Conformance Checker (BETA)<
1137    
1138      <p><strong>Warning</strong>: The data served to the      <p><strong>Warning</strong>: The data served to the
1139      conforming checker might be out of date; it might have already      conforming checker might be out of date; it might have already
1140      been accepted or rejected, depending on which the document      been accepted or rejected.  The document might or might not be
1141      might be conforming or non-conforming.  See WHATWG Wiki      conforming depending on the status.  See WHATWG Wiki
1142      for the latest information.</p>      for the latest information.</p>
1143    </d:desc>    </d:desc>
1144  </d:item>  </d:item>
# Line 636  Web Document Conformance Checker (BETA)< Line 1161  Web Document Conformance Checker (BETA)<
1161    <code>th</code>) in the last row.</d:message>    <code>th</code>) in the last row.</d:message>
1162  </d:item>  </d:item>
1163    
1164    <d:item name="table:rowspan extends table"
1165        class="table-model-error">
1166      <d:message xml:lang="en">This <code>rowspan</code> attribute
1167      results in creating a table row that does not contain
1168      any cell anchored to it.</d:message>
1169      <d:desc xml:lang="en">
1170        <p>The <code>rowspan</code> attribute value of the cell
1171        is so specified that it extends a table in the row axis.
1172        However, the extended row does not contain any cell by itself.
1173        The document is non-conforming.</p>
1174    
1175        <p>For example, the table below is non-conforming:
1176          <pre class="html bad example"><code>&lt;table>
1177    &lt;tbody>
1178    &lt;tr>&lt;td rowspan=2>&lt;/td>&lt;/tr>
1179    &lt;/tbody>
1180    &lt;/table></code></pre>
1181        ... since the second row contains only
1182        a cell that spans between first and second rows.</p>
1183      </d:desc>
1184    </d:item>
1185    
1186  </section>  </section>
1187    
1188  <section id="imt-warnings">  <section id="imt-warnings">
# Line 643  Web Document Conformance Checker (BETA)< Line 1190  Web Document Conformance Checker (BETA)<
1190    
1191  <d:item name="IMT:obsolete subtype"  <d:item name="IMT:obsolete subtype"
1192      class="should" level="s">      class="should" level="s">
1193    <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>
1194      subtype is used.</d:message>
1195      <d:item xml:lang="en">
1196        <p>The specified Internet Media Type is registered with status
1197        of <i>OBSOLETE</i>.</p><!-- @@ SHOULD NOT? -->
1198        
1199        <dl class="swtich">
1200        <dt>Media type <code>text/ecmascript</code></dt>
1201          <dd>Media type <code>text/ecmascript</code> is obsoleted in
1202          favor of <code>application/ecmascript</code>.  Note that
1203          <code>text/javascript</code> would be better alternative
1204          for many cases.</dd>
1205        <dt>Media type <code>text/javascript</code></dt>
1206          <dd>Media type <code>text/javascript</code> is obsoleted by
1207          <abbr>IETF</abbr> with backward incompatible alternate
1208          <code>application/javascript</code> for architectural
1209          purity.<!-- @@ ref? -->  Realist may ignore this warning.</dd>
1210        </dl>
1211      </d:item>
1212  </d:item>  </d:item>
1213    
1214  <d:item name="IMT:private subtype"  <d:item name="IMT:private subtype"
1215      class="should" level="s">      class="should" level="s">
1216    <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
1217    subtype is used.</d:message>    (<code>x-</code> or <code>x.</code>) subtype is used.</d:message>
1218  </d:item>  </d:item>
1219    
1220  <d:item name="IMT:unregistered subtype"  <d:item name="IMT:unregistered subtype"
1221      class="should" level="s">      class="should" level="s">
1222    <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
1223      not registered to IANA.</d:message>
1224  <!-- TODO: Unknown message?? -->  <!-- TODO: Unknown message?? -->
1225  </d:item>  </d:item>
1226    
# Line 665  Web Document Conformance Checker (BETA)< Line 1231  Web Document Conformance Checker (BETA)<
1231    
1232  <d:item name="URI::syntax error"  <d:item name="URI::syntax error"
1233      class="must" level="m">      class="must" level="m">
1234    <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
1235      reference.</d:message>
1236      <d:desc xml:lang="en">
1237        <p>The specified value does not satisfy the syntactical requirements
1238        for IRI references.  The document is non-conforming.</p>
1239    
1240        <p>Possible causes:
1241          <ul>
1242          <li>The string might contain one or more white space characters.
1243          Especially, the <code> </code> (<code>U+0020</code>
1244          <code class="charname">SPACE</code>) character cannot be
1245          used in IRI references.</li>
1246          </ul>
1247        </p>
1248      </d:desc>
1249  </d:item>  </d:item>
1250    
1251  </section>  </section>
1252    
1253  <section id="uri-warnings">  <section id="uri-shoulds">
1254  <h2>URI (or IRI) Warnings</h2>  <h2>URI (or IRI) Should-level Errors</h2>
1255    
1256  <d:item name="URI::dot-segment"  <d:item name="URI::dot-segment"
1257      class="should" level="s">      class="should" level="s">
1258    <d:message xml:lang="en">Dot-segment (<code>.</code> or    <d:message xml:lang="en">A dot-segment (<code>.</code> or
1259    <code>..</code>) should not occur in an absolute reference.</d:message>    <code>..</code>) occurs in an absolute reference.</d:message>
1260    <d:desc>    <d:desc>
1261      <p>Dot-segment (<code>.</code> or <code>..</code>) should      <p>Dot-segment (<code>.</code> or <code>..</code>) should
1262      not occur in an absolute reference.</p>      not occur in an absolute reference.</p>
# Line 691  Web Document Conformance Checker (BETA)< Line 1271  Web Document Conformance Checker (BETA)<
1271    
1272  <d:item name="URI::empty path"  <d:item name="URI::empty path"
1273      class="should" level="s">      class="should" level="s">
1274    <d:message xml:lang="en">This IRI should explicitly end with    <d:message xml:lang="en">This IRI does not end with
1275    <code>/</code>.</d:message>    a <code>/</code>.</d:message>
1276      <d:item xml:lang="en">
1277        <p>The IRI does not end with a <code>/</code>.  If there is an
1278        authority component in an IRI, a <code>/</code> should be present
1279        instead of empty path component.</p>
1280    
1281        <p>For example, <code>http://www.example.com<strong>/</strong></code>
1282        is preferred to <code>http://www.example.com</code>.</p>
1283      </d:item>
1284  </d:item>  </d:item>
1285    
1286  <d:item name="URI::lowercase hexadecimal digit"  <d:item name="URI::lowercase hexadecimal digit"
1287      class="should" level="s">      class="should" level="s">
1288    <d:message xml:lang="en">Hexadecimal digit in percent-encoding    <d:message xml:lang="en">A lowercase hexadecimal digit is used
1289    should be in lowercase.</d:message>    in percent-encoding.</d:message>
1290    <d:desc xml:lang="en">    <d:desc xml:lang="en">
1291      <p>The hexadecimal digit in percent-encoding string in the IRI      <p>The hexadecimal digit in percent-encoding string in the IRI
1292      is in lowercase.  Though the IRI <em>is</em> conforming,      is in lowercase.  Though the IRI <em>is</em> conforming,
# Line 717  Web Document Conformance Checker (BETA)< Line 1305  Web Document Conformance Checker (BETA)<
1305    </d:desc>    </d:desc>
1306  </d:item>  </d:item>
1307    
1308    <d:item name="URI::uppercase scheme name"
1309        class="should" level="s">
1310      <d:message xml:lang="en">URI scheme name is in uppercase.</d:message>
1311      <d:desc xml:lang="en">
1312        <p>The scheme part of the IRI is written in uppercase letter.</p>
1313    
1314        <p>Uppercase scheme names are not required to be processed
1315        correctly.</p>
1316    <!-- @@
1317     RFC 3986 3.1.
1318     > Although schemes are case-
1319       insensitive, the canonical form is lowercase and documents that
1320       specify schemes must do so with lowercase letters.
1321    
1322     > An implementation ... should only produce lowercase scheme names for
1323       consistency.
1324    -->
1325      </d:desc>
1326    </d:item>
1327    
1328    </section>
1329    
1330    <section id="cache-manifest-errors">
1331    <h2>Cache Manifest Errors</h2>
1332    
1333    <d:item name="not manifest" class="must" level="m">
1334      <d:message xml:lang="en">This document is not a cache manifest.</d:message>
1335      <d:desc xml:lang="en">
1336        <p>The specified document is <em>not</em> a cache manifest.
1337        The document is non-conforming.</p>
1338    
1339        <p>An entity labeled as Internet media type
1340        <code>text/cache-manifest</code> must contain a cache manifest.</p>
1341    
1342        <p>A cache manifest must start with a line whose content is
1343        <code class="manifest example">CACHE MANIFEST</code>
1344        (exactly one space character between
1345        <code>CACHE</code> and <code>MANIFEST</code>).</p>
1346      </d:desc>
1347    </d:item>
1348  </section>  </section>
1349    
1350  <section id="unsupported-messages">  <section id="unsupported-messages">
1351  <h2><i>Unsupported</i> Messages</h2>  <h2><i>Unsupported</i> Messages</h2>
1352    
1353  <d:item name="attribute"  <d:item name="element"
1354      class="unsupported" level="unsupported">      class="unsupported" level="unsupported">
1355    <d:message xml:lang="en">This attribute is not supported by the    <d:message xml:lang="en">Conformance checking for element
1356    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
1357      might not be conforming</em>.</d:message>
1358    <d:desc xml:lang="en">    <d:desc xml:lang="en">
1359      <p>The conformant checker does not support the attribute.      <p>The conformant checker does not support the element.
1360      It cannot determine whether the document is conforming or not.</p>      It cannot determine whether the document is conforming or not.</p>
1361    </d:desc>    </d:desc>
1362  </d:item>  </d:item>
1363    
1364  <d:item name="element"  <d:item name="attribute"
1365      class="unsupported" level="unsupported">      class="unsupported" level="unsupported">
1366    <d:message xml:lang="en">This element is not supported by the    <d:message xml:lang="en">Conformance checking for attribute
1367    conformance checker; <em>it might or might not be conforming</em>.</d:message>    <code><var>{local-name}</var></code> of element
1368      <code><var>{element-local-name}</var></code> is not supported;
1369      <em>it might or might not be conforming</em>.</d:message>
1370    <d:desc xml:lang="en">    <d:desc xml:lang="en">
1371      <p>The conformant checker does not support the element.      <p>The conformant checker does not support the attribute.
1372      It cannot determine whether the document is conforming or not.</p>      It cannot determine whether the document is conforming or not.</p>
1373    </d:desc>    </d:desc>
1374  </d:item>  </d:item>
1375    
1376  <d:item name="link type"  <d:item name="link type"
1377      class="unsupported" level="unsupported">      class="unsupported" level="unsupported">
1378    <d:message xml:lang="en">The link type <code><var>$0</var></code> is not    <d:message xml:lang="en">Link type <code><var>$0</var></code> is not
1379    standardized or registered at the time of the release of the conformance    standardized or registered at the time of the release of the conformance
1380    checker; <em>it is non-conforming unless it has now been    checker; <em>it is non-conforming unless it now has been
1381    registered</em>.</d:message>    registered</em>.</d:message>
1382    <d:desc xml:lang="en">    <d:desc xml:lang="en">
1383      <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.
# Line 759  Web Document Conformance Checker (BETA)< Line 1390  Web Document Conformance Checker (BETA)<
1390      The link type might have been added to the registry since then.      The link type might have been added to the registry since then.
1391      In such case it might be conforming.  Otherwise, the      In such case it might be conforming.  Otherwise, the
1392      document is non-conforming.</p>      document is non-conforming.</p>
1393    
1394        <dl>
1395        <dt>Link types <code>shortcut icon</code></dt>
1396            <dd>Link type <code>shortcut</code> is not registered.
1397            Use only <code>icon</code> for linking to so-called favicon.</dd>
1398        </dl>
1399    </d:desc>    </d:desc>
1400  </d:item>  </d:item>
1401    
# Line 768  Web Document Conformance Checker (BETA)< Line 1405  Web Document Conformance Checker (BETA)<
1405    is not supported; <em>it might or might not be conforming.</em></d:message>    is not supported; <em>it might or might not be conforming.</em></d:message>
1406  </d:item>  </d:item>
1407    
 <d:item name="language tag"  
     class="unsupported" level="unsupported">  
   <d:message xml:lang="en">Conformance checking for language tag  
   is not supported; <em>it might or might not be conforming.</em></d:message>  
 </d:item>  
   
1408  <d:item name="media query"  <d:item name="media query"
1409      class="unsupported" level="unsupported">      class="unsupported" level="unsupported">
1410    <d:message xml:lang="en">Conformance checking for media query    <d:message xml:lang="en">Conformance checking for media query
# Line 805  manakaiIsHTML:1;;HTML Document Line 1436  manakaiIsHTML:1;;HTML Document
1436  manakaiIsHTML:0;;XML Document  manakaiIsHTML:0;;XML Document
1437  </d:catalog>  </d:catalog>
1438    
1439    <section id="levels">
1440    <h2>Error Levels</h2>
1441    
1442    <table id="levels-table">
1443    <thead>
1444    <tr><th scope="col">Level</th>
1445    <th scope="col">Conforming?</th>
1446    <th scope="col">Description</th>
1447    </tr>
1448    </thead>
1449    <tbody>
1450    <tr id="level-m" class="level-m">
1451    <th scope="row"><em class="rfc2119">MUST</em>‐level error</th>
1452    <td>Non‐conforming.</td>
1453    <td>A violation to a hard requirement of the specification.
1454    The document is non‐conforming.</td>
1455    </tr>
1456    <tr id="level-s" class="level-s">
1457    <th scope="row"><em class="rfc2119">SHOULD</em>‐level error</th>
1458    <td>Non‐conforming, but <em>in some case</em>
1459    conforming.</td>
1460    <td>A violation to a requirement of the specification.
1461    The violation might be legitimize in some case.  Otherwise,
1462    the document is non‐conforming.</td>
1463    </tr>
1464    <tr id="level-w" class="level-w">
1465    <th scope="row">Warning</th>
1466    <td>Conforming.</td>
1467    <td>A warning is an advice from the conformance checker to avoid
1468    to solve a problem in a confusing or possibly wrong way.
1469    It does not affect to the conformance of the document, and
1470    may sometimes be inappropriate.</td>
1471    </tr>
1472    <tr id="level-unsupported" class="level-unsupported">
1473    <th scope="row">Not supported</th>
1474    <td><em>Unknown</em>.</td>
1475    <td>Some feature that is not supported by the conformance checker
1476    is used in the document.</td>
1477    </tr>
1478    </tbody>
1479    </table>
1480    </section>
1481    
1482  <section id="license">  <section id="license">
1483  <h2>License of This Document</h2>  <h2>License of This Document</h2>
1484    
1485  <p>Copyright 2007 <a href="http://suika.fam.cx/~wakaba/who?">Wakaba</a></p>  <p>Copyright <time>2007</time>
1486  <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>
1487    <code class="mail">&lt;<a href="mailto:[email protected]">[email protected]</a>></code>.</p>
1488    
1489    <p>This document is free software; you can redistribute it
1490  and/or modify it under the same terms as Perl itself.</p>  and/or modify it under the same terms as Perl itself.</p>
1491  </section>  </section>
1492    

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.16

[email protected]
ViewVC Help
Powered by ViewVC 1.1.24