Accessibility Problems and HTML Forms

Team-Fly    

Maximum Accessibility: Making Your Web Site More Usable for Everyone
By John M. Slatin,, Sharron Rush
Table of Contents
Chapter 10.  Forms of Participation: Designing HTML Forms for Maximum Accessibility


If Web developers don't label their forms correctly, you might find yourself in a situation like the one shown in Figure 10-1.

Figure 10-1. Screen shot of a form that has unlabeled input fields and buttons.

graphics/10fig01.gif

No, you're not crazy! The fields aren't labeled, and neither are the radio buttons. Even the buttons where the Submit and Reset buttons usually appear are blank. How could you complete the form correctly? This is similar to the problem we encountered on the Smithsonian Institution site on our first visit back in September 2001: a pop-up window, removed in a later redesign, included a registration form with unlabeled input fields that the JAWS screen reader couldn't identify (see Chapter 7).

The point, of course, is that one of the most important things you can do to make your Web-based forms accessible to people with disabilities especially people using screen readers, talking browsers, and screen magnifiers as well as refreshable Braille displays and text-only browsers is to label each item on the form in such a way that assistive technology devices can identify and correctly report the labels. Without this, the person using a screen reader to work with the form will be in a bind like the one everyone would be in if they had to fill out the form shown in Figure 10-1.

Using the Keyboard to Interact with Forms

It's important to remember that people who use screen readers, talking browsers, and refreshable Braille displays to interact with forms on the Web typically don't use the mouse. Instead, they use the keyboard to navigate from field to field, to select options (for example, radio buttons, check boxes, or pull-down menus), and to submit the form. Of course, they usually can't see instructions and labels that appear beside or above the form fields and other elements on the form. And if the form isn't coded for accessibility, these users may not encounter the instructions and labels at all.

JAWS users, for example, have to rely on a special Forms Mode in order to interact with forms on the Web. To turn Forms Mode on, the user first listens for JAWS to indicate that it has found a field or other form element such as a radio button. When JAWS encounters an input field, for example, it speaks the label followed by the word "Edit." At this point, the user presses the enter key on the keyboard and JAWS says, "Forms Mode on." From this point, users typically tab through the remaining items on the form. When it encounters radio buttons or check boxes, JAWS says, for example, "Radio button checked," then reads the label for the radio button. To select a different option than the one currently selected, JAWS users can press the up or down arrow key on the keyboard. All goes smoothly if all the items on the form are labeled in such a way that the assistive technology can identify them.

But there's more to it than simply labeling input fields and buttons. People who have limited use of their hands may also have difficulty completing online forms. For example, people with hand tremors resulting from cerebral palsy, Parkinson's disease, or other causes may find it difficult to select radio buttons that are too close together on the screen. Some quadriplegics and others who use onscreen representations of keyboards find it difficult to use forms whose controls aren't organized in a logical tab order or that require typing when they could use selection menus instead.


    Team-Fly    
    Top
     



    Maximum Accessibility(c) Making Your Web Site More Usable for Everyone
    Maximum Accessibility: Making Your Web Site More Usable for Everyone: Making Your Web Site More Usable for Everyone
    ISBN: 0201774224
    EAN: 2147483647
    Year: 2002
    Pages: 128

    flylib.com © 2008-2017.
    If you may any questions please contact us: flylib@qtcs.net