Description of Errors

HTML5 Parse Errors in Tokenization Stage

Tag <$0> is not allowed after the end tag </html>.

The start or end tag of an element appears after the html element has been closed. The document is non-conforming.

Any content of the document other than comments must be put into the html element.

The & character must introduce a reference.

An & (U+0026 AMPERSAND) character which is not part of any reference appears in the input stream. The document is non-conforming.

The & character must be the first character of a reference:

Named entity reference
&entity-name;
where entity-name is the name of the character entity to be referenced.
Numeric character reference
&#d;
where d is the decimal representation of the code position of the character to be referenced.
Hexadecimal character reference
&#xh;
where h is the hexadecimal representation of the code position of the character to be referenced.

To represent & as a data character, use named entity reference:

&amp;

A < character is not followed by tag name or by a ! character.

A < (U+003C LESS-THAN SIGN) character which is not part of any markup appears in the input stream.

The < character as a data character must be escaped as:

<lt;

The decimal representation of the code position of a character must be specified after &#.

An & (U+0026 AMPERSAND) character immediately followed by a # (U+0023 NUMBER SIGN) character which is not part of any reference appears in the input stream. The document is non-conforming.

The string &# must be the first two characters NUMBER SIGN) character must be the first two characters of a reference:

Numeric character reference
&#d;
where d is the decimal representation of the code point of the character to be referenced.
Hexadecimal character reference
&#xh;
where h is the hexadecimal representation of the code point of the character to be referenced.

To represent &# as data characters, use named entity reference:

&amp;#

The hexadecimal representation of the code position of a character must be specified after &#x.

The string &#x or &#X which is not part of any reference appears in the input stream. The document is non-conforming.

The string &#x or &#X must be the first three characters of a hexadecimal reference:

&#xh;
where h is the hexadecimal representation of the code point of the character to be referenced.

To represent &#x as data characters, use named entity reference:

&amp;#x

There is a -- sequence in a comment.

There is a - (U+002D HYPHEN-MINUS) character at the end of the comment or a -- sequence in the comment. The document is non-conforming.

Comments cannot contain a string --, as in XML. Unlike SGML, there cannot be more than one comments (where comment is an SGML term) in the comment declaration.

There are two attributes with same name.

There are more than one attributes with the same name in a tag. The document is non-conforming.

The motion attribute is not part of the HTML standard. Use img element with animation GIF instead.

Void element syntax (/>) cannot be used for this element.

Void element syntax (/>) must not be used for the element. The document is non-conforming.

The void element syntax can only be used for base, link, meta, hr, br, img, embed, param, area, col, and input elements.

Note that, unlike in XML, the void element syntax has no effect in HTML.

HTML5 Parse Errors in Tree Construction Stage

The $0 element cannot be inserted between head and body elements.

A start tag appears after the head element is closed but before the body element is opened. The document is non-conforming.

A DOCTYPE appears after any element or data character has been seen.

A DOCTYPE appears after any element or data character has been seen. The document is non-conforming.

The DOCTYPE must be placed before any tag, reference, or data character. Only white space characters and comments can be inserted before the DOCTYPE.

Tag <$0> is not allowed in body.

The start or end tag of an element, which cannot be a descendant of body element, appears in the input stream while the body element has been opened. The document is non-conforming.

Tag <$0> is not allowed in table.

The start or end tag of an element, which cannot be a child of table element, appears in the input stream while the table element has been opened but no other element has been opened. The document is non-conforming.

In table, only table related elements are allowed; any other element must be contained in td or th element to form a part of the table, or caption element to create a table caption.

Data character is not allowed in table.

A data character appears in table. The document is non-conforming.

In table, only table related elements are allowed; any other element and data character must be contained in td or th element to form a part of the table, or caption element to create a table caption.

Start tag of tr element is missing.

Start tag of a tr element, which is not optional, is missing. The document is non-conforming.

In a table section, a <tr> start tag must occur before any <td> or <th> start tag. Though the HTML5 parser implies the <tr> start tag before these start tags, it must be explicitly specified.

This document does not start with the DOCTYPE.

The document does not start with a DOCTYPE. The document is non-conforming.

An HTML document must start by a DOCTYPE:

<!DOCTYPE HTML>

Only white space characters and comments are allowed before the DOCTYPE.

Element $0 is not closed.

End tag of an element is not found before, for example, an end tag of another element appears or the end of the document. The document is non-conforming.

This document is written in an old version of HTML.

The document contains a DOCTYPE declaration that is different from HTML5 DOCTYPE (i.e. <!DOCTYPE HTML>). The document is non-conforming.

The document might or might not be conformant to some version of HTML. However, conformance to any HTML specification other than HTML5 provides for no practical convenience, since Web borwsers will parse any HTML document (roughly) as defined in HTML5.

Element $0 is not opened.

An end tag appears though no element with the same name has been opened. The document is non-conforming.

For any end tag in HTML document, there must be a corresponding start tag.

Element Content Model Errors

Data character is not allowed in this context.

A data character appears where it is not allowed in this context. The document is non-conforming.

Possible causes:

If the erred element is an inline-level element (such as a or span)

A data character cannot be a child of certain sectioning elements such as body, section, and blockquote.

Any inline-level content must be put in e.g. paragraph element such as p.

If the erred element is a block-level element (such as div or hn)

Though some elements such as div, li, and td allow either one of block-level or inline-level content is allowed. If there is a block-level content, any inline-level content must be put in e.g. paragraph element such as p.

There must be a $0 element as a child of this element.

The content model of the element is so defined that it must contain a $0 child element. The document is non-conforming.

For example:

There must be a td or th element as a child of this element.

The tr element must contain at least one td or th child element. The document is non-conforming.

This element is not allowed in this context.

An element appears where it is not allowed. The document is non-conforming.

Note: The conformance checker does not support form elements yet.

Possible causes:

If the erred element is an inline-level element (such as a or span)

An inline-level element cannot be a child of certain sectioning elements such as body, section, and blockquote.

Any inline-level content must be put in e.g. paragraph element such as p.

If the erred element is a block-level element (such as div or hn)

Though some elements such as div, li, and td allow either one of block-level or inline-level content is allowed. If there is a block-level content, any inline-level content must be put in e.g. paragraph element such as p.

If the erred element is the root html element

In an XHTML document, the root html element must have an xmlns attribute whose value is set to http://www.w3.org/1999/xhtml.

Attribute Errors

Required attribute $0 is not specified.

A required attribute is not specified. The document is non-conforming.

Some attribute is defined as required. For example, any img element must have alt and src attributes specified. Without required attributes specified, user agents cannot provide the full functionality of the element to the user.

The xml:lang attribute is not allowed in HTML document.

The xml:lang attribute is not allowed in HTML document. The document is non-conforming.

The lang attribute in the null namespace for HTML elements is defined as conforming only for XML document.

To specify natural language information in HTML document, use lang attribute instead.

The charset attribute is not allowed in XML document.

The charset attribute of a meta element is not allowed in XML document. The document is non-conforming.

To specify the character encoding used for serialization, if necessary, use XML declaration instead:

<?xml version="1.0" encoding="encoding-name"?>

The lang attribute is not allowed in XML document.

The HTML lang attribute is not allowed in XML document. The document is non-conforming.

The lang attribute in null namespace for HTML elements is defined as conforming only for HTML document.

To specify natural language information in XML document, use xml:lang attribute instead.

The xmlns attribute in the null namespace is not allowed in XHTML document. The document is non-conforming.

The xmlns attribute in the null namespace is not allowed in XHTML document.

This error should not occur in conformance-checking static documents.

Attribute Value Errors

This attribute only allow a limited set of values and the specified value is not one of them.

This identifier has already been assigned to another element.

This browsing context name is reserved.

Attribute Value Warnings

Table Model Errors

This colspan attribute results in creating a table column that does not contain any cell anchored to it.

The table has no cell (td or th) in the last row.

Internet Media Type Warnings

An obsolete subtype is used.

A private (x- or x.) subtype is used.

The subtype is not registered to IANA.

URI (or IRI) Errors

This string is not an IRI syntactically.

URI (or IRI) Warnings

Dot-segment (. or ..) should not occur in an absolute reference.

Dot-segment (. or ..) should not occur in an absolute reference.

In relative references, dot-segments are used to represent the current (.) or the parent (..) hierarchy of the path. Though they are also allowed in absolute references, it should be resolved to the canonical form before it has been published.

This IRI should explicitly end with /.

Hexadecimal digit in percent-encoding should be in lowercase.

Hexadecimal digit in percent-encoding string in the IRI is in lowercase. Though the IRI is conforming, it should be in uppercase.

An unreserved character is percent-encoded.

An unreserved character is percent-encoded in the IRI. Though it is conforming, it should be in the decoded (or bare) form.

Unsupported Messages

This attribute is not supported by the conformance checker; it might or might not be conforming.

The conformant checker does not support the attribute. It cannot determine whether the document is conforming or not.

This element is not supported by the conformance checker; it might or might not be conforming.

The conformant checker does not support the element. It cannot determine whether the document is conforming or not.

Conformance checking for event handler attribute is not supported; it might or might not be conforming.

Conformance checking for language tag is not supported; it might or might not be conforming.

Conformance checking for media query is not supported; it might or might not be conforming.

Conformance checking for script language $0 is not supported; it might or might not be conforming.

Conformance checking for style language $0 is not supported; it might or might not be conforming.

License of This Document

Copyright 2007 Wakaba

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.