Book Review: Universal Design for Web Applications

Universal Design for Web Applications book coverThere are not a great many books on the topic of web accessibility, and even fewer that that could be described as quick reference, so I was really pleased with my first scan through Universal Design to discover that we now have a book that is, somewhat ironically, a very accessible reference. Accessible - and understandable - to a wide variety of readers, too.

It's not so surprise to learn that many people find the idea of reading long and unwieldy technical specification documents right up there with the desire to take flying lessons with John Denver. It's just no fun and destined to fail. With this book, a developer or management type can get to grips both with the basics of accessibility - which are mostly unchanged since the first set of accessibility guidelines, WCAG 1, were completed - but also get up to speed with the new and emerging techniques, including AJAX and learn about the new WAI- ARIA suite. It really is a lot easier to pick up and digest that scoring the online documentation.

What's covered, chapter-by-chapter

In chapter 1 the authors cover off the necessary introductory stuff, then go on to detail the change in devices usage (the rise of mobiles throughout the world and its impact on web access) noting particularly the popularity of iPhone and focusing on the challenges that that device alone presents. In short - accessibility is not just about someone sat at a desk with a standard monitor, keyboard and mouse. Times, they are a-changin'

How do you sell accessibility? That's chapter 2's job and includes well known examples such as the NFB vs Target case and what its implications were/are. The authors remind us that we need to challenge assumptions, for example, why would a blind user want to buy car insurance? Ultimately, ignoring certain groups needs means possible loss in sales revenue and/or possible legal action.

"We recently heard about a man who is blind who wanted to research car insurance for his wife. The site he tried to access assumed that because someone who is blind can't drive, he won't need to read about car insurance." In other section, they explain what it's like viewing some web pages on small screen devices as "looking at a page through a straw" (love that line), before moving on to lay down the law, so to speak, and explain what the various legal policies are around the world. Finally it covers the various pieces of W3C documentation, namely WCAG, ATAG, UAAG and WAI ARIA.

Chapter 3 covers metadata (not <meta> tags, just to clarify), that's to say it explains the various elements and attributes that you can use - and how you should use them - to describe features on the page. The most obvious one here is the <img> element and how you should use the alt attribute. There is a shocking statement in here that it's estimated that only 7% of alt attributes in use on the web are are of any real use/help. They briefly cover the longdesc attribute (summary - it's all but useless) as well as choosing the right doctype. Finally, there is a brief section about link text in which they recommend the use of hidden text in <span> elements to add extra context to 'More info' type links - good to see this in print and from a reputable source (as it's always been a little bit of an SEO 'is it dodgy' technique).

Structure and design of the web page is covered in chapter 4, detailing the correct use of headings and lists, explaining why this is of benefit to users with assistive technology as well as the benefits when accessing the same web page on other devices (with regards rendering); they explain the issue with relying on colour alone (bad, obviously, if you're colour-blind!), layout and positioning techniques, finishing up with a brief section on how best to handle HTML emails.

In chapter 5 forms are covered in some detail (and rightly too). The simple but effective <label> gets first mention, along with other accessibility-related HTML markup, such as <fieldset> (although I was surprised that there was no mention of this element's potential accessibility issue, namely that it can be announced too much by screen readers to the point that it can actually become a hurdle in itself, rather than a helpful piece of metadata). The accesskey attribute is also covered (and advised against), and so too is tabindex. However, as with <fieldset>, I found myself wishing the authors had explained the problems with tabindex more. It seemed to be a little too enthusiastically acknowledged, whereas, in my experience, it's better off avoided entirely, instead focusing on getting the layout and source order correct. The chapter ends with a section on form validation, explaining that there is nothing in the HTML specs that cover this and we essentially "have to wing it". The authors explain some simple techniques but because of the size of the book it does not go into any great depth (personally, I feel there's a market for an entire book just about form validation techniques ... and I'd buy a copy!).

Tables are next, getting a fairly rapid run-through to be honest - mainly because the authors don't complicate matters and get straight to the point! Minor quibble on this chapter is that they say "As far as layout tables go, our advice is simple: don't use them" when in Chapter 4, covering HTML emails, they recommend using tables for layout (my point being that tables are only recommended for layout in emails because of shockingly bad support for the better alternative, namely CSS layout). While the statement in chapter 6 is true, it should probably be qualified lest it confuses people who remember the advice from chapter 4. But hey, that's the proof reader/technical reviewer in me kicking in! I was also itching for a mention in this chapter for some of the table building tools that accessify provides to make this task a little easier (e.g. automatically creating id/headers pairings or using scope attributes).

Getting a bit more tricky now, we're into chapter 7 and videos. There's quite a bit of history to begin with, tracing the pats of the various players and formats before getting into the nitty-gritty of how to add captions to video (and also explaining the difference between the various caption formats). A particularly useful chapter, especially for people (like me) who have barely dealt with video content so far.

I'll admit that I merely skimmed chapter 8 - scripting - on the basis that I was quite happy with what I know on that front, but if you want to understand how to create accessible navigation areas that use hover and focus events without relaying on full CSS support, it's worth reading it properly. Chapter 9 was what I was most interested to read regarding WAI-ARIA. It gave a good overview of the new attributes, explained the concepts of roles and states, including some code samples. I felt that this chapter would be the kind that I'd want to put in front of some old-skool developers that I know and often have to work with, who use Microsoft tools like Visual Studio to easily create the most inaccessible applications they can without even trying! However, what I'd really like - and I think it's still too early for this yet because of moving targets - is a user-friendly book just about WAI-ARIA, how it's used, how it relates to standard JavaScript and the various libraries. If no-one's writing that book, can I hereby declare this as a formal request please?!

Finally (well, almost finally - the penultimate chapter), the authors cover Rich Internet Applications (RIAs) that use technologies such as Flash, Flex or Silverlight. As with the WAI-ARIA chapter, it's not possible to get into any major level of detail here and if there's one message I got from this chapter it's that it doesn't matter which technology is in use - it's still down to the skill (or lack of) of the developer in charge. RIAs can be made accessible, but alas so few people make it their business to learn how.

With all the technical stuff wrapped up, the last section of the book covers issues of process - how you can actually put some of the knowledge learned in place (which is often the stumbling point for some organisations who may have some clever people on board and know all of this but ultimately fail if they don't have the support from above).

Summary

Perhaps what is best about this book isn't what the authors put into the book (or tried to cram into it) but what they decided to keep out. As mentioned before, some of the chapters could have been created as books in their own right, but it seems obvious (to me, at least) that this was never the intention. If the intention was to create a book that people with either a passing interest in the topic or who were coerced by a department boss to read it for a forthcoming project, then they got it just right. The size/dimensions of the book (ie, not heavy and thus making the prospect of reading it pant-wettingly scary) and level of detail make it a great book for getting a good overview of a wide variety of accessibility topics. For long-time accessibility advocates, there is less here to get ones teeth into - much of the early chapters will be a bit 'preaching to the converted'. But, like I said, I don't think this is who it's really aimed at. I can definitely see my copy being lent to various colleagues in the coming months as I try to get them up to speed with modern web development techniques and how they relate to the world of accessibility.

The scores on the doors

  Rating (out of ten)
Practical advice: 7
Shelf life: 8
Appendices/Reference materials: 7
Appropriateness for beginners: 8
Variety of topics covered: 8
Overall: 8

Factbox
Title Universal Design for Web Applications
Publisher O'Reilly
Written by     Wendy Chisholm and Matt May
ISBN-10 0596518730
ISBN-13 978-0596518738