htmlwcag

Do HTML errors count as WCAG errors?


I am trying to make a website WCAG compliant and read quite a lot about it but still one question remains:

If the document has HTML errors, would it be considered WCAG 2.0 AA compliant?

Following is the report generated by Total Validator. It has 2 diff sections. 1 for HTML errors and other for WCAG errors. Does it mean that if there are HTML errors and WCAG errors, the document would be WCAG compliant?

Screenshot of the report generated by Total Validator, showing a section titled "HTML Errors" and a section titled "WCAG 2.0 A Errors".

It is HTML 4, by the way.


Solution

  • HTML errors as such do not count as a violation of WCAG 2.0, though for various constructs, WCAG 2.0 may impose requirements that coincide with requirements in HTML specifications.

    If WCAG 2.0 required conformance to HTML specifications, it would have to cite normatively some specific version(s) of some specific HTML specification(s) (thereby causing harmful rigidity) or use loose language, making WCAG 2.0 itself a very moving target (its content would vary, as HTML specifications are changed).

    However, Guideline 4.1 (Compatible: Maximize compatibility with current and future user agents, including assistive technologies) requires that “elements have complete start and end tags, elements are nested according to their specifications, elements do not contain duplicate attributes, and any IDs are unique, except where the specifications allow these features”.

    In this sense, some syntactic rules need to be obeyed in order to conform to WCAG 2.0. The scope of this requirement is rather vague, since HTML rules vary by language version, and the wording is somewhat strange an arbitrary-looking. For example, it does not forbid undefined elements, undefined attributes, attribute values that violate (some) HTML specifications, or anything that might be classified as “semantically wrong”. It is far from evident whether e.g. <a href=...><h2>...</h2></a> would violate WCAG 2.0: it is invalid nesting according to HTML 4 but allowed in HTML5 CR.

    This differs from WCAG 1.0, which had a a general requirement about using W3C technologies and specifically avoiding deprecated HTML features. It is fair to assume that the change is intentional: WCAG 2.0 conformance criteria intentionally do not include conformance to some HTML specification(s)