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.
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.
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.
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.
“As a partially blind researcher and writer, I need to be able to switch quickly between the enlarged font sizes I prefer and the 12-point font that my editors want. In Word, this requires at least eight keystrokes. Alan Cantor designed a custom command that allows me to go back and forth in one simple step.
In my work, I depend entirely on the CNIB Digital Library website for the newspapers I read. I use a macro that allows me to download as many articles as I want with three keystrokes instead of the endless back and forth required when using a mouse and keyboard. The macro selects the first article, sends it to the Kurzweil Virtual Reader, returns to the list of articles, and then double-clicks the next one. Now, I can download 10 to 20 articles at a time, go away, make a cup of tea, and come back to find them in Kurzweil, ready to read.”
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.
“As a blind person working in the pressure cooker world of law, I am constantly looking for faster ways to access print information. I frequently depend on search commands to navigate through documents quickly. Unfortunately, standard searches in the Windows environment are unnecessarily cumbersome to do with a screen reader, especially for anyone trying to minimize keystrokes.
I now use three customized macros for find commands — one to search forward, the second to search backward, and the third to repeat the last search — that let me zero in on information in half the time using a quarter of the keystrokes.
I also changed the hotkey to switch between documents. The default hotkey in MS Word is Ctrl+F6. It took me too long to repeatedly get my hand on the F6, so I made Ctrl+spacebar do the same thing. Now my hands hardly move when switching between Word documents, and I switch between documents far more quickly.”
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.
“I call macros my ‘mini miracles.’ Why? Because of my disability, I do not use the mouse with any ease or efficiency. With a macro, I get the same result by pressing one or two keys as I did when I clicked the mouse 30 times or more.
My position at Transport Canada is very computer intensive, and macros have been tailored to my specific job tasks. All documents are scanned and viewed on the computer screen. Normally, you need to click on each document to view them. Instead, I use two hotkey macros that let me view documents by pressing Page Up and Page Down.”