Accessible Interface Design



March 17, 2009

It's been another big week for accessibility issues & Drupal (and we're just barely at Wednesday). Got another patch committed to Drupal 7 (thanks Angie), but found another couple of bugs to add to the Accessibility Improvement's list. I taped a video of a friend of mine with Cerebral Palsy (Al Shain) trying to create an account and log into Drupal. That was certainly educational, and I've tossed it all up on Youtube with annotations for usability issues.

Presentation Summary

I just came back from a great talk by Mark McKay, who is the Tech Lead of Interaction Design Group at Industry Canada. There was a lot of the presentation I liked (and fortunately it will be available on his blog soon). First, getting some stats can always be useful. "60-80% of people suffer from hearing loss and or vision loss as seniors", that's a lot of the population and a lot of boomers are already starting to see this. "10% of population lives with a disability and has an unemployment rate of 60-80%", that's a lot of talented people who aren't able to participate in society. I liked Mark's analogy of a screen reader as a stream of information. You need to be able to jump between parts of the stream to be able to understand the context with which it makes sense. Sure, screen readers can spit out number of links, header lists, but the more effort is put into the layout and content the easier it will be. These landmarks provide navigation points to help users create a mental model of the content. Also found it useful to know that the 'h' key jumps you to the first heading in a page in most screen readers. Consistency & predictability are important to build that picture of the information.

Managing Fields and Links

He talked at length about the progressive enhancement approach to design whereby you provide the basic field that everyone can use, then add Javascript to enhance it. So in the the case of a date field, you'd provide a text filed that one could just edit with YYYY-MM-DD type content and then you could script a javascript application to make it much easier for most users to interact with. However, if that application didn't work you'd still have a form that clearly explained how to fill in the information. Definitely made me reconsider the approach to dates being used at the moment.. There are lots of different opinions about this, but he suggested using identical Alt & Title tags to ensure that all screen readers had the data available. In his experience screen readers just read one if both are included. Was also interesting to be reminded about how differently users use the technology around them. Like everyone other community there are newbies & uber geeks. With that and the diversity of screen readers it it does make it difficult to program for the blind. Was good to find out that Jaws can use Firefox as well as IE. Neat to know about the range of options available within screen readers too. Also to be reminded that just like web browsers, there are versions, configuration options.

CSS & Javascript Issues

I modified my latest accessibility issue in Drupal to see that the help text goes in the label tag too. He talked a bit about the use of the javascript trigger onchange, it's bad, don't use it. Fortunately, it isn't in Drupal 7 core, so we don't have to worry about it taking away the control from the user. Giving users control and choice is good, but sometimes it can take some users longer to understand what to do on a page and take action. Although Mark wasn't a fan of hiding text or labels, he did prefer this option of hiding the content up rather than left: .hideLabels { position:absolute; left:0px; top:-500px; width:1px; height:1px; overflow:hidden; } I didn't know to use CSS to make click area bigger than the text. Didn't realize that if you click on the label beside a checkbox that it will check the box. That's also a quick way to determine that the labels are set up properly. He also put in a plug for single column forms as they are much easier for folks using screen magnifiers.

Good Content Still Bottom Line

Final point was the importance of Plain Language for communicating. Many people in our communities are either cognitively impaired, have low literacy skills, or are coming to this site and reading it as a second language. Simple, clear, transparent text is very important.

About The Author

Mike Gifford is the founder of OpenConcept Consulting Inc, which he started in 1999. Since then, he has been particularly active in developing and extending open source content management systems to allow people to get closer to their content. Before starting OpenConcept, Mike had worked for a number of national NGOs including Oxfam Canada and Friends of the Earth.