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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.15 - (hide annotations) (download)
Sun Nov 18 11:05:12 2007 UTC (17 years ago) by wakaba
Branch: MAIN
Changes since 1.14: +99 -4 lines
++ ChangeLog	18 Nov 2007 11:04:51 -0000
	* cc-style.css: New rules for warnings.

	* cc-todo.en.txt: Updated.

	* cc.cgi: Default to |Windows-1252| instead of |ISO-8859-1|
	for |inner_html| with external source.  Set |manakai_charset|
	attribute if possible.
	(load_text_catalog): Interpret catalog file as UTF-8.

	* error-description-source.en.xml: New errors for character
	encodings are added.

2007-11-18  Wakaba  <wakaba@suika.fam.cx>

	* error-description-source.xml: s/charset declaration/character
	encoding declaration/g, since HTML5 spec says so.

2007-11-18  Wakaba  <wakaba@suika.fam.cx>

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24