DRAFT - Checkpoints for HTML, XML, SMIL, CSS, SVG, and XHTML

I only considered two checkpoints in an attempt to create technology specific checkpoints. It is interesting that in each of these cases, the technology-specifics are highlighted. I think what we will find is that we will have general principles but that those are principles of design and not markup language. Each markup language has a strength and not all design principles will apply to each of those strengths. For example, separating presentation and content means that two languages may be employed for the desired effect. Therefore, if we do have technology-specific checks they will be tied to other technology-specific checks. For example, XML and style sheets.

Guideline 1. Provide equivalent alternatives to auditory and visual content.

Checkpoint 1.1 Provide a text equivalent for every non-text element.

HTML

XML

SMIL

CSS

SVG

XHTML

  1. "alt" is a required attribute of the img element. Authors are also encouraged to use the "longdesc" attribute to provide a rich description of the image when appropriate (i.e. when an understanding of the contents of the image is indispensable to an understanding of the document as a whole).
  2. While XHTML 1.0 provides an "alt" attribute for the applet element, since XHTML doesn't allow "empty" elements (that is, elements without terminating tags), authors are strongly encouraged to include rich equivalents for applets by using the applet element as a containing tag, as in the following example, which illustrates how one might provide an equivalent alternative for an applet that generates a "roll-over" graphic which lists the site's sponsor:
    <applet codebase="URI" width="%Legnth" height="%Legnth" ...>
    <dl> <dt>A list of our sponsors:</dt>
    <dd>Acme Novelty Corporation of America</dd>
    <dd>Acme Africa</dd>
    <dd>Acme Europa</dd>
    </dl> </applet>
  3. Use the XHTML modules for the object and map elements
  4. For frames:
  5. For inline sub-windows (the iframe element)

Guideline 3. Use markup and style sheets and do so properly

Checkpoint 3.1 - Use semantics and structure in accordance with the markup language being used

Note that this is the proposed generalized checkpoint as discussed DRAFT of Generalized WCAG Checkpoints.

HTML

XML

SMIL

CSS

SVG

XHTML

  1. All elements must have closing tags. "Empty" (non- container) elements, such as IMG or HR, inherited from HTML4, must either have an end tag (i.e. <br></br> or <hr></hr>) or the element declaration must end with /> (forward slash greater-than), as in the following examples
    <img src="dduck36.png" alt="Donald Duck, as he appeared in 1936." />
    <hr title="Section Separator" />
  2. All elements must nest properly. This means that if you declare an element, you must also close it--using either the end tag defined for the element or by using the /> (forward- slash greater-than) to terminate the "empty" element--before closing any parent elements.
  3. All HTML element and attribute names used in an XHTML document must be in lower case. This is particularly important, as XML is case-sensitive, meaning that <LI> (capitalized) and <li> (lowercase) are two different tags.
  4. Attribute values must always be enclosed in quotes.
  5. While it is possible to use both the "lang" and "xml:lang" attributes when specifying a natural language change, the value of the "xml:lang" attribute takes precedence. Authors are, therefore, encouraged to use both the "lang" and "xml:lang" attributes to ensure maximal backwards compatibility.
  6. Use the "id" attribute to identify fragment identifiers. (Note While HTML 4 defined the "name" attribute for the elements a, applet, form, frame, iframe, img, and map to ensure backwards compatibility, HTML 4 also introduced the "id" attribute. While both attributes are designed to be used as fragment identifiers in HTML, in XHTML 1.0, the name attribute of these elements is formally deprecated, and will be removed in subsequent versions of XHTML. The reason for this change is that in XML, URIs that end with fragment identifiers of the form "#foo" do not refer to elements with an attribute name="foo"; rather, they refer to elements with an attribute defined to be of type ID--that is, the id attribute in HTML 4.) XHTML documents, therefore, must use the "id" attribute when defining fragment identifiers, even on elements that historically have also had a "name" attribute. Since many existing HTML user agents don't support the use of ID-type attributes in this way, identical values should be supplied for both of these attributes to ensure maximum forward and backward compatibility--for example
    <a id="toc" name="toc">Table of Contents</a>
    Authors should also be aware that, since the set of legal values for attributes of type ID is much smaller than for those defined for "name" in HTML (which is defined as type CDATA in HTML but redefined as a new type, NMTOKEN, in XHTML), care must be taken when converting existing HTML documents into XHTML. The values of these attributes must be unique within the document, valid, and any references to these fragment identifiers (both internal and external) must be updated should the values be changed during conversion.
  7. Since XML parsers are permitted to silently remove the contents of comments, the historical practice of hiding scripts and style sheets within comments to make the documents backward compatible is highly unlikely to work as expected in XML-based implementations. For maximum backwards compatibility, use external style sheets, especially if your style sheet uses any of the following characters Likewise, authors are strongly encourage to use external scripts, and may find it necessary to do so if the script contains any of the following characters
  8. Respect XHTML's "element prohibitions}, as defined at <http//www.w3.org/TR/xhtml1/#prohibitions> and in Section 4.9 of the XHTML 1.0 Recommendation <http//www.w3.org/TR/xhtml1/#h-4.
  9. The following elements have prohibitions on which elements they can contain--this prohibition applies to all depths of nesting, i.e. it contains all the descendant elements.

References


$Date: 2000/11/08 08:27:07 $ Wendy Chisholm