jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879) (06/13/91)
At various points in my career, I've been involved with helping handicapped users of computer systems, in one case, a blind user using a speech synthesizer and Braille printer (built from scratch), and in other cases, people with motor disabilities. My general observation in all these cases was that for all these users, fancy input devices and classy display management were major problems. If software designers want to assure that their software is "handicapped accessible," I have the following two suggestions: 1) Make sure that everything can be done from the keyboard. Do not require a mouse or a touch panel! This means that there should always be something equivalent to arrow keys for moving the cursor, and it means that menu items should always be accessible as keys on the keyboard. For a person with motor disorders, moving the cursor by a sequence of arrow key presses can be painfully slow compared to pressing a single key corresponding to a menu item. For a blind person, finding the cursor on the screen is an awesomely difficult task, even with some of the marvelous tools now on the market. It's far better to simply use keys on the keyboard to select menu items. 2) Make sure that text is presented in a linear order. Speech synthesizers are inexpensive, and it isn't hard to fix one up to intercept text as it comes to the display, but such interception is only really useful if the text is presented in reading order. Many window managers are particular offenders here, with different subparts of a window hierarchy (for example, a menu) popping up in essentially random order. In any case, a decent speech synthesizer interface to a display manager should allow brousing of the display after it is built, stepping the cursor from text item to text item in two dimensions and playing back the text, optionally in continuous speech mode, word-at-a-time mode, or letter-at-a-time mode. Peter Maggs built a speaking Plato terminal that did this 15 years ago, and it worked well with the Braille printer that Andrew Appel and I built. In addition, the following keyboard characteristics are desirable: 1) Limited use of shift keys. People with only one hand and people with motor control disorders can have big problems dealing with more than one key at a time. Locking shift keys solve the problem for case selection, but on some modern systems, there's only an alpha lock that has no effect on punctuation keys, and nobody I've seen makes a standard keyboard with a control-lock or meta-lock key. There are simple solutions we found to the locking shift problem for one user, we simply gave him a steel ball he could set on the shift or control keys to hold them down. 2) Make it possible to disable auto-repeat! Some people with motor disorders have to make separate and distinct efforts to press and release keys, and thus, they frequently hold a finger on a key long enough to activate the repeat feature. 3) Avoid use of nonstandard key spacing! The standard spacing between rows and columns of keys on a typewriter keyboard is 3/4 inch, and this spacing is big enough that it is possible to make a keyboard mask with one finger-sized hole over each key. Such masks allow people with only spasmodic control over their hands to make quite effective use of a standard keyboard. They just slide their hands over the mask until a finger is positioned over the right key, then shove the finger through the mask and bash that key, with no risk of hitting the neighboring keys. Custom masks (in lots of 1) can be commercially machined for only a few hundred dollars. Doug Jones jones@cs.uiowa.edu