August 22, 2013

How to Make Software More Accessible


There are many definitions for software accessibility. My personal take is that to make a piece of software accessible means it can accessed using other interfaces. This means that information can be presented through these interfaces in a meaningful way to more users.

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.

Designing with Accessibility in Mind

As a visually impaired person, I have used software that has been designed with accessibility in mind, and others that have not been taken in to account that someone might use screen reader. I have also been involved with companies and organizations that focus on making assistive technology products more accessible. Experience has shown me that it is much easier to make a product accessible if these requirements are thought about before implementation or development.
In the case of screen readers, developing an application that is accessible on one platform does not mean it is necessarily accessible on another. Different platforms use different accessibility APIs.

Accessibility APIs include:

Tips to Create Accessible Software

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. When building an application with a Web interface, add alt tags and provide elements for easy navigation.

This can include multiple heading levels, which can make a huge difference for the user. Also, ensure that events can be triggered with the keyboard and the mouse. For users that use screen readers or cannot use a mouse, they are able perform many more tasks independently. Using a logical tab order ensure that users can find the information they want quickly, and provide smoother experience for screen reader and/or keyboard users.

Testing for Accessibility 

Thinking about accessibility early during application design and development makes life easier for the end user. It also makes life easier for product developers because code used to add accessibility enhancements can be reused, and these requirements can be more closely integrated into the applications development cycle.

Check out some useful tips to test your application: