W3C

Techniques for Authoring Tool Accessibility (working draft)

W3C Working Draft 14 October 1999

This version:
http://www.w3.org/WAI/AU/WAI-AUTOOLS-TECHS-19991014
(plain text, HTML gzip tar archive, HTML zip archive, PostScript, PDF)
Latest version:
http://www.w3.org/WAI/AU/WAI-AUTOOLS-TECHS
Previous version:
http://www.w3.org/WAI/AU/WAI-AUTOOLS-TECHS-19991009
Editors:
Jutta Treviranus <jutta.treviranus@utoronto.ca>
Jan Richards <jan.richards@utoronto.ca>
Ian Jacobs <ij@w3.org>
Charles McCathieNevile <charles@w3.org>

Abstract

This document contains techniques and further examples, as an informative aid to developers seeking to implement the Authoring Tool Accessibility Guidelines [WAI-AUTOOLS]. 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.

Status of this document

This is a Working Draft of the Techniques for Authoring Tool Accessibility. This draft is to demonstrate a possible format for the sample implementations section. This draft follows the working group meeting on 13 October 1999. For further information consult the minutes of Working Group Meetings.

This 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 its member organizations.

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.

Table of Contents


1 Introduction

This document complements the Authoring Tool Accessibility Guidelines [WAI-AUTOOLS]. Although it reproduces the guidelines and checkpoints from that document it is not a normative reference; the techniques introduced here are not required for conformance to the Guidelines. The document contains suggested implementation techniques, examples, and references to other sources of information as an aid to developers seeking to implement the Authoring Tool Accessibility Guidelines. These techniques are not necessarily the only way of fulfilling the checkpoint, nor are they necessarily a definitive set of requirements for fulfilling a checkpoint.. It is expected to be updated in response to queries raised by implementors of the Guidelines, for example to cover new technologies. Suggestions for additional techniques are welcome and should be sent to the working group mailing list at w3c-wai-au@w3.org. The archive of that list at http://lists.w3.org/Archives/Public/w3c-wai-au is also available.

To understand the accessibility issues relevant to authoring tool design, consider that many users may be creating documents in contexts very different from your own:

In addition, accessible design will benefit many people who do not have a physical disability but with similar needs. For example they may be working in a noisy environment and unable to hear, or need to use their eyes for another task, and be unable to view a screen. They may be using a small mobile device, with a small screen, no keyboard and no mouse.

1.1 How the Techniques are organized.

This document has the same structure as the Authoring Tool Accessibility Guidelines ([WAI-AUTOOLS]). Each Guideline and checkpoint from that Document is listed, in the same order, with techniques for implementing them, further references, and other information that the working group considers useful for implementing the guidelines but not a normative (required) part of the guidelines themselves. For some guidelines there are techniques or information which are relevant to the entire guideline. These are provided at the end of the section for the relevant guideline.

In addition, there are "sample implementations". These list the checkpoints from the Authoring Tool Accessibility Guidelines [WAI-AUTOOLS], that will be in the same order, and that describe how a real or hypothetical tool of a particular type implements them.

Some of the techniques describe the implementation of a checkpoint in a real HTML editing tool - W3C's Amaya, the image editor Sketch ([SKETCH]), and Microsoft's Word 2000. The Amaya techniques are also available as single "sample implementation" documents [AMAYA-SAMPLE], and it is anticipated that the other sample implementations will be handled in the same way.

Each checkpoint is intended to be specific enough that it can be verified, while being sufficiently general to allow developers the freedom to use the most appropriate strategies to meet the checkpoint.

The Techniques provided in this document are suggestions for how implementation might be done, or where further information can be found. They are informative only, and other strategies may be used to meet the checkpoint as well as, or in place of, those discussed.

1.2 Checkpoint priorities

Each checkpoint has a priority level. The priority level reflects the impact of the checkpoint in meeting the goals of this document. These goals are:

The three priority levels are assigned as follows:

[Priority 1]
If the checkpoint is essential to meeting those goals
[Priority 2]
If the checkpoint is important to meeting those goals
[Priority 3]
If the checkpoint is beneficial to meeting those goals
[Relative Priority]
Some checkpoints talk about production, generation, checking etc of various content that have different priorities in WCAG. The priority for these checkpoints in ATAG varies according to the priority of the checkpoints in WCAG.

Relative Priority is used for ATAG checkpoints which relate to different types of content, to ensure that the priority of each feature matches the priority given to the feature in WCAG, as follows:

For example, checking for accessibility errors (4.1) has relative priority. This means that it is priority 1 for a tool to check for accessibility errors that are [WEB-CONTENT-PRIORITY] Priority 1, but priority 2 to check for accessibility errors that are [WEB-CONTENT-PRIORITY] Priority 2.

2 Guidelines

Guideline 1. Support accessible authoring practices

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, the onus is on the authoring tool to generate accessible markup, and where appropriate, to guide the author in producing accessible content.

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 markup or cause inaccessible markup to be produced.

Checkpoints:

1.1 Ensure that the author can produce accessible content in the markup language(s) supported by the tool. [Priority 1]
1.2 Ensure that the tool generates markup that conforms to the W3C's Web Content Accessibility Guidelines [WAI-WEBCONTENT]. [Relative Priority]
1.3 Ensure that templates provided by the tool conform to the Web Content Accessibility Guidelines [WAI-WEBCONTENT]. [Relative Priority]
1.4 Ensure that the tool preserves all accessibility information during authoring, transformations and conversions. [Priority 1]

Guideline 2. Generate standard markup

Conformance with standards promotes interoperability and accessibility. Where applicable use W3C Recommendations, which have been reviewed to ensure accessibility and interoperability. If there are no applicable W3C Recommendations, use a published standard that enables accessibility.

Checkpoints:

2.1 Use the latest versions of W3C Recommendations when they are available and appropriate for a task. [Priority 2]
These specifications have undergone review specifically to ensure that they do not compromise, and where possible they enhance, accessibility.
2.2 Ensure that the tool generates valid markup. [Priority 1]
This is necessary for user agents to be able to transform Web content to a presentation appropriate to a particular user's needs.
2.3 If markup generated by the tool differs from W3C specifications, inform the author. [Priority 3]
This allows the author to choose to conform.

Guideline 3. Support the creation of accessible content

Generating equivalent information, such as textual alternatives for images and audio descriptions of video, can be one of the most challenging aspects of Web design. Along with the necessity for structural information it is a cornerstone of accessible design, allowing information to be presented in a way most appropriate for the needs of the user without constraining the creativity of the author.

Automating the mechanics of this process, by prompting authors to include the relevant information at appropriate times, can greatly ease the burden for authors. Where such information can be mechanically determined (e.g., the function of icons in an automatically-generated navigation bar, or expansion of acronyms from a dictionary) and offered as a choice for the author the tool will assist the author, at the same time as it reinforces the need for such information and the author's role in ensuring that it is used appropriately in each instance.

Checkpoints:

3.1 Assist the author in providing alternative information (e.g., captions, long descriptions of graphics). [Relative Priority]
3.2 Help the author create structured content and separate information from its presentation. [Relative Priority]
3.3 Ensure that prepackaged content conforms to Web Content Accessibility Guidelines [WAI-WEBCONTENT]. [Relative Priority]
For example include synchronized text and audio equivalents with movies. Refer also to checkpoint 3.4.
3.4 Do not insert automatically generated or place-holder equivalent alternatives. [Priority 1]
For example, in an automatically generated navigation bar, "search" may be appropriate alternative information for a button linked to a search function, but the filename of an image should not be inserted as a default.

Note. Human-authored content may be available for an object whose function is known with certainty. Refer also to checkpoint 3.5 Provide a mechanism to manage alternative information for multimedia objects, that retains and offers for editing pre-written or previously linked alternative information. [Priority 3] and checkpoint 3.3 Ensure that prepackaged content conforms to Web Content Accessibility Guidelines [WAI-WEBCONTENT]. [Relative Priority] .

3.5 Provide a mechanism to manage alternative information for multimedia objects, that retains and offers for editing pre-written or previously linked alternative information. [Priority 3]

Techniques for this guideline:

Guideline 4. Provide methods of checking and correcting inaccessible content

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 can automatically identify inaccessible markup, and enable its correction even when the markup itself is hidden from the author.

In supporting the creation of accessible Web content, authoring tools should take into account the differing authoring styles of their users. In general, authors will prefer to be able to configure their tools to support their working style. Tools that allow such configuration can help authors to feel that accessible authoring is a natural practice (refer also to the previous guideline) rather than an intrusion on their normal work pattern. For example 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. Many assistive technologies used with browsers and multimedia players are only able to provide access to Web documents that use valid mark-up. Therefore validation of mark-up is an essential aspect of authoring tool accessibility.

Checkpoints:

4.1 Check for and alert the author to accessibility problems. [Relative Priority]
Some accessibility problems cannot be detected automatically, and will require the user to make decisions.
4.2 Assist authors in correcting accessibility problems. [Relative Priority]
At a minimum, provide context-sensitive help with the accessibility checking required by 4.1
4.3 Allow the author to preserve markup not recognized by the tool. [Priority 2]
Note. The author may have included or imported markup that is not recognized by the tool, but which enhances accessibility.
4.4 Provide the author with a summary of the document accessibility status. [Priority 3]
4.5 Allow the author to transform presentation markup that is misused to convey structure into structural markup, and to transform presentation markup that is stylistic into style sheet markup. [Priority 3]

Techniques for this guideline:

Guideline 5. Integrate accessibility solutions into the overall "look and feel"

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 functionalities related to accessible Authoring practices are integrated into the tool. [Priority 2]
5.2 Ensure that the [WEB-CONTENT-PRIORITY] Priority 1 accessible authoring practices are among the most obvious and easily initiated by the author. [Priority 2]

Guideline 6. Promote accessibility in help and documentation

The issues surrounding Web accessibility are often unknown to Web authors. Help and documentation should explain accessibility problems and solutions, with examples.

Checkpoints:

6.1 Document all features that promote the production of accessible content. [Priority 1]
6.2 Ensure that creating accessible content is a naturally integrated part of the documentation, including examples. [Priority 2]
6.3 In a dedicated section, document all features of the tool that promote the production of accessible content. [Priority 3]

Guideline 7. Ensure that the Authoring Tool is Accessible to Authors with Disabilities

The authoring tool is a software program with standard user interface elements and as such should follow relevant user interface accessibility guidelines. In addition to applicable general interface accessibility guidelines there are interface design considerations that are specific to Web authoring tools.

One such consideration is that 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.

Another consideration relates to the process of navigating and manipulating the document while authoring. 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 elements, 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. Authors who use keyboard and mouse alternatives must make tiring repetitions of movement commands to navigate the document. There are strategies that make it easier to navigate and manipulate a marked-up document. Using the structure of a Web document, the author can be given a view of the document which allows the author to both get a good sense of the overall document and to navigate that document more easily.

Checkpoints:

7.1 Use all applicable operating system and accessibility standards and conventions (Priority 1 for standards and conventions which are essential to accessibility, Priority 2 for those that are important to accessibility, Priority 3 for those that are beneficial to accessibility). [Priority 1]
  • Guidelines for specific platforms include
    1. "IBM Guidelines for Writing Accessible Applications Using 100% Pure Java" [JAVA-ACCESS] R. Schwerdtfeger, IBM Special Needs Systems.
    2. "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.
    3. "Information for Developers About Microsoft Active Accessibility" [MSAA] Microsoft Corporation.
    4. "The Inter-Client communication conventions manual" [ICCCM]. A protocol for communication between clients in the X Window system.
    5. "Lotus Notes accessibility guidelines" [NOTES-ACCESS] IBM Special Needs Systems.
    6. "Java accessibility guidelines and checklist" [JAVA-CHECKLIST] IBM Special Needs Systems.
    7. "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.
    8. "Macintosh Human Interface Guidelines" [APPLE-HI] Apple Computer Inc.
    9. "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
    1. "The Three-tions of Accessibility-Aware HTML Authoring Tools" [ACCESS-AWARE], J. Richards.
    2. "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:
    1. "Accessibility for applications designers" [MS-ENABLE] Microsoft Corporation.
    2. "Application Software Design Guidelines" [TRACE-REF] compiled by G. Vanderheiden. A thorough reference work.
    3. "Designing for Accessibility" [SUN-DESIGN] Eric Bergman and Earl Johnson. This paper discusses specific disabilities including those related to hearing, vision, and cognitive function.
    4. "EITAAC Desktop Software standards" [EITAAC]] Electronic Information Technology Access Advisory (EITACC) Committee.
    5. "Requirements for Accessible Software Design" [ED-DEPT] US Department of Education, version 1.1 March 6, 1997.
    6. "Software Accessibility"> [IBM-ACCESS] IBM Special Needs Systems
    7. "Towards Accessible Human-Computer Interaction" [SUN-HCI] Eric Bergman, Earl Johnson, Sun Microsytems 1995. A substantial paper, with a valuable print bibliography.
    8. "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]. Refer also to 1.
  • 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.:

    Following Standards

    • 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 and APIs wherever possible
    • Ensure all dialogs, subwindows, etc meet these requirements
    • Avoid blocking assistive technology functions (sticky/mouse keys, screenreader controls, etc) where possible

    Configurability

    • 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

    Input Device Independence

    • 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

    Icons, Graphics, Sounds

    • 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

    Layout

    • 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)

    User Focus

    • Clearly identify the user focus (and expose it via API)
    • Unexpected events should not be caused by viewing content (for example by moving the focus to a new point)
    • Allow user control of timing - delays, time-dependent response, etc
    • Allow for navigation between as well as within windows

    2.7.1 Documentation

    • Provide documentation for all features of the tool
    • Ensure that help functions are accessible
  • Amaya is currently available for two platforms: Unix and Windows. There is some work required on both platforms to bring it into line with conventions, in particular to provide conformance with the User Agent Guidelines [WAI-USERAGENT], and to implement Microsoft Active Accessibility [MSAA]. It is being re-written to take advantage of the improved accessibility support possible in Gnome (it currently uses Motif) in the Unix version. The Documentation is all available online and has been reviewed to ensure it conforms to Web Content Accessibility Guidelines [WAI-WEBCONTENT].
  • Sketch uses standard APIs, provides help documentation which is (for the most part, but not completely) accessible, but fails to provide full accessibility to some functions.
  • Word seems to conform to this checkpoint well.
7.2 Allow the author to change the presentation within editing views without affecting the document markup. [Priority 1]
This allows the author to edit the document according to their personal requirements, without changing the way the document looks or is rendered when published.
7.3 Allow the author to edit all properties of each element and object in an accessible fashion. [Priority 1]
7.4 Ensure the editing view allows navigation via the structure of the document in an accessible fashion. [Priority 1]
7.5 Enable editing of the structure of the document in an accessible fashion. [Priority 2]
7.6 Allow the author to search within editing views. [Priority 2]

3 Appendix - Sample Implementations

[Editors' Note: These will be incorporated into the main body of the techniques, and available as single documents - so far that has only been done for the Amaya sample implementation.]

The Sample Implementations are collections of the above techniques for a specific type of tool. They have been developed to illustrate how the design principles embodied in the guidelines sections can be applied in various types of authoring tool.

3.1 Amaya

Amaya [AMAYA] is the W3C's testbed Web authoring/browsing platform. Its default editing view is WYSIWYG-style. The sample implementation [AMAYA-SAMPLE] outlines how Amaya Release version 2.1 conforms to the 3 September 1999 draft of the guidelines, and plans for improving conformance. Note. Amaya is developed as a proof of concept for a number of specifications, not a product for market.

3.2 Sketch

Sketch is an open-source image editor, which is in alpha. The version tested is 0.6.2, which provides an experimental SVG import/export functionality, although it only implements a few SVG elements as a proof of concept. It is written in python to enable easy user extension (and how to do this is well-documented).

3.3 The A-prompt Tool

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 information for known resources. The tool is built in such a way that the functions can be incorporated into an authoring tool.

3.4 Alt-Text for the HTML 4.0 IMG Element

[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.

7 Ensure that the Authoring Tool is Accessible to Authors with Disabilities
Implementation: The author can edit the document using the alternative information 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 markup 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.
1 Support accessible authoring practices
Implementation: Due to the [WEB-CONTENT-PRIORITY] 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.
3 Support the creation of accessible content
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.
4 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.
6 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.

4 Terms and Definitions

Accessible, Accessibility
Within these guidelines, Accessible and Accessibility are used in the sense of being accessible to people regardless of disability.

To understand the accessibility issues relevant to authoring tool design, consider that many users may be creating documents in contexts very different from your own:

In addition, accessible design will benefit many people who do not have a physical disability but with similar needs. For example they may be working in a noisy environment and unable to hear, or need to use their eyes for another task, and be unable to view a screen. They may be using a small mobile device, with a small screen, no keyboard and no mouse.

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.
Accessibility Information
Accessibility information is content, including information and markup, which is used to improve the accessibility of a document.
Accessibility Solution, Accessible Authoring Practice
These terms refer to Authoring practices that improve the accessibility of content generated by the tool.
Alerts
Alerts notify the author of something, or mark something for the author's attention. They may or may not require author response. 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.
Alternative Presentations and Alternative Information
Certain types of content may not be accessible to all users (e.g., images or audio presentations), so alternative representations are used, such as transcripts for audio, or short functionally equivalent text (e.g., "site map link") and/or descriptive text equivalents (e.g., "Graph 2.5 shows that the population has doubled approximately every ten years for the last fifty years, increasing from about 10 million to 330 million in that time"). An object may have several alternative representations, for example a video, captions of the audio, audio description of the video, a series of still images, and textual representations of each of these.
Attributes
in XML and HTML, an element may have any number of attributes. In the following example, the attributes of the beverage element are flavor, which has the value "lots", and colour, which has the value "red": <beverage flavor="lots" colour="red">my favorite</beverage> Some attributes are integral to document accessibility (e.g., the "alt", "title", and "longdesc" attributes in HTML
Authoring Tool
As used in this document, an Authoring Tool is any software that is used to generate content for publishing on the Web. Refer also to section 1.3 Scope of the guidelines.
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.
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.
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).
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.).
Document
A document is a series of elements that are defined by a language (e.g., HTML 4.0 or an XML application).
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.
Editing View
What is displayed by the authoring tool to the author during the editing process.
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 requires no closing tag or content.
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.
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.
Image Editor
A graphics program that provides a variety of options for altering images of different formats.
Inaccessible Markup, Inaccessible Element, Inaccessible Attribute, Inaccessible Authoring Practice and Access Barrier
These terms are used to mean markup or practices which do not meet (or produce content which does not meet) checkpoints of the Web Content Accessibility Guidelines [WAI-WEBCONTENT].
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.
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.
Markup Language
The term markup language is used in this document to refer to the encoding language of a document, such as HTML, SVG, or MathML.
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.
Prompts
Prompts are requests for user input, either information or a decision. Prompts require author response. Prompts can be used to encourage authors to provide information needed to make the information 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.
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 style sheet. In a database, properties of a particular element may include values of the entry, and acceptable data types for that element.
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.
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.
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.
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.
Transcripts
A transcript is a line by line record of all dialog and action within a video or audio clip.
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. .
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.
User Agent
The term User Agent in this document refers to an application which is used to read web content, such as a browser, a plug-in for a particular media type, or a piece of assistive technology.
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 information, and then provide the alternative information 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.
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.
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.
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.
Markup Language
The term markup language is used in this document to refer to the encoding language of a document, such as HTML, SVG, or MathML.

5 Acknowledgments

Many thanks to the following people who have contributed through review and comment: Jim Allan, Denis Anson, Kitch Barnicle, Kynn Bartlett, Harvey Bingham, Judy Brewer, Carl Brown, Dick Brown, Wendy Chisholm, Rob Cumming, Daniel Dardailler, Mark Day, BK Delong, Martin Dürst, Kelly Ford, Jamie Fox, Edna French, Sylvain Galineau, Al Gilman, Eric Hansen, Phill Jenkins, Len Kasday, Brian Kelly, Marja-Riitta Koivunen, Sho Kuwamoto, Jaap van Lelieveld, William Loughborough, Karen McCall, Charles Oppermann, Dave Pawson, Dave Poehlman, Bruce Roberts, Chris Ridpath, Gregory Rosmaita, Janina Sajka, Jim Thatcher, Irène Vatton, Gregg Vanderheiden, Pawan Vora, Jason White, and Lauren Wood.

6 References

For the latest version of any W3C specification please consult the list of W3C Technical Reports.

[ACCESS-AWARE]
"The Three-tions of Accessibility-Aware HTML Authoring Tools," J. Richards.
[AMAYA]
Amaya W3C's own browser/authoring tool, used to demonstrate and test many of the new developments in Web protocols and data formats. Amaya has a WYSIWYG style of interface. Source code, binaries, and further information are all available at http://www.w3.org/Amaya/.
[AMAYA-HELP-IMG]
"Images and Client-side Image Maps" Amaya's Help page for images and image maps.
[AMAYA-SAMPLE]
Amaya - Authoring Tool Accessibility Guidelines example" Describes how Amaya, W3C's WYSIWYG browser/authoring tool, implements the guidelines.
[APPLE-HI]
"Macintosh Human Interface Guidelines," Apple Computer Inc.
[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 at http://aprompt.snow.utoronto.ca
[AUTO-TOOL]
"Techniques For Evaluation And Implementation Of Web Content Accessibility Guidelines," C. Ridpath.
[CSS1]
"CSS, level 1 Recommendation," B. Bos, H. Wium Lie, eds., 17 December 1996, revised 11 January 1999. This CSS1 Recommendation is http://www.w3.org/TR/1999/REC-CSS1-19990111. The latest version of CSS1 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., 12 May 1998. This CSS2 Recommendation is http://www.w3.org/TR/1998/REC-CSS2-19980512. The latest version of CSS2 is available at http://www.w3.org/TR/REC-CSS2.
[CSS2-ACCESS]
"Accessibility Features of CSS," I. Jacobs and J. Brewer, eds., 4 August 1999. This version is http://www.w3.org/1999/08/NOTE-CSS-access-19990804. The latest version of Accessibility Features of CSS is available at http://www.w3.org/TR/CSS-access.
[ED-DEPT]
"Requirements for Accessible Software Design," US Department of Education, version 1.1 March 6, 1997.
[HTML4-ACCESS]
""WAI Resources: HTML 4.0 Accessibility Improvements," I. Jacobs, J. Brewer, and D. Dardailler, eds. This document describes accessibility features in HTML 4.0.
[HTML40]
"HTML 4.0 Recommendation," D. Raggett, A. Le Hors, and I. Jacobs, eds., 17 December 1997, revised 24 April 1998. This HTML 4.0 Recommendation is http://www.w3.org/TR/1998/REC-html40-19980424. The latest version of HTML 4.0 is available at http://www.w3.org/TR/REC-html40.
[IBM-ACCESS]
"Software Accessibility," IBM Special Needs Systems.
[ICCCM]
"The Inter-Client communication conventions manual." A protocol for communication between clients in the X Window system.
[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.
[JAVA-ACCESS]
"IBM Guidelines for Writing Accessible Applications Using 100% Pure Java," R. Schwerdtfeger, IBM Special Needs Systems.
[JAVA-CHECKLIST]
"Java Accessibility Guidelines and Checklist," IBM Special Needs Systems.
[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.
[MATHML]
"Mathematical Markup Language," P. Ion and R. Miner, eds., 7 April 1998, revised 7 July 1999. This MathML 1.0 Recommendation is http://www.w3.org/TR/1998/REC-MathML-19990707. The latest version of MathML 1.0 is available at http://www.w3.org/TR/REC-MathML.
[MS-ENABLE]
"Accessibility for Applications Designers," Microsoft Corporation.
[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.
[MSAA]
"Information for Developers About Microsoft Active Accessibility," Microsoft Corporation.
[NOTES-ACCESS]
"Lotus Notes Accessibility Guidelines," IBM Special Needs Systems.
[SEARCHABLE]
"A Comparison of Schemas for Dublin Core-based Video Metadata Representation," J Hunter.
[SKETCH]
The Sketch open source image editor home page.
[SMIL-ACCESS]
"Accessibility of SMIL", M.-R. Koivunen, I. Jacobs eds. The latest version is available at http://www.w3.org/TR/SMIL-access
[SUN-DESIGN]
"Designing for Accessibility," Eric Bergman and Earl Johnson. This paper discusses specific disabilities including those related to hearing, vision, and cognitive function.
[SUN-HCI]
"Towards Accessible Human-Computer Interaction," Eric Bergman, Earl Johnson, Sun Microsytems 1995. A substantial paper, with a valuable print bibliography.
[SVG]
"Scalable Vector Graphics (SVG) 1.0 Specification" (Working Draft), J. Ferraiolo, ed. The latest version of the SVG specification is available at http://www.w3.org/TR/SVG
[SVG-ACCESS]
"Accessibility of Scalable Vector Graphics" (Working Draft), C. McCathieNevile, M.-R. Koivunen eds. The latest version is available at http://www.w3.org/1999/09/SVG-access
[TRACE-REF]
"Application Software Design Guidelines," compiled by G. Vanderheiden. A thorough reference work.
[WAI-AUTOOLS]
"Authoring Tool Accessibility Guidelines 1.0 (working draft)," J. Treviranus, J. Richards, I. Jacobs, and C. McCathieNevile eds. The latest version is available at http://www.w3.org/WAI/AU/WAI-AUTOOLS.
[WAI-ER]
The Web Accessibility Initiative Evaluation and Repair Tools Working Group tracks and develops tools that can help repair accessibility errors.
[WAI-USERAGENT]
"User Agent Accessibility Guidelines," J. Gunderson and I. Jacobs, eds. The latest version of the User Agent Accessibility Guidelines is available at http://www.w3.org/WAI/UA/WAI-USERAGENT.
[WAI-WEBCONTENT]
"Web Content Accessibility Guidelines 1.0," W. Chisholm, G. Vanderheiden, and I. Jacobs, eds., 5 May 1999. This Recommendation is http://www.w3.org/TR/1999/WAI-WEBCONTENT-19990505. The latest version of the Web Content Accessibility Guidelines 1.0" is available at http://www.w3.org/TR/WAI-WEBCONTENT/.
[WAI-WEBCONTENT-TECHS]
"Techniques for Web Content Accessibility Guidelines 1.0," W. Chisholm, G. Vanderheiden, and I. Jacobs, eds. The latest version of Techniques for Web Content Accessibility Guidelines 1.0 is 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.
[XHTML10]
"XHTML(TM) 1.0: The Extensible HyperText Markup Language (Working Draft)," S. Pemberton et al. The latest version of XHTML 1.0 is available at http://www.w3.org/TR/xhtml1.
[XMLGL]
"XML Accessibility Guidelines (Draft Note)," D. Dardailler ed. Draft notes for producing accessible XML document types. The latest version of the XML Accessibility Guidelines is available at http://www.w3.org/WAI/PF/xmlgl.