This document analyzes the concept of "applicability" in the
User Agent Accessibility Guidelines 1.0 to determine whether it is
necessary to include such a concept in the document.
This section describes the status of this document at the
time of its publication. Other documents may supersede this
document. The latest status of this document series is maintained
at the W3C.
This document has not been reviewed by anyone nor has it been
endorsed by anyone. It is an analysis in progress. It is intended
for review by the WAI UA Working Group.
Please send comments about this document to the public mailing
list w3c-wai-ua@w3.org; public
archives are available.
This document has been produced as part of the Web Accessibility Initiative. WAI
Accessibility Guidelines are produced as part of the WAI Technical
Activity. The goal of the
WAI User Agent Guidelines Working Group is discussed in the Working Group
charter.
A list of current W3C
Recommendations and other technical documents can be found at
the W3C Web site.
Table of contents
The UAAG 1.0 has included the notion of applicability since the
9
March 1999 Working Draft (through the 18 August draft).
Recently, some members of the Working Group have asked the WG to
review the concept:
Refer also to previous discussions of applicability:
Refer also to determining conformance to
the UA Guidelines, which tracked how the WG folded minimal
requirements into the checkpoints themselves.
In the 18 August Guidelines, the applicability clause includes
the following provisions for when applicability may be "invoked":
- Device: Unsupported device
- Content Role: Content role (e.g., alternative) cannot be
recognized.
- Content Type: Content type not recognized by UA.
- Uncontrollable properties of a piece of content.
- Unsupported technologies. Note: This is kind
of unclear, but the suggestion is that it refers to unsupported
specifications.
- Communication impossible: For example, no way for an AT to
communicate with a UA on a particular system (e.g., kiosk).
- Section 4 lists the checkpoints that seem always to apply
because they are not subject to any of the six provisions.
While many of the checkpoints seem to not be subject
to applicability issues, enough of them are to suggest that
the concept should remain in the document in some form.
- Section 5 groups the remaining checkpoints by the six
provisions above.
- The checkpoints about communication should always
apply since UAAG 1.0 is designed to create accessible user agents
that communicate with assistive technologies. If no communication
with assistive technologies is possible,
then our expectations will not be met and there should not
be conformance.x
- Checkpoint 5.7 is the only checkpoint that is currently covered
by the "unsupported technologies" provision. It can be fixed.
- This leaves four applicability provisions that seem to be
significant:
- Unsupported content type
- Unsupported content role
- Unsupported rendering type
- Urecognized or uncontrollable properties
- For these four provisions, I propose the following
statements in the document:
- This document does not require support for
a particular content type. If a user agent does not render
a content type at all (e.g., for audio, video, scripts), it is not
required to satisfy checkpoints with requirements for that content
type.
- Some checkpoints refer to the role or purpose of content
(e.g., tables, text equivalents, captions, etc.). If a user agent
cannot recognize through markup the role or purpose of an element,
it is not required to satisfy checkpoints involving that
role, for that element.
- This document does not require support for a particular
rendering. User agents are not required to satisfy checkpoints that
refer to renderings that the UA does not support in its native
user interface. For example, user agents are not required to
support speech, but if they do, speech requirements apply.
- Some checkpoints refer to properties of content
(e.g., video speed, audio volume, etc.). If a user agent
cannot recognize or control the properties of an element,
it is not required to satisfy checkpoints involving those
properties, for that element.
The following checkpoints always apply:
- Checkpoint 1.1 Ensure that every functionality available
through the user interface is also available through every input
API implemented by the user agent. This checkpoint does not require
developers to reimplement the input methods associated with the
keyboard, pointing device, voice, and other input APIs. The
device-independence required by this checkpoint applies to the
functionalities described by the other checkpoints in this document
(e.g., installation, documentation, user agent user interface
configuration, etc.).
- Checkpoint 1.2 Use the standard input and output device
APIs of the operating system. Do not bypass the standard output
APIs when rendering information.
- Checkpoint 1.3 Implement the standard keyboard API of
the operating system and ensure that every functionality available
through the user interface is available through this
- Checkpoint 1.4 Ensure that the user can interact with
all active elements in a device-independent manner.
- Checkpoint 1.5 Ensure every non-text message (e.g.,
prompt, alert, notification, etc.) that is part of the user agent's
user interface also has a text equivalent in the user interface.
This text equivalent must be available to assistive technologies
through an API.
- Checkpoint 2.1Make all content available through the
user interface.
- Checkpoint 2.2 For a presentation that requires user
input within a specified time interval, allow the user to configure
the user agent to pause the presentation automatically and await
user input before proceeding.
- Checkpoint 2.5 For non-text content that has no
recognized text equivalent, allow configuration to generate repair
text. If the non-text content is included by URI reference, base
the repair text on the URI reference and content type of the Web
resource. Otherwise, base the repair text on the name of the
element including the non-text content. Note: The
term "recognize" already appears.
- Checkpoint 2.7 For author-identified but unsupported
natural languages, allow the user to configure the user agent to
identify those language changes in content. Note:
Recognize is built-in.
- Checkpoint 4.14 Allow the user to configure how the
selection is highlighted (e.g., foreground and background color).
Offer at least three rendering options, including colors and fonts.
Allow the user to select from among the range of system colors and
fonts.
- Checkpoint 4.16 Allow the user to configure whether the
current focus moves automatically to a viewport that opens without
an explicit request from the user.
- Checkpoint 4.17 Allow the user to configure the user
agent so that after one viewport is open, no other viewports open
except as the result of explicit user request.
- Checkpoint 4.15 Allow the user to configure how the
content focus is highlighted (e.g., foreground and background
color). Offer at least three rendering options, including colors
and fonts. Allow the user to select from among the range of system
colors and fonts. The default focus highlight mechanism must be
different from the default selection highlight mechanism.
- Checkpoint 5.8 Follow operating system conventions that
benefit accessibility. In particular, follow conventions for user
interface design, keyboard configuration, product installation, and
documentation.
- Checkpoint 6.1 Implement the accessibility features of
all supported specifications (markup languages, style sheet
languages, metadata languages, graphics formats, etc.).
Accessibility features are those identified in the specification
and those features of the specification that support requirements
of the "Web Content Accessibility Guidelines 1.0"
Note: This checkpoint already has applicability built in
by virtue of the phrase "all supported specifications".
- Checkpoint 6.2 Use and conform to W3C Recommendations
when they are available and appropriate for a task.
- Checkpoint 7.1 Allow the user to navigate among all
viewports (including frames).
- Checkpoint 7.2 Associate a point of regard with each
state in a viewport's browsing history and when the user returns to
a state in the history, restore the associated point of regard.
Note: The part about "if the UA supports a history
mechanism" was removed in light of the applicability clause. We
should add back "When the UA implements a history mechanism
..."
- Checkpoint 7.3 Allow the user to navigate all active
elements. If the author has not specified a navigation order, allow
at least forward sequential navigation of elements, in document
order. Note: The definition of active elements
explains what they are.
- Checkpoint 7.4 Allow the user to choose to navigate only
active elements. If the author has not specified a navigation
order, allow at least forward and reverse sequential navigation of
active elements, in document order.
- Checkpoint 7.5 Allow the user to search for rendered
text content, including rendered text equivalents. Allow the user
to start a forward search from a location in content selected or
focused by the user. After a match, allow searching from location
of the match. Provide a case-insensitive search option when
applicable to the natural language of text.
- Checkpoint 8.7 Implement selection, content focus, and
user interface focus mechanisms. Implement them according to system
conventions per
- Checkpoint 8.8 Provide a mechanism for highlighting and
identifying (through a standard interface where available) the
current viewport, selection, and content focus.
- Checkpoint 8.9 Provide a mechanism for highlighting and
identifying active elements.
- Checkpoint 9.3 Allow the user to configure notification
preferences for common types of content and viewport changes.
Note: Looking to delete this one...
- Checkpoint 9.4 Indicate the relative position of the
viewport in rendered content (e.g., the proportion of an audio or
video clip that has been played, the proportion of a Web page that
has been viewed, etc.).
- Checkpoint 10.1 Provide information to the user about
current user preferences for input configurations (e.g., keyboard
or voice bindings).
- Checkpoint 10.2 Avoid default input configurations that
interfere with operating system accessibility conventions.
- Checkpoint 10.3 Provide information to the user about
current author-specified input configurations (e.g., keyboard
bindings specified in HTML documents with the "accesskey"
attribute).
- Checkpoint 10.4 Allow the user to change the default
input configuration as follows: Allow the user to override any
binding that is part of the user agent default input configuration.
Allow the user to override the default keyboard bindings with a
binding that consists of modifier keys and a single key, or a
single key. The user agent is not required to allow the user to
override standard bindings for the operating system (e.g., for
access to help).
- Checkpoint 10.5 Allow the user to override the default
keyboard configuration as follows: Allow the user to override any
binding that is part of the user agent default keyboard
configuration. Allow the user to assign a single key binding to a
majority of the functionalities that are available in the default
keyboard configuration. The user agent is not required to allow the
user to override standard keyboard bindings for the operating
system (e.g., for access to help).
- Checkpoint 10.6 Follow operating system conventions to
indicate the input configuration.
- Checkpoint 10.7 For the configuration requirements of
this document, allow the user to save user preferences in at least
one user profile. Allow users to select from among available
profiles or no profile (i.e., the user agent default settings).
Note: In some contexts, you may not be able to
save settings (e.g., public environment). But the user agent
designer doesn't know when. The functionality must be there.
- Checkpoint 10.8 Ensure that the default input
configuration allows easy activation of frequently used
functionalities.
- Checkpoint 10.9 For graphical user interfaces, allow the
user to configure the position of controls on tool bars of the user
agent user interface, to select or remove controls for the user
interface from a predefined set, and to restore the default user
interface. Note: Already specified for GUIs.
- Checkpoint 11.1 Provide a version of the product
documentation that conforms to at least Level A of the Web Content
Accessibility Guidelines 1.0
- Checkpoint 11.2 Document all user agent features that
promote accessibility.
- Checkpoint 11.3 Document the default input configuration
(e.g., default keyboard bindings).
- Checkpoint 11.4 In a dedicated section of the
documentation, describe all features of the user agent that promote
accessibility.
- Checkpoint 11.5 In each software release, document all
changes that affect accessibility.
5.1 Unsupported device
For example, an audio user agent may not have to allow control
of text size. I think these checkpoints are more about rendering than device.
- Checkpoint 4.1 Allow the user to configure and control
the reference size of text with an option to override
author-specified user agent default text size. Make available the
range of system font sizes.
- Checkpoint 4.2 Allow the user to configure the font
family of all text, with an option to override author-specified and
user agent default font families. Allow the user to select from
among the range of system font families.
- Checkpoint 4.3 Allow the user to configure the
foreground color of all text, with an option to override
author-specified and user agent default foreground colors. Allow
the user to select from among the range of system colors.
- Checkpoint 4.4 Allow the user to configure the
background color of all text, with an option to override
author-specified and user agent default background colors. Allow
the user to select from among the range of system colors.
- Checkpoint 4.10 Allow the user to configure and control
synthesized speech playback rate according to the full range
offered by the speech synthesizer. The lower bound for this range
must be at most 120 words per minute. The upper bound for this
range must be at least 400 words per minute. The user must be able
to increase or decrease the playback rate in increments of 5% of
the current playback rate.
- Checkpoint 4.11 Allow the user to control the
synthesized speech volume independently of other sources of
audio.
- Checkpoint 4.12 Allow the user to configure synthesized
voice gender, pitch, pitch range, stress, and richness according to
the full range of values offered by the speech synthesizer.
- Checkpoint 4.13 Allow the user to select from available
author and user style sheets or to ignore them.
- Checkpoint 9.1 Ensure that when the selection or content
focus changes, it is in a viewport after the change.
Note: This may not apply for audio viewports, even if they
have a notion of focus and selection.
5.2 Unrecognized content role
- Old Checkpoint 2.3 If content available in a viewport
has equivalent alternatives, provide easy access to the alternative
equivalents through at least one of the following mechanisms: (1)
allowing configuration to render alternative instead of primary
content; (2) allowing configuration to render alternative in
addition to primary content; (3) allowing the user to select the
primary content and then inspect its alternatives; (4) providing a
direct link to the alternative in content, just before or after the
primary content in document order.
- New Checkpoint 2.3 If content available in a viewport
has recognized equivalent alternatives, provide easy access to them
through at least one of the following mechanisms: (1) allowing
configuration to render alternative instead of primary content; (2)
allowing configuration to render alternative in addition to primary
content; (3) allowing the user to select the primary content and
then inspect its alternatives; (4) providing a direct link to the
alternative in content, just before or after the primary content in
document order.
- Old Checkpoint 2.4 Allow the user to specify that text
transcripts, collated text transcripts, captions, and auditory
descriptions be rendered at the same time as the associated audio
and visual tracks. Respect author-specified synchronization cues
during rendering.
- New Checkpoint 2.4 Allow the user to specify that
recognized text transcripts, collated text transcripts, captions,
and auditory descriptions be rendered at the same time as the
associated audio and visual tracks. Respect author-specified
synchronization cues during rendering.
Other checkpoints:
- Checkpoint 2.6 When the author has specified an empty
text equivalent for non-text content, do not generate one.
- Checkpoint 3.7 Allow configuration so that
author-specified "client-side redirects" (i.e., those initiated by
the user agent, not the server) do not change content
automatically. Allow the user to access the new content manually
(e.g., by following a link).
- Checkpoint 3.8 Allow configuration so that
author-specified content refreshes do not change content
automatically. Allow the user to access the new content manually
(e.g., by activating a button or following a link). Advise the user
to refresh content according to the same schedule as the automatic
refresh, and indicate when the user has not yet refreshed
content.
- Checkpoint 7.6 Allow the user to navigate efficiently to
and among important structural elements identified by the author.
For markup languages with known semantics, allow forward sequential
navigation to important structural elements. For other markup
languages, allow at least forward sequential navigation of the
document object, in document order.
- Checkpoint 7.7 Allow the user to configure and control
the set of elements navigable according to checkpoint 7.6 by
allowing inclusion and exclusion of element types in the navigation
sequence.
- Checkpoint 8.1 Make available to the user the
author-specified purpose of each table and the author-specified
relationships among the table cells and headers. The role
is the element type: table
- Checkpoint 8.2 Render recently visited links in a
distinct style. Allow the user to configure this style and offer at
least three rendering options, including colors and fonts. Allow
the user to select from among the range of system colors and
fonts.
- Checkpoint 8.3 Render in a distinct style those links
that have been marked up to indicate that following them will
involve a fee. Allow the user to configure this style and offer at
least three rendering options, including colors and fonts. Allow
the user to select from among the range of system colors and
fonts.
- Checkpoint 8.4 Make available to the user an "outline"
view of content, composed of text labels for important structural
elements (e.g., heading text, table titles, form titles, etc.). The
set of important structural elements is the same required by
- Checkpoint 8.5 Allow the user to configure and control
the outline view of checkpoint 8.4 to include and exclude element
types.
- Checkpoint 8.6 To help the user decide whether to
traverse a link, make available the following information about it:
link content, link title, whether the link is internal to the local
resource, whether the user has traversed the link recently, whether
traversing it may involve a fee, and information about the type,
size, and natural language of linked Web resources. The user agent
is not required to compute or make available information that
requires retrieval of linked Web resources.
- Checkpoint 9.2 Allow configuration so the user is
prompted to confirm any form submission not caused by explicit
activation of a form submit control.
5.3 Unrecognized content type
Here "content type" means MIME type.
- Checkpoint 3.1 When background images are supported,
allow the user to configure the user agent not to render background
images.
- Checkpoint 3.2 Allow the user to configure the user
agent not to render audio.
- Checkpoint 3.3 Allow the user to configure the user
agent not to render video.
- Checkpoint 3.6 Allow the user to configure the user
agent not to execute scripts and applets.
- Checkpoint 3.9 Allow the user to configure the user
agent not to render images.
- Checkpoint 4.7 Allow the user to position text
transcripts, collated text transcripts, and captions on graphical
displays. The range of available positions must be the same range
available to the author according to specification.
- Checkpoint 4.8 Allow the user to configure and control
the global audio volume. The user must be able to choose zero
volume (i.e., silent).
- Checkpoint 4.9 Allow the user to control independently
the volumes of distinct audio sources synchronized to play
simultaneously. Note: This one should say
"recognized as distinct".
5.4 Unrecognized or uncontrollable properties
- Checkpoint 3.4 Allow the user to configure the user
agent to render animated or blinking text as motionless text.
- Checkpoint 3.5 Allow the user to configure the user
agent to render animated or blinking images as motionless
images.
- Checkpoint 4.5 Allow the user to slow the presentation
rate of audio, video, and animations. For a visual track, provide
at least one setting between 40% and 60% of the original speed. For
a pre-recorded audio track including audio-only presentations,
provide at least one setting between 75% - 80% of the original
speed. For a synchronized multimedia presentation where the visual
track may be slowed from 100% to to 80% of its original speed,
synchronize the visual and audio tracks. Below 80%, the user agent
is not required to render the audio track. Note:
May not apply when streamed.
- Checkpoint 4.6 Allow the user to start, stop, pause,
resume, advance, and rewind to the beginning audio, video, and
animations. Note: May not apply when
streamed.
5.5 Unsupported technologies
I propose to integrate applicability in this checkpoint since it
only applies when the UA supports CSS.
- Old Checkpoint 5.7 Provide programmatic access to
Cascading Style Sheets by conforming to the W3C Document Object
Model (DOM) Level 2 CSS module and exporting the interfaces it
defines.
- New Checkpoint 5.7 When the user agent implements CSS
[CSS1], [CSS2], provide programmatic access to Cascading Style
Sheets by conforming to the W3C Document Object Model (DOM) Level 2
CSS module and exporting the interfaces it defines.
5.6 Communication impossible
I propose that the following checkpoints always
apply since the scope of this document has been narrowed
to address general purpose user agents meant to interact with
assistive technologies. Therefore, communication with them is a
prerequisite.
- Checkpoint 5.1 Provide programmatic read access to
HTML and XML content by
conforming to the W3C Document Object Model (DOM) Level 2 Core and
HTML modules and exporting the interfaces they
define.
- Checkpoint 5.2 If the user can modify
HTML and XML content through the user interface, provide
the same functionality programmatically by conforming to the W3C
Document Object Model (DOM) Level 2 Core and
HTML modules and exporting the interfaces they
define.
- Checkpoint 5.3 For markup languages other than
HTML and XML, provide programmatic access to content
using standard APIs (e.g., platform-independent APIs and standard
APIs for the operating system).
- Checkpoint 5.4 Provide programmatic read and write
access to user agent user interface controls using standard APIs
(e.g., platform-independent APIs such as the W3C DOM, standard
APIs for the operating system, and conventions
for programming languages, plug-ins, virtual machine environments,
etc.)
- Checkpoint 5.5 Using standard APIs, provide programmatic
notification of changes to content and user interface controls
(including selection, content focus, and user interface
focus).
- Checkpoint 5.6 Ensure that programmatic exchanges
proceed in a timely manner.