Working on Accessible Web Content Guidelines and Designing More Usable Documents
Trace R&D Center
Many individuals, especially those with visual, physical, and/or cognitive disabilities, have trouble navigating the content of data tables on the World Wide Web. These problems exist because most browsers do not allow keyboard navigation of the data tables, which is an essential technique used by many people with disabilities whether or not they use assistive technology (AT).
The Trace R&D Center had already developed the "First Unified Web Guidelines" (Vanderheiden, G. C., & Chisholm, W., 1997) to assist developers with disability access concerns when the World Wide Web Consortium (W3C) launched the International Web Accessibility Initiative (WAI). Trace Center Director Gregg Vanderheiden and staff human factors engineer Wendy Chisholm soon joined the WAI's Web Content Accessibility Guidelines (WCAG) group as co-editors. The working group encountered several challenges, one of which centered around how to provide access to web-based data tables.
Trace began the research by reviewing the "state-of-the-art" in table accessibility and developed techniques that would allow users to navigate web-based data table header information and cell content using the computer keyboard with the browser alone, or in combination with AT.
The goal of this project was to determine what "technology" would allow users with disabilities to both navigate and access the contents of the web based data tables. The technology solutions would then be added to the WAI content guidelines and shared with the AT field.
Finally, with the last proof-of-concept dynamic link library (DLL) tool, we were able to construct a side panel for display similar to the "history" or "favorites" functions of Microsoft's Internet Explorer. This may have important implications for the future of electronic document navigation. The ability to provide the user with side by side panel(s) (e.g., multi-views), but with a differing "structured" view(s) of a web page may greatly aid those with visual as well as cognitive disabilities to better understand and navigate an electronic document. To date, we've only briefly looked at what other developers are attempting in this area. Further work may help address navigation issues for multiple disabilities.
Note: The Web Content Accessibility Guidelines (WCAG) 1.0 became a W3C Recommendation on May 5, 1999.
In addition, HTML 4.0, which supports multimedia options, scripting languages, style sheets, better printing facilities, and documents that are more accessible to users with disabilities, was first released as a W3C Recommendation on December 18, 1997, and was the basis for the development of these tools.
Tools, Demos, and Proof of Concepts used for development during this project:
Figure 1: Travel Expense Report [D]
A complete description of the table navigation script is included in Appendix A:
We developed two basic web page powertoy-like tools that can assist the user in understanding the layout of a web page. Each tool creates a separate pop-up window that contains a keyboard navigable list of either headers or links from the web page in view. The user can then select items from within the powertoy-like tool and be transferred to that location on the web page. For example, if the user found a "header" on the web page of particular interest in the powertoy "header listing," she could select that header in the powertoy tool pop-up window, and be taken to that location on the web page. The user could then review information from her newlocation on the web page.
The user can invoke both powertoy-like tools on any web page by activating the context menu (shift+F10) as shown in the following screen shot and then selecting either the "links list" or "headers list." Unfortunately, the powertoy-like tools do not update themselves when a new web page is viewed. The user must do this manually.
Figure 2: Screen shot of context menu activated and "Headers List" selected. [D]
Figure 3: Screen shot of Browser window and Headers List window both open. [D]
This more robust proof-of-concept tool actually became a working Windows-based prototype program and became known as "HelpDB". HelpDB works with IE 4 or higher. When the user launches HelpDB, it in turn launches IE and then communicates with the IE document object model (DOM) using Microsoft's component object model (COM) technology. Since HelpDB is a program by itself, it resides in its own memory area and has to access IE across process-boundaries on the personal computer when running the Windows' operating system. The requirement for an across process-boundary operation introduced a common problem that is faced when two programs communicate while running under Windows on the PC (there is more than one way to solve this problem, but we chose to start with the out-of-process method, perhaps more typical of standard AT applications). Based on the number of times a program has to cross the process-boundary to share information and/or the amount of information that is needed to be shared, this task itself can be processor intense and thus on older, slower personal computers, also appear time intensive (i.e., possibly slow enough that the user would have to wait for information to be updated in their AT beyond their level of patience).
We understood that the initial HelpDB tool is processor intensive and has a slow response time, however, we continued to develop HelpDB as originally planned, since the need for a more robust proof-of-concept tool was greater than the need for the fastest tool possible. Also, while developing HelpDB, we decided to make use of Microsoft's Speech API (e.g., SAPI) to enable self-voicing features for HelpDB.
Figure 4: Screen shot of HelpDB containing a list of headers
on the upper left, from the web page shown in IE on the right side of the screen. [D]
We also demonstrated HelpDB for several software developers attending the CSUN conference, including software developers from IBM Special Needs Systems (SNS). The IBM developers were impressed with HelpDB's ability to keyboard navigate a web-based data table. One of IBM's main attractions at the conference was their Home Page Reader (HPR) product, a self-voicing browser that was generating a lot of interest in the disability community. At that time, HPR did not allow the user to navigate a web-based data table using the keyboard. Following the 1999 CSUN conference, IBM contacted Trace to request a working example of HelpDB and a copy of the source code to develop access to web-based data tables in HPR. With the release of version 2.5 of HPR in June of 1999, users are now able to navigate web-based data tables using the keyboard.
In January 2000, Henter Joyce (now part of Freedom Scientific) released version 3.5 of the Job Access With Speech (JAWS) screen reader with keyboard navigable web-based data tables. We also discovered that a previously available tool in the UNIX/Linux community called "Emacspeak" allowed users to navigate web-based data tables using the keyboard. With the availability of these commercial products, there was no need to continue development of HelpDB. However, it remains available for download and for user experimentation in the Navigation and Reading Tools section of the Designing More Usable Documents page.
Retrieving and presenting information using the DLL approach (e.g., in-process) was certainly faster (as observed), however, the web page information contained in IE's document object model using an in-process versus an out-of-process approach is essentially the same. Developers may want to consider other issues such as security, ease of grabbing input (e.g., keyboard, mouse, etc.) events, prior to determining which approach may be best for an application.
Figure 5: The Screen Shot above of IE with the tunnel.dll
loaded shows a left-hand panel opened containing a tree-view list
of headers for the web page in view.[D]
As noted above, there are now several commercial tools that provide the user with the ability to navigate web-based data tables. Therefore, we decided to discontinue further development of a full-featured DLL (e.g., one with all the capabilities of HelpDB) because it would duplicate efforts already completed in the AT field. However, this last proof-of-concept tool is also available off the Trace Center Web site for download at the Navigation and Reading Tools section of the Designing More Usable Documents page.
Vanderheiden, G. C., Chisholm, W., "Page Author, User Agent and Assistive Technology Guidelines and Issues - Version 8 Unified Web Site Accessibility Guidelines," Trace R&D Center, Madison, WI.
Table Navigation Script
Unfortunately, activating the script can be tricky. First of all, success depends on the browser. The best browser by far for this script currently is Internet Explorer 5. Internet Explorer 4 works, with the following instructions, and Netscape has been known to work, but with much more work. Since tables are not active elements like links, we have been unable to create a mechanism to give a table focus (that seems to work consistently). It may take a few tries, but we seem to have the most luck when we use the following voodoo:
- Resize the window to the size of the table,
- Move the window to the lower right corner,
- Double-click on the table,
- Then press a few arrow keys.
Try your best and if you are still unsuccessful after a few tries, or are unable to devise a consistent mechanism, please let us know.
By default, the script displays all cell information (including the data, the cell's headers, and the cell's position) automatically. The following keys will change this output:
- F8 - press this to display only the cell's position.
- F9 - press this to display only the cell's headers.
- F10 - press this to toggle the automatic header information display (the program will give you a dialog with the current status).
Figure 6: Travel Expense Report Sample Table [D]