Keyboard Accessibility
Introduction to Keyboard Accessibility
Article Contents
- Current page: Page 1: Introduction to Keyboard Accessibility
- Page 2: Providing Keyboard Shortcuts Using accesskey
- Page 3: Altering the Default Tab Order Using tabindex
Something to Think About...
Important
Ensure that all content can be accessed with the keyboard alone.
Keyboard accessibility is one of the most important aspects
of disability access. Blind people generally cannot use a mouse
because they cannot see where to click. They use their keyboard
almost exclusively. (Some legally blind people have limited
residual vision which allows them the use of a mouse if the
page is enlarged and the contrast is high.)
Some individuals with neuromuscular impairments cannot use a mouse either. Some have tremors which don't allow for fine muscle control. Others have little or no use of their hands, due to a spinal cord injury, brain damage, or some other cause. Some people simply do not have hands, whether due to a birth defect, an accident, or amputation. There is an almost limitless list of conditions that could make mouse usage difficult or impossible.
Those who cannot use a mouse may not be able to use a keyboard either. Some use "puff and sip"devices activated by airflow from the mouth. Others use single-switch devices - consisting of a piece of hardware with one button that can be pushed. These devices are sometimes configured to interpret Morse code, which the person performs by tapping on it. One thing that all of these devices have in common is that they interact with the computer in a way that mimics the functionality of the keyboard. If a Web site is not keyboard-accessible, you will shut many people out.
Potential Problems
JavaScript DHTML menus. Despite its flashy appearance, dynamic HTML (DHTML) is rarely keyboard-accessible. One popular application of DHTML is to create menus that appear when the mouse rolls over them (for an example of this technique, see http://www.microsoft.com/windows/ - external link, using Internet Explorer in Windows, or http://www.franklincovey.com/foryou/ - external link).
The menus are slick ways of keeping the interface simple and uncluttered, while also allowing the user to quickly locate the desired content with a minimum number of clicks. The down side is that none of the functionality is available without a mouse. The DHTML menus can't be made directly accessible with current technologies, but there are workarounds.
Microsoft provides a prime example of an effective workaround strategy. Microsoft's DHTML menus are designed to work only on Internet Explorer in Windows. Presumably Microsoft did this to make Internet Explorer look better than the competition. The programmers knew that not everyone visiting their site would be using Internet Explorer. Some people use Firefox, Opera, Lynx, or other browsers. The programmers realized that they needed to provide a redundant menu system that was accessible to the non-Microsoft browsers. Their solution was to place plain text links on the destination pages that contain identical menu options as the ones in the DHTML menus. As long as the links and functionality produce the same results without extra hardship, this is an acceptable solution from an accessibility standpoint. Some people will use the DHTML menus, and others will use the redundant text links.
WYSIWYG absolute
positioning. Some WYSIWYG (What
You See Is What You Get) editors, such as Dreamweaver and GoLive,
allow Web designers to easily create absolute-positioned div or span elements
which can be dragged around and repositioned with the
mouse. The process of repositioning changes the visual
layout, but does not change the order of the elements in
the code. The result can be that the structural reading
order and tab order do not match the visual reading order.
When a person uses the keyboard to navigate through the
links on a Web page (in most browsers this is the Tab key),
the tab order is unorganized and out of sequence with the
visual order.
Keyboard Accessibility Enhancement
Specifying the tab order. For the most part,
Web developers don't need to worry about specifying the
tab order of the elements on their Web pages. Well designed
pages and/or tables usually have a built-in logical tab
order. At times, though, a page—especially a page with forms—can
benefit by assigning the tab order to form controls and/or
links. To specify the tab order of an element, add a tabindex attribute
to the tag. For example, tabindex="1", tabindex="2",
etc.
Providing keyboard shortcuts. This feature is rarely used, so most users do not expect a page to have keyboard shortcuts. Perhaps over time this feature will become more popular, but the wide variation between Web page interfaces, combined with the decentralized nature of the Web, and the disparity between the skills of Web designers makes the implementation somewhat problematic. The shortcuts are specific to the page or site on which they reside. In addition, there is no standard method of alerting the user to the presence of the shortcuts. In contrast, the convention for non-Internet programs on the Windows platform is to underline the letter of the shortcut key. This convention wouldn't be appropriate on the Web, since underlined elements usually suggest a link. Another potential drawback of keyboard shortcuts is that they may interfere with the shortcuts of the browser, operating system, or assistive technology (e.g. screen reader or screen enlarger) that the person is using. Despite the potential negative aspects of keyboard shortcuts, the potential benefit is that a user can immediately jump to the desired destination or perform the desired action by pressing a key.