Some of the best panels and meetups I attended at this year’s SXSW (the famous technology/music/film/designer eyewear festival) were on accessibility and adaptive technology, a good forum to hear what’s stirring in those fields. In particular, it seems like there’s a growing open source movement to provide tools for users with special needs and to help web designers produce accessible content.
Closed source software like JAWS will face a real challenge as open screen readers like the NVDA project become more mature and build on the popularity of other software like Firefox — while NVDA is certainly lacking the features and polish found in the more widely-used commercial products, the price (free vs. $1000) and ease-of-installation certainly make it compelling.
I also learned about the following accessibility-checking programs and Firefox extensions, immediately adding them to my developer’s toolbox:
- Colour Contrast Analyser, a great tool available for Windows and OS X that gives you two color pickers: one to choose a foreground color (probably your main text color) and a second to pick a color from the background to compare it with. It then gives you detailed contrast ratio information for the two colors along with clear indicators as to whether your site or application complies with the suggested contrast needed for visually impaired users and for colorblindness. It’s one of those tools that simply works as advertised.
- Fangs, a screen reader emulator built as a Firefox extension. When run on a page, Fangs displays a mashed-together, color-highlighted, text-only version of your content as a screen reader would read it aloud. If you’re a sighted web developer, this is a handy tool for getting a quick impression of how your page will hold up under JAWS or similar. (Bonus points for having an attractive, accessible website)
- The Firefox Accessibility Extension from the Illinois Center for Information Technology Accessibility. This tool helps you generate reports on various accessibility issues, can display information about your page’s semantics (headings, list items, links), lets you easily switch into various high contrast modes, etc. It’s a great companion to the awesome Web Developer extension.
- You should also check out Color Oracle, the cross-platform color blindness simulator. It’s pretty sobering if you have regular vision like I do, and it will make you appreciate that yes, two different hues can be very, very similar-looking to a good portion of your audience, and yes that’s a big problem.
(It goes without saying that these are useful but imperfect tools, never capable of giving you the full insight that would come from actual user testing. The only real way to know what real frustrations an impaired user will have with your new web app or site? Get one to come in and give it a spin!)
These are the kinds of open source projects that I really dig: good for users, good for shaking up the established software licensing model, and good for helping solidify support for web standards. Know of any other good tools?
“If the swift moment I entreat:
Tarry a while! You are so fair!
Then forge the shackles to my feet,
Then I will gladly perish there!
Then let them toll the passing-bell,
Then of your servitude be free,
The clock may stop, its hands fall still,
And time be over then for me!”
— “Faust,” Norton Critical Edition, lines 1699 – 1706
The above lines are from Goethe’s story about the scholar Dr. Faust and his famous bargain. The scholar promises his soul to the devil in exchange for earthly knowledge and power, on the condition that his life will be forfeit only when he experiences a moment that he wishes would persist. What does this have to do with Internet Explorer 8? It’s a tortured and overblown metaphor to be sure, but for some reason this week’s developments in the world of web development reminded me of this fable.
If you haven’t already, start off with this article from A List Apart and perhaps move along to Eric Meyer’s analysis of the news. These articles appeared almost simultaneously with a post on the IEBlog about the scheme. To grossly summarize, the IE team has worked out a deal with some of the major players in the web standards scene and representatives of the browser makers to introduce a new <meta> tag allowing developers to target specific browser implementations. They argue that this move will help prevent complaints of new browser versions “breaking the web” when they are released to the public.
This news seems to have come as quite a surprise, with heated discussion (mostly negative as far as I can tell, and at times sadly mean-spirited) breaking out in the usual forums. Molly Holzschlag provides the most level-headed analysis I’ve read so far, and alludes to the secretive, NDA-protected discussions that led up to this decision. Even Ars Technica and El Reg have weighed in on the issue.
The contemptible part of the new specification is that it’s designed to allow sites to lock into a current implementation, and Microsoft has made the decision that the default rendering engine for pages lacking this meta tag will be IE7 (not IE8, the browser that’s introducing this feature, or the more sensible default of “latest version”!). The implications of this are that future versions of IE (and other major browsers?) will contain emulation code allowing it to switch back to a previous engine at will so that sites will always look and act the same as the designer intended, quirks and all. If you have IE10 and look at a page lacking the proper meta tag, it will use IE7 to display the page. I guess that means IE8 won’t pass the Acid2 test by default? What does that even mean?
In my humble, semi-educated opinion, this could be a major setback to the web standards movement and to the speedier development of better web technologies (and things already move at a glacial pace in the web world). We’ve been taught for years that the road to enlightenment was paved with progressive enhancement and future-proofing, and this goes against that grain. I find the idea disquieting too for its other more pragmatic implications — how will this actually be implementable? I was relieved to find in a post by Robert O’Callahan, a coder who works on Firefox, that he was puzzled by many of the same questions I was having. Won’t this increase dramatically the footprint of each successive browser release? And I’ve used emulators of all kinds in the past, and they simply aren’t perfect.
Will this end web development as we know it, or kill the open standards movement? No, of course not. But it’s confusing enough and sudden enough that it’s not surprising that more than a few people are upset by the news. Maybe I’ll warm up to it when I hear more specifics about how this will actually work in the real world, but for now I’m highly skeptical.
Update: The debate continues, with two further articles from A List Apart. The first, “They Shoot Browsers, Don’t They?” by Jeremy Keith makes the case that a good beta version of IE8 would go along way towards making the case for one side of the other, depending on how its display holds up on the current web. I’d have to agree, and I’m glad to see ALA giving a contrary opinion some space, after the articles from last month caused such an uproar. Having said that, Zeldman’s “Version Targeting: Threat or Menace?” fans the flames a bit as he tries to make his case again in favor of the default opt-in method. This time it’s revealed that major DOM scripting changes are the root cause of Microsoft’s concern, which I don’t think was mentioned previously. The argument doesn’t seem to stick, at least based on the response the article’s drawn. I still stand by my view that this is a pretty bad deal, and one that’s only intended to help Microsoft’s short-term financial interests. Check out the commentary on these two articles, though, for a handful or other good opinions. Even though there doesn’t seem to be much traction, public discourse is always welcome.