WebHACC

Description of Errors

WebHACC is a conformance checker (or validator) for Web documents, supporting latest Web standards including HTML5, Atom 1.0, CSS3.

Check your document, or learn more about WebHACC.

Character Encoding Layer Errors

Octet sequence {octets} is not an allowed representation of the character {char} — character reference {char:hexref} should be used instead.

No character is assigned to octet sequence {octets}.

Octet sequence {octets} is illegal.

The input stream is broken.

The input stream is encoded in ISO-2022-JP or its variant but is partially broken.

Note that an ISO-2022-JP stream must end in the ASCII state.

No character is assigned to octet sequence {octets}.

HTML5 Character Encoding Errors

Character encoding {value} is not supported and the explicit character encoding specification is ignored. The result of the conformance checking might be wrong.

Character encoding {text} is not allowed for HTML document.

The character encoding used for the document is not allowed for HTML document. The document is non‐conforming.

Character encoding {text} should not be used for HTML document.

The character encoding used for the document is not recommended for HTML document. The document is non‐conforming unless there is any good reason to use that encoding.

Use of UTF-8 is encouraged (this document is encoded in {text}).

Use of UTF-8 as the character encoding of the document is encouraged, though the use of another character encoding is still conforming.

Conformance for character encoding requirements cannot be checked, since the input is not a byte stream.

The conformance checker cannot detect whether the input document met the requirements on character encoding, since the document is not inputed as a serialized byte sequence. The document is not conforming if it is not encoded in an appropriate character encoding with appropriate labeling.

There is no character encoding declaration.

The document does not contain a character encoding declaration. Unless the character encoding is explicitly specified in lower‐level protocol, e.g. in HTTP, or is implied by BOM, there must be a character encoding declaration. The document is non‐conforming.

The long character encoding declaration syntax <meta http-equiv="Content-Type" content="text/html; charset=charset-name"> is obsolete. The new syntax is:

<meta charset="charset-name">

Note that the encoding declaration in XML declaration has no effect for HTML document.

No character encoding metadata is found in lower‐level protocol nor is there BOM, while character encoding {text} is not a superset of ASCII.

The document is not labeled with character encoding name in lower‐level protocol, e.g. in HTTP, and the document is not begin with BOM. In addition, the character encoding of the document is not a superset of ASCII. The document is non‐conforming.

Unless there is a BOM, the character encoding for the document must be specified in e.g. HTTP‐level, as:

Content-Type: text/html; charset=charset-name

Existence of HTML character encoding declaration, i.e. <meta charset="charset-name">, does not allow to omit charset parameter for HTML document encoded in non‐ASCII compatible encoding.

Character encodings Shift_JIS, Windows-31J, and ISO-2022-JP are not a superset of ASCII for the purpose of HTML conformance.

Character encoding of this document is sniffed as {text} (Sniffed because no explicit specification for the character encoding of this document is found in the transfer procotol headers).

Character encoding of this document is defaulted to {text} because no explicit specification for the character encoding of this document is found in the transfer procotol headers.

Results might be wrong, since the conformance checker cannot find an appropriate decoder for the character encoding used for the document.

The conformance checker cannot find an appropriate decoder for the character encoding used to encode characters in the document.

This error is raised if:

In either case, the result shown by the conformance checker might contain wrong errors caused by errorneous decoder or might not contain errors that should be raised if an appropriate decoder is used.

Conformance error checking for the character encoding {text} is not supported.

Sniffed character encoding {text} is same as the character encoding specified in the character encoding declaration. This is not an error.

While parsing the document as {text}, a character encoding declaration specifying a different character encoding is found. The document is reparsed.

While parsing a document in a character encoding, a character encoding declaration which declares the character encoding of the document as another character encoding is found. The occurence of this warning itself does not make the document non‐conforming. However, the failure of the first attempt to to detect the character encoding might be a result of non‐conformance of the document.

The document will be reparsed from the beginning. Some error or warning might be reported again.

These are suggestions to avoid this warning:

Coded Character Set Layer Errors

The NULL character is not allowed.

Code point {text} is not allowed.

Noncharacter {text} is found in the input stream.

Noncharacter code points are used in the input stream.

Noncharacter code points are reserved for internal processings. Their use for information interchanges are forbidden.

In addition, they are not allowed in HTML document.

Character {text} is not a Unicode character.

Use of character {text} is deprecated.

Use of character {text} is discouraged.

Code point {text} is not the preferred representation of that character.

Character {text} should not be used in many cases.

HTML5 Parse Errors in Tokenization Stage

Attribute name cannot contain characters ", ', and =.

Attribute value must be quoted by " or ' if it contains a ", ', or = character.

In an unquoted attribute value, a character " (U+0022 QUOTATION MARK), ' (U+0026 APOSTROPHE), or = (U+003D EQUAL SIGN) is contained. These characters are not allowed in unquoted attribute values, since they are used to quote attribute values or to separate attribute name and value.

This error is also raised if one try to use empty attribute value like <foo bar= baz=>; in this example, baz= is treated as an invalid attribute value for the attribute bar, not as another attribute.

The & character must be escaped as &amp;.

An & character which is not part of any reference appears in the input stream. The document is non‐conforming.

Any & character in URI (or IRI) must be escaped as &amp;.

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 </ string is not followed by a tag name.

There is a < (U+003C LESS-THAN SIGN) character immediately followed by a / (U+005F SOLIDUS) character, which is not part of any end tag, in the input stream. The document is non-conforming.

The </ sequence immediately followed by an EOF is interpreted as a string data of </.

The </ sequence as string data must be escaped as:

&lt;/

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 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 a named entity reference for the & character:

&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 a named entity reference for the & character:

&amp;#x

String <! is not followed by --.

There is a < (U+003C LESS-THAN SIGN) character followed by a ! (U+0021 EXCLAMATION MARK) character, which is not followed by a -- or !DOCTYPE. The document is non-conforming.

Comments
In HTML document, comments must be introduced by <!-- (<! immediately followed by two -s) and must be terminated by -->. Strings <! not followed by -- and <!- not followed by - are not valid open delimiters for comments.
Marked sections, including CDATA sections
Marked sections are not allowed in HTML document.
Markup declarations
Markup declarations, except for DOCTYPE and comment declarations, are not allowed in HTML document.
String <!
String <! must be escaped as &lt;!.

String </ is not followed by tag name.

There is a < (U+003C LESS-THAN SIGN) character immediately followed by a / (U+005F SOLIDUS) character, which is not part of any end tag, in the input stream. The document is non-conforming.

The </ sequence not followed by a tag name is parsed as an opening of bogus comment.

The </ sequence as string data must be escaped as:

&lt;/

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 name {text}.

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.

Empty start tag (<>) is not allowed.

Empty end tag (</>) is not allowed.

End tag cannot have attributes.

Attribute value is not specified.

The attribute value is not specified after the = (U+003C EQUAL SIGN) character.

When an attribute value is empty, the = character after the attribute name must be specified as:

<foo bar>

Instead, quotation marks can be used to explicitly represent that the attribute value is empty, as:

<foo bar="">

... or like:

<foo bar=''>

Character reference to {text} is not allowed.

Polytheistic slash (/>) cannot be used for this element.

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

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

<script/>

The polytheistic slash cannot be used for script element. Even for an empty script element, there must be an explicit end tag </script>.

NOTE: Though some user agents interpret polytheistic slash for script element as the closing of the element, such usage is not allowed under the current standard.

<basefont/>, <bgsound/>, <frame/>, <keygen/>, <spacer/>, <wbr/>
These elements are themselves non-conforming.
<command/>, <event-source/>, <nest/>, or <source/>
Future revision of HTML5 parsing algorithm is expected to allow polytheistic slash for these elements.
<a/>, <p/>
These elements are not always empty and therefore polytheistic slash is not allowed. Use explicit end tag to represent empty element as:
<p></p>

Note that, unlike in XML, the polytheistic slash has no effect in HTML.

After the string <!DOCTYPE , the document type name must be specified.

After the keyword PUBLIC, no oublic identifier is specified.

Character reference must be closed by a ; character.

After the string <!DOCTYPE, there must be at least a white space character before the document type name.

Attributes must be separeted by at least a white space character.

After the keyword SYSTEM, no system identifier is specified.

Processing instruction (<?...>) is not allowed in HTML document.

Processing instructions (<?...?>), including XML declaration (<?xml ...?>) and XML style sheet PI (<?xml-stylesheet ...?>), are not allowed in the HTML syntax. The document is non-conforming.

<?xbl?> (XBL Association)
An XBL binding cannot be associated by PI in HTML document. Use binding property in CSS style sheet as:
<style>
p {
  binding: url(binding.xbl);
}
</style>
<?xml?> (XML declaration)
XML declaration is unnecessary for HTML documents.
<?xml-stylesheet?> (XML style sheet PI)
Use HTML link element with rel attribute set to stylesheet (or, alternate stylesheet for an alternate style sheet).
<link rel=stylesheet href="path/to/stylesheet.css">
<?php?> or <? ... PHP code ... ?> (PHP code)
The conformance checker does not support checking for PHP source documents.
Other processing instructions
Processing instructions cannot be inserted in an HTML document. Use XML document or insert ProcessingInstruction node by scripting.

Web browsers will parse processing instructions as bogus comments. Some legacy Web browsers, such as IE:mac and some mobile Web browsers, will display processing instructions as string.

There is a bogus string after the document type name.

There is a bogus string after the keyword PUBLIC.

There is a bogus string after the public identifier.

There is a bogus string after the keyword SYSTEM.

There is a bogus string after the system identifier.

Attribute value is not closed by a quotation mark.

Comment is not closed by a string -->.

The DOCTYPE is not closed by a > character.

The public identifier literal is not closed by a quotation mark.

The system identifier literal is not closed by a quotation mark.

Tag is not closed by a > character.

HTML5 Parse Errors in Tree Construction Stage

There is a start tag <{text}> is after the html element is closed.

There is an end tag </{text}> is after the html element is closed.

Start tag <{text}> is not allowed after the body is closed.

End tag </{text}> is not allowed after the body is closed.

Non‐white‐space characters are not allowed after the body is closed.

Start tag <{text}> is not allowed after the frameset is closed.

End tag </{text}> is not allowed after the frameset is closed.

Non‐white‐space characters are not allowed after the frame is closed.

The {text} 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.

Start tag <{text}> is not allowed after the html is closed.

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

Any content of the document other than head contents and comments must be put into the body element.

End tag </{text}> is not allowed after the html is closed.

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

Any content of the document other than head contents and comments must be put into the body element.

Non‐white‐space characters are not allowed after the html is closed.

The image element is obsolete.

Anchor cannot be nested.

HTML a elements cannot be nested. The document is non-conforming.

In the HTML syntax, a start tag of the a implies the end tag of any opening a element.

Start tag <{text}> is not allowed in the body element.

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.

Some element is not closed before the end of file.

The button element cannot be nested.

Element is not closed before the end of file.

Start tag <form> is not allowed in a form element.

Start tag <{text}> is not allowed in a framset element.

End tag </{text}> is not allowed in a frameset element.

Non‐white‐space characters are not allowed in a frameset element.

Start tag <head> is not allowed in the head element.

There is a start tag <head> in the <head> element. The document is non-conforming.

In an HTML document there must not be more than one head element, therefore no more than one start tag <head> can appear in the input stream.

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.

The nobr element cannot be nested.

The {text} element is not allowed in a noscript element in the head element.

An end tag </{text}> appers before the noscript element is closed.

A noscript element is not closed before the end of file.

Non‐white‐space characters are not allowed in a noscript element in the head element.

Element is not closed before the end of file.

Start tag <{text}> is not allowed in a select element.

End tag </{text}> is not allowed in a select element.

Start tag <{text}> is not allowed in a table element.

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.

End tag </{text}> is not allowed in a table element.

Non‐white‐space character is not allowed within the table element, outside of the caption and cells.

A non‐white‐space 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.

The isindex element is obsolete.

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 a 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. XML declaration is not allowed in HTML document.

Element {text} 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.

Only body, colgroup, dd, dt, head, html, li, ol, option, optgroup, p, rb, rp, rt, tbody, td, tfoot, th, thead, tr, ul end tag can be omitted in HTML documents. For any element except for void element, there must be an explicit end tag.

HTML canvas element
Though the element is void in earlier versions of Safari, the canvas element is no longer defined as empty. There must be an end tag </canvas>.

Note that misnesting tags, such as <a><b></a></b>, are not allowed and they also cause this error.

This <html> tag is not the first start tag.

There is a start tag of the html element that it not the first start tag in the input stream. The document is non-conforming.

In an HTML document, there cannot be more than one html element and therefore there cannot be more than one <html> tag. In addition, nothing can be placed before the <html> tag except a DOCTYPE, white space characters, and comments.

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.

Start tag <{text}> is not allowed here.

Element {text} 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.

HTML base, basefont, bgsound, br, col, embed, frame, hr, image, img, input, isindex, link, meta, param, spacer, or wbr element
End tag is not allowed for these elements, since those content must always be empty. Remove end tag.

The DOCTYPE legacy string is used.

The DOCTYPE with the DOCTYPE legacy string, i.e. <!DOCTYPE HTML PUBLIC "XSLT-compat"> is used.

The DOCTYPE legacy string should not be used for documents not generated from XSLT transformation process. It is allowed only to enable to use XSLT style sheets with the HTML output mode, which does not support generation of the DOCTYPE with no PUBLIC identifier. For other purposes, the DOCTYPE legacy string, i.e. PUBLIC "XSLT-compat", is useless and should not be used.

Element Content Model Errors

The base element with the href attribute specified cannot be placed after any attribute with a URL.

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:

Non‐white‐space characters are not allowed in an empty element.

Non‐white‐space characters are not allowed in Person construct.

Non‐white‐space characters are not allowed in Text construct.

There must be an element {text} 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.

HTML head element
There must be a title child element.
HTML html element
There must be a head child element followed by a body element.
HTML tr element
There must be one or more td or th child element.

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.

There must be an element {text} in the Atom namespace as a child of this element.

There must be an Atom link element whose rel attribute is set to alternate as a child of this element.

There should be an Atom link element whose rel attribute is set to self as a child of this element.

There must be at least one hn element descendant.

This element is not allowed in this context.

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

Possible causes:

If the element with the error is an inline-level element, such as a, progress, or img

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 it is a block-level elements, such as aside, div, hn, p, or section
If the parent element is div, li, td, or th

The parent element allows either block-level or inline-level content. If there is a block-level content, any inline-level content must be put in e.g. paragraph element such as p.

For example, an HTML document fragment <div><p>Hello!</p> World!</div> is non-conforming, since a word World! does not belong to any paragraph. (If not part of any paragraph, what is it!?) A conforming example would be:

<div><p>Hello!</p> <p>World!</p></div>

If the parent element does not allow block-level elements as content
The element is not allowed to be inserted here. For example, a div element cannot be a child of an h1 element.
If the element with the error is a noscript element
The noscript element is allowed only in the context where a block-level or inline-level content is expected and in the head element. It cannot be used in e.g. ul, table, or select.
If the element with the error is blink, center, or marquee element
These elements are not part of the HTML standard. Use CSS for styling control.
button, datalist, fieldset, form, input, label, optgroup, option, output, rb, rp, rt, ruby, textarea, or textarea element
These elements are intentionally not supported by the conformance checker yet.

An area element cannot be used outside of a map element.

There is another base element.

In a datatemplate element, only rule elements are allowed.

In a details or fieldset element, only at the beginning of the element a legend element may be used.

Elements are not allowed in an empty element.

In a figure element, only at the beginning or only at the end of the element a lengend element may be used.

This element is not allowed where flow content is expected.

A style element without scoped attribute is not allowed in this context.

This element is not allowed in a noscript element in the head element.

A style element with scoped attribute is not allowed in the head element.

There is another title element.

This element is not allowed in this context.

The character encoding declaration is not the first child element in the head element.

The character encoding declaration (<meta charset="..."> or <meta http-equiv=Content-Type content="text/html; charset=..."> must be the first child element in the head element.

The character encoding declaration have to occur near the beginning of the document to ensure that Web browsers can be determine the character encoding of the document.

The title element and other metadata elements must appear after any character encoding declaration is processed.

This element is not allowed where metadata content is expected.

This element is not allowed where phrasing content is expected.

This element is not allowed as the root element of a document.

An element that is not allowed as the root element is used as the root element of the document. The document is non-conforming, as far as the conformance checker can tell.

html element in an XHTML document

In XHTML document, the root html element must have an xmlns attribute as:

<html xmlns="http://www.w3.org/1999/xhtml">

rss element

The document is written in some version of RSS.

The conformance checker does not support any version of RSS. Use Atom 1.0 for feed documents.

feed element

The Atom feed element must be in the http://www.w3.org/2005/Atom namespace as:

<feed xmlns="http://www.w3.org/2005/Atom">

The conformance checker does not support Atom 0.3. Use Atom 1.0 for feed documents.

This element is not allowed as the root element of an XML document.

This element is not allowed in the ruby element.

This element is not allowed in this context.

This element is not allowed in an Atom content element.

This element is not allowed in Person construct.

This element is not allowed in Text construct.

This element is not defined.

The element is not one of elements allowed in the latest version of relevant specifications.

The element cannot be used.

event-source element
The element was renamed as eventsource element (no hyphen).
m element
The element was renamed as mark element.

More than one labelable form-associated element is associated to a label element.

No significant content is contained in this element.

There is no significant content before this element.

No significant content is contained at the end of this element.

There is no {text} element before this element.

There must be an element before another element, but there is not. The document is non-conforming.

For example, there must be a dt element before any dd element.

The content of a rp element must be a parenthesis.

Attribute Errors

Required attribute {text} is not specified.

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

Some attribute is defined as required. Without required attributes specified, user agents cannot provide full functionality of the element to the user.

HTML img element
The src attribute must be specified. Additionally, the alt attribute must be specified in many cases.
HTML link element
The rel attribute must be specified. Note that the rev attribute is obsolete.

For an object at least one of data and type attributes must be specified.

For a base element, at least one of href and target attributes must be specified.

For a meta element with the content attribute specified, exactly one of name and http-equiv attributes must be specified.

For a meta element, exactly one of name, http-equiv, and charset attributes must be specified.

Attribute {local-name} is not allowed for {element-local-name} element.

An attribute is specified where it is not allowed. The document is non-conforming.

HTML meta element
For HTML meta element, only one of name, http-equiv, or charset attribute is allowed.

The ismap attribute may only be used for the image contained in an a element.

This attribute is not defined.

The attribute is not one of attributes allowed for the element in the latest version of relevant specifications.

The attribute cannot be used.

align attribute (various HTML elements)
border attribute (various HTML elements)
These attributes are no longer part of HTML. You can use CSS properties to control the presentation of the element.
autosubmit attribute (menu element)
The attribute was part of HTML5 draft but then dropped. Similar functionality can be implemented by scripts.
language attribute (script element)
The attribute is no longer the standard way to specify the scripting language. If you are using JavaScript, then no explicit specification of the scripting language is necessary, so you can write the element like:

<script>
/* JavaScript code */
</script>

If you are using different scripting language from JavaScript, or you want to declare the scripting language explicitly, you should use the type attribute, as follows:
JavaScript
Use <script type="text/javascript">.
VBScript
Use <script type="text/vbscript">.

The value attribute cannot be specified to an input element whose type is hidden and name is _charset_.

The xml:lang attribute in HTML document is ignored.

The xml:lang attribute does not have an effect in HTML document.

The xml:lang attribute is only applicable to XML documents. In HTML document, it is only allowed to ease migration from XML.

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

XHTML 1.0 Appendix C was encouraged to specify both lang and xml:lang attributes with the same value. Such a duplication has no effect in practice. Use only one of lang (in HTML) or xml:lang (in XML).

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"?>

A noscript element cannot be used in XML document.

The xml:lang attribute in no namespace is only allowed in HTML document.

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 of static documents.

This attribute is not applied to an input element whose type is {text}.

The value attribute cannot be specified to a li element whose parent element is not an ol element.

The xml:lang attribute is only allowed when the lang attribute is specified.

Attribute Value Errors

Attribute value {@} is not allowed. It must be an empty string or a string {local-name}.

The attribute value must be exactly one character.

A character reference cannot be used to represent a character encoding name.

Characeter encoding {value} is not ASCII compatible.

Character encoding name {value} is not the preferred name of that character encoding.

Character encoding name {value} is not a registered name.

The specified character encoding name is not registered to IANA. Use of registered character encoding name is a good practice to facilitate interoperability.

EUC-TW
EUC-TW is not registered. Unfortunately, there is no registered name for that character encoding. Use Big5 encoding with character encoding name Big5 if it is enough to represent the document.
ISO-2022-JP-1
ISO-2022-JP-1 is not registered, nevertheless this character encoding name is documented in RFC 2237. Use ISO-2022-JP-2 instead, since that character encoding is a superset of ISO-2022-JP-1.
ISO-2022-JP-3, ISO-2022-JP-3-plane1
These names are not registered and obsoleted in favor of ISO-2022-JP-2004 and ISO-2022-JP-2004-plane1.
ISO-2022-JP-2003, ISO-2022-JP-2003-plane1
These names are not registered and corrected to ISO-2022-JP-2004 and ISO-2022-JP-2004-plane1.
ISO-2022-JP-2004, ISO-2022-JP-2004-plane1
These names are not registered. Unfortunately, there is no registered name for these character encodings.
UTF-8N
UTF-8N is not registered. Character encoding name UTF-8 represents UTF-8 encoding with or without BOM.

WARNING: This error might be raised for a registered character encoding name, since the character encoding name database of the conformance checker is not complete yet.

Character encoding name {value} is a private name.

The specified character encoding name is a private name and not registered to IANA. Use of registered character encoding name is a good practice to facilitate interoperability.

x-euc-jp
Use EUC-JP for the Japanese EUC character encoding.
x-sjis
Use Shift_JIS for standard Shift encoding scheme of JIS coded character set, or Windows-31J for Microsoft standard character set as implemented by Microsoft Windows.

The specified value {value} is syntactically not a character encoding name.

The attribute value must be a character encoding name. However, the specified value is not a character encoding name syntactically. The document is non‐conforming.

Character encoding name is a string of ASCII printable characters, up to 40 characters.

The specified value is not a color name or hexadecimal color number.

The coords attribute have to contain three (3) numbers (specified: {text}).

The coords attribute have to contain four (4) numbers (specified: {text}).

The coords attribute have to contain more than or equal to six (6) numbers (specified: {text}).

The coords attribute have to contain even number of numbers (specified: {text}).

The specified value {value} is out of range.

The specified value is not valid.

Year number is out of range.

Month number is out of range.

Day number is out of range.

Hour number is out of range.

Minute number is out of range.

Second number is out of range.

Hour number of the timezone component is out of range.

Minute number of the timezone component is out of range.

The value is not a datetime.

The value is not a date or time.

Form name is empty.

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

For this attribute only several values are allowed and the value of the attribute is not one of them. The document is non-conforming.

HTML meta element, http-equiv attribute

Only values Default-Style and Refresh are allowed.

Value Content-Type is obsolete; for charset declaration, the charset attribute can be used as:

<meta charset="charset-name">
... where charset-name is a name of the character encoding of the document, such as utf-8.

Values Content-Style-Type and Content-Script-Type are currently not allowed.

Value Keywords is not allowed. Use name attribute instead of http-equiv attribute.

Values Expires, Pragma, and Cache-Control are not allowed; use real HTTP header fields for cache control.

Character encoding declaration syntax <meta http-equiv="Content-Type" content="text/html; charset=charset-name"> is obsolete.

Old long character encoding declaration syntax <meta http-equiv="Content-Type" content="text/html; charset=charset-name"> is in use. The document is non‐conforming.

The new character encoding declaration syntax is:

<meta charset="charset-name">

Attribute value {@} is not allowed.

Form name {value} is already used for another element.

There is another pragma {value}.

This identifier has already been assigned to another element.

The token {value} appears in the attribute value twice.

The alt attribute value is empty.

The alt attribute value is empty.

The value of the alt attribute of an area element is an empty value.

In general, the alt attribute value cannot be empty. It must provide an alternative text for the hyperlink represented by the area element. The alternative text is to be used when the Web browser cannot display the image, or is configured not to display images.

As an exception, the alt attribute may be left blank if the same image map (i.e. the ancestor map element) contains another area element whose href attribute references the same resource as the href attribute of the area element in question, and the other area element has an alt attribute with non‐empty value.

The attribute value is empty.

The value of the title attribute is empty.

The title attribute value of the link element that defines an alternate style sheet is an empty value.

A link element whose rel attribute is alternate stylesheet defines an alternate style sheet. An alternate style sheet must be associated with a name using the title attribute. The name cannot be empty.

The specified value is out of range.

The attribute value is not a real number.

A fragment identifier references the element itself.

A fragment identifier references no node.

A hash−name reference must start with a # character.

The id attribute value is different from the name attribute value.

The attribute value is not an integer.

Attribute value {@} is not an allowed value.

The attribute value is not a length value.

The specified value is not a valid as a long character encoding declaration.

The specified character encoding name {value} is different from the actual document character encoding {text}.

The specified character encoding name is different from the character encoding of the document. The document is non‐conforming.

Whether the specified character encoding name {value} matches to the actual character encoding name cannot be checked since the input is not a byte stream.

The attribute value is not a valid mode name.

The specified value is out of range.

The attribute value is not a non‐negative integer.

The element referneced by the form attribute is not a form element, or no element is found.

The element referneced by the usemap attribute is not a map element, or no element is found.

The element referneced by the contextmenu attribute is not a menu element, or no element is found.

There is no table header cell whose id is {value} in the same table.

the specified value is not a valid as part of a Refresh pragma.

The attribute value is not an integer or a string template.

Browsing context name {@} is reserved.

The specified browsing context name is reserved. The document is non-conforming.

Names of browsing contexts starting with _ (U+005F LOW LINE) are reserved so that it must not be used.

Old version of HTML, non-HTML markup languages, and Web browsers define or implements special reserved browsing context names _blank, _main, and _replace. However, they are not conforming attribute values.

Namespace name {text} is reserved and cannot be used for an arbitrary prefix.

Namespace prefix {text} is reserved and cannot be used for an arbitrary namespace name.

The specified value {value} is not a valid value.

White space characters are not allowed in the id attribute.

The node referenced by the template attribute is not a template.

The value attribute value is longer than the value of the maxlength attribute.

Browsing context name must not be empty.

Browsing context name {value} is reserved.

The word {value} is not allowed in this attribute.

The specified value is not a legal XML Namespaces 1.0 NCName.

The value of the xml:lang attribute is different from the value of the lang attribute.

The value of the xml:lang attribute (either the lang attribute in the xml (i.e. http://www.w3.org/XML/1998/namespace) namespace, or the xml:lang attribute in no namespace) for the element has different value than that of the lang attribute in no namespace.

For historical reason, there are two attributes applicable to HTML elements to specify language information of an element: lang and xml:lang. In HTML documents, only lang attribute in no namespace is allowed and take effect; the xml:lang attribute in no namespace is ignored in HTML documents. In XHTML documents, both lang and xml:lang attributes are allowed.

In general, only the lang attribute need to be specified for an element.

If both lang and xml:lang attributes are specified on the same element, their values must be the same value.

Table Model Errors

Cell slot ({text}) is filled by multiple cells.

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

This column has no anchored cell.

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

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

The rowspan attribute value of the cell is so specified that it extends a table in the row axis. However, the extended row does not contain any cell by itself. The document is non-conforming.

For example, the table below is non-conforming:

<table>
<tbody>
<tr><td rowspan=2></td></tr>
</tbody>
</table>
... since the second row contains only a cell that spans between first and second rows.

This row has no anchored cell.

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

Internet Media Type Errors

The specified value is not a valid value as a multipart boundary.

The specified value is not a valid value for the attribute e4x.

The specified value, {value}, is syntactically not a valid attribute name.

The specified media type is a composite type, which is not allowed in this context.

An Internet Media Type whose intended usage is limited use, {value} is used.

The specified value is not an Internet Media Type.

An obsolete parameter {value} is used.

An obsolete Internet Media Type {value} is used.

The specified Internet Media Type is registered with its intended usage as OBSOLETE.

Media type text/ecmascript
Media type text/ecmascript is obsoleted in favor of application/ecmascript. Note that text/javascript would be the better alternative in many cases.
Media type text/javascript
Media type text/javascript is obsoleted by IETF with backward incompatible alternate application/javascript for architectural purity. Those who prefer reality to academic purity may ignore this warning.

Parameter {text} have to be specified for the Internet Media Type {value}.

Parameter {value} is not allowed for this Internet Media Type.

Use of a private Internet Media Type {value} is not encouraged.

Use of a private type {value} is not encouraged.

Value {value} is syntactically not a valid subtype value of an Internet Media Type.

Value {value} is syntactically not a valid type.

An unknown parameter {value} is used. The conformance checker cannot determine whether use of this parameter is valid or not.

An unknown Internet Media Type {value} is used. At the time of the update of the conformance checker's Internet Media Type database, the subtype is not reigstered to the IANA registry. The subtype, however, might be registerd to the IANA registry thereafter. Please consult the IANA registry.

Use of an Internet Media Type {value} is not encouraged since it is not part of the IANA registry.

Use of a type {value} is not encouraged since it is not a standardized type.

A value that is not an Internet Media Type is not allowed here.

URL Errors

The specified value is syntactically not an IRI.

The specified value is syntactically not an IRI reference.

The specified value does not satisfy the syntactical requirements for IRI references. The document is non-conforming.

Possible causes:

The specified value is syntactically not an RDF URI reference.

The specified value is syntactically not a URI according to RFC 2396.

The specified value is syntactically not a URI.

URL host address format {text} is not defined.

Default port number should be omitted.

A dot-segment (. or ..) occurs 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.

The host component of the URL is empty.

The URL does not end with a / character.

The port component of the URL is empty.

The fragment component of the URL is not allowed.

The host component of the URL is too long.

A lowercase hexadecimal digit is used in percent-encoding.

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

The host component of the URL is not a DNS host name.

The host component of the URL is not encoded in UTF-8.

Password should not be included in a URL for the security.

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.

The host {value} should be spelt in lowercase.

URL scheme name is in uppercase.

The scheme part of the IRI is written in uppercase letter.

Uppercase scheme names are not required to be processed correctly.

Media Query Errors

The specified value has a syntax error as a media query.

Media type {value} is not supported by the conformance checker.

Selectors Errors

Argument list of the pseudo-class is not closed by a ) character.

Numbers in the argument an+b have to be integers.

Argument an+b is syntactically incorrect.

Attribute selector is not closed by a ] character.

Argument list of the :lang selector is not closed by a ) character.

Namespace prefix {value} is not declared.

Attribute local name is missing.

Attribute matching operator (e.g. =) is missing.

Attribute name is missing.

Attribute namespace wildcard * is not followed by a | character.

Attribute value is missing.

Class name is missing.

Combinator is missing.

No string is specified in the argument list of the :-manakai-contains pseudo-class selector.

Language tag argument is missing.

Local name part of the type selector (or * for the universal selector) is missing.

Pseudo-class name is missing.

Pseudo-element name is missing.

Sequence of simple selectors is expected.

Argument list of the :not selector is not closed by a ) character.

Simple selector is not allowed after a pseudo element.

Pseudo-class :{value} is not supported by the conformance checker.

Pseudo-element ::{value} is not supported by the conformance checker.

CSS Errors

An @{text} rule is not allowed here.

The @{text} rule is syntactically incorrect.

Block is not closed before the end of file.

Component <{text}> is already specified.

Value hand is not valid as <'cursor'>.

Specified value is syntactically not a correct <{text}>.

No declaration block is found after a group of selectors.

A : character is missing after a property name.

Property name is expected.

A ; character is missing at the end of the property.

Priority part of the declaration is syntactically incorrect.

The @{value} rule is not supported by the conformance checker.

Property {value} is not supported by the conformance checker.

Cache Manifest Errors

This URL is found both in the explicit or fallback entries and in the online whitelist.

The specified URL has different origin from the manifest.

The scheme component of the URL is different from that of the manifest URL. The URL is ignored.

This oppotunistic caching namespace is already specified.

Fallback entry URL is missing.

This document is not a cache manifest.

The specified document is not a cache manifest. The document is non-conforming.

An entity labeled as Internet media type text/cache-manifest must contain a cache manifest.

A cache manifest must start with a line whose content is CACHE MANIFEST (exactly one space character between CACHE and MANIFEST).

This URL is same as the manifest URL.

Regular Expression Errors

Quantifier unexpected on zero-length expression.

Sequence (?{text}...) is not implemented by Perl.

Sequence (?#... is not terminated by ).

(?p{...}) is obsolete.

(?p{}) is obsolete. It was deprecated in Perl 5.8 and is no longer supported in Perl 5.10.

You can use (??{...}) instead.

Sequence (?{...}) is not terminated or {...} is not balanced.

Switch condition is not recognized.

Switch (?(condition)...|...|...) contains too many branches.

An unknown switch condition (?({text} is used.

Sequence (?... is incomplete.

Modifier (?{text}) in a regular expression has no effect.

An unknown sequence (?{text}...) is used.

A (... sequence is not terminated by ).

An unmatched ) is found.

Quantifier {n,m} cannot be n > m.

{text} matches the empty string too many times.

Quantifiers cannot be nested.

A character class [... is not terminated by ].

Quantifier follows nothing.

A \{text} sequence is not followed by {...}.

A \{text}{... is not terminated by }.

A nonexistent group is referenced.

A \ character is not followed by another character,

An unknown escape \{text} is used.

An unknown escape \{text} is used in a character class.

An unknown POSIX character class [:{text}:] is used.

A POSIX syntax [{text}...{text}] is used outside of character classes.

An escape \{text}{} is empty.

An escape that represents a character class cannot be used in range {text}.

Character range {text} is invalid.

Octal escape is used.

WebIDL Errors

An argument name is not followed by a , character or a ) character.

An exception name is not followed by a , character or a ) character.

キーワード unsigned の後の字句が shortlong ではありません。

An extended attribute is not followed by a , character or a ] character.

An argument is specified after an argument with Variadic extended attribute is seen.

Extended attribute {text} is specified for an attribute that is not read-only.

Extended attribute {text} is specified for an attribute whose type is not an interface.

An unknown construct is found where an exception member or a } character is expected.

An unknown construct is found where an interface member or a } character is expected.

An identifier for the {text} is not followed by a { character.

An unknown construct is found after an extended attribute list (where a Definition is expected).

An unknown construct is found where a Definition (optionally preceded by an extended attribute list) is expected.

The type for {text} is not specified.

The type for an argument is not specified.

The type for an exception member is not specified.

No extended attribute is specified after a [ character.

No identifier is specified in an extended attribute assignment.

The specified value {value} is outside of the range of the type for the constant, {text}.

The type of the value, {value}, is different from the type of the constant, {text}.

Extended attribute {text} is already specified for another operation in the same interface.

Constructor name {value} specified by extended attribute {text} is already used for an interface.

Name {text} is already used.

Qualified name {text} is already used.

Extended attribute {text} is already specified.

Exception {text} is not defined in the fragment.

Interface {text} is not defined in the fragment.

No in keyword for an argument is found.

No ( character for an argument list is found.

A raises (or getraises or setraises) keyword is not followed by a ( character.

A sequence<> type is not terminated by a > character.

Keyword sequence is not followed by a < character.

No type is specified in sequence<>.

No identifier is specified for the {text}.

No identifier is specified for the argument.

No identifier is specified for the exception member.

No identifier is specified for the operation.

No semicolon is found at the end of the definition or member.

This definition is not part of any module.

Type {text} cannot be used in valuetype.

The WebIDL fragment ends before all the blocks are closed by }; sequences.

Attribute {value} is not defined in the interface specified for the attribute to which extended attribute {text} is set.

A scoped name is expected here.

A :: token is not followed by an identifier or a DOMString keyword.

Type {text} is not defined.

typedef of name DOMString is ignored.

An unknown extended attribute {text} is used.

The valuetype definition does not define DOMString as sequence<unsigned short>.

valuetype of name DOMString is ignored.

The operation cannot be used as accessor operation of {text}, since its signature different from the expected one.

Use of an argument list for extended attribute {text} is not allowed.

Extended attribute {text} is not applicable for an attribute whose type is not DOMString.

The identifier for extended attribute {text} is not specified.

Use of an identifier for extended attribute {text} is not allowed.

The identifier {value} is not an allowed value for extended attribute {text}.

Extended attribute {text} is not applicable to this kind of object.

Stability Information

This attribute is deprecated.

This element is deprecated.

This element is in the call for implementation stage.

The element is in the call for implementation stage.

Usually, using the element is safe. However, it is a new feature so that it might not be implemented correctly. If it is found that the feature is hard or impossible to implement, the feature might be revised, or in some case it might be dropped.

Elements defined by Atom 1.0 (IETF Proposed Standard), and XBL 2.0 (W3C Candidate Recommendation) belong to this class.

This element is in the last call for comments stage.

The element is in the last call for comments stage.

The element is relatively mature, though the standardization is not done yet. It may be used for experiments. Since it is a new feature, it might not be implemented correctly or at all. If it is found that the feature is hard or impossible to implement, the feature might be revised or might be dropped.

Elements defined by Web Forms 2.0 as well as some elements defined by HTML5 belong to this class.

This element is documented in a working draft.

The element is documented in a working or editor's draft and not yet completed.

The element should not be used for any practical purpose. The feature might be drastically changed later or might be entirely removed.

Most of new elements defined by HTML5 belong to this class.

This element is not part of any standard the conformance checker knows.

The element is not part of any standard or draft the conformance checker is aware of.

The element should not be used for any practical purpose unless there is really a standard that defines the element.

This attribute is in the call for implementation stage.

The attribute is in the call for implementation stage.

Usually, using the attribute is safe. However, it is a new feature so that it might not be implemented correctly. If it is found that the feature is hard or impossible to implement, the feature might be revised, or in some case it might be dropped.

This attribute is in the last call for comments stage.

The attribute is in the last call for comments stage.

The attribute is relatively mature, though the standardization is not done yet. It may be used for experiments. Since it is a new feature, it might not be implemented correctly or at all. If it is found that the feature is hard or impossible to implement, the feature might be revised or might be dropped.

This attribute is documented in a working draft.

The attribute is documented in a working or editor's draft and not yet completed.

The attribute should not be used for any practical purpose. The feature might be drastically changed later or might be entirely removed.

This attribute is not part of any standard the conformance checker knows.

The attribute is not part of any standard or draft the conformance checker is aware of.

The attribute should not be used for any practical purpose unless there is really a standard that defines the attribute.

Language Tag Errors

There is another extension subtag {value}.

Extension subtag {value} is placed after subtag {text}.

Extension {value} is not defined when the conformance checker is written.

Extended language subtag {value} is not in the preferred form, i.e. in lowercase.

Use of extended language subtag {value} is deprecated.

Extended language subtag {text} is not allowed in the combination with this language (and extended language) subtag(s).

Extended language subtag {text} is not registered.

Language tag {value} is not in the preferred case combination.

Use of language tag {value} is deprecated.

Language tag {value} is not a combination of RFC 4646 subtags and is not a registered grandfathered tag.

Subtag {value} is syntactically invalid.

It is a good practice to represent ISO 639-1 language code {value} in lowercase.

Use of language subtag {value} is deprecated.

Language subtag {value} is not registered.

Langauge tag mul should not be used.

No semantics is defined for language subtag {value}.

Language subtag {value} is a private use code.

The language subtag {value} is syntactically invalid.

Langauge tag und should not be used.

It would be better if a private use language tag ({value}) is not used.

Private use subtag {value} is used.

Subtag {value} is not represented in the preferred case format.

Private use subtag {value} is syntactically invalid.

Language tag {value} is not in the preferred case combination.

Use of language tag {value} is deprecated.

It is a good practice to represent ISO 3166 country code {value} in uppercase.

Use of region subtag {value} is deprecated.

No semantics is defined for region subtag {value}.

Region subtag {value} is not registered.

Use of private use country code {value} is not allowed.

Script subtag {value} is not in the preferred form, i.e. titlecase.

Use of script subtag {value} is deprecated.

Script subtag {value} is not registered.

Script subtag {value} is a private use code.

Script subtag {value} should be suppressed when the language subtag is {text}.

Variant subtag {value} is not in the preferred form, i.e. lowercase.

Variant subtag {text} might not be meaningful when it is used in combination with {value}.

Use of variant subtag {value} is deprecated.

Variant subtag {value} is specified twice.

Variant subtag {value} is not registered.

Variant subtag {value} cannot be used in this context.

RDF/XML Errors

The namespace URI of an element that represents an RDF concept must be http://www.w3.org/1999/02/22-rdf-syntax-ns#.

The specified value is already used as an ID.

Both unqualified attribute and namespace‐qualified RDF attribute are specified, which is not allowed.

An invalid value is specified to the parseType attribute.

There is another element, such that this element is not allowed.

Unqualified attribute is not allowed.

RDF attribute should be namespace‐qualified.

Unsupported Messages

Conformance checking for element {local-name} is not supported; 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 attribute {local-name} of element {element-local-name} is not supported; 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.

Conformance checking for event handler attribute 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 an addr-spec is not supported; it might or might not be conforming.

Conformance checking for script language {text} is not supported; it might or might not be conforming.

Conformance checking for style language {text} is not supported; it might or might not be conforming.

Conformance checking for an Atom content element with type {text} is not supported.

No more information is available.

No more information is available for this topic.

MUST‐level error

A violation to a hard requirement of the specification. The document is non‐conforming.

SHOULD‐level error

A violation to a requirement of the specification. The violation might be legitimize in some case. Otherwise, the document is non‐conforming.

Warning

A warning is an advice from the conformance checker to avoid solving a problem in a confusing or possibly wrong way. It does not affect to the conformance of the document, and may sometimes be inappropriate.

Information

An informational message just provides an additional information on the feature used in the document or the status of the retrieval or so on. It does not affect to the conformance of the document.

Not supported

Some feature that is not supported by the conformance checker is used in the document.

License of This Document

Copyright <w@suika.fam.cx>.

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