Super Shortcuts - Software Modifications for People with Disabilities
From: abilities - Canada's Lifestyle Magazine for People with Disabilities -
   Winter 2006 - page 41 
By: Alan Cantor

Software is not called soft-ware for nothing. Computer operating systems and
programs are actually malleable; with the right tools and skills, software
can be shaped to better fit the hands and needs of individuals. 

This article describes three little-known customization techniques for
lessening the physical and cognitive effort of operating a personal computer
(PC). The techniques are a boon to people with disabilities because they
remove access barriers. 

Software customization makes a critical difference for employees and students
because the techniques allow people to work faster, more accurately, more
comfortably and with fewer errors. 

Software Barriers 

No computer system is perfect. Despite the best efforts of software
developers, programming errors ("bugs") creep into the applications we use
every day. These errors affect everybody, but the negative effects are
magnified for people with disabilities. Whereas a bug may inconvenience a
person without a disability, it may stop a person with a disability from
using the program altogether. 

Dena Shumila, a 33-year-old accessibility consultant, laughs as she recounts
the story of the e-mail program that her university introduced in the early
1990s. 

"As a screen reader user, I found it pretty good. I could do everything I
needed to do by keyboard, except one thing: the only way to send messages was
to click on a toolbar icon. But without a mouse, that was impossible!" 

In general, mainstream applications are more accessible now than they were in
the past. Nevertheless, software developers still inadvertently create
barriers. These barriers result in program features that are difficult or
impossible to use, and operations that are too complex to perform with
assistive technologies. The three techniques described in this article are
"workarounds" to software barriers that people with disabilities face. In my
work as a workplace accommodation consultant for individuals and
organizations, I use these techniques to fix accessibility problems, automate
repetitive tasks, and simplify the appearance and operation of computer
programs. 

User Interface Modifications 

The user interface (UI) of a computer program consists of the graphics, text
and auditory information that the program presents to the user, and all the
ways that the user can control the program. 

Some programs feature flexible UIs. The appearance and operation of these
applications can be reshaped to enhance accessibility. For example, a command
that is activated by clicking an icon can be assigned a "hotkey," or a
keyboard shortcut; a keyboard command that is hard to remember or awkward to
reach can be changed to a more convenient one; menus and toolbars can be
created, dismantled and rebuilt; menus, menu commands and toolbars can be
moved, renamed and deleted; and the order in which commands appear in menus
and toolbars can be altered. When a UI is so flexible, it feels as if it's
made of modelling clay! 

"Clyde" is a Ph.D. student with attention deficit hyperactivity disorder
(ADHD). He is a brilliant writer, but constantly battles his word processor.
Menus confuse and distract him. He spends a lot of time hunting for commands,
and cannot remember where to find the ones he needs. His word processor has
nine menus, and each menu contains up to 17 commands. 

Clyde asked me how we could make his experience less difficult. I redesigned
the UI to display five menus instead of nine, with each menu containing a
maximum of five commands. The customized menus reduce visual distraction and
help Clyde focus on his ideas. 

Application Macros 

Whereas some people benefit from a simpler UI, others benefit when new
commands are added to a program. This can be accomplished with application
macros.  

Most word processors (and a handful of other programs, too) have a "macro
recorder" for creating new commands. To capture a new command, turn on the
macro recorder and perform a task using keyboard and mouse. The recorder
translates these actions into programming code. The recordings ("macros") can
be added to menus and toolbars, or assigned hotkeys. 

Not all actions can be recorded. Individuals who have programming experience,
however, can sometimes revise the underlying code to make macros more
versatile.  

People with disabilities benefit from application macros in two ways. First,
multi-step procedures can be automated. For example, a person with an
upperbody mobility disability may find it's very slow to perform tasks that
require precise hand-eye coordination, while a person with low vision may
find it frustrating to constantly change display settings that are buried
deep in a menu. In both cases, a single macro that performs several steps
significantly reduces the time and effort required to operate the PC. 

Second, built-in commands can be replaced by application macros. The "normal"
way to perform a task may be inefficient or inappropriate for someone with a
disability. For example, search commands in most applications are optimized
for sighted users, and are less than ideal for screen reader users. 

Application macros are fully integrated into the program in which they were
created. Application macros look, feel and work like built-in commands. From
the perspective of the user, the two are indistinguishable. For this reason,
application macros can be extremely reliable. 

Scripted Macros 

The reliability of application macros makes them desirable, but it is not
always possible to create them. Most mainstream programs do not have a macro
recorder or an underlying programming language that users can access. 

Even for programs that have these features, application macros cannot, in
general, interact with other programs. It is difficult, if not impossible, to
make an application macro for an e-mail program select and copy text on a
website and paste it into an outgoing message. 

The solution is to create scripted macros using macro software. Macro
software monitors keyboard and mouse activity. When a user presses hotkeys or
types codewords that the macro software recognizes, or performs specific
mouse actions, the macro software responds by sending a sequence of commands
(a "script") to the PC. 

Scripted macros are less reliable than application macros, but more
versatile. They can be designed to respond in any program, or to react only
in certain windows. 

Scripted macros can perform simple tasks (such as typing a telephone number),
or execute complex command sequences (such as copying data from one document
and pasting it in another). Scripted macros are often the only way to make
inaccessible software accessible to assistive technology users. 

Final Word 

Software customization is an indispensable tool in my assistive technology
toolkit. In one case, custom commands quadrupled a client's working speed and
eliminated work-related back spasms. In another case, macros made a totally
inaccessible program accessible enough for an employee to continue his job. 

There are downsides to these techniques. A customized system looks, feels and
works differently than a standard PC, and some people have difficulties
adjusting when moving from one computer to another. Furthermore, customized
PCs are harder to maintain. In the event that a macro or user interface
modification fails, the only person who can correct the problem may be the
person who created the customization. 

Despite these drawbacks, it has been my experience that individuals who use
customized software cannot imagine doing without. Software tailored to fit
one's needs boosts productivity, increases comfort, and is a pleasure to use. 

If you think you could benefit from some of the techniques described above,
talk to your student services department, your employer or human resources
staff, or contact an accessibility consultant. One resource for Windows users
is The Windows Macros FAQ at
http://www.cantoraccess.com/macro-docs/macrosfaq.htm.

Alan Cantor is president of Cantor Access Inc. (http://www.cantoraccess.com).

Contributed and published with the permission of Alan Cantor

abilities:
http://www.abilities.ca

This article appears here:
http://www.cantoraccess.com/abilities-2006.htm
