This section lists each checkpoint of "User Agent Accessibility Guidelines
1.0" [UAAG10] along with some possible
techniques for satisfying it. Each checkpoint definition includes a link to the
checkpoint definition in "User Agent Accessibility Guidelines 1.0." Each
checkpoint definition is followed by one or more of the following:
- Notes and rationale: Additional rationale and explanation
of the checkpoint;
- Who benefits: Which users with disabilities are expected
to benefit from user agents that satisfy the checkpoint;
- Example techniques: Some techniques to illustrate how a
user agent might satisfy the requirements of the checkpoint. Screen shots and
other information about deployed user agents have been included as sample
techniques. References to products are not endorsements of those products by
W3C;
- Doing more: Techniques to achieve more than what is
required by the checkpoint;
- Related techniques: Links to other techniques in section
3. The accessibility topics of section 3 generally apply to more than one
checkpoint.
- References: References to other guidelines,
specifications, or resources.
Note: Most of the techniques in this document are designed
for graphical browsers and multimedia players running on desktop computers.
However, some of them also make sense for assistive technologies and other user
agents. In particular, techniques about communication between user agents will
benefit assistive technologies. Refer, for example, to the
appendix on loading assistive technologies
for access to the document object model.
Each checkpoint in this document is assigned a priority that indicates its
importance for users with disabilities.
- Priority 1
(P1)
- If the user agent does not satisfy this checkpoint, one or more groups of
users with disabilities will find it impossible to access the Web. Satisfying
this checkpoint is a basic requirement for enabling some people to access the
Web.
- Priority 2
(P2)
- If the user agent does not satisfy this checkpoint, one or more groups of
users with disabilities will find it difficult to access the Web. Satisfying
this checkpoint will remove significant barriers to Web access for some
people.
- Priority 3
(P3)
- If the user agent satisfies this checkpoint, one or more groups of users
with disabilities will find it easier to access the Web.
Note: This information about checkpoint priorities is
included for convenience only. For detailed information about conformance to
"User Agent Accessibility Guidelines 1.0"
[UAAG10], please refer to that
document.
- Ensure that the user can operate,
through keyboard input alone, any user agent functionality available through
the user
interface.
Note: For example, ensure that the user can interact with
enabled elements, select content,
navigate viewports, configure the user agent, access documentation, install the
user agent, and operate user interface controls, all
entirely through keyboard input.
User agents generally support at least three types of keyboard
operation:
- Direct (e.g., keyboard shortcuts such a "F1" to open the help menu; see
checkpoint 11.4 for single-key
access requirements),
- Sequential
(e.g., navigation through cascading menus), and
- Spatial (e.g., when the keyboard is used to move the pointing device in
two-dimensional visual space to
manipulate a bitmap image).
User agents should support direct or sequential keyboard operation for all
functionalities. Furthermore, the user agent should satisfy this checkpoint by
offering a combination of keyboard-operable user interface controls (e.g.,
keyboard operable print menus and settings) and direct keyboard shortcuts
(e.g., to print the current page).
It is also possible to claim
conformance
to User Agent Accessibility Guidelines 1.0
[UAAG10] for full support through
pointing device input and/or voice input. See the section on
Input
modality labels in UAAG 1.0.
Notes and rationale
- It is up to the user agent developer to decide which functionalities are
best served by direct access, sequential access, and access through
two-dimensional visual space.
The UAAG 1.0 does not discourage a pointing device interface, but it does
require redundancy through the keyboard. In most cases, developers can allow
operation of the user agent without relying on motion through
two-dimensional visual space;
this includes text selection (a text caret may be used to establish the start
and end of the selection), region selection (allow the user to describe the
coordinates or position of the region, e.g., relative to the viewport), and
drag-and-drop (allow the user to designate start and end points and then say
"go").
- For instance, the user must be able to do the following through the
keyboard alone (or pointing device alone or voice alone):
- Select content and operate on it. For
example, if the user can select rendered text with the mouse and make it the
content of a new link by pushing a button, they also need to be able to do so
through the keyboard and other supported devices. Other operations include cut,
copy, and paste.
- Set the focus on viewports and on
enabled elements.
- Install, configure, uninstall, and update the user agent software.
- Use the graphical user interface menus. Some users may
wish to use the graphical user interface even if they cannot use or do not wish
to use the pointing device.
- Fill out forms.
- Access documentation.
- Suppose a user agent such as a Web browser does not allow complete
operation through the keyboard alone. It is still possible to claim
conformance
for the combination of the user agent and a software component that performs
the necessary functions.
Who benefits
- Users with blindness are most likely to benefit from direct access through
the keyboard, including navigation of user interface controls; this
is a logical navigation, not navigation in
two-dimensional visual
space.
- Users with physical disabilities are most likely to benefit from a
combination of direct access and spatial access through the keyboard. For some
users with physical disabilities, moving the pointing device using a physical
mouse may be significantly more difficult than moving the pointing device with
arrow keys, for example.
- This checkpoint will also benefit users of many other alternative input
devices (which make use of the keyboard API) and also anyone without a
mouse.
- While keyboard operation is expected to improve access for many users,
operation by keyboard shortcuts alone may reduce accessibility (and usability)
by requiring users to memorize a long list of shortcuts. Developers should
provide mechanisms for contextual access to user agent functionalities
(including, for example, keyboard-operable cascading menus, context-sensitive
help, and keyboard operable configuration tabs) as well as direct access to
those functionalities. See
also checkpoint 11.5.
- Allow the user to
activate, through keyboard input alone, all
input device event handlers that are
explicitly associated with the element designated by the
content focus.
- In order to satisfy provision one
of this checkpoint, the user must be able to activate as a group all event
handlers of the same input device event type. For example, if there are 10
handlers associated with the
onmousedown event type, the user must
be able to activate the entire group of 10 through keyboard input alone, and
must not be required to activate each handler separately.
- Provision one of this checkpoint applies to handlers of any input
device event type, including event types for keyboard, pointing device, and
voice input.
- The user agent is not required to allow activation of event handlers
associated with a given device (e.g., the pointing device) in any order other
than what the device itself allows (e.g., a mouse down event followed by a
mouse drag event followed by a mouse up event).
- The requirements for this checkpoint refer to any
explicitly associated input device event handlers associated with an
element, independent of the
input
modalities for which the user agent conforms. For example, suppose that an
element has an explicitly associated handler for pointing device events. Even
when the user agent only conforms for keyboard input (and does not conform for
the pointing device, for example), this checkpoint requires the user agent to
allow the user to activate that handler with the keyboard.
- This checkpoint is mutually exclusive of
checkpoint 1.1 since
the current checkpoint may be excluded from a
conformance
profile, unlike other keyboard operation requirements.
-
Conformance
profile labels:
Events
Note: Refer to the checkpoints of guideline 9 for more information about focus
requirements.
Notes and rationale
- For example, users without a pointing device need to be able to
activate form controls and links (including
the links in a client-side image map).
- Events triggered by a particular device generally follow a set pattern, and
often in pairs: start/end, down/up, in/out. One would not expect a "key down"
event for a given key to be followed by another "key down" event without an
intervening "key up" event.
Who benefits
- Users with blindness or some users with a physical disability, and anyone
without a pointing device.
Example techniques
- When using the "Document Object Model (DOM) Level 2 Events Specification"
[DOM2EVENTS], activate an event
handler as described in
section 1.5:
- Create an event of the given type by calling
DocumentEvent.createEvent, which takes an event type as parameter,
then
- Dispatch this event using
EventTarget.dispatchEvent.
- To preserve the expected order of events, provide a dynamically changing
menu of available handlers. For example, an initial menu of handlers might only
allow the user to trigger an
onmousedown event. Once triggered,
the menu would not allow onmousedown but would allow
onmouseup and onmouseover.
- In some markup languages, it is possible (though somewhat nonsensical) for
two actions to be assigned to the same input event type for a given element
(e.g., one through an explicit event handler and one "intrinsic" to the
element). In this case, offer the user a choice of which action to take.
- For example, in HTML 4 [HTML4], input device event handlers
are described in
section 18.2.3. They are:
onclick, ondblclick,
onmousedown, onmouseover, onmouseout,
onfocus, onblur, onkeypress,
onkeydown, and onkeyup.
- In "Document Object Model (DOM) Level 2 Events Specification"
[DOM2EVENTS], focus and
activation types are discussed in
section 1.6.1. They are:
DOMFocusIn, DOMFocusOut,
and DOMActivate. These events are specified independent of a
particular input device type.
- In "Document Object Model (DOM) Level 2 Events Specification"
[DOM2EVENTS], mouse event types
are discussed in
section 1.6.2. They are:
click, mousedown,
mouseup, mouseover, mousemove and
mouseout.
- The DOM Level 2 Events specification does not provide a key event
module.
- Sequential
navigation technique: Add each input device event handler to the navigation
order (refer to checkpoint 9.3).
Alert the user when the user has navigated to an event handler, and allow
activation. For example, an link that also has onmouseover and onMouseOut event
handlers defined, might generate three "stops" in the navigation order: one for
the link and two for the event handlers. If this technique is used, allow
configuration so that input device event handlers are not inserted in the
navigation order.
- Query technique: Allow the user to query the element with content focus for
a menu of input device event handlers.
- Descriptive information about handlers can allow assistive technologies to
choose the most important functions for activation. This is possible in the
Java Accessibility API [JAVAAPI], which provides an
AccessibleAction Java interface. This interface provides a list of actions and
descriptions that enable selective activation.
See also checkpoint
6.3.
- Using MSAA [MSAA] on the Windows platform:
- Retrieve the node in the document object that has current focus.
- Call the
IHTMLDocument4::fireEvent method on that
node.
Related techniques
- See image map
techniques.
References
- For information on how to register event handlers through the DOM, and
dispatch events properly, refer to
Section
1.3 Event listener registration in "Document Object Model (DOM) Level 2
Events Specification" [DOM2EVENTS].
- For example,
section 16.5 of the SVG 1.0 Candidate Recommendation
[SVG] specifies processing order for
user interface events.
-
Ensure that every message (e.g., prompt, alert, or notification) that is a
non-text element and
is part of the user agent user
interface has a text
equivalent.
Note: For example, if the user is alerted of an event by an
audio cue, a visually-rendered text equivalent in the status bar could satisfy
this checkpoint. Per checkpoint
6.5, a text equivalent for each such message must be available through an
API. See also
checkpoint 6.6 for
requirements for programmatic notification of changes to the user
interface.
Notes and rationale
- User agents should use modality-specific messages in the user interface
(e.g., graphical scroll bars, beeps, and flashes) as long as redundant
mechanisms are available or possible. These redundant mechanisms will benefit
all users, not just users with disabilities.
Who benefits
- Users with blindness, deafness, or who are hard of hearing. Mechanisms that
are redundant to audio will benefit individuals who are deaf, hard of hearing,
or operating the user agent in a noisy or silent environment where the use of
sound is not practical.
Example techniques
- Render text messages on the status bar of the graphical user interface.
Allow users to query the viewport for this status information (in addition to
having access through graphical rendering).
- Make available information in a manner that allows other software to
present it according to the user's preferences. For instance, if proportional
scroll bars are used in the graphical interface to indicate the position of the
viewport in content, make available this same information in text form. For
instance, this will allow other software to render the proportion of content
viewed as synthesized speech or as braille.
Doing more
- Allow configuration to render or not render status information (e.g., allow
the user to hide the status bar).
2.1 Render content according to
specification (P1)
Checkpoint 2.1
- Render content according to format specification
(e.g., for a markup language or style sheet language).
- Rendering requirements include format-defined interactions between author
preferences and user preferences/capabilities (e.g., when to render the
alt attribute in HTML, the
rendering order of nested OBJECT elements in HTML, test attributes
in SMIL, and the cascade in CSS2).
- When a rendering requirement of another specification contradicts a
requirement of UAAG 1.0, the user agent may disregard the rendering requirement
of the other specification and still satisfy this checkpoint; see the section
on the relation of User Agent Accessibility Guidelines 1.0 to
general
software design guidelines and other specifications for more
information.
- The user agent is not required to satisfy this checkpoint for all
implemented specifications; see the section on
conformance
profiles for more information.
- This checkpoint excludes the requirements of
checkpoint
2.6.
Note: If a conforming user agent does not render a content
type, it should allow the user to choose a way to handle that content (e.g., by
launching another application or by saving it to disk).
Notes and rationale
- Provision two of the checkpoint only applies when the rendering requirement
of another specification contradicts the requirements of the current document;
no exemption is granted if the other specification is consistent with or silent
about a requirement made by the current document.
Who benefits
- Users with disabilities when specifications include features that promote
accessibility (e.g., scalable graphics benefit users with low vision, style
sheets allow users to override author and user style sheets).
Example techniques
- Provide access to attribute values (one at a time, not as a group). For
instance, allow the user to select an element and read values for all
attributes set for that element. For many attributes, this type of inspection
should be significantly more usable than a view of the text source.
- When content changes dynamically (e.g., due to embedded scripts or
automatic content retrieval), users need to have access to the content before
and after the change.
- Make available information about abbreviation and acronym expansions. For
instance, in HTML, look for abbreviations specified by the
ABBR
and ACRONYM elements. The expansion may be given with the
title attribute (refer to the Web Content Accessibility Guidelines
1.0 [WCAG10], checkpoint 4.2). To
provide expansion information, user agents may:
- Allow the user to configure that the expansions be used in place of the
abbreviations.
- Provide a list of all abbreviations in the document, with their expansions
(a generated glossary of sorts).
- Generate a link from an abbreviation to its expansion.
- Allow the user to query the expansion of a selected or input
abbreviation.
- If an acronym has no expansion in one location, look for another occurrence
in content that does. User agents may also look for possible expansions (e.g.,
in parentheses) in surrounding context, though that is a less reliable
technique.
Related techniques
- See the sections on access to
content, link techniques,
table techniques,
frame techniques, and
form techniques.
Doing more
- If the requirements of the current document contradict the rendering
requirements of another specification, the user agent may offer a configuration
to allow conformance to one or the other specification.
References
- Sections 10.4 ("Client Error 4xx") and 10.5 ("Server Error 5xx") of the
HTTP/1.1 specification [RFC2616] state that user agents
should have the following behavior in case of these error conditions:
Except when responding to a HEAD request, the server SHOULD include an
entity containing an explanation of the error situation, and whether it is a
temporary or permanent condition. These status codes are applicable to any
request method. User agents SHOULD display any included entity to the
user.
- For content authored in text formats, provide a
view of the text source.
- For the purposes of this checkpoint, a text format is:
- any media object given an Internet media type of "text" (e.g.,
"text/plain", "text/html", or "text/*") as defined in RFC 2046
[RFC2046], section 4.1, or
- any media object identified by Internet media type to be an XML document
(as defined in [XML], section 2) or SGML application.
Refer, for example, to Internet media types defined in "XML Media Types"
[RFC3023].
- The user agent is only required to satisfy this checkpoint for text formats
that are part of a conformance claim; see the section on
conformance
profiles for more information. However, user agents should provide a text
view for all implemented text formats.
Notes and rationale
- In general, user agent developers should not rely on a "source view" to
convey information to users, most of whom are not familiar with markup
languages. A source view is still important as a "last resort" to some users as
content might not otherwise be accessible at all.
Who benefits
- Users with blindness, low vision, deafness, hard of hearing, and any user
who requires the text source to understand the content.
Example techniques
- Make the text view useful. For instance, enable links (i.e.,
URIs), allowing searching and other navigation within the view.
- A source view is an easily-implementable view that will help users inspect
some types of content, such as style sheet fragments or scripts. This does not
mean, however, that a source view of style sheets is the best user
interface for reading or changing style sheets.
Doing more
- In the absence of authoritative Internet media type information to the
contrary, provide a text view of any media object identified as XML or SGML by
a DOCTYPE indication conforming to the rules of those formats. User agents
receive media objects in many ways. The HTTP protocol is somewhat reliable as
regards providing Internet media type information for the data so delivered.
The
file: and ftp: URI schemes, on the other hand, do
not provide this metadata. In cases like these, using the built-in markings of
XML and SGML objects is appropriate and should be expected.
- Allow configuration to provide access to each
piece of unrendered conditional content "C".
- When a specification does not explain how
to provide access to this content, do so as follows:
- If C is a summary, title, alternative, description, or expansion of another
piece of content D, provide access through at least one of the following
mechanisms:
- (1a) render C in place of D;
- (2a) render C in addition to D;
- (3a) provide access to C by allowing the user to query D. In this case, the
user agent must also alert the user, on a per-element basis, to the existence of C (so that
the user knows to query D); and
- (4a) allow the user to follow a link to C from the context of
D.
- Otherwise, provide access to C through at least one of the following
mechanisms:
- (1b) render a placeholder for C, and
allow the user to view the original author-supplied content associated with
each placeholder;
- (2b) provide access to C by query (e.g., allow the user to query an element
for its attributes). In this case,
the user agent must also alert the user, on a per-element basis, to the
existence of C; and
- (3b) allow the user to follow a link in context to
C.
- To satisfy provision one of this checkpoint, the configuration may be a
switch that, for all content, turns on or off the access mechanisms described
in provision two.
- To satisfy provision two of this checkpoint, the user agent may provide
access on a per-element basis (e.g., by allowing the user to query individual
elements) or for all elements (e.g., by offering a configuration to render
conditional content all the time).
- To satisfy the requirement of provision two of this checkpoint to allow the
user to view the content associated with each placeholder, the user agent may either
render the associated content in a separate viewport or in place of the
placeholder.
- For the placeholder requirement of
provision two of this checkpoint, a request to view the original content
associated with a placeholder is considered
an explicit user request to render
that content.
- The user agent is not required to include placeholders in the
document object. A placeholder that
is part of the document object should conform to the Web Content Accessibility
Guidelines 1.0 [WCAG10]. If a placeholder is not
part of the document object, it is part of the user interface only (and
subject, for example, to checkpoint
1.3).
- Conformance detail:
For all
content
Note: For instance, an HTML user agent might allow users to
query each element for access to conditional content supplied for the
alt, title, and longdesc attributes. Or,
the user agent might allow configuration so that the value of the
alt attribute is rendered in place of all IMG
elements (while other conditional content might be made available through
another mechanism).
Notes and rationale
- There may be more than one piece of conditional content associated with
another piece of content (e.g., multiple captions tracks associated with the
visual track of a presentation).
- Note that the alert requirement of this checkpoint is per-element. A single
resource-level alert (e.g., "there is conditional content somewhere here") does
not satisfy the checkpoint, but may be part of a solution for satisfying this
checkpoint. For example, the user agent might indicate the presence of
conditional content "somewhere" with menu in the toolbar. The menu items could
provide both per-element alert and access to the content (e.g., by opening a
viewport with the conditional content rendered).
Who benefits
- Any user for whom the author has provided conditional content for
accessibility purposes. This includes: text equivalents for users with
blindness or low vision, or users who are deaf-blind, and captions, for users
who with deafness or who are hard of hearing.
Example techniques
- Allow users to choose more than one piece of conditional content at a given
time. For instance, users with low vision may want to view images (even
imperfectly) but require a text equivalent for the image; the
text may be rendered with a large font or as
synthesized speech.
- In HTML 4 [HTML4], conditional content
mechanisms include the following:
- Allow the user to
configure how the user agent renders a long description (e.g.,
longdesc in HTML 4
[HTML4]). Some possibilities
include:
- Render the long description in a separate view.
- Render the long description in place of the associated element.
- Do not render the long description, but allow the user to query whether an
element has an associated long description (e.g., with a context-sensitive
menu) and provide access to it.
- Use an icon (with a text equivalent) to indicate the
presence of a long description.
- Use an audio cue to indicate the presence of a long description when the
user navigates to the element.
- For an object (e.g., an image) with an author-specified geometry that the
user agent does not render, allow the user to configure how the conditional
content should be rendered. For example, within the specified geometry, or by
ignoring the specified geometry altogether.
- For multimedia presentations with several alternative tracks, ensure access
to all tracks and allow the user to select individual tracks. (As an example,
the QuickTime player [QUICKTIME] allows users to turn
on and off any number of tracks separately.) For example, construct a list of
all available tracks from short descriptions provided by the author (e.g.,
through the
title attribute).
- For multimedia presentations with several alternative tracks, allow users
to choose tracks based on natural language preferences. SMIL
1.0 [SMIL] allows users to specify
captions in different natural languages. By
setting language preferences in the SMIL player (e.g., the G2 player
[G2]), users may access captions (or
audio) in different languages. Allow users to specify different languages for
different content types (e.g., English audio and Spanish captions).
- If a multimedia presentation has several captions (or subtitles) available, allow the
user to choose from among them. Captions might differ, for example, in level of
detail, reading level or natural language. Multilingual
audiences may wish to have captions in different natural languages on the screen at
the same time. Users may wish to use both captions and audio descriptions
concurrently as well.
- Make apparent through the user agent user interface
which audio tracks are meant to
be played separately (e.g., by allowing the user to select each one
independently from a menu).
-
Section 7.8.1 of SMIL 2.0 [SMIL20] defines the
readIndex attribute, which specifies the position of the current
element in the order in which values of the longdesc,
title, and alt attributes are to be read
aloud.
Related techniques
- See the section on access to
content.
Doing more
- If the user agent satisfies the checkpoint by implementing 1b
(placeholders), allow the user to toggle back and forth between a placeholder
and the original author-supplied content. Some users with a cognitive
disability may find it difficult to access content after turning on rendering
of too many images (even when those images were turned on one by one). A sample
technique is to allow the user to designate a placeholder and request to view
the associated content in a separate viewport (e.g., through a
context menu), leaving the placeholder
in context. Allow the user to close the new viewport manually.
- Make information available with different levels of detail. For example,
for a voice browser, offer two
options for HTML
IMG elements:
- Speak only
alt text by default, but allow the user to hear
longdesc text on an image by image basis.
- Speak
alt text and longdesc for all
images.
- Allow the user to configure different natural language preferences for
different types of conditional content (e.g.,
captions and audio descriptions). Users with disabilities may need to choose
the language they are most familiar with in order to understand a presentation
for which supplementary tracks are not all available in all desired languages.
In addition, some users may prefer to hear the program audio in its original
language while reading captions in another, fulfilling the function of
subtitles or to improve foreign language comprehension. In classrooms, teachers
may wish to configure the language of various multimedia elements to achieve
specific educational goals.
2.4 Allow time-independent interaction
(P1)
Checkpoint 2.4
- For rendered content where user input is
only possible within a finite time interval controlled by the user agent, allow
configuration to provide a view where user
interaction is time-independent.
- The user agent may satisfy this checkpoint by pausing processing
automatically to allow for user input, and resuming processing on
explicit user request. When
using this technique, pause at the end of each time interval where user input
is possible. In the paused state:
- Alert the user that the rendered content has been paused
(e.g., highlight the pause button in a multimedia player's
control panel).
- Highlight which enabled elements are
time-sensitive.
- Allow the user to interact with the enabled elements.
- Allow the user to resume on explicit user request (e.g., by
pressing the play button in a multimedia player's control panel; see also
checkpoint
4.5).
- The user agent may satisfy this checkpoint by generating a
time-independent (or, "static") view, based on the original
content, that offers the user the same
opportunities for interaction. The static view should reflect the structure and
flow of the original time-sensitive presentation; orientation cues will help
users understand the context for various interaction
opportunities.
- When satisfying this checkpoint for a real-time presentation, the user
agent may discard packets that continue to arrive after the construction of the
time-independent view (e.g., when paused or after the construction of a static
view).
- This checkpoint does not
apply
when the user agent cannot
recognize
the time interval in the presentation format, or when the user agent cannot
control the timing (e.g., because it is controlled by the
server).
Note: If the user agent satisfies this checkpoint by
pausing automatically, it may be necessary to pause more than once when there
are multiple opportunities for time-sensitive user interaction. When pausing,
pause synchronized content as well (whether rendered in the same or different
viewports) per checkpoint
2.6. In SMIL 1.0 [SMIL], for example, the
begin, end, and dur
attributes synchronize presentation
components. See also checkpoint 3.5, which involves client-driven content
retrieval.
Notes and rationale
- The user agent could satisfy this checkpoint by allowing the user to step
through an entire presentation manually (as one might advance frame by frame
through a movie). However, this is likely to be tedious and lead to information
loss, so the user agent should preserve as much of the flow and order of the
original presentation as possible.
- The requirement to pause at the end (rather than at the beginning)
of a time-interval is to allow the user to review content that may change
during the elapse of this time.
- The configuration option is important because techniques used to satisfy
this checkpoint may lead to information loss for some types of content (e.g.,
highly interactive real-time presentations).
- When different streams of time-sensitive content are not synchronized (and
rendered in the same or different viewports), the user agent is not required to
pause the pieces all at once. The assumption is that both streams of content
will be available at another time.
Who benefits
- Some users with a physical disability who may not have the time to interact
with the content, and users with serial access to content or who
navigate
sequentially.
Example techniques
- Some HTML user agents recognize time intervals specified through the
META element, although this usage is not defined in HTML 4
[HTML4].
- Render time-dependent links as a static list that occupies the same screen
real estate; authors may create such documents in SMIL 1.0
[SMIL]. Include temporal context in
the list of links. For example, provide the time at which the link appeared
along with a way to easily jump to that portion of the presentation.
- For a presentation that is not "live," allow the user to choose from a menu
of available time-sensitive links (essentially making them
time-independent).
Doing more
- Provide a view where time intervals are lengthened, but not infinitely
(e.g., allow the user to multiple time intervals by 3, 5, and 10). Or, allow
the user to add extra time (e.g., 10 seconds) to each time interval.
- Allow the user to view a list of all media elements or links of the
presentations sorted by start or end time or alphabetically.
- Alert the user whenever pausing the user agent may lead to packet
loss.
References
- Refer to
section
4.2.4 of SMIL 1.0 [SMIL] for information about the SMIL
time model.
2.5 Make captions, transcripts,
audio descriptions available (P1)
Checkpoint 2.5
- Allow configuration or control to render text transcripts,
collated text
transcripts, captions, and
audio descriptions
in content at the same time as the associated
audio tracks and visual tracks.
Notes and rationale
- Users may wish to a read a transcript at the same time as a related visual
or audio track and pause the visual or audio track while reading; see
checkpoint 4.5.
Who benefits
- Users with blindness or low vision (audio descriptions and text captions)
and users with deafness or who are hard of hearing.
Example techniques
- Allow users to turn on and off audio descriptions and captions.
- For the purpose of applying this clause, SMIL 1.0
[SMIL] user agents should recognize
as captions any media object whose reference from SMIL is guarded by the
system-captions test attribute.
- SMIL user agents should allow users to configure whether they want to view
captions, and this user interface switch should be bound to the
system-captions test attribute. Users should be able to indicate a
preference for receiving available audio descriptions. Note:
SMIL 1.0 [SMIL] does not include a mechanism
analogous to system-captions for audio descriptions, though
[SMIL20] does, called
systemAudioDesc.
- Another SMIL 1.0 test attribute,
system-overdub-or-captions,
allows users to choose between subtitles and overdubs in multilingual
presentations. User agents should not interpret a value of
caption for this test attribute as meaning that the user prefers
accessibility captions; that is the purpose of the system-captions
test attribute. When subtitles and accessibility captions are both available,
users who are deaf may prefer to view captions, as they generally contain
information not in subtitles, including information on music, sound effects,
and who is speaking.
- User agents that play QuickTime movies should allow the user to turn on and
off the different tracks embedded in the movie. Authors may use these
alternative tracks to provide content for accessibility purposes. The Apple
QuickTime player provides this feature through the menu item "Enable
Tracks."
- User agents that play Microsoft Windows Media Object presentations should
provide support for Synchronized Accessible Media Interchange (SAMI
[SAMI]), a protocol for creating and
displaying captions) and should allow users to configure how captions are
viewed. In addition, user agents that play Microsoft Windows Media Object
presentations should allow users to turn on and off other
conditional
content, including audio description and alternative
visual tracks.
References
- Developers implementing SMIL 1.0 [SMIL] should consult "Accessibility
Features of SMIL" [SMIL-ACCESS].
2.6 Respect synchronization cues
(P1)
Checkpoint 2.6
- Respect synchronization cues (e.g., in markup)
during rendering.
Notes and rationale
- The term "synchronization cues" refers to pieces of information that may
affect synchronization, such as the size and expected duration of tracks and
their segments, the type of element and how much those elements can be sped up
or slowed down (both from technological and intelligibility standpoints).
- Captions and audio descriptions may not make
sense unless rendered synchronously with related video or audio content. For
instance, if someone with a hearing disability is watching a video presentation
and reading associated captions, the captions should be synchronized with the audio so that the
individual can use any residual hearing. For audio descriptions, it is crucial
that an audio track and an audio
description track be synchronized to avoid having them both play at once, which
would reduce the clarity of the presentation.
Who benefits
- Users with deafness or who are hard of hearing (e.g., for audio
descriptions and audio tracks), and some users with a cognitive
disability.
Example techniques
- For synchronization in SMIL 2.0 [SMIL20], refer to
section
10, the timing and synchronization module.
- The idea of "sensible time-coordination" of components in the definition of
synchronize centers on the idea of
simultaneity of presentation, but also encompasses strategies for handling
deviations from simultaneity resulting from a variety of causes. Consider how
deviations might be handled for captions for a multimedia presentation such
as a movie clip. Captions consist of a text equivalent of the audio track that
is synchronized with the visual track. Typically, a segment of
the captions appears visually near the video for several seconds while the
person reads the text. As the visual track continues, a new segment of the
captions is presented. However, a problem arises if the captions are longer
than can fit in the display space. This can be particularly difficult if due to
a visual disability, the font size has been enlarged, thus reducing the amount
of rendered caption text that can be presented. The user agent needs to respond
sensibly to such problems, for example by ensuring that the user has the
opportunity to navigate (e.g., scroll down or page down) through the caption
segment before proceeding with the next segment of the visual track.
- Developers of user agents need to determine how they will handle other
synchronization challenges, such as:
- Under what circumstances will the presentation automatically pause? Some
circumstances where this might occur include:
- the segment of rendered caption text is more than can fit on the visual
display
- the user wishes more time to read captions or the collated text
transcript
- the audio description is of longer duration than the natural pause in the
audio.
- Once the presentation has paused, then under what circumstances will it
resume (e.g., only when the user signals it to resume, or based on a predefined
pause length)?
- If the user agent allows the user to jump to a location in a presentation
by activating a link, then how will related tracks behave? Will they jump as
well? Will the user be able to return to a previous location or undo the
action?
-
Allow configuration to generate
repair text when the user agent
recognizes that the author has not provided
conditional
content required by the format specification.
- The user agent may satisfy this checkpoint by basing the repair text on any
of the following available sources of information: URI reference (as defined in
[RFC2396], section 4), content
type, or element type. Note, however, that additional information that would
enable more helpful repair might be available but not "near" the missing
conditional content. For instance, instead of generating repair text on a
simple URI reference, the user agent might look for helpful information near a
different instance of the URI reference in the same document object, or might
retrieve useful information (e.g., a title) from the resource designated by the
URI reference.
Note: Some markup languages (such as HTML 4
[HTML4] and SMIL 1.0
[SMIL] require the author to provide
conditional content for some elements (e.g., the alt
attribute on the IMG
element).
Notes and rationale
- Following are some examples of conditional content that is required by
format specification:
- In HTML 4 [HTML4], the
alt
attribute is required for the IMG and AREA elements
(for validation). (In SMIL 1.0 [SMIL], on the other hand,
alt is not required on media objects.)
- Whatever the format, text equivalents for non-text content are required by
the Web Content Accessibility Guidelines 1.0
[WCAG10].
- Conditional content may come from markup, or even inside images (e.g.,
refer to "Describing and retrieving photos using RDF and HTTP"
[PHOTO-RDF]).
Who benefits
- Users with blindness or low vision.
Example techniques
- When HTTP is used, HTTP headers provide information about the URI of the
Web resource ("Content-Location") and
its type ("Content-Type"). Refer to the HTTP/1.1 specification
[RFC2616], sections 14.14 and
14.17, respectively. Refer to "Uniform Resource Identifiers (URI): Generic
Syntax" ([RFC2396], section 4) for
information about URI references, as well as the HTTP/1.1 specification
[RFC2616], section 3.2.1.
- An image or another piece of content may appear several times in content.
If one instance has associated conditional content but others do not, reuse
what the author did provide.
- Repair content may be part of another piece of content. For instance, some
image formats allow authors to store metadata there; refer to "Describing and
retrieving photos using RDF and HTTP"
[PHOTO-RDF].
Related techniques
- See content repair techniques,
and cell header repair
strategies.
Doing more
- When configured per provision one of this checkpoint, inform the user
(e.g., in the generated text itself) that this content was not provided by the
author.
- Use heuristics based on the specification format. For instance, if the
alt attribute is missing on the IMG element in HTML,
but the title attribute is present, base the repair content on the
title.
References
- The "Altifier Tool" [ALTIFIER] illustrates smart
techniques for generating text equivalents (e.g., for images)
when the author has not specified any.
- Additional repair techniques may be available from W3C's
Evaluation and Repair Tools Working
Group.
- Allow at
least two configurations for when the
user agent recognizes that
conditional
content required by the format specification is present but
empty content:
Note: In some authoring scenarios, empty content (e.g.,
alt="" in HTML) may make an appropriate text equivalent, such as when
non-text content has
no other function than pure decoration, or when an image is part of a "mosaic"
of several images and does not make sense out of the mosaic. Refer to the Web
Content Accessibility Guidelines 1.0 [WCAG10] for more information about
text equivalents.
Notes and rationale
- User agents should render nothing in this case because the author may
specify an empty text equivalent
for content that has no function in the page other than as
decoration.
Who benefits
- Users with blindness or low vision.
Example techniques
- The user agent should not render generic labels such as "[INLINE]" or
"[GRAPHIC]" for empty conditional
content (unless configured to do so).
- If no captioning information is available and captioning is turned on,
render "No captioning information available" in the captioning region of the
viewport (unless configured not to generate repair content).
Doing more
- Labels (e.g., "[INLINE]" or "[GRAPHIC]") may be useful in some situations,
so the user agent may allow configuration to render "No author text" (or
similar) instead of empty conditional content.
2.9 Render conditional
content automatically (P3)
Checkpoint 2.9
- Allow configuration to render all
conditional
content automatically.
- As part of satisfying provision
one of this checkpoint, provide access according to specification, or where
unspecified, by applying one of the techniques 1a, 2a, or 1b defined in
provision two of checkpoint
2.3.
- The user agent may satisfy provision one of this checkpoint through
multiple configurations (e.g., a first configuration to render one type of
conditional content automatically and a second to render another
type).
- The user agent is not required to render all conditional content at the
same time in a single viewport.
- Conformance detail:
For all
content
Note: For instance, an HTML user agent might allow
configuration so that the value of the alt attribute is rendered in place of all
IMG elements (while other conditional content might be made
available through another mechanism).
Who benefits
- Users who have difficulties with navigation and manual access to content,
including some users with a physical disability and users with blindness or low
vision.
Example techniques
- Provide a "conditional content view," where all content that is not
rendered by default is rendered in place of associated content. For example,
Amaya [AMAYA] offers a "Show alternate"
view that accomplishes this. Note, however, cases where an element has more
than one piece of associated conditional content. For long conditional content,
instead of rendering in place, link to the content.
2.10 Don't render text in
unsupported writing systems (P3)
Checkpoint 2.10
- For graphical user agents, allow
configuration not to render
text in unsupported scripts (i.e.,
writing systems) when that text would
otherwise be rendered.
- When configured per provision one
of this checkpoint, indicate to the user in context that author-supplied
content has not been rendered due to lack of support for a writing
system.
- This checkpoint does not require the user agent to allow different
configurations for different writing systems.
Note: The primary purpose of this checkpoint is to benefit
users with serial access to content
or who navigate
sequentially, allowing them to skip portions of content that would be
unusable if rendered graphically as "garbage."
Notes and rationale
- A script is a means of supporting the visual rendering of content in a
particular natural language. So, for user agents that render content visually,
a user agent might not recognize "the Cyrillic script," which would mean that
it would not support the visual rendering of Russian, Ukrainian, and other
languages that employ Cyrillic when written.
- There may be cases when a conforming user agent supports a natural language
but a speech synthesizer does not, or vice versa.
Who benefits
- Users with serial access to content
or who navigate
sequentially.
Example techniques
- Use a text substitute or accessible graphical icon to indicate that content
in a particular language has not been rendered. For instance, a user agent that
does not support Korean (e.g., does not have the appropriate fonts or voice
set) should allow configuration to announce the language change with the
message "Unsupported language — unable to render" (e.g., when the
language itself is not recognized) or "Korean not supported — unable to
render" (e.g., when the language is recognized by the user agent does not have
resources to render it). The user should also be able to choose no alert of
language changes. Rendering could involve speaking in the designated natural
language in the case of a voice browser or screen reader. If the natural
language is not supported, the language change alert could be spoken in the
default language by a screen reader or voice browser.
- A user agent may not be able to render all characters in a document
meaningfully, for instance, because the user agent lacks a suitable font. For
instance,
section
5.4 of HTML 4 [HTML4] recommends the following for
undisplayable characters:
- Adopt a clearly visible (or audible), but unobtrusive mechanism to alert
the user of missing resources.
- If missing characters are presented using their numeric representation, use
the hexadecimal (not decimal) form since this is the form used in character set
standards.
- When HTTP is used, HTTP headers provide information about content encoding
content language ("Content-Language"). Refer to the HTTP/1.1 specification
[RFC2616], section 14.12.
- CSS2's attribute selector may be used with the HTML
lang or
XML xml:lang attributes to control rendering based on
recognized natural language information.
Refer also to the
:lang
pseudo-class ([CSS2], section 5.11.4).
Related techniques
- See techniques for generated
content, which may be used to insert text to indicate a language change.
- See content repair techniques
and accessibility and internationalization
techniques.
- See techniques for synthesized
speech.
Doing more
- The UAWG recognizes that the intent of this checkpoint
-- to reduce confusion and save time for the user -- applies to text rendered
as speech or braille as well, but those requirements are not part of UAAG 1.0,
in part due to lack of implementation experience.
References
- For information on language codes, refer to "Codes for the representation
of names of languages" [ISO639].
- Refer to "Character Model for the World Wide Web"
[CHARMOD]. It contains basic
definitions and models, specifications to be used by other specifications or
directly by implementations, and explanatory material. In particular, this
document addresses early uniform normalization, string identity matching,
string indexing, and conventions for URIs.
In addition to the techniques below, refer also to the section on
user control of style.
- Allow configuration not to render background
image content.
- The user agent may satisfy this checkpoint with a configuration to not
render any images, including background images. However, user agents
should satisfy this checkpoint by allowing users to turn off background images
alone, independent of other types of images in content.
- This checkpoint must be satisfied for all implemented image specifications; see the
section on
conformance
profiles.
- When configured not to render background images, the user agent is not
required to retrieve them until the user requests them explicitly. When
background images are not rendered, user agents should render a solid
background color instead; see checkpoint 4.3 for information about text colors.
- This checkpoint only requires control of background images for
"two-layered" renderings, where the background is considered the first layer
and everything rendered above it is considered the second layer.
-
Conformance
profile labels:
Image
Note: When background images are not rendered, they are
considered conditional
content. See checkpoint
2.3 for information about providing access to conditional content.
Notes and rationale
- This checkpoint does not address issues of multi-layered renderings and
does not require the user agent to change background rendering for multi-layer
renderings (refer, for example, to the
z-index property in
Cascading Style Sheets, level 2 ([CSS2], section 9.9.1).
Who benefits
- Some users with a cognitive disability or color deficiencies who may find
it difficult or impossible to read superimposed text or understand other
superimposed content.
Example techniques
- If background images are turned off, make available to the user associated
conditional
content.
- In CSS, background images may be turned on/off with the
background and background-image properties
([CSS2], section 14.2.1).
Doing more
- Allow control of image depth in multi-layer presentations.
3.2 Toggle audio, video, animated
images (P1)
Checkpoint 3.2
- Allow configuration not to render audio, video,
or animated image content, except on
explicit user
request.
- The user agent may satisfy this checkpoint by making video and animated
images invisible and audio
silent, but this technique is not
recommended.
- This configuration is required for content rendered without any user
interaction (including content rendered on load or as the result of a script),
as well as content rendered as the result of user interaction that is not an
explicit user request (e.g.,
when the user activates a link).
- This checkpoint must be satisfied for all implemented audio, video, and animated
image specifications; see the section on
conformance
profiles.
- When configured not to render audio, video, or animated images except on
explicit user request, the user agent is not required to retrieve them until
the user requests them explicitly.
-
Conformance
profile labels:
Animation,
Video,
Audio
Note: See guideline 4 for additional requirements related to the
control of rendered audio, video, and animated images. When these content types
are not rendered, they are considered conditional content. See
checkpoint 2.3 for
information about providing access to conditional content.
Who benefits
- Some users with a cognitive disability, for whom an excess of visual
information (and in particular animated information) might make it impossible
to understand parts of content. Also, audio rendered automatically on load may
interfere with speech synthesizers.
Example techniques:
- For user agents that hand off content to different rendering engines, the
configuration should cause the content not to be handed off, and instead a
placeholder rendered.
- The "silent" or "invisible" solution for satisfying this checkpoint (e.g.,
by implementing the
visibility property defined in section 11.2 of CSS 2
[CSS2]) is not recommended. This
solution means that the content is processed, though not rendered, and
processing may cause undesirable side effects such as firing events. Or,
processing may interfere with the processing of other content (e.g., silent
audio may interfere with other sources of sound such as the output of a speech
synthesizer). This technique should be deployed with caution.
- As a placeholder for an animated image, render a motionless image built
from the first frame of the animated image.
3.3 Toggle animated or blinking text
(P1)
Checkpoint 3.3
- Allow configuration to render
animated or blinking text
content as motionless, unblinking text.
Blinking text is text whose visual rendering alternates between visible and
invisible, at any rate of change.
- In this configuration, the user must still have access to the same text
content, but the user agent may render it in a separate viewport (e.g., for
large amounts of streaming text).
- The user agent may satisfy this checkpoint by always
rendering animated or blinking text as motionless, unblinking
text.
Note: Animation (a rendering effect) differs from streaming
(a delivery mechanism). Streaming content might be rendered as an animation
(e.g., an animated stock ticker or vertically scrolling text) or as static text
(e.g., movie subtitles, which are rendered for a limited time, but do not give
the impression of movement).
Notes and rationale
- The definition of blinking text is based on the CSS2 definition of the
blink value; refer to [CSS2], section 16.3.1.
Who benefits
- Users with photosensitive epilepsy (for whom flashing content may trigger
seizures) and users with some cognitive disorders (for whom the distraction may
make the content unusable). Blinking text can also affect screen reader users,
since screen readers (in conjunction with speech synthesizers or braille
displays) may re-render the text every time it blinks.
- Configuration is preferred as some users may benefit from blinking effects
(e.g., users who are deaf or hard of hearing). However, the priority of this
checkpoint was assigned on the basis of requirements unrelated to this
benefit.
Example techniques
- The user agent may render the motionless text in a number of ways. Inline
is preferred, but for extremely long text, it may be better to render the text
in another viewport, easily reachable from the user's browsing context.
- Allow the user to turn off animated or blinking text through the
user agent user interface
(e.g., by pressing the Escape key to stop animations).
- Some sources of blinking and moving text are:
- The
BLINK element in HTML. The BLINK element is
not defined by a W3C specification.
- The
MARQUEE element in HTML. The MARQUEE element
is not defined by a W3C specification.
- The
blink value of the
text-decoration property in CSS
([CSS2], section 16.3.1).
- In JavaScript, to control the start and speed of scrolling for a
MARQUEE element:
document.all.myBanner.start();
document.all.myBanner.scrollDelay =
100
- Allow configuration not to execute any executable
content (e.g., scripts and applets).
Note: Scripts and applets may provide very useful
functionality, not all of which causes accessibility problems. Developers
should not consider that the user's ability to turn off scripts is an effective
way to improve content accessibility; turning off scripts means losing the
benefits they offer. Instead, developers should provide users with finer
control over user agent or content behavior known to raise accessibility
barriers. The user should only have to turn off scripts as a last resort.
Notes and rationale
- Executable content includes scripts, applets, and ActiveX controls. This checkpoint
does not apply to plug-ins; they are not part of
content.
- Executable content includes those that run "on load" (e.g., when a document
loads into a viewport) and when other events occur (e.g., user interface
events).
- Where possible, authors should encode knowledge in a declarative manner
(i.e., through static definitions and expressions) rather than in scripts.
Knowledge and behaviors embedded in scripts can be difficult or impossible to
extract, which means that user agents are less likely to be able to offer
control by the user over the script's effect. For instance, with SVG animation
(see chapter
19 of SVG 1.0 [SVG]), one can create animation
effects in a declarative manner, using recognizable elements and
attributes.
Who benefits
- Some users with photosensitive epilepsy; flickering or flashing,
particularly in the 4 to 59 flashes per second (hertz) range, may trigger
seizures. Peak sensitivity to flickering or flashing occurs at 20 hertz. Some
executable content can cause the screen to flicker.
Example techniques
- Some user agents allow users to turn off scripts in the "Security" part of
the user interface. Since some users seeking accessibility features may not
think to look there, include the on/off switch in an accessibility part of the
user interface as well. Also, include a "How to turn off scripts" entry in the
documentation index.
- Allow users to turn on and off, independently, support for different
scripting languages. Note, however, that global configuration for all
executable content is likely to be more convenient for some users.
- Configuration of support for executable content should be decoupled from
other user agent features. For instance, the user should not lose style sheet
capabilities when executable content is turned off, or the inverse.
Related techniques
- See the section on script
techniques.
Doing more
- When support for scripts is turned on, and when the user agent recognizes
that there are script alternatives available (e.g.,
NOSCRIPT in
HTML), alert the user to the presence of the alternative (and make it easily
available). If a user cannot access the script content, the alert will raise
the user's awareness of the alternative, which may be more accessible.
- While this checkpoint only requires an on/off configuration switch, user
agents should allow finer control over executable content. For instance, in
addition to the switch, allow users to turn off just input device event
handlers, or to turn on and off scripts in a given scripting language
only.
3.5 Toggle automatic content
retrieval (P1)
Checkpoint 3.5
- Allow configuration so that the user agent only
retrieves content on
explicit user
request.
- When the user chooses not to retrieve (fresh) content, the user agent may
ignore that content; buffering is not required.
- This checkpoint only applies when the user agent (not the server)
automatically initiates the request for fresh content. However, the user agent
is not required to satisfy this checkpoint for "client-side redirects," i.e.,
author-specified instructions that a piece of content is temporary and
intermediate, and is replaced by content that results from a second
request.
Note: For example, if the user agent supports automatic
content retrieval, to ensure that the user does not become disoriented by
sudden automatic changes, allow configurations such as "Never retrieve content
automatically" and "Require confirmation before content retrieval."
Notes and rationale
- According to
section 7.4.4 of HTML 4 [HTML4], the
http-equiv
attribute of the META element is meant for servers, not clients.
The specification says that "HTTP servers use this attribute to gather
information for HTTP response message headers." However, many deployed user
agents incorrectly use this information for content retrieval or client-side
redirects. For this reason, we recommend that authors who wish to create a
redirect do so by configuring the server through other means. This checkpoint
does not cover the case of client-side redirects.
- Some HTML authors use the
META element
http-equiv="refresh" and the same URI, which has the effect of
causing the user agent to retrieve (possibly new) content at regular intervals.
This checkpoint does cover this case.
Who benefits
- Some users with a cognitive disability, users with blindness or low vision,
and any user who may be disoriented (or simply annoyed) by automatically
changing content.
Example techniques
- Alert the user that suppressing the retrieval may lead to loss of
information (e.g., packet loss).
Doing more
- When configured not to retrieve content automatically, alert the user of
the frequency of retrievals specified in content, and allow the user to
retrieve fresh content manually (e.g., by following a link or confirming a
prompt).
- Allow users to specify their own retrieval frequency.
- Allow at least one configuration for low-frequency retrieval (e.g., every
10 minutes).
- Retrieve new content without displaying it automatically. Allow the user to
view the differences (e.g., by highlighting or filtering) between the currently
rendered content and the new content (including no differences).
- Provide a configuration so that when the user navigates "back" through the
user agent history to a page with a client-side redirect, the user agent does
not re-execute the client-side redirect.
References
- Refer to the HTTP/1.1 specification
[RFC2616] for information about
redirects.
- Allow configuration not to render image
content.
- The user agent may satisfy this checkpoint by making images
invisible, but this
technique is not recommended.
Note: When images are not rendered, they are considered
conditional
content. See checkpoint
2.3 for information about providing access to conditional content.
Notes and rationale
- This priority of checkpoint 3.2 is higher than the priority of this
checkpoint because an excess of moving visual information is likely to be more
distracting to some users than an excess of still visual information.
Who benefits
- Some users with a cognitive disability, for whom an excess of visual
information might make it difficult to understand parts of content.
Related techniques
- See techniques for checkpoint 3.1.
Checkpoints:
4.1,
4.2,
4.3,
4.4,
4.5,
4.6,
4.7,
4.8,
4.9,
4.10,
4.11,
4.12,
4.13,
4.14
In addition to the techniques below, refer also to the section on
user control of style.
- Allow global configuration of the
scale of visually rendered text content. Preserve
distinctions in the size of rendered text as the user increases or decreases
the scale.
- As part of satisfying provision one of
this checkpoint, provide a configuration option to override rendered text sizes specified by
the author or user agent defaults.
- As part of satisfying provision one of
this checkpoint, offer a range of text sizes to the user that includes at
least:
- the range offered by the conventional utility available in the
operating
environment that allows users to choose the text size (e.g., the font
size), or
- if no such utility is available, the range of text sizes supported by the
conventional APIs of the
operating environment for drawing text.