This document contains techniques and further examples, as an informative
aid to developers seeking to implement the Authoring Tool Accessibility
Guidelines. The guidelines and checkpoints for that document are included for
convenience.
This document is part of a series of accessibility documents published by
the W3C Web Accessibility Initiative.
This is a Working Draft of the Authoring Tool Accessibility Guidelines. It
is a draft document and may be updated, replaced or rendered obsolete by other
documents at any time. It is inappropriate to use W3C Working Drafts as
reference material or to cite them as other than "work in progress". This is
work in progress and does not imply endorsement by either W3C or members of
the WAI Authoring Tool (AU) Working Group.
Guideline 2.1 is identified by the working group as a specific area for
review in this draft, although comment is sought on the entire guidelines and
techniques documents.
This draft is published for review by the WAI Interest Group. Following
working group consideration of that review, this draft will be published as a
public working draft. A log of
changes between successive working drafts is available.
The goals of the WAI AU Working
Group are discussed in the WAI AU charter.
Please send comments about this document to the public mailing list: w3c-wai-au@w3.org, archived at http://lists.w3.org/Archives/Public/w3c-wai-au
A list of the current AU Working
Group members is available.
This document is intended as an informative adjunct to the Authoring Tool
Accessibility Guidelines. Although it reproduces the guidelines themselves, it
is not a normative document. It will be periodically updated.
The techniques introduced here are generally suggestions about how a
checkpoint may be fulfilled. They are not the only way of
fulfilling the checkpoint, nor are they a definitive set of requirements for
fulfilling a checkpoint.
The guidelines are intended to be used by developers of all tools used to
produce content for the Web. These include:
-
Editing tools specifically designed to produce Web content (e.g., WYSIWYG HTML editors, SMIL
authoring packages);
-
Tools that offer the option of saving material in a Web format (e.g., word
processors or desktop publishing packages);
-
Tools that translate documents into Web formats (e.g., filters to translate
desktop publishing formats to HTML);
-
Tools that produce multimedia, especially where it is intended for use on the
Web (e.g., video production and editing suites);
-
Tools for site management or site publication, including on-the-fly conversion
and Web site publishing tools;
-
Tools for management of layout (e.g., CSS formatting tools).
The guidelines documents have been organized to address readers seeking
abstract principles of accessible authoring tool design and readers seeking
concrete solutions. The guidelines documents define three terms for different
levels of abstraction:
- Guideline
-
A guideline is a general principle of accessible authoring tool design. A
guideline addresses the question "What accessibility issues should I be aware
of?"
- Checkpoint
-
A checkpoint is a specific way of satisfying one or more guidelines. While
checkpoints describe verifiable actions that may be carried out by the
authoring tool developer, implementation details are described elsewhere. A
checkpoint answers the question "What must/should/may I do to make an
authoring tool (and the content it produces) accessible?"
- Technique
-
A technique is an example of, or further information about implementation of a
checkpoint. A technique answers the question "How might I implement that in an
authoring tool?"
There are three goals:
-
The authoring tool is accessible
-
The authoring tool generates accessible content
-
The authoring tool encourages the creation of accessible content
Checkpoints are assigned priority according to how important they are to
meeting those goals:
- [Priority 1]
-
Essential to meeting those goals
- [Priority 2]
-
Important to meeting those goals
- [Priority 3]
-
Beneficial to meeting those goals
The authoring tool is a software program with standard user interface
elements and as such should follow relevant user interface accessibility
guidelines.
The author may need a different presentation to edit the Web content than
the one they wish ultimately to be displayed. This implies display preferences
that do not manifest themselves in the ultimate markup or style
declarations.
Authoring Web content requires editing a potentially large and complex
document. In order to edit a document the author must be able to locate and
select specific blocks of text, efficiently traverse the document, and quickly
find and mark insertion points. Authors who use screen readers, refreshable
braille displays, or screen magnifiers can make limited use (if at all) of
visual artifacts that communicate the structure of the document and act as
sign posts when traversing the document. There are strategies that make it
easier to navigate and manipulate a marked up document. A compressed view of
the document allows the author to both get a good sense of the overall
structure and to navigate that structure more easily.
Checkpoints:
- 1.1 Use all applicable
operating system and accessibility standards and conventions. [Priority 1]
-
-
Guidelines for specific platforms include
-
"IBM Guidelines for Writing Accessible Applications Using 100% Pure Java" [JAVA-ACCESS] R. Schwerdtfeger, IBM Special Needs
Systems.
-
"An ICE Rendezvous Mechanism for X Window System Clients" [ICE-RAP], W. Walker. A description of how to use the
ICE and RAP protocols for X Window clients.
-
"Information for Developers About Microsoft Active Accessibility" [MS-ACCESS] Microsoft Corporation.
-
"The Inter-Client communication conventions manual" [ICCCM]. A protocol for communication between clients in
the X Window system.
-
"Lotus Notes accessibility guidelines" [NOTES-ACCESS] IBM Special Needs Systems.
-
"Java accessibility guidelines and checklist" [JAVA-CHECKLIST] IBM Special Needs Systems.
-
"The Java Tutorial. Trail: Creating a GUI with JFC/Swing" [JAVA-TUT]. An online tutorial that describes how to
use the Swing Java Foundation Class to build an accessible User Interface.
-
"Macintosh Human Interface Guidelines" [APPLE-HI]
Apple Computer Inc.
-
"The Microsoft Windows Guidelines for Accessible Software Design" [MS-SOFTWARE]. Warning! This is a "self-extracting
archive", an application that will probably only run on MS-Windows systems.
-
Guidelines for specific software types include
-
"The Three-tions of Accessibility-Aware HTML Authoring Tools" [ACCESS-AWARE], J. Richards.
-
"User Agent Accessibility Guidelines (Working Draft)" J. Gunderson, I. Jacobs
eds. (This is a work in progress) [WAI-USERAGENT]
-
General guidelines for producing accessible software include:
-
"Accessibility for applications designers" [MS-ENABLE] Microsoft Corporation.
-
"Application Software Design Guidelines" [TRACE-REF]
compiled by G. Vanderheiden. A thorough reference work.
-
"Designing for Accessibility" [SUN-DESIGN] Eric
Bergman and Earl Johnson. This paper discusses specific disabilities including
those related to hearing, vision, and cognitive function.
-
"EITACC Desktop Software standards" [EITAAC]
Electronic Information Technology Access Advisory (EITACC) Committee.
-
"Requirements for Accessible Software Design" [ED-DEPT] US Department of Education, version 1.1 March
6, 1997.
-
"Software Accessibility" [IBM-ACCESS] IBM Special
Needs Systems
-
"Towards Accessible Human-Computer Interaction" [SUN-HCI] Eric Bergman, Earl Johnson, Sun Microsytems
1995. A substantial paper, with a valuable print bibliography.
-
"What is Accessible Software" [WHAT-IS] James W.
Thatcher, Ph.D., IBM, 1997. This paper gives a short example-based
introduction to the difference between software that is accessible, and
software that can be used by some assistive technologies.
-
User Interfaces are sometimes built as web content, and as such should follow
the Web Content Accessibility Guidelines [WAI-WEBCONTENT] (See also 3 Support accessible authoring
practices )
-
The following are common requirements for producing accessible software. This
list does not necessarily cover all requirements for all platforms, and items
may not be applicable to some software.:
-
Draw text and objects using system conventions
-
Make mouse, keyboard, and API activation of events consistent
-
Provide a User Interface that is "familiar" (to system standards, or across
platform)
-
Use system standard indirections wherever possible
-
Ensure all dialogs, subwindows, etc meet these requirements
-
Avoid blocking assistive technology functions (sticky/mouse keys, screenreader
controls, etc) where possible
-
Allow users to create profiles
-
Allow control of timing, colors, sizes, input/output devices and media
-
Allow users to reshape the user interface - customize toolbars, keyboard
commands, etc
-
Provide Keyboard access to all functions
-
Document all keyboard bindings
-
Provide customizable keyboard shortcuts for common functions
-
Provide logical navigation order for the keyboard interface.
-
Avoid repetitive keying wherever possible
-
Provide mouse access to functions where possible
-
Provide visual (text) equivalents for sound warnings
-
Allow sounds to be turned off
-
Provide text equivalents for images/icons
-
Use customizable (or removable) colors/patterns
-
Ensure high contrast is available (as default setting)
-
Provide text equivalents for all audio
-
Use icons that are resizeable or available in multiple sizes
-
Do not rely on color alone for meaning. Use color for differentiation, in
combination with accessible cues (text equivalents, natural language, etc)
-
Position related text labels and objects consistently, and in an obvious
manner (labels before objects is recommended)
-
Group related controls
-
Ensure default window sizes fit in screen
-
Allow for window resizing (very small to very large)
-
Clearly identify the user focus (and expose it via API)
-
moving focus should not cause unexpected events
-
Allow user control of timing - delays, time-dependent response, etc
-
Allow for navigation between as well as within windows
- 1.2 Allow the author to change the
editing view without changing the
presentational markup defined for the document currently being edited. [Priority 1]
-
In representing the source structure of a document mark elements with textual
brackets rather than purely graphic representations. For example "</>" is
regarded as a textual bracket, since it is made of character elements.
-
Allow the user to create audio style sheets using a visual representation
rather than an audio one (with accessible representation, of course).
-
An authoring tool that offers a "rendered view" of a document, such as a
browser preview mode, may provide an editing view whose presentation can be
controlled independently of the rendered view.
-
A "WYSIWYG"
editor may allow an author to specify a local stylesheet, that will override
the "published" style of the document.
- 1.3 Allow the author to display an
editable equivalent for each element, object, and property that is available
for editing. [Priority 1]
-
Enable the author to view a document in its "source" mode.
-
For a site management tool, allow the author to display a site map in text
form (e.g., as a structured tree file).
-
Allow the author to specify that filenames or alternative content are rendered
in place of images or other multimedia content while editing.
-
Include attributes / properties of elements in a view of the structure.
-
Provide access to a list of properties via a "context menu" for each element.
-
Graphically represented elements cannot be identified by assistive
technologies that translate text to braille, speech, or large print, unless
there is appropriate information available as text. For example, some HTML
authoring tools display start and end tags as graphics.
-
An authoring tool may offer several views of the same document.
- 1.4 Enable navigation and editing
via the structure of the document. [Priority 1]
-
Allow the author to navigate via an "outline" or "structure" of the document
being edited. This is particularly important for people who are using a slow
interface such as a small braille device, or speech output, or a single switch
input device. It is equivalent to the ability provided by a mouse interface to
move rapidly around the document.
-
To minimally satisfy this checkpoint, allow navigation from element to
element.
- 1.5 Enable editing of the structure of
the document. [Priority 2]
-
An authoring tool may offer a structured tree view of the document, allowing
the author to move among, select and cut, copy or paste elements of the
document.
The first step towards producing accessible content is conformance with
standards, which promotes interoperability.
Checkpoints:
- 2.1 Use applicable W3C Recommendations.
[Priority 2]
-
When creating document types, make full use of W3C Recommendations [W3C-RECS] (Specifications
that have been approved by the W3C. These specifications have undergone review
specifically to ensure that they do not compromise, and where possible they
enhance, accessibility). For example when creating mathematical content for
the Web use MathML rather than another markup language. Use applicable HTML
structures.
- 2.2 Extensions to W3C
Recommendations must not make content inaccessible. [Priority 1]
-
New document types are constantly being developed, and in many cases offer
improvements to the structure and utility of Web content. In implementing a
new or extended document type it is important to ensure that a tool does not
remove access to information that had been inherent in the base document type.
An HTML example of a document type that contravenes this checkpoint is a
FRAMESET used without NOFRAMES - it precludes access to the underlying
information, whereas NOFRAMES provides a means to access the information
contained within the FRAMESET.
The same can apply to a reduced DTD. For example, producing a DTD that did
not include the "alt" attribute for IMG, or effectively working to such a DTD
by not implementing a means to include the attribute, compromises the
accessibility of any included IMG elements.
Methods for ensuring accessible markup vary with different markup
languages. If markup is automatically generated, many authors will be unaware
of the accessibility status of the final product unless they expend extra
effort to make appropriate corrections by hand. Since many authors are
unfamiliar with accessibility, these problems are likely to remain.
Many applications feature the ability to convert documents from other
formats (e.g., Rich Text Format) into a markup format, such as HTML. Markup
changes may also be made to facilitate efficient editing and manipulation.
These processes are usually hidden from the user's view and may create
inaccessible content or cause inaccessible content to be produced.
Checkpoints:
- 3.1 Implement all accessible
authoring practices that have been defined for the markup language(s)
supported by the tool. [Priority 1]
-
- 3.2 Produce content that
conforms to the W3C's Web
Content Accessibility Guidelines [WAI-WEBCONTENT]. [Priority 1 for level-A
conformance, Priority 2 for double-A conformance, Priority 3 for triple-A
conformance]
-
Use consistent document structures
-
Include markup which supports alternatives for media-dependent elements or
content
-
Do not use structural markup for presentational effects, or presentation
markup for known structures.
- 3.3 Ensure that templates to
be inserted in the document conform to W3C Web Content Accessibility
Guidelines [WAI-WEBCONTENT]. [Priority 1 for level-A conformance, Priority
2 for double-A conformance, Priority 3 for triple-A conformance]
-
Produce accessible representations for site maps generated by the authoring
tool.
-
Provide equivalent alternatives for all non-text content (images, audio, etc)
-
Use consistent navigation schemata
-
Ensure that event-handlers for scripts are device-independent
-
Ensure that color schemes provide sufficient contrast for people or technology
with poor color separation
-
Ensure that the natural language of the template is identified
-
Provide navigation bars
-
Provide keyboard shortcuts for important links, etc.
- 3.4 Preserve all accessibility
content during transformations and conversions. [Priority 1]
-
When transforming a table to a list or list of lists, ensure that table
headings are transformed into headings, and summary or caption information is
retained as rendered content. (This transformation is not necessarily cleanly
reversible)
-
When importing images with associated descriptions to an HTML document make
the descriptions available for use as longdesc, alt, or title
-
When converting from a word-processor format to HTML ensure that headings and
list items are transformed into appropriate headings of the appropriate level,
and list items in the appropriate type of list (rather than as plain text with
font formatting)
-
Do not transform text into images - use style sheets for presentation control,
or an XML application such as Scalable Vector Graphics that keeps the text as
text. If this is not possible, ensure that the text that is converted is
available as "alt-text" for the image.
Textual equivalents, including "alt-text", long descriptions, video
captions, and transcripts are absolutely necessary for the accessibility of
all images, applets, video, and audio files. However, the task of producing
these equivalents is probably the most time-consuming accessibility
recommendation made to the author.
The authoring tool can provide various mechanisms to assist the author in
generating textual equivalents while ensuring that the author can determine
whether the textual equivalent accurately reflects the information conveyed by
the multimedia object.
Including professionally written descriptions for all multimedia files
(e.g., clip-art) packaged with the tool will:
-
Save users time and effort;
-
Cause a significant number of professionally written descriptions to circulate
on the Web;
-
Provide users with convenient models to emulate when they write their own
descriptions;
-
Show authors the importance of description writing.
This will lead to an increase in the average quality of descriptions
used.
Checkpoints:
- 4.1 Prompt the author to provide
alternative content (e.g., captions, descriptive video). (Priority 1 for
alternative content that is [Web-Content-Priority-1],
Priority 2 for alternative content that is [Web-Content-Priority-2],
Priority 3 for alternative content that is [Web-Content-Priority-3])
-
Provide an author with the option of specifying alternative content, or
electing to insert null alternative content for images, audio, video. Default
to an accessibility error such as no "alt" attribute for images.
-
Recognize collections of upper-case letters (in languages that have case) and
prompt the author for an expansion, to be provided in markup.
-
In Japanese, prompt the author for kana text that can be used as a ruby for
unusual or complex kanji
- 4.2 Prompt the author for
all missing structural information (e.g., language changes, table headers).
(Priority 1 for structural information that is [Web-Content-Priority-1],
Priority 2 for structural information that is [Web-Content-Priority-2],
Priority 3 for structural information that is [Web-Content-Priority-3])
-
Prompt the author for header information for tabular data.
-
Where there is a change in the character set (or subset) used, prompt the
author to identify whether there has been a change in language
-
Prompt the author for header information for tabular data.
-
Prompt the author (and allow them to specify a default suggestion) for the
language of a document..
- 4.3 Allow the author to edit all
alternative content and structural information. [Priority 1]
- 4.4 Provide pre-written alternative
content for all multimedia files packaged with the authoring tool. [Priority 2]
-
Use formats that allow for accessible annotation, such as PNG.
-
Provide long descriptions, and associated text files with appropriate
"alt-text" in clip-art collections.
-
Provide video description files with prepackaged video.
-
Provide text caption files for prepackaged audio, or video with audio
track(s).
-
See also checkpoint 2.4.4
- 4.5 Provide a mechanism to manage
alternative content for multimedia objects, that retains and offers for
editing pre-written or previously linked alternative content. [Priority 3]
-
Allow authors to add objects and alternative content to a database maintained
by the authoring tool. Whenever an object is used for that alternative content
is provided, ask if the author would like to add the object and the
alternative content to the database. Allow different alternative content to be
associated with a single object.
-
Allow authors to make keyword searches of a description database (to simplify
the task of finding relevant images, sound files, etc.). A paper describing a method to create searchable
databases for video and audio files is available (refer to [SEARCHABLE]).
-
Suggest pre-written descriptions as default text whenever one of the
associated files is inserted into the author's document.
-
This checkpoint is prioritized as a level 3, meaning that in itself, it does
not have a critical effect on an authoring tool's likelihood of producing
accessible mark-up. However, several limited extensions to this alternative
content mechanism (ACM) have the potential to simultaneously meet several
higher priority checkpoints and dramatically improve the usability of an
access aware authoring tool. In particular:
-
The ACM should maintain a list of associations between object file names and
authored responses to prompts for alternative content (as per checkpoint 2.3.1
[Priority 1]). The alternative content may take the form of short strings
(i.e. "alt"-text) or pointers to descriptive files (i.e., "longdesc",
transcripts, etc.). Multiple associations for the same object for different
languages or contexts should also be handled.
-
The ACM would offer the associated alternative content as a default whenever
the appropriate associated object is selected for insertion. If no previous
association is found, the field should be left empty (i.e., no purely
rule-generated alternative content should be used). Note: the term "default"
implies that the alternative content is offered for the author's approval. The
term does not imply that the default alternative content is automatically
placed without the author's approval. Such automatic placement may only occur
when in situations where the function of the object is known with certainty,
as per checkpoint 2.3.5 [Priority 1]. Such a situation might arise in the case
of a "navigation bar builder" that places a navigation bar at the bottom of
every page on a site. In this case, it would be appropriate to use the same
"alt"-text automatically for every instance of a particular image (with the
same target) on every page.
-
The alternative content mechanism should be closely integrated with the
pre-written alternative content provided for all packaged multimedia files, as
per checkpoint 2.3.4 [Priority 2]. This would allow the alternative content to
be automatically retrieved whenever the author selected one of the packaged
objects for insertion. An important benefit of the system would be the ease of
adding a keyword search capability that would allow efficient location of
multimedia based on its alternative content.
- 4.6 Do not insert automatically
generated (e.g., the filename) or place-holder (e.g., "image") equivalent
text, except in cases where human-authored text has been written for an object
whose function is known with certainty. [Priority 1]
-
Items used throughout a website, such as graphical navigation bars, should
have standard alternative content. However the author should be prompted to
edit or approve this the first time it is used in a site, and when the
destination of the links is changed by the author.
-
If the author has not specified alternative text for an IMG, or that none is
required, default to having no alt attribute, so that an accessibility problem
will be noted (see also checkpoint 2.6.1)
Techniques for this guideline:
When a new feature is added to an existing software tool without proper
integration, the result is often an obvious discontinuity. Differing color
schemes, fonts, interaction styles and even application stability can be
factors affecting user acceptance of the new feature.
Checkpoints:
- 5.1 Ensure that the highest-priority
accessible authoring practices are the most visible and easily initiated by
the author. Highlight the most accessible solutions when presenting choices
for the author. [Priority 2]
-
If there is more than one option for the author, and one option is more
accessible than another, place the more accessible option first and make it
the default. For example, when requesting alternative content for an image,
offer an unchecked option for empty alternative (i.e., alt="", implying the
image has no real function) with the cursor positioned in the text entry for
an "alt" value, rather than offering the filename as a default suggestion,
with the null "alt" value selected.
- 5.2 Make generation of accessible
content a naturally integrated part of the authoring process. [Priority 1]
-
Ensure that accessible authoring practices can be easily accessed by the
author in a natural, intuitive fashion
-
Include considerations for accessibility - such as the "alt" and "longdesc"
attributes of the IMG element - right below the "src" attribute in a dialogue
box, not buried behind an "Advanced..." button.
-
Allow efficient and fast access to accessibility-related settings with as few
steps as possible needed to make any changes that will generate accessible
content.
-
Do not set accessibility features off to the side as some optional "module";
rather, make them a part of the core operation of the authoring tool.
-
The "factory settings" default configuration for the authoring tool should
favor accessible solutions "out of the box", for the benefit of newer users.
-
A help page that describes how to make an image map should include adding
alternative content for each AREA in the MAP as part of the process. Any
examples of code should give either block content with text links, or AREA
elements that all have relevant ALT attribute values.
-
When a user creates a frameset, suggest the main content page and a navigation
bar as the content for NOFRAMES.
Many authoring tools allow authors to create documents with little or no
knowledge about the underlying markup. To ensure accessibility, authoring
tools must be designed so that they may automatically identify inaccessible
content, and enable its correction even when the markup itself is hidden from
the author.
In supporting the creation of accessible Web content, authoring tools must
take into account the differing authoring styles of their users. Some users
may prefer to be alerted to problems when they occur, whereas others may
prefer to perform a check after the document is completed. This is analogous
to programming environments that allow users to decide whether to check for
correct code during editing or at compile time.
Note that validity is an accessibility requirement, particularly for
assistive technologies.
Checkpoints:
- 6.1 Check for and alert the author
to accessibility problems. (Priority 1 for accessibility problems that are [Web-Content-Priority-1],
Priority 2 for accessibility problems that are [Web-Content-Priority-2],
Priority 3 for accessibility problems that are [Web-Content-Priority-3])
-
Highlight problems detected when documents are opened, or when an editing or
insertion action is completed.
-
Alert authors to accessibility problems when saving.
- 6.2 Allow users to control both the
nature and timing of accessibility alerts. [Priority 2]
-
Allow users to choose different alert levels based on the priority of
authoring accessibility recommendations.
-
If interruptive warnings are used, provide a means for the author to quickly
set the warning to non-obtrusive to avoid frustration.
-
Include alerts for [Web-Content-Priority
1] checkpoints in the default configuration.
-
Allow authors to control both the nature and timing of the correction process.
- 6.3 Assist authors in
correcting accessibility problems. (Priority 1 for accessibility problems that
are [Web-Content-Priority-1],
Priority 2 for accessibility problems that are [Web-Content-Priority-2],
Priority 3 for accessibility problems that are [Web-Content-Priority-3])
-
- 6.4 When removing unrecognized markup,
alert the author (according to a configurable schedule). [Priority 2]
-
Provide a summary of all automated structural changes that may affect
accessibility.
-
Do not change the DTD without notifying the author.
- 6.5 Provide the author with a
summary of the document accessibility status on a configurable schedule. [Priority 3]
- 6.6 Allow the author to perform
tag transformations. [Priority 3]
-
For example, to transform visually formatted elements to structure elements,
or tables to lists.
-
Allow the user to define transformations for imported documents that have
presentation, rather than structural, markup.
-
Include pre-written transformations to rationalize multiple tables, and to
transform (deprecated) presentation HTML into style sheets.
Techniques for this guideline:
-
Prompts can be used to encourage authors to provide information needed to make
the content accessible (such as alternative textual representations). Prompts
are simple requests for information before a markup structure has been
finalized. For example, an "alt-text" entry field prominently displayed in an
image insertion dialog would constitute a prompt. Prompts are relatively
unintrusive and address a problem before it has been committed. However, once
the user has ignored the prompt, its message is unavailable.
Alerts warn the author that there are problems that need to be addressed.
The art of attracting users' attention is a tricky issue. The way users are
alerted, prompted, or warned will influence their view of the tool and their
opinion of accessible authoring. See also 5 Integrate accessibility
solutions into the overall "look and feel" .
- User Configurable Schedule
-
A user configurable schedule allows the user to determine the type of prompts
and alerts that are used, including when they are presented. For example, a
user may wish to include multiple images without being prompted for
alternative content, and then provide the alternative content in a batch
process, or may wish to be reminded each time they add an image. If the
prompting is done on a user configurable schedule they will be able to make
that decision themselves. This technique allows a tool to suit the needs a
wide range of authors.
- Interruptive Alerts
-
Interruptive alerts are informative messages that interrupt the edit process
for the user. For example, interruptive alerts are often presented when a
user's action could cause a loss of data. Interruptive alerts allow problems
to be brought to the user's attention immediately. However, users may resent
the constant delays and forced actions. Many people prefer to finish
expressing an idea before returning to edit its format.
- Unintrusive Alerts
-
Unintrusive alerts are alerts such as icons, underlines, and gentle sounds
that can be presented to the user without necessitating immediate action. for
example, in some word processors misspelled text is highlighted without
forcing the user to make immediate corrections. These alerts allow users to
continue editing with the knowledge that problems will be easy to identify at
a later time. However, users may become annoyed at the extra formatting or may
choose to ignore the alerts altogether.
The issues surrounding Web accessibility are often unknown to Web authors.
Help and documentation should explain accessibility problems and solutions,
with examples.
Checkpoints:
- 7.1 Integrate accessible
authoring practices in all applicable help topics. [Priority 1]
-
Ensure that accessibility solutions are present in all help text descriptions
of markup practices (e.g., IMG elements should appear with "alt-text" and a
"longdesc" attribute wherever appropriate).
-
Provide examples of all accessibility solutions in help text, including those
of lower Web-Content-Priority.
-
Link from help text to any automated correction utilities.
-
Implement context-sensitive help for all special accessibility terms as well
as tasks related to accessibility.
-
Link those mechanisms used to identify accessibility problems (e.g., icons,
outlining or other emphasis within the user interface) to help files.
- 7.2 Explain the accessible authoring
practices supported by the authoring tool. [Priority 1]
-
Include help documentation for all accessible authoring practices supported by
the tool.
- 7.3 Do not use inaccessible markup
in examples. [Priority 1]
- 7.4 Emphasize the
universal benefit of accessible design. [Priority 3]
-
In help text, when explaining the accessibility barriers of non-deprecated
elements, emphasize appropriate solutions rather than explicitly discouraging
the use of the element.
-
Explain the importance of utilizing accessibility features generally and for
specific instances.
-
In help text, emphasize accessibility features that benefit multiple groups.
The Sample Implementations are not Guidelines, they are
Techniques. The section has been included to illustrate how the design
principles embodied in the guidelines sections can be applied to concrete
issues. The specific ideas discussed in this section are meant to be used only
as clarification.
The A-prompt tool [APROMPT] is an example tool that
allows for checking of many accessibility features in HTML pages, and
incorporates an "alt text registry" to manage alternative content for known
resources. The tool is built in such a way that the functions can be
incorporated into an authoring tool.
[Editors' note: This section has not kept pace with the development of the
guidelines. It will be updated in future drafts.]
"Alt-text" is generally considered the most important aid to HTML
accessibility. For this reason, the issue of "alt-text" has been chosen as the
subject for an extended technique based on a hypothetical implementation.
- 1 Ensure that the
Authoring Tool is Accessible to Authors with Disabilities
-
Implementation: The author can edit the document using the
alternative content of the image in its place, and can access all the
properties of the image (height, width, etc)
- 2 Generate standard
markup
-
Implementation: In any content produced, the IMG element is always
properly formed as defined in the HTML4 specification. This means that the
element contains both a "src" attribute and an "alt" attribute.
- 3 Support accessible
authoring practices
-
Implementation: Due to the [Web-Content-Priority 1] recommendation
status of "alt-text" in the Web Content Accessibility Guidelines, special
attention will be devoted to prompting and guiding the user toward full "alt"
coverage. The authoring tool has the capability of opening and converting word
processor documents into HTML. If an image is encountered during this process,
the user will be prompted for "alt-text". The authoring tool sometimes makes
changes to the HTML it works with to allow more efficient manipulation. These
changes never result in the removal or modification of "alt-text" entries.
- 4 Ensure that no
accessibility content is missing
-
Implementation: The authoring tool is shipped with many ready-to-use
clip art and other images. For each of these images a short "alt-text" string
and a longer description have been pre-written and stored in an "alt-text"
registry. When the user selects one of these images for insertion, the
alternative text and long description are offered for editing and approval.
Whenever the user includes another image, the tool keeps the reference to that
image and the associated "alt-text" and long description in the "alt-text
registry". When a text alternative offered by the tool is edited, the tool
adds the new text to the registry, and offers both entries when the image is
used again. There is an option to mark any entry as the default.
- 5 Integrate
accessibility solutions into the overall "look and feel"
-
Implementation: At no point do "alt-text" requests appear on
their own or in a non-standard manner. Instead "alt-text" notices and
emphasis appear as integrated and necessary as the "src" attribute.
- 6 Provide methods of
checking and correcting inaccessible content
-
Implementation: If the user opens content or pastes in markup
containing an IMG element that lacks "alt-text", the author is prompted to add
them. The tool can be configured to prompt as soon as an error is detected, or
to provide a highlight mark where these errors occur and to prompt when the
author is saving or publishing a document. The default prompt includes
prompting for a long description of each image.
- 7 Promote accessibility in
help and documentation
-
Implementation: Whenever missing "alt-text" is flagged (anywhere in
the tool suite) the same quick explanation, extended help, and examples are
offered. The help documentation for inserting images and image maps includes
providing alternative text as part of the necessary steps, and describes how
to determine appropriate alternative text in the same section. Examples of
images and image-maps all have alternative text included, and images have long
descriptions.
[Editors' note: This section will be reviewed by the group, and is expected
to be updated in future drafts]
Interface mechanisms such as dialogs, menus, toolbars, and palettes can be
structured so that markup or elements that are accessible are given as the
first and easiest choice.
Prompts can be used to encourage authors to provide information needed to
make the content accessible (such as alternative textual representations).
Prompts are simple requests for information before a markup structure has been
finalized. For example, an "alt-text" entry field prominently displayed in an
image insertion dialog would constitute a prompt. Prompts are relatively
unintrusive and address a problem before it has been committed. However, once
the user has ignored the prompt, its message is unavailable.
Alerts warn the author that there are problems that need to be addressed.
The art of attracting users' attention is a tricky issue. The way in which
users are alerted, prompted, or warned will influence their view of the tool
as well as their opinion of accessible authoring.
- User Configurable Schedule
-
A user configurable schedule allows the user to determine the type of prompts
and alerts that are used, including when they are presented. For example, a user may wish to include multiple images
without being prompted for alternative content, and then provide the
alternative content in a batch process, or may wish to be reminded each time
they add an image. If the prompting is done on a user configurable schedule
they will be able to make that decision themselves. This technique allows a
tool to suit the needs a wide range of authors.
- Interruptive Alerts
-
Interruptive alerts are informative messages that interrupt the edit process
for the user. For example, interruptive alerts are often presented when a
user's action could cause a loss of data. Interruptive alerts allow problems
to be brought to the user's attention immediately. However, users may resent
the constant delays and forced actions. Many people prefer to finish
expressing an idea before returning to edit its format.
- Unintrusive Alerts
-
Unintrusive alerts are alerts such as icons, underlines, and gentle sounds
that can be presented to the user without necessitating immediate action. for
example, in some word processors misspelled text is highlighted without
forcing the user to make immediate corrections. These alerts allow users to
continue editing with the knowledge that problems will be easy to identify at
a later time. However, users may become annoyed at the extra formatting or may
choose to ignore the alerts altogether.
- Prompts
-
Prompts are requests for user input, either information or a decision. Prompts
require author response.
- Alerts
-
Alerts notify the author of something, or mark something for the author's
attention. They may or may not require author response.
- Authoring Tool
-
As used in this document, an Authoring Tool is any software that is
used to generate content for publishing on the Web. See also section 1.3 Scope
of the guidelines.
- Conversion Tool
-
A Conversion Tool is any application or application feature that
allows content in some other format (proprietary or not) to be converted
automatically into a particular markup language. This includes software whose
primary function is to convert documents to a particular markup language as
well as "save as HTML" (or other markup language) features in non-markup
applications.
- Generation Tool
-
A Generation Tool is a program or script that produces automatic
markup "on the fly" by following a template or set of rules. The generation
may be performed on either the server or client side.
- Site Management Tool
-
A tool that provides an overview of an entire Web site indicating hierarchical
structure. It will facilitate management through functions that may include
automatic index creation, automatic link updating, and broken link checking.
- Publishing Tool
-
A tool that allows content to be uploaded in an integrated fashion. Sometimes
these tools makes changes such as local hyper-reference modifications.
Although these tools sometimes stand alone, they may also be integrated into
site management tools.
- Image Editor
-
A graphics program that provides a variety of options for altering images of
different formats.
- Video Editor
-
A tool that facilitates the process of manipulating video images. Video
editing includes cutting segments (trimming), re-sequencing clips, and adding
transitions and other special effects.
- Multi-media Authoring
Tool
-
Software that facilitates integration of diverse media elements into an
comprehensive presentation format. May incorporate video, audio, images,
animations, simulations, and other interactive components.
- Automated Markup Insertion
Function
-
Automated markup insertion functions are the features of an authoring tool
that allow the user to produce markup without directly typing it. This
includes a wide range of tools from simple markup insertion aids (such as a
bold button on a toolbar) to markup managers (such as table makers that
include powerful tools such as "split cells" that can make multiple changes)
to high level site building wizards that produce almost complete documents on
the basis of a series of user preferences.
- Transformation
-
A process whereby one object is changed, according to a discrete set of rules,
into another, equivalent, object. This includes any application or application
feature that allows content that is marked up in a particular
markup language to be transformed into another markup language, such as
software that allows the author to change the DTD defined for the original
document to another DTD. It also describes the substitution of textual
equivalents for graphical or visually defined elements and objects, and the
conversion from one element type to another within a document.
- Document
-
A document is a series of elements that are defined by a language
(e.g., HTML 4.0 or an XML application).
- Element
-
An element is any identifiable object within a document, for example a
character, word, image, paragraph or spreadsheet cell. In HTML and XML an
element refers to a pair of tags and their content, or an "empty" tag - one
that has no closing tag or content.
- Property
-
A property is a piece of information about an element, for example structural
information (e.g., it is item number 7 in a list, or plain text) or
presentation information (e.g., that it is marked as bold, its font size is
14). In XML and HTML properties of an element include the name of the element
(e.g., IMG or DL), the values of its attributes, and information associated by
means of a stylesheet. In a database, properties of a particular element may
include values of the entry, and acceptable data types for that element.
- Attributes
-
in XML and HTML, an element may have any number of attributes. In the
following example, the attributes of the beverage element are flavour, which
has the value "lots", and colour, which has the value "red": <beverage
flavour="lots" colour="red">my favorite</beverage> Some attributes are
integral to document accessibility (e.g., the "alt", "title", and "longdesc"
attributes in HTML
- Rendered Content
-
The rendered content is that which an element actually causes to be
rendered by the user agent. This may differ from the element's structural
content. For example, some elements cause external data to be rendered (e.g.,
the IMG element in HTML), and in some cases, browsers may render the value of
an attribute (e.g., "alt", "title") in place of the element's content.
- Accessibility
Awareness
-
The term accessibility awareness is used to describe an application that has
been designed to maximize the ease of use of the interface and its products
for people with differing needs, abilities and technologies. In the case of
authoring tools, this means that (1) care has been taken to ensure that the
content produced by user-authors is accessible and (2) that the user interface
has been designed to be usable with a variety of display and control
technologies.
- Accessible, Accessibility
-
Within these guidelines, Accessible and Accessibility are used in the sense of
being accessible to people regardless of disability.
- Inaccessible
Markup, Inaccessible Element, Inaccessible Attribute, Inaccessible
Authoring Practice and Access Barrier
-
All these terms are used in the context of inaccessibility as defined by the
Web Content Accessibility Guidelines
[WAI-WEBCONTENT].
- Accessibility Solution,
Accessible Authoring Practice
-
These terms refer to Authoring practices that improve the accessibility of
content generated by the tool..
- Alternative Textual Representations
-
Certain types of content may not be accessible to all users (e.g., images), so
authoring tools must ensure that alternative
textual representations ("Alt-text") of information is available to
the user. Alternative text can come from element content (e.g., the OBJECT
element) or attributes (e.g., "alt" or "title").
- Description Link (D-link)
-
A description link, or D-Link, is an author-supplied link to
additional information about a piece of content that might otherwise be
difficult to access (image, applet, video, etc.).
- Transcripts
-
A transcript is a line by line record of all dialog and action within a video
or audio clip.
- Video Captions
-
A video caption is a textual message that is stored in the text track of a
video file. The video caption describes the action and dialog for the scene in
which it is displayed.
- Inserting an element
-
Inserting an element involves placing that element's markup within
the markup of the file. This applies to all insertions, including, but not
limited to, direct coding in a text editing mode, choosing an automated
insertion from a pull-down menu or tool bar button, "drag-and-drop" style
insertions, or "paste" operations.
- Editing an element
-
Editing an element involves making changes to one or more of an
element's attributes or properties. This applies to all editing, including,
but not limited to, direct coding in a text editing mode, making changes to a
property dialog or direct User Interface manipulation.
- Views
-
An authoring tool may offer several views of the same document. For
instance, one view may show raw markup, a second may show a structured tree
view, a third may show markup with rendered objects while a final view shows
an example of how the document may appear if it were to be rendered by a
particular browser.
- Editing view
-
What is displayed by the authoring tool to the author during the editing
process.
- Rendered view
-
What is displayed by the authoring tool to the author as a means of simulating
how a user of the document being edited will interact with the document
currently being edited as a published document.
- Selection
-
A selection is a set of elements identified for a particular
operation. The user selection identifies a set of elements for certain types
of user interaction (e.g., cut, copy, and paste operations). The user
selection may be established by the user (e.g., by a pointing device or the
keyboard) or via an accessibility Application Programmatic Interface (API). A
view may have several selections, but only one user selection.
- Current User
Selection
-
When several views co-exist, each may have a user selection, but only one is
active, called the current user selection. The selections may be
rendered specially (e.g., visually highlighted).
- Focus
-
The focus designates the active element (e.g., link, form control,
element with associated scripts, etc.) in a view that will react when the user
next interacts with the document.
Many thanks to the following people who have contributed through review and
comment: Jim Allan, Denis Anson, Kynn Bartlett, Harvey Bingham, Judy Brewer,
Carl Brown, Dick Brown, Kelly Ford, Wendy Chisholm, Rob Cumming, Daniel
Dardailler, Mark Day, BK Delong, Jamie Fox, Sylvain Galineau, Al Gilman, Eric
Hansen, Phill Jenkins, Len Kasday, Brian Kelly, William Loughborough, Karen
McCall, Charles Oppermann, Dave Pawson, Dave Poehlman, Bruce Roberts, Chris
Ridpath, Gregory Rosmaita, Jim Thatcher, Irène Vatton, Gregg
Vanderheiden, Pawan Vora, Jason White, and Lauren Wood.
If you have contributed to the AU guidelines and your name does not appear
please contact the editors to add your name to the list.
- [ACCESS-AWARE]
-
"The Three-tions of Accessibility-Aware HTML Authoring Tools", J. Richards.
Available at:
http://www.utoronto.ca/atrc/rd/hm/3tions.htm
- [APPLE-HI]
-
"Macintosh Human Interface Guidelines", Apple Computer Inc. Available at:
http://developer.apple.com/techpubs/mac/HIGuidelines/HIGuidelines-2.html
- [APROMPT]
-
A-prompt tool is a freely available example tool developed by the Adaptive
Technology Resource Center at the University of Toronto, and the TRACE center
at the University of Wisconsin. The source code for the tool is also
available: http://aprompt.snow.utoronto.ca
- [CSS1]
-
"CSS, level 1 Recommendation", B. Bos, H. Wium Lie, eds. The CSS1
Recommendation is available at:
http://www.w3.org/TR/REC-CSS1
- [CSS2]
-
"CSS, level 2 Recommendation", B. Bos, H. Wium Lie, C. Lilley, and I. Jacobs,
eds. The CSS2 Recommendation is available at:
http://www.w3.org/TR/REC-CSS2/
- [CSS2-ACCESS]
-
"WAI Resources: CSS2 Accessibility Improvements", I. Jacobs and J. Brewer,
eds. This document, that describes accessibility features in CSS2, is
available at:
http://www.w3.org/WAI/References/CSS2-access
- [ED-DEPT]
-
"Requirements for Accessible Software Design", US Department of Education,
version 1.1 March 6, 1997. Available at:
http://ocfo.ed.gov/coninfo/clibrary/software.htm.
- [EITAAC]
-
"EITACC Desktop Software standards", Electronic Information Technology Access
Advisory (EITACC) Committee. Available at: trace.wisc.edu/docs/eitacc_desktop_software_standards/desktop_software_standards.htm
- [HTML40]
-
"HTML 4.0 Recommendation", D. Raggett, A. Le Hors, and I. Jacobs, eds. The
HTML 4.0 Recommendation is available at:
http://www.w3.org/TR/REC-html40/
- [HTML4-ACCESS]
-
"WAI Resources: HTML 4.0 Accessibility Improvements", I. Jacobs, J. Brewer,
and D. Dardailler, eds. This document, that describes accessibility features
in HTML 4.0, is available at:
http://www.w3.org/WAI/References/HTML4-access
- [IBM-ACCESS]
-
"Software Accessibility" IBM Special Needs Systems. Available at:
http://www.austin.ibm.com/sns/accesssoftware.html
- [ICCCM]
-
"The Inter-Client communication conventions manual". A protocol for
communication between clients in the X Window system. Available at:
http://ftp.x.org/pub/R6.3/xc/doc/specs/ICCCM/
- [ICE-RAP]
-
"An ICE Rendezvous Mechanism for X Window System Clients", W. Walker. A
description of how to use the ICE and RAP protocols for X Window clients.
Available at:
http://trace.wisc.edu/docs/x_win_andice/x_andice.htm
- [JAVA-ACCESS]
-
"IBM Guidelines for Writing Accessible Applications Using 100% Pure Java", R.
Schwerdtfeger, IBM Special Needs Systems. Available at:
http://www.austin.ibm.com/sns/snsjavag.htm
- [JAVA-CHECKLIST]
-
"Java Accessibility Guidelines and Checklist" IBM Special Needs Systems.
Available at:
http://www.austin.ibm.com/sns/accessjava.html
- [JAVA-TUT]
-
"The Java Tutorial. Trail: Creating a GUI with JFC/Swing". An online tutorial
that describes how to use the Swing Java Foundation Class to build an
accessible User Interface. Available at:
http://java.sun.com/docs/books/tutorial/uiswing/
- [MS-ACCESS]
-
"Information for Developers About Microsoft Active Accessibility" Microsoft
Corporation. Available at:
http://www.microsoft.com/enable/msaa/develop.htm
- [MS-ENABLE]
-
"Accessibility for Applications Designers" Microsoft Corporation. Available
at:
http://www.microsoft.com/enable/dev/apps.htm
- [MS-SOFTWARE]
-
"The Microsoft Windows Guidelines for Accessible Software Design". Warning!
This is a "self-extracting archive", an application that will probably only
run on MS-Windows systems.
http://www.microsoft.com/enable/download/winapp23.exe
- [NOTES-ACCESS]
-
"Lotus Notes Accessibility Guidelines" IBM Special Needs Systems. Available
at:
http://www.austin.ibm.com/sns/accessnotes.html.
- [SEARCHABLE]
-
"A Comparison of Schemas for Dublin Core-based Video Metadata Representation",
J Hunter. Available at: http://www.dstc.edu.au/RDU/staff/jane-hunter/mpeg7/contribution.htm
- [SUN-DESIGN]
-
"Designing for Accessibility" Eric Bergman and Earl Johnson. This paper
discusses specific disabilities including those related to hearing, vision,
and cognitive function. Available at:
http://www.sun.com/tech/access/software.guides.html
- [SUN-HCI]
-
"Towards Accessible Human-Computer Interaction" Eric Bergman, Earl Johnson,
Sun Microsytems 1995. A substantial paper, with a valuable print bibliography.
Available at:
http://www.sun.com/tech/access/updt.HCI.advance.html.
- [TRACE-REF]
-
"Application Software Design Guidelines" compiled by G. Vanderheiden. A
thorough reference work. Available at:
http://trace.wisc.edu/docs/software_guidelines/software.htm
- [W3C-RECS]
-
"W3C Technical Reports and Publications" The latest versions of W3C
Recomendations are available at:
http://www.w3.org/TR
- [WAI-AUTOOLS]
-
"Authoring Tool Accessibility Guidelines (Working Draft)", J. Treviranus, J.
Richards, I. Jacobs, and C. McCathieNevile eds. The latest working draft of
these guidelines is available at:
http://www.w3.org/WAI/AU/WAI-AUTOOLS
- [WAI-USERAGENT]
-
"User Agent Accessibility Guidelines", J. Gunderson and I. Jacobs, eds. These
guidelines for designing accessible user agents are available at:
http://www.w3.org/TR/WAI-USERAGENT
- [WAI-WEBCONTENT]
-
"Web Content Accessibility Guidelines 1.0", W. Chisholm, G. Vanderheiden, and
I. Jacobs, eds. These guidelines for designing accessible documents are
available at:
http://www.w3.org/TR/WAI-WEBCONTENT
- [WAI-WEBCONTENT-TECHS]
-
"Techniques for Web Content Accessibility Guidelines", W. Chisholm, G.
Vanderheiden, and I. Jacobs, eds. These techniques for designing accessible
documents are available at:
http://www.w3.org/TR/WAI-WEBCONTENT-TECHS/
- [Web-Content-Priority]
-
Priorities
defined by [WAI-WEBCONTENT].
- [WHAT-IS]
-
"What is Accessible Software" James W. Thatcher, Ph.D., IBM, 1997. This paper
gives a short example-based introduction to the difference between software
that is accessible, and software that can be used by some assistive
technologies. Available at
http://www.austin.ibm.com/sns/software.html.