User Agent Accessibility Guidelines 1.0

17 December 2002

3. Conformance

A user agent conforms to this document by satisfying the requirements identified by a conformance profile. This normative section explains:

  1. How to construct a conformance profile. A user agent is not required to satisfy every requirement in this document in order to conform.
  2. How to make a conformance claim (i.e., a statement about how a chosen user agent satisfies the requirements identified by a chosen conformance profile). See the section on target user agents in the introduction for information about which user agents are expected to conform.
  3. How to include UAAG 1.0 requirements in another specification.

The UAWG expects conformance this document to be a strong indicator of accessibility, but it may be neither a necessary nor a sufficient condition for ensuring the accessibility of software. Thus, some software may not conform to this document but still be accessible to some users with disabilities. Conversely, some software may conform to this document but still be inaccessible to some users with disabilities. Some requirements of this document may not benefit some users for some content, but the requirements are expected to benefit many users with disabilities, for general purpose content. For more information, see the section on known limitations of this document, and the section on restricted functionality and conformance.

This document demands substantially more conformance flexibility than can be achieved using the terms "must", "should", and "may" alone, as defined in RFC 2119 [RFC2119]. Where "must", "should", "required", and "may" appear in this document, they are used consistently with RFC 2119 for a chosen conformance profile. The imperative voice (e.g., "Allow configuration ...") used in the checkpoint provisions implies "must", but a user agent is only obligated to satisfy the requirements of a chosen conformance profile.

Note: UAAG 1.0 extends significantly the conformance mechanisms defined in WCAG 1.0 [WCAG10] and ATAG 1.0 [ATAG10].

3.1 Conformance profiles

A conformance profile is a list of assertions that identify:

  1. a version of UAAG 1.0,
  2. a set of requirements in that document, and
  3. a list of specifications implemented to satisfy some of those requirements.

There are two primary uses for a conformance profile:

In either case, a conformance profile identifies a set of requirements derived from a default set according to the following mechanisms, collectively called conformance profile labels:

  1. Conformance levels
  2. Content type labels
  3. Events label
  4. Selection label
  5. Input modality labels
  6. Applicability

The following sections define the default set of requirements, the structure of a conformance profile, and how to determine the set of requirements identified by a profile. UAAG 1.0 does not define any (named) conformance profiles, but rather defines the mechanism for creating them.

3.1.1 Default set of conformance requirements

The default set of conformance requirements is defined to be all of the requirements of all of the provisions of all the checkpoints, as qualified by their normative inclusions and exclusions and the following two normative inclusions and two sufficient techniques that apply across checkpoints.

Normative inclusion: User interface or API

Except for the checkpoints in guideline 6 that refer to implementation of APIs, the user agent must satisfy the checkpoint requirements through at least one mechanism other than an API. Thus, for most of the requirements in this document, it is not possible to conform by only making information available through an API (which would be used, for example, by an assistive technology to provide the missing feature). For example, checkpoint 9.3 involves navigation that must be possible through the user interface, not just via an API. This and other checkpoints involving user control or configuration will therefore generally be satisfied through features in the user interface or through configuration files (see the section on configuration requirements).

Normative inclusion: For content, user agent features, or both

In some cases, a checkpoint may apply equally well to content or user agent features. When it is necessary to remove ambiguity about the scope of a checkpoint, the checkpoint definition includes one of the following labels:

  1. For content only, i.e., the document object only.
  2. For user agent features only, i.e., everything that is not content (such as components of the user agent user interface, user preferences, the user agent documentation, and the user interface focus).
  3. For both content and user agent features.

A user agent may also satisfy a "content only" checkpoint for user agent user interface features, and vice-versa. Indeed, user agent developers are encouraged to consider the content-only requirements (e.g., checkpoint 3.3) when designing the user agent's user interface.

The user agent may satisfy a content-only requirement with a mechanism that also involves user agent features. For instance, to satisfy checkpoint 4.7, the user agent may provide control for all volume, whether the source is content or the user agent user interface. Similarly, to satisfy checkpoint 3.3, the user agent may offer a single configuration that turns off blinking in both content and the user interface.

Sufficient technique: Configuration

The user agent may satisfy the configuration requirements of this document through configuration files (e.g., profiles, initialization files, style sheets, and themes). For instance, style sheets might be used as a mechanism to satisfy the highlight and configuration requirements of checkpoint 10.2. Any functionality that is configurable through a configuration file should also be configurable through the user agent user interface. Furthermore, if the user can use a generic editor to edit a configuration file, the user agent documentation should explain the configuration file format, or refer to an explanation (a format specification, for example).

For some of the checkpoints in this document (checkpoints 3.3, 5.1, 5.3, and 5.5), configuration is preferred, but not required to satisfy the checkpoint in some circumstances. For other checkpoints, configurability may be as important as the functionality being configured, and is therefore mandatory.

The user agent may implement a global configuration through more than one setting. In particular, since this document allows conformance by a user agent consisting of multiple software components, there are likely to be times when, to satisfy the configuration requirements of the document, each component has to provide for configuration independently. For instance, when a user agent consists of a browser that renders HTML and a plug-in that renders SVG, to satisfy the global configuration requirements of this document, the browser may provide global configuration for the HTML content, and the plug-in may provide global configuration for the SVG content. To make configuration easier for the user, components should share and inherit configurations (including those of the operating environment), and keep them simple.

Sufficient technique: Multiple operating environments

When a user agent runs in more than one operating environment (e.g., a user agent implemented in Java on top of another operating system), the user agent may satisfy the relevant requirements (e.g., the checkpoints in guideline 7) of a conformance profile by following the conventions of a single operating environment.

When faced with a choice between the conventions of different operating environments, a developer should follow the conventions that most benefit accessibility, while meeting the developer's design goals. For instance, some developers may prefer cross-platform consistency over consistency with other user agents running in a given operating environment, and this might affect which conventions would be preferred.

3.1.2 Parts of a conformance profile

A conformance profile includes the following assertions:

  1. Required: The guidelines title/version: "User Agent Accessibility Guidelines 1.0"
  2. Required: The URI of the guidelines: http://www.w3.org/TR/2002/REC-UAAG10-20021217
  3. Required: The conformance level satisfied: "A", "Double-A", or "Triple-A"
  4. Required: At least one content type label. The VisualText label must be present if the user agent renders text visually.
  5. Required: The Selection label, if the user agent implements a selection mechanism.
  6. Required: A list of requirements (checkpoints or portions of checkpoints) that do not apply. A conformance profile should also explain why those requirements do not apply.
  7. Required: Information about one or more specifications (e.g., markup languages, style sheet languages, and APIs) implemented to satisfy the requirements of this document. A user agent must satisfy the requirements identified by the profile for at least these specifications. A user agent is not required to satisfy the identified requirements for other implemented specifications except when a content type label definition states otherwise. The profile must include enough information to identify the implemented specifications. The profile should indicate which specifications are used to satisfy which requirements (e.g., which image formats are used to satisfy the requirements associated with the Image content type label).
  8. Optional: The Events label
  9. Optional: Input modality labels: "Pointer" and/or "Voice"

A profile should not include other information than the required and optional assertions. The wording of the profile should reflect whether the profile is used as part of a conformance claim ("the user agent satisfies these requirements") or as part of another specification ("the user agent must satisfy these requirements").

When a profile is part of a conformance claim, the absence of a conformance profile label implies that the associated requirements are not be satisfied (though the requirements may or may not actually be satisfied). When a profile is included in another specification, the absence of a conformance profile label implies that the associated requirements need not be satisfied.

Thus, a conformance profile when evaluating a user agent might be as short as:

For "User Agent Accessibility Guidelines 1.0," http://www.w3.org/TR/2002/REC-UAAG10-20021217:

An extended example below illustrates how to build a conformance profile while evaluating a user agent.

3.1.3 Requirements identified by a conformance profile

The set of requirements identified by a conformance profile is the set derived from the default set by:

  1. Removing the requirements associated with conformance levels that do not appear in the profile, and
  2. Removing the requirements associated with content type labels that do not appear in the profile, and
  3. Removing the requirements associated with the Events label if it does not appear in the profile, and
  4. Removing the requirements associated with the Selection label if it does not appear in the profile, and
  5. Adding the requirements associated with the input modality labels if they appear in the profile, and
  6. Removing the requirements of any checkpoints or parts of checkpoints that the profile asserts do not apply.

The requirements that cannot be removed through the above mechanisms are part of every UAAG 1.0 conformance profile (including, for example, the keyboard requirements of checkpoint 1.1).

3.1.4 Conformance levels

Each conformance level defines a set of requirements, based on priority.

Note: Conformance levels are spelled out in text (e.g., "Double-A" rather than "AA") so they may be understood when rendered as synthesized speech.

3.1.5 Content type labels

Each content type label defines a set of requirements related to user agent support for one of the following: visually rendered text, images, animations, video, audio, and synthesized speech.

VisualText
This content type label refers to all of the requirements related to visually rendered text for the following checkpoints: 3.3, 4.1, 4.2, and 4.3. If a user agent renders text visually, it must satisfy these requirements in order to conform, and this label must appear in a conformance profile. Furthermore, the user agent must satisfy these requirements for all implemented formats that produce visually rendered text, not just those identified in a conformance profile. An audio-only or tactile-only user agent is not required to satisfy the requirements associated with this label.
Image
This content type label refers to all of the requirements related to images (excluding animated images) for the following checkpoints: 3.1 and 3.6. When this label is part of a conformance profile, the user agent must implement at least one image format. Furthermore, when this label is part of a profile, the user agent must satisfy these requirements for all implemented image formats, not just those identified in a conformance profile. The image requirements apply to image content that is recognized as distinct and that, according to the encoding format, may be rendered as a coherent unit.
Animation
This content type label refers to all of the requirements related to animations (including video and animated images) for the following checkpoints: 3.2, 4.4, and 4.5. When this label is part of a conformance profile, the user agent must implement at least one animation format. Furthermore, when this label is part of a profile, the user agent must satisfy the requirements of checkpoint 3.2 for all implemented animation formats, not just those identified in a conformance profile. The animation requirements apply to animation content that is recognized as distinct and that, according to the encoding format, may be rendered as a coherent unit.
Video
This content type label refers to all of the requirements related to video for the following checkpoints: 2.5, 2.6, and 3.2. When this label is part of a conformance profile, the user agent must implement at least one video format. Furthermore, when this label is part of a profile, the user agent must satisfy the requirements of checkpoint 3.2 for all implemented video formats, not just those identified in a conformance profile. The video requirements apply to video content that is recognized as distinct and that, according to the encoding format, may be rendered as a coherent unit.
Audio
This content type label refers to all of the requirements related to audio for the following checkpoints: 2.5, 2.6, 3.2, 4.4, 4.5, 4.7, and 4.8. When this label is part of a conformance profile, the user agent must implement at least one audio format. Furthermore, when this label is part of a profile, the user agent must satisfy the requirements of checkpoints 3.2 and 4.7 for all implemented audio formats, not just those identified in a conformance profile. The audio requirements apply to audio content that is recognized as distinct and that, according to the encoding format, may be rendered as a coherent unit.
Speech
This content type label refers to all of the requirements related to synthesized speech for the following checkpoints: 4.9, 4.10, 4.11, 4.12, and 4.13. When this label is part of a conformance profile, the user agent must support synthesized speech.

Note: As indicated above, some of the content type labels require implementation of at least one format (e.g., for images). This document does not require implementation of specific formats (e.g., PNG [PNG] versus SVG [SVG] for images). However, see checkpoint 8.2 for requirements related to the use formats that support accessible authoring.

Some of the content type labels require that certain checkpoints be satisfied for all implemented specifications, not just those listed in a conformance profile, in order to ensure that the goal of the checkpoint is met. For instance, checkpoint 3.3 involves turning off blinking and animated text. Since there is a risk that these rendering effects may trigger seizures in people with photosensitive epilepsy, it is important that the user be able to turn them off in all cases (whether or not the specification is identified in a conformance profile).

3.1.6 Events label

The following checkpoints are designed to augment user agent support for event-driven behavior specified by the author: 1.2, 9.5, and 9.6. Satisfying these checkpoints will promote input device independence and thus enable users with some disabilities to make better use of content designed for a single input device (generally a pointing device). The Events label refers to the requirements of these checkpoints.

3.1.7 Selection label

This document does not require the user agent to implement a selection mechanism in order to conform. However, if the user agent does implement a selection mechanism, in order to conform it must satisfy the relevant portions of the following checkpoints: 5.4, 6.6, 7.1, 9.4, 10.2, and 10.3. The Selection label refers to the selection requirements of these checkpoints.

Note: This document does require implementation of both content focus and user interface focus; see checkpoints 9.1 and 9.2.

3.1.8 Input modality labels

Each input modality label defines a set of requirements related to support for a particular type of input device. Input device requirements in this document are either stated generically (e.g., "input configuration" requirements) or as keyboard-specific requirements (e.g., those of checkpoints 1.1 and 6.7).

Pointer
This input modality label refers to all of the generic input device requirements of this document as well as those specific to the keyboard, except for the requirements of checkpoint 11.4. This label is an indication that these requirements have been satisfied for the pointing device.
Voice
This input modality label refers to all of the generic input device requirements of this document as well as those specific to the keyboard, except for the requirements of checkpoint 11.4. This label is an indication that these requirements have been satisfied for voice input.

Note: Developers are encouraged to design user agents that are at least partially operable through pointing device and/or voice input, in addition to being fully operable through the keyboard.

3.1.9 Checkpoint applicability

A checkpoint (or part of a checkpoint) applies unless any one of the following conditions is met:

  1. The checkpoint makes requirements for graphical user interfaces or graphical viewports and the user agent only has audio or tactile user interfaces or viewports.
  2. The checkpoint refers to a role of content (e.g., transcript, captions, associated conditional content, synchronization cue, or a "table" element) that the user agent cannot recognize because of how the content has been encoded in a particular format. For instance, HTML user agents can recognize alt, OBJECT content, or NOFRAMES content as specified mechanisms for conditional content. On the other hand, HTML user agents are not expected to recognize that a paragraph is a text equivalent for an image, in the absence of markup that makes the equivalence relationship explicit.
  3. The checkpoint requires control of a content property that the user agent cannot recognize because of how the content has been encoded in a particular format. Some examples of this include:

3.1.10 Example of building a conformance profile

The following example illustrates how to evaluate a user agent and build an appropriate conformance profile; refer to the required parts of a conformance profile. This informative example does not constitute a complete user agent evaluation.

Suppose that we have already evaluated an imaginary user agent to identify which checkpoints it satisfies (e.g., using the checklist [UAAG10-CHECKLIST] to keep track of satisfied checkpoints). In this example, we construct a conformance profile that most favorably represents the user agent's capabilities in light of our evaluation. We do not start with a profile and match the user agent's capabilities to the profile requirements (though this type of evaluation might occur in practice).

Suppose our evaluation reveals the following:

Step 1: Identify a conformance level.

Since the user agent satisfies priority 1 and priority 2 checkpoints, we will strive for conformance level Double-A; we may have to scale this back to level A if subsequent steps reveal that the user agent does not satisfy all priority 2 checkpoints covered by the profile.

Step 2: Identify content type labels.

The definitions of the VisualText and Image content type labels state the following:

Since the user agent renders text visually, the profile must include the VisualText label. Let us suppose for this example that the user agent satisfies the four checkpoints associated with the VisualText label, for all three formats T1, T2, and T3. If this were not the case, the user agent would not be able to conform to UAAG 1.0.

Let us also suppose that the user agent satisfies the requirements of the two checkpoints associated with the Image label, for image formats B1 and B2. We can therefore include the Image label in the conformance profile. If the user agent had not satisfied these checkpoints, the user agent could still conform, but we would not be able to include the Image label in the profile.

The following checkpoint illustrates that a single provision may include requirements for more than one content type label:

4.4 Slow multimedia (P1)
  1. Allow the user to slow the presentation rate of rendered audio and animation content (including video and animated images).
  2. As part of satisfying provision one of this checkpoint, for a visual track, provide at least one setting between 40% and 60% of the original speed.
  3. As part of satisfying provision one of this checkpoint, for a prerecorded audio track including audio-only presentations, provide at least one setting between 75% and 80% of the original speed.
  4. When the user agent allows the user to slow the visual track of a synchronized multimedia presentation to between 100% and 80% of its original speed, synchronize the visual and audio tracks (per checkpoint 2.6). Below 80%, the user agent is not required to render the audio track.

Provision one refers to audio and animations (including video). Provision two refers to animations (including video). Provision three refers to audio. Provision four refers to synchronization. Therefore (not considering other requirements associated with these content type labels):

Let us suppose for this checkpoint that the user agent satisfies the requirements of the Video label for V1 and V2, of the Audio label for A1, and of the Animation label for M1 but not M2. Let us also suppose that the user agent satisfies the other requirements associated with these labels for the same formats. Therefore, we can include all three labels in the conformance profile, and must indicate the formats for which they hold (in particular, that the Animation label applies to M1 but not M2).

Note: A conformance claim will indicate that the plug-in renders the video.

Step 3: Identify support for event handlers

Since the user agent supports features that promote input-device independent access to event handlers, we can include the Events label in the profile.

Step 4: Identify support for the selection.

Since the user agent implements a selection mechanism, the profile must include the Selection label (and the user agent must satisfy the associated requirements in order to conform).

Step 5: Identify support for pointer and/or voice.

Since the user agent does not fully support operation through the pointing device alone or voice input alone, we cannot include the Pointer and Voice labels in the profile.

Step 6: Identify requirements that do not apply.

In step 2 we saw that the fourth provision of checkpoint 4.4 does not apply since the user agent does not implement a format that supports synchronization. Other checkpoints or checkpoint provisions that do not apply must also be documented.

Resulting profile

The resulting conformance profile would include the following information:

For "User Agent Accessibility Guidelines 1.0," http://www.w3.org/TR/2002/REC-UAAG10-20021217:

For more information about user agent evaluations and examples of complete evaluations, refer to the User Agent Accessibility Guidelines Working Group home page.

3.2 Conformance claims

A claim is well-formed if it meets the following two conditions.

Condition 1: The claim must include the following information:

  1. The date of the claim.
  2. A conformance profile.
  3. Information about the user agent. The user agent may consist of more than one component. For each component, the claim must include the following:

Condition 2: At least one version of the claim must conform to the "Web Content Accessibility Guidelines 1.0" [WCAG10], level A. This claim may appear, for example, on the Web or on CD-ROM. If a conformance icon is part of a claim on the Web, it must link to the W3C explanation of the icon.

This specification imposes no restrictions on the format used to make a well-formed claim. For instance, the claim may be marked up using HTML (see sample claim), or expressed in the Resource Description Framework (RDF) [RDF10].

Here is a sample conformance claim (expressed in HTML):

<p>On 17 December 2002, UserAgent X (version 2.3) running on MyOperatingSystem (version 4.2) conforms to <acronym title="the World Wide Web Consortium">W3C</acronym>'s "User Agent Accessibility Guidelines 1.0", http://www.w3.org/TR/2002/REC-UAAG10-20021217. Conformance level: Double A. Supported conformance profile labels: VisualText, Image, Animation, Audio, Events, and Selection. A <a href="http://example.com/checkpoints">list</a> of formats used to satisfy the requirements, and of checkpoints that do not apply is available online. The specifications that are part of this profile are W3C's HTML 4.0, CSS2, PNG, and SVG (where each acronym links to the corresponding specification). </p>

3.2.1 Validity of a claim

A conformance claim is valid if it is well-formed and if the user agent satisfies the requirements of the chosen conformance profile.

The UAWG has written this document to help non-experts evaluate the validity of conformance claims. Some checkpoints may require interpretation and judgment. In some cases, even though the intent of a requirement is clear, without documentation or feedback from developers (e.g., about implemented APIs) it may be difficult to evaluate whether a user agent has satisfied the requirement. Some checkpoints (e.g., those requiring developers to follow conventions or implement specifications defined outside this document) are inherently more open to interpretation than others.

It is not currently possible to evaluate the validity of a claim automatically.

Note: The checklist [UAAG10-CHECKLIST] is designed to help people evaluate user agents. The User Agent Accessibility Guidelines Working Group makes available additional test suites, guides, and other tools to help people evaluate user agents for conformance.

3.2.2 Restricted functionality and valid claims

User agents do not conform to this document on a per-resource basis; claims are not as specific as "the user agent conforms for this particular Web page." A claim is valid if the user agent satisfies the requirements identified by the claim for most general-purpose content, in ordinary operating conditions.

In some cases, the author's content may limit the user agent's functionality for specific reasons, such as to protect intellectual property rights, to provide a read-only view (allowing no user interaction), or to limit interaction for a specialized purpose (e.g., a "written" driving test). Content that limits the functionality of the user agent in some cases does not automatically invalidate a claim about the user agent.

3.2.3 Responsibility for claims

A conformance claim (with or without an accompanying conformance icon) is an assertion that a user agent has satisfied the requirements of a chosen conformance profile. Claimants (or relevant assuring parties) are solely responsible for the validity of their claims, keeping claims up to date, and proper use of the conformance icons.

The existence of a conformance claim (with or without an accompanying conformance icon) does not imply that W3C has reviewed the claim or assured its validity. As of the publication of this document, W3C does not act as an assuring party, but it may do so in the future, or it may establish recommendations for assuring parties.

Claimants are expected to modify or retract a claim if it may be demonstrated that the claim is not valid. Claimants are encouraged to claim conformance to the most recent User Agent Accessibility Guidelines Recommendation available.

This specification imposes no restrictions about:

3.2.4 Conformance icons

People may use a conformance icon (or, "conformance logo") anywhere, including on a Web site, on user agent packaging, and in documentation. It is meaningless to use a conformance icon on its own, i.e., to use the icon without an associated well-formed claim.

Information about UAAG 1.0 conformance icons and their usage is available at [UAAG10-ICONS].

3.3 UAAG 1.0 requirements in other specifications

Authors of technical specifications (such as W3C Recommendations) should incorporate the requirements of UAAG 1.0 as part of conformance to their specifications. This may be done by direct inclusion, or by reference using a conformance profile. Direct inclusion promotes the integration of specialized accessibility requirements; inclusion by reference is easier and less prone to error.

3.3.1 General advice

  1. Identify accessibility features of the specification where they are defined (see checkpoint 8.1). Optionally, create an appendix of these accessibility features as well.
  2. Remember to include user interface requirements as part of conformance to the specification. Authors of technical specifications tend to focus more on the rendering process or other content-related behavior, and less on user interface requirements. UAAG 1.0 makes a number of user interface requirements that authors will need to consider (such as those in guideline 5 pertaining to viewport behavior).
  3. Include at least an informative reference to UAAG 1.0 and Techniques for UAAG 1.0. See the section on how to refer to UAAG 1.0 for more information.
  4. Consult the User Agent Accessibility Guidelines Working Group when a question arises about how a checkpoint applies for a technology, such as whether a term is used differently between UAAG 1.0 and the technical specification.

For more information on designing specifications that promote accessibility, refer to W3C's "XML Accessibility Guidelines" [XAG10].

3.3.2 Direct inclusion of requirements

  1. Rather than including the generic UAAG 1.0 requirements, tailor them to the specification. Be specific in the requirements, and include (in context) a reference to the original UAAG 1.0 checkpoint. The following examples illustrate what is meant by direct inclusion: Note how these examples refer to the specific elements, attributes, and properties defined by the specifications.
  2. It is better to include some UAAG 1.0 requirements in a specification than no UAAG 1.0 requirements. However, since the UAWG has designed UAAG 1.0 requirements to complement one another, arbitrary selection of requirements may result in accessibility gaps. Authors should include requirements according to the groups defined by the conformance profile labels.

3.3.3 Inclusion by reference

Section G.5 of the SVG 1.0 Recommendation [SVG] states:

Additionally, an authoring tool which is a Conforming SVG Generator conforms to all of the Priority 1 accessibility guidelines from the document "Authoring Tool Accessibility Guidelines 1.0" that are relevant to generators of SVG content.

This statement requires conformance to the Authoring Tool Accessibility Guidelines as part of conformance to SVG 1.0 (for certain classes of tools). This type of "conformance requirement by reference" is also possible for UAAG 1.0, by inclusion of a conformance profile.

The following is a (partial) example of a conformance profile for the MyFormat specification (expressed in plain text):

As part of conformance to MyFormat 1.0, a user agent must satisfy the following conformance profile:

See the section on how to refer to UAAG 1.0 for what should appear in the references section of the specification.