I want to make sure a piece of software I am writing is usable by people with various disabilities such as blindness and an inability to use a mouse and / or keyboard.
Unfortunately I have no experience with things such as screen readers or other methods that disabled people use to make using a computer easier / possible. I’ve never really had much experience with disabilities at all and unfortunately I don’t know any disabled people who I can ask.
I was wondering what other people do to make sure that their software is available to a wide range of people with varying abilities?
This seems to be a subject matter that is often ignored by developers and I think it is a real shame.
Edit: If anyone has any specific information related to desktop development in addition to the information already provided in the answers below I would be grateful. Particularly methods that apply to cross platform development on Windows, Mac OS X and Linux.
6
You can start with usability.gov. There are also formal guidelines from the W3 accessibility initiative.
After you read the scores of documents from the 90’s on usability, you can test some things like colorblindness with color filters. Colorfilter lets your view a page or image as someone with different types of colorblindness would. The W3 group also maintains a list of tools that are helpful when designing for inclusion.
For screen readers (and in general), don’t link to cats. Rather, link to a search for cats. This is especially important for screen readers which often scan a document for all the links and read them back to the user. It’s not helpful to anyone if they just hear, “link, link, link, a link, this site, go here, link” repeated back to them from their screen reader.
Lastly, whether for disabled people or not, you should always make your applications and websites easily navigable with only a keyboard.
1
You don’t specifically mention web stuff, but that’s what my answer is targeted at.
- Use the W3C’s Accessibility Guidelines. Most of it is fairly straightforward, but it’s important to understand it and implement it. In particular, focus on good semantic markup. E.g. actually use H1, H2, etc, instead of making a DIV look like an H1.
- Create a site that works well without JavaScript, and then enhance some of the functions with JavaScript.
- Using something like Web Developer’s Toolbar, disable JavaScript and disable all styles. Refresh the page and imagine what it would be like for a screen-reader to try and convey it in any meaningful way to someone with vision challenges.
- Make sure that all links work well with JS turned off. JS is evil when used for link activation. (This advice applies to search engine bots, too.)
- Find a website that is talking about accessibility issues (e.g. accessibilityforum.com and ask for volunteers to test your site (or app, or whatever).
4