1 |
wakaba |
1.1 |
<!DOCTYPE html> |
2 |
|
|
<html xmlns="http://www.w3.org/1999/xhtml" |
3 |
|
|
xmlns:d="http://suika.fam.cx/~wakaba/archive/2007/wdcc-desc/" |
4 |
|
|
id="error-description"> |
5 |
|
|
<head> |
6 |
|
|
<title xml:lang="en">Description of Errors — |
7 |
|
|
Web Document Conformance Checker (BETA)</title> |
8 |
|
|
<link rel="stylesheet" href="cc-style"/> |
9 |
|
|
<link rel="license" href="#license"/> |
10 |
|
|
</head> |
11 |
|
|
<body> |
12 |
|
|
<h1>Description of Errors</h1> |
13 |
|
|
|
14 |
wakaba |
1.2 |
<section id="html5-tokenize-error"> |
15 |
|
|
<h2>HTML5 Parse Errors in Tokenization Stage</h2> |
16 |
wakaba |
1.1 |
|
17 |
|
|
<d:item name="duplicate attribute" |
18 |
|
|
class="tokenize-error"> |
19 |
|
|
<d:message xml:lang="en">There are two attributes with same name.</d:message> |
20 |
|
|
<d:desc xml:lang="en"> |
21 |
|
|
<p>Attributes must be unique in an element. Specifying |
22 |
|
|
attributes with same name more than once is non-conforming.</p> |
23 |
|
|
|
24 |
|
|
<p>The <code>motion</code> attribute is not part of the HTML standard. |
25 |
|
|
Use <code>img</code> element with animation GIF instead.</p> |
26 |
|
|
</d:desc> |
27 |
|
|
</d:item> |
28 |
|
|
|
29 |
|
|
<d:item name="nestc" |
30 |
|
|
class="tokenize-error"> |
31 |
|
|
<d:message xml:lang="en">Void element syntax (<code>/></code>) cannot be |
32 |
|
|
used for this element.</d:message> |
33 |
|
|
<d:desc xml:lang="en"> |
34 |
|
|
<p>The void element syntax <code>/></code> syntax can only be |
35 |
|
|
used for <code>base</code>, <code>link</code>, <code>meta</code>, |
36 |
|
|
<code>hr</code>, <code>br</code>, <code>img</code>, |
37 |
|
|
<code>embed</code>, <code>param</code>, <code>area</code>, |
38 |
|
|
<code>col</code>, and <code>input</code> elements. |
39 |
|
|
For any other elements, using that syntax is non-conforming.</p> |
40 |
|
|
|
41 |
|
|
<p>Unlike XML, the void element syntax (<code>/></code>) has |
42 |
|
|
no effect in HTML.</p> |
43 |
|
|
</d:desc> |
44 |
|
|
</d:item> |
45 |
|
|
|
46 |
|
|
</section> |
47 |
|
|
|
48 |
wakaba |
1.2 |
<section id="html5-parse-errors"> |
49 |
|
|
<h2>HTML5 Parse Errors in Tree Construction Stage</h2> |
50 |
|
|
|
51 |
|
|
<d:item name="after head" |
52 |
|
|
class="parse-error"> |
53 |
|
|
<d:message xml:lang="en">The <code><var>$0</var></code> element cannot be |
54 |
|
|
inserted between <code>head</code> and <code>body</code> elements.</d:message> |
55 |
|
|
<d:desc xml:lang="en"> |
56 |
|
|
<p>A start tag occurs after the <code>head</code> element is closed |
57 |
|
|
but before the <code>body</code> element is opened. |
58 |
|
|
The document is non-conforming.</p> |
59 |
|
|
</d:desc> |
60 |
|
|
</d:item> |
61 |
|
|
|
62 |
|
|
<d:item name="no DOCTYPE" |
63 |
|
|
class="parse-error"> |
64 |
|
|
<d:message xml:lang="en">This document does not start with the |
65 |
|
|
<code>DOCTYPE</code> declaration.</d:message> |
66 |
|
|
</d:item> |
67 |
|
|
|
68 |
|
|
<d:item name="not closed" |
69 |
|
|
class="parse-error"> |
70 |
|
|
<d:message xml:lang="en">Element <code><var>$0</var></code> is not |
71 |
|
|
closed.</d:message> |
72 |
|
|
</d:item> |
73 |
|
|
|
74 |
|
|
<d:item name="not HTML5" |
75 |
|
|
class="parse-error"> |
76 |
|
|
<d:message xml:lang="en">This document is written in an old version of |
77 |
|
|
HTML.</d:message> |
78 |
|
|
</d:item> |
79 |
|
|
|
80 |
|
|
<d:item name="unmatched end tag" |
81 |
|
|
class="parse-error"> |
82 |
|
|
<d:message xml:lang="en">Element <code><var>$0</var></code> is not |
83 |
|
|
opened.</d:message> |
84 |
|
|
</d:item> |
85 |
|
|
|
86 |
|
|
</section> |
87 |
|
|
|
88 |
wakaba |
1.1 |
<section id="element-content-model-errors"> |
89 |
|
|
<h2>Element Content Model Errors</h2> |
90 |
|
|
|
91 |
|
|
<d:item name="character not allowed" |
92 |
|
|
class="content-model-error"> |
93 |
|
|
<d:message xml:lang="en">Data character is not allowed in this |
94 |
|
|
context.</d:message> |
95 |
|
|
<d:desc xml:lang="en"> |
96 |
|
|
<p>A data character occurs where it is not allowed in this |
97 |
|
|
context. The document is non-conforming.</p> |
98 |
|
|
|
99 |
|
|
<p>Possible causes: |
100 |
|
|
<dl> |
101 |
|
|
<dt>If the erred element is an inline-level element (such |
102 |
|
|
as <code>a</code> or <code>span</code>)</dt> |
103 |
|
|
<dd><p>A data character cannot be a child |
104 |
|
|
of certain sectioning elements such as <code>body</code>, |
105 |
|
|
<code>section</code>, and <code>blockquote</code>.</p> |
106 |
|
|
|
107 |
|
|
<p>Any inline-level content must be put |
108 |
|
|
in e.g. paragraph element such as <code>p</code>.</p></dd> |
109 |
|
|
<dt>If the erred element is a block-level element (such as |
110 |
|
|
<code>div</code> or <code>h<var>n</var></code>)</dt> |
111 |
|
|
<dd><p>Though some elements such as <code>div</code>, |
112 |
|
|
<code>li</code>, and <code>td</code> allow |
113 |
|
|
<em>either one</em> of block-level or inline-level content |
114 |
|
|
is allowed. If there is a block-level content, |
115 |
|
|
any inline-level content must be put |
116 |
|
|
in e.g. paragraph element such as <code>p</code>.</p></dd> |
117 |
|
|
</dl> |
118 |
|
|
</p> |
119 |
|
|
</d:desc> |
120 |
|
|
</d:item> |
121 |
|
|
|
122 |
|
|
<d:item name="child element missing" |
123 |
|
|
class="content-model-error"> |
124 |
|
|
<d:message xml:lang="en">There must be a <code><var>$0</var></code> |
125 |
|
|
element as a child of this element.</d:message> |
126 |
|
|
<d:desc xml:lang="en"> |
127 |
|
|
<p>The content model of the element is so defined that it |
128 |
|
|
must contain a <code><var>$0</var></code> child element. |
129 |
|
|
Without such an element, the document is non-conforming.</p> |
130 |
|
|
|
131 |
|
|
<p>For example: |
132 |
|
|
<ul> |
133 |
|
|
<li>The <code>head</code> element must contain exactly one |
134 |
|
|
<code>title</code> child element.</li> |
135 |
|
|
<li><a href="#child-element-missing:td%7Cth">The <code>tr</code> |
136 |
|
|
element must contain one or more <code>td</code> or <code>th</code> |
137 |
|
|
child element.</a></li> |
138 |
|
|
</ul> |
139 |
|
|
</p> |
140 |
|
|
</d:desc> |
141 |
|
|
</d:item> |
142 |
|
|
|
143 |
|
|
<d:item name="child element missing:td|th" |
144 |
|
|
class="content-model-error"> |
145 |
|
|
<d:message xml:lang="en">There must be a <code>td</code> |
146 |
|
|
or <code>th</code> element as a child of this element.</d:message> |
147 |
|
|
<d:desc xml:lang="en"> |
148 |
|
|
<p>The <code>tr</code> element must contain at least one |
149 |
|
|
<code>td</code> or <code>th</code> child element. Without |
150 |
|
|
such an element, the document is non-conforming.</p> |
151 |
|
|
</d:desc> |
152 |
|
|
</d:item> |
153 |
|
|
|
154 |
|
|
<d:item name="element not allowed" |
155 |
|
|
class="content-model-error"> |
156 |
|
|
<d:message xml:lang="en">This element is not allowed in this |
157 |
|
|
context.</d:message> |
158 |
|
|
<d:desc xml:lang="en"> |
159 |
|
|
<p>An element occurs where it is not allowed. The document |
160 |
|
|
is non-conforming.</p> |
161 |
|
|
|
162 |
|
|
<p>Possible causes: |
163 |
|
|
<dl> |
164 |
|
|
<dt>If the erred element is an inline-level element (such |
165 |
|
|
as <code>a</code> or <code>span</code>)</dt> |
166 |
|
|
<dd><p>An inline-level element cannot be a child |
167 |
|
|
of certain sectioning elements such as <code>body</code>, |
168 |
|
|
<code>section</code>, and <code>blockquote</code>.</p> |
169 |
|
|
|
170 |
|
|
<p>Any inline-level content must be put |
171 |
|
|
in e.g. paragraph element such as <code>p</code>.</p></dd> |
172 |
|
|
<dt>If the erred element is a block-level element (such as |
173 |
|
|
<code>div</code> or <code>h<var>n</var></code>)</dt> |
174 |
|
|
<dd><p>Though some elements such as <code>div</code>, |
175 |
|
|
<code>li</code>, and <code>td</code> allow |
176 |
|
|
<em>either one</em> of block-level or inline-level content |
177 |
|
|
is allowed. If there is a block-level content, |
178 |
|
|
any inline-level content must be put |
179 |
|
|
in e.g. paragraph element such as <code>p</code>.</p></dd> |
180 |
|
|
<dt>If the erred element is the root <code>html</code> element</dt> |
181 |
|
|
<dd><p>In an XHTML document, the root <code>html</code> |
182 |
|
|
element must have an <code>xmlns</code> attribute |
183 |
|
|
whose value is set to |
184 |
|
|
<code>http://www.w3.org/1999/xhtml</code>.</p></dd> |
185 |
|
|
</dl> |
186 |
|
|
</p> |
187 |
|
|
</d:desc> |
188 |
|
|
</d:item> |
189 |
|
|
|
190 |
wakaba |
1.2 |
</section> |
191 |
|
|
|
192 |
|
|
<section id="attribute-value-errors"> |
193 |
|
|
<h2>Attribute Value Errors</h2> |
194 |
wakaba |
1.1 |
|
195 |
wakaba |
1.2 |
<d:item name="enumerated:invalid" |
196 |
|
|
class="attribute-error"> |
197 |
|
|
<d:message xml:lang="en">This attribute only allow a limited set of |
198 |
|
|
values and the specified value is not one of them.</d:message> |
199 |
|
|
</d:item> |
200 |
|
|
|
201 |
|
|
</section> |
202 |
|
|
|
203 |
|
|
<section id="table-model-errors"> |
204 |
|
|
<h2>Table Model Errors</h2> |
205 |
|
|
|
206 |
|
|
<d:item name="table:no cell in last row" |
207 |
|
|
class="table-model-error"> |
208 |
|
|
<d:message xml:lang="en">The table has no cell (<code>td</code> or |
209 |
|
|
<code>th</code>) in the last row.</d:message> |
210 |
|
|
</d:item> |
211 |
|
|
|
212 |
|
|
</section> |
213 |
|
|
|
214 |
|
|
<section id="imt-warnings"> |
215 |
|
|
<h2>Internet Media Type Warnings</h2> |
216 |
|
|
|
217 |
|
|
<d:item name="IMT:obsolete subtype" |
218 |
|
|
class="should" level="s"> |
219 |
|
|
<d:message xml:lang="en">An <em>obsolete</em> subtype is used.</d:message> |
220 |
|
|
</d:item> |
221 |
|
|
|
222 |
|
|
<d:item name="IMT:private subtype" |
223 |
|
|
class="should" level="s"> |
224 |
|
|
<d:message xml:lang="en">A private (<code>x-</code> or <code>x.</code>) |
225 |
|
|
subtype is used.</d:message> |
226 |
|
|
</d:item> |
227 |
|
|
|
228 |
|
|
<d:item name="IMT:unregistered subtype" |
229 |
|
|
class="should" level="s"> |
230 |
|
|
<d:message xml:lang="en">The subtype is not registered to IANA.</d:message> |
231 |
|
|
<!-- TODO: Unknown message?? --> |
232 |
|
|
</d:item> |
233 |
|
|
|
234 |
|
|
</section> |
235 |
|
|
|
236 |
|
|
<section id="uri-errors"> |
237 |
|
|
<h2>URI (or IRI) Errors</h2> |
238 |
|
|
|
239 |
|
|
<d:item name="URI::syntax error" |
240 |
|
|
class="must" level="m"> |
241 |
|
|
<d:message xml:lang="en">This string is not an IRI syntactically.</d:message> |
242 |
|
|
</d:item> |
243 |
|
|
|
244 |
|
|
</section> |
245 |
|
|
|
246 |
|
|
<section id="uri-errors"> |
247 |
|
|
<h2>URI (or IRI) Errors</h2> |
248 |
|
|
|
249 |
|
|
<d:item name="URI::empty path" |
250 |
|
|
class="should" level="s"> |
251 |
|
|
<d:message xml:lang="en">This IRI should explicitly end with |
252 |
|
|
<code>/</code>.</d:message> |
253 |
|
|
</d:item> |
254 |
wakaba |
1.1 |
|
255 |
|
|
</section> |
256 |
|
|
|
257 |
|
|
<section id="unsupported-messages"> |
258 |
|
|
<h2><i>Unsupported</i> Messages</h2> |
259 |
|
|
|
260 |
wakaba |
1.2 |
<d:item name="attribute" |
261 |
|
|
class="unsupported" level="unsupported"> |
262 |
wakaba |
1.1 |
<d:message xml:lang="en">This attribute is not supported by the |
263 |
|
|
conformance checker; <em>it might or might not be conforming</em>.</d:message> |
264 |
|
|
<d:desc xml:lang="en"> |
265 |
|
|
<p>The conformant checker does not support the attribute. |
266 |
|
|
It cannot determine whether the document is conforming or not.</p> |
267 |
|
|
</d:desc> |
268 |
|
|
</d:item> |
269 |
|
|
|
270 |
wakaba |
1.2 |
<d:item name="element" |
271 |
|
|
class="unsupported" level="unsupported"> |
272 |
wakaba |
1.1 |
<d:message xml:lang="en">This element is not supported by the |
273 |
|
|
conformance checker; <em>it might or might not be conforming</em>.</d:message> |
274 |
|
|
<d:desc xml:lang="en"> |
275 |
|
|
<p>The conformant checker does not support the element. |
276 |
|
|
It cannot determine whether the document is conforming or not.</p> |
277 |
|
|
</d:desc> |
278 |
|
|
</d:item> |
279 |
|
|
|
280 |
wakaba |
1.2 |
<d:item name="link type" |
281 |
|
|
class="unsupported" level="unsupported"> |
282 |
wakaba |
1.1 |
<d:message xml:lang="en">The link type <code>$0</code> is not standardized |
283 |
|
|
or registered at the time of the release of the conformance checker; |
284 |
|
|
<em>it is non-conforming unless it has now been registered</em>.</d:message> |
285 |
|
|
<d:desc xml:lang="en"> |
286 |
|
|
<p>The <code>rel</code> attribute is defined as a list of link types. |
287 |
|
|
Some common link types are defined in the HTML5 specification. |
288 |
|
|
Additional link types can be registered to the WHATWG Wiki. |
289 |
|
|
use of any other link type is non-conforming.</p> |
290 |
|
|
|
291 |
|
|
<p>The specified link type is not part of the standard or registry |
292 |
|
|
when the database used by the conformance cheker is created. |
293 |
|
|
The link type might have been added to the registry since then. |
294 |
|
|
In such case it might be conforming. Otherwise, the |
295 |
|
|
document is non-conforming.</p> |
296 |
|
|
</d:desc> |
297 |
|
|
</d:item> |
298 |
|
|
|
299 |
|
|
</section> |
300 |
|
|
|
301 |
wakaba |
1.2 |
<d:catalog> |
302 |
|
|
manakaiCompatMode:quirks;;Quirks Mode |
303 |
|
|
manakaiCompatMode:limited quirks;;Limited Quirks Mode |
304 |
|
|
manakaiCompatMode:no quirks;;No Quirks Mode |
305 |
|
|
|
306 |
|
|
manakaiIsHTML:1;;HTML Document |
307 |
|
|
manakaiIsHTML:0;;XML Document |
308 |
|
|
</d:catalog> |
309 |
|
|
|
310 |
wakaba |
1.1 |
<section id="license"> |
311 |
|
|
<h2>License of This Document</h2> |
312 |
|
|
|
313 |
|
|
<p>Copyright 2007 <a href="http://suika.fam.cx/~wakaba/who?">Wakaba</a></p> |
314 |
|
|
<p>This library is free software; you can redistribute it |
315 |
|
|
and/or modify it under the same terms as Perl itself.</p> |
316 |
|
|
</section> |
317 |
|
|
|
318 |
wakaba |
1.2 |
<!-- $Date: 2007/07/01 10:02:24 $ --> |
319 |
wakaba |
1.1 |
</body> |
320 |
|
|
</html> |