Until we look closely around us, we often don’t see there is a significant population of people who were born with, or who have acquired deficits which affect their ability to interact with technology. The largest population affected includes all of us. That is, we will likely all have deficits that come with age. However, many accessibility “work-arounds” are actually hidden from our daily view. For example, a person who cannot see is less able to use a mouse and more able to navigate the web via keyboard commands and shortcuts.
When we make changes to our existing software products, or when we design and develop new software, we must take care not to make assumptions about the physical, mental, sensory or other abilities of our current and potential users. It is rare when the people who use our software, or want to use our software, have the same capabilities as the team that designed and developed the software.
Though it may seem a bit minimalist, about all we can assume of our users is that they have technology that can send and receive text and other basic data streams. We cannot assume users have the latest browser version, the correct plug-ins or a late model computer.
One way to deliver quality software is to honor that time and technology belong to the user, not to us; that is, it is “client side”, not “server-side.” As such, we must exercise significant caution when taking control of either without good reason and without the user’s permission.
The World Wide Web Consortium (www.W3C.org) offers many practical guidelines, some that can be easily implemented and others that require a bit more effort:
- Provide text alternatives for non-text content.
- Use a variety of widely available technologies to communicate with your audience. Give users choice regarding how to access content.
- Use clear language (often easier said than done). Because software content is written differently than printed content (e.g., newspaper) and spoken content (e.g., television), it can be helpful to access the expertise of a technical writer.
- Design your software to be usable, searchable and navigable.
- Design content for semantic meaning. Maintain a separation of your content from its presentation (or structure). For an example of how this can be done, without significant time or cost, and with remarkable variety, creativity and branding, see http://www.csszengarden.com.
- While it’s tempting to deliver new features and functions with a bang, consider gradually enhancing your content, allowing your content to gracefully degrade for those users who don’t use such features, or for users who don’t want to use these features.
Remember that new, cutting-edge technologies are rarely better for a majority of users (both disabled and non-disabled). And early adopters are important to our work, but usually represent a small sample of our current or potential customers. It’s best to carefully apply the above principles when electing to include something new, making sure that your software is still accessible.
WAI Resources on Introducing Web Accessibility: http://www.w3.org/WAI/gettingstarted/Overview.html
Web Content Accessibility Guidelines (WCAG) 2.0: http://www.w3.org/TR/WCAG20/