Objects that Must Be Keyboard Accessible
The VHA Section 508 checklist specifies several checkpoints that relate to keyboard accessibility. These checkpoints are available in a separate window by selecting the link that follows:
The lesson on Maintaining Focus also contains content related to this section. Objects that must be keyboard accessible can be summarized as follows.
All controls (play, stop and pause buttons, volume sliders, help buttons, choice buttons, toggle buttons, etc.) must be keyboard accessible (able to be operated from the keyboard) unless one or more of these is true:
- They are disabled.
- Their function is duplicated by a second, accessible control.
- Their function is one that cannot be implemented without a mouse, drawing pad or other handheld device, including such things as freehand or pressure sensitive drawing but not drag-and-drop interfaces whose function could be accomplished with keyboard accessible buttons.
Remember to disable Accessibility for any control that is actionable but cannot be made keyboard accessible or that activates a function that cannot be made keyboard accessible. Remember alternative controls must exist unless the functionality cannot be achieved with a keyboard, as in the example above creating a freehand drawing based on the pressure of a pen device.
Media playback controls should have keyboard shortcuts, as should any controls not reachable with the first five Tab key presses.
Form Elements but Not Their Labels
It must be possible to use every radio button, checkbox, slider, text input field, choice button, submit button, list box, combo box or data grid from the keyboard.
As explained in detail in the Providing Accessible User Interface Controls lesson, controls in a form should be keyboard accessible, but labels for the controls should not be. Include the label information in the form element's Accessible Name instead.
Movie clips the user can interact with serve as controls and must be keyboard accessible according to the guidelines above. This is also true for any movie clips that represent error messages, alerts, license text or dynamically changing values. Any purely decorative movie clips should not have Accessible Names and should not be tab-enabled.
Menus must be keyboard accessible. If any portion cannot be made keyboard accessible, there must be another way to execute the same function from the keyboard. The use of mnemonics and other shortcuts can help.
Dynamically Changing and Critical Text
Be sure all dynamically changing or critical text appears in the tab order, so screen readers can read it. This means dynamic text within a movie clip or input text must be used as you cannot place Flash static text objects in the tab order.
- Dynamic text – should have a tab index that places it in the correct place in the tab order and should be tab-enabled. Making dynamic text tab-able is discussed in the topic How to Make Changing Dynamic Text Keyboard Accessible in this lesson.
- Input text – should have a tab index that puts it in the correct place in the tab order and be tab-enabled, so the user can tab to it to enter text.
- Window and dialog box titles – should be dynamic text or a movie clip with an Accessible Name. They should be given a tab index that places them in the correct place in the tab order.
- Error text – should be dynamic text at the top of the form with a tab index that places it at the start of the tab order when it is on-screen.
- License text – must be reachable via the tab order and readable from the keyboard. If license text is too long to read without scrolling, the field must be scrollable via the keyboard. See Scrollable Content, below.
- Read-only input text – should be reachable via the Tab key and have an appropriate tab index if it contains a visible value sighted users can read.
When possible, developers should ensure that scrolling is not required to access content. If scrolling is required, developers must ensure that the scrolling mechanism is keyboard accessible. This is typically achieved by the Flash Scroller object, which provides for keyboard access via up/down and page up/down.
Select Next for more on the functionality that must be keyboard accessible.