WebHACC is a conformance checker (or validator) for Web documents, supporting latest Web standards including HTML5, Atom 1.0, CSS3.
{octets}
is not an allowed representation of the character
{char} — character reference
{char:hexref} should be used instead.{octets}.{octets}
is illegal.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.
{octets}.{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.
{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.
{text}).Use of UTF-8 as the character encoding of the document is encouraged, though the use of another character encoding is still conforming.
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.
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.
{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.
{text} (Sniffed because no explicit specification
for the character encoding of this document is found in the transfer
procotol headers).{text} because no explicit specification
for the character encoding of this document is found in the transfer
procotol headers.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.
{text} is not supported.{text} is same as the character encoding specified
in the character encoding declaration. This is not an
error.{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:
charset parameter in the Content-Type
field in the HTTP header, as:
Content-Type: text/html; charset="charset-name"<meta charset="charset-name">)
just after <head> start tag.UTF-8.NULL character
is not allowed.{text} is
not allowed.{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.
{text} is not
a Unicode character.{text}
is deprecated.{text}
is discouraged.{text}
is not the preferred representation of that character.{text}
should not be used in many cases.", ', and =."
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.
& character must
be escaped as &.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 &.
The & character must
be the first character of a reference:
&entity-name;
where entity-name is the name of the
character entity to be referenced.
&#d;
where d is the decimal representation of
the code position of the character to be referenced.
&#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:
&
</ 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:
</
< 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:
<
&#.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:
&#d;
where d is the decimal representation of
the code point of the character to be referenced.
&#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:
&#
&#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:
&#x
<! 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.
<!-- (<!
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.CDATA sectionsDOCTYPE
and comment declarations, are not allowed in HTML document.<!<! must be escaped as
<!.</ 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:
</
{text} is not allowed.U+000D (CARRIAGE RETURN)
is not allowed.-- 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.
{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.
<>) is not
allowed.</>) is not
allowed.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=''>
{text} is not allowed./>) 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/><command/>, <event-source/>,
<nest/>, or <source/><a/>, <p/>
<p></p>
Note that, unlike in XML, the polytheistic slash has no effect in HTML.
<!DOCTYPE , the
document type name must be specified.