4.1.1: Parsing

From WCAG WG

WCAG2ICT submits the following for approval.

(NOTE: this is also the new format we are proposing for those SC where we are proposing substitution of words - so readers can see what the provisions would read like. Comments on this are welcome as well since we intend to be reformatting the provisions this way on next draft. )


FOR REFERENCE:

Success Criterion 4.1.1: Parsing (Level A)

In content implemented using markup languages, 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.

Note: Start and end tags that are missing a critical character in their formation, such as a closing angle bracket or a mismatched attribute value quotation mark are not complete.

Additional guidance when applying to Electronic Documents and Software Aspects of Products

This applies directly as written, and as described in the Intent from Understanding SC 4.1.1, replacing “In content implemented using markup languages” with “For software and non-embedded content that use markup languages, in such a way that the markup is separately exposed and available to assistive technology (AT) or to a user-selectable user agent".

This would make it:

4.1.1 Parsing: For software and non-embedded content that use markup languages, in such a way that the markup is separately exposed and available to assistive technology (AT) or to a user-selectable user agent, 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. (Level A)

Note: Start and end tags that are missing a critical character in their formation, such as a closing angle bracket or a mismatched attribute value quotation mark are not complete.

Note: Markup is not always available to AT or to user selectable user agents such as browsers. Software sometimes uses markup languages internally for persistence of the software user interface, in ways where it is never available to AT (either directly or through a document object model (DOM)), or to a user agent (such as a browser). In such cases, conformance to this provision would have no impact on accessibility as it can for Web Content where it is exposed.

Examples of markup that is separately exposed and available to AT and to user agents include: documents encoded in HTML, Open Document Format (ODF), and Open XML (OOXML). In these examples, the markup can be parsed entirely in two ways: (a) by AT which may directly open the document, (b) by AT using DOM APIs of user agents for these document formats.

Examples of markup used internally for persistence of the software user interface that are never exposed to AT include: XUL, GladeXML, and FXML. In these examples AT only interacts with the user interface of generated software.