August 22, 2013

Making Software More Accessible!


What is accessible software?

This term is hard to define, and many definitions exist. My personal take on this is that to make a piece of software accessible is to allow it to be accessed using interfaces other than the “normal” and for the application information to be presented in a meaningful way to the users of these other interfaces.

Because this definition covers a wide range of assistive devices and user groups, I will limit my examples to screen reader users. However, many of the concepts can be applied to other user groups.

As a visually impaired person, I have used software where accessibility requirements have been thought through, as well as software where it has not been taken in to account that someone who uses a screen reader will need to use the software. I have also been involved with companies and organizations that make assistive technology products or work to make the Internet more accessible. Experience has shown me that it is much easier to make a product accessible if these requirements are thought about before implementation begins.

In the case of screen readers, developing an application that is accessible on one platform does not mean it is necessarily accessible on another because different platforms use different accessibility APIs.

Accessibility APIs include:

There are usually many things that can be done to make a product more accessible that do not require advanced knowledge or interaction with these APIs. For example, when building an application with a Web interface, using alt tags and providing elements for logical easy navigation, such as multiple levels of headings, can make a huge difference. Also, ensuring that events can be triggered with the keyboard, as well as the mouse, helps enable users of screen readers, as well as those who cannot use a mouse, to perform many more tasks for themselves. Using a logical tab order will help ensure that users can find the information they want quickly and will give a smoother user experience for screen reader and/or keyboard users.

Some tips for testing:

  • A useful article about testing Web sites with screen readers
  • Open source screen readers are available for Linux and Windows. More information about these screen readers, including links to downloads, is available here.
  • Apple devices, such as Mac computers, iPhones, and iPads, come with the VoiceOver screen reader as standard. Information about using VoiceOver is available here.
  • TalkBack is a free open source screen reader for Android devices. More details are located here.

Thinking about accessibility early on during applications design and development, makes life easier for the end users, who rely on alternative methods of interacting with an application. It also makes life easier for developers of the product because code used to add accessibility enhancements can be reused, and accessibility-specific development can be more closely integrated into the applications development cycle.