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