Website Accessibility means making sure the widest possible audience can reach your content. An important distinction lies between making content accessible and making it identical — you do not need to make sure every single visitor receives the exact same user experience when visiting your site.
Accessibility is not just for handicapped visitors; millions of people surf the web from work, school, public libraries, or other public locations. Many of these locations have restrictive firewalls. You cannot know what a particular establishment may or may not allow — some corporate visitors might not only have JavaScript turned off for them, but they may also be unable to change that setting themselves.
Another reason to make your site accessible is the concept of everything as a platform. Websites aren't just for browsers anymore; people may be browsing your site with their TV remote, phone, or Nintendo Wii. Others might be viewing it on screens embedded in their car, their refrigerator, or just about anything else. Why deny yourself those hits?
Samsung's flat panel fridge, with TV and Web connectivity.
Progressive Enhancement is a design strategy based on the following core principles (paraphrased):
How can you meet these relatively simple goals? By building your website in iterations, or cycles.Iterative design meets the smallest possible set of requirements first, then the next smallest set, and so on, until you have a complete product. Designing a website in iterations involves the following steps:
Graceful Degradation, or "fault tolerance", means that your website can easily deal with browsers that may not support one or more feature. It could be argued that graceful degradation is a byproduct of progressive enhancement — if you use the iterative process described earlier, then visitors without JavaScript enabled will still see your properly styled content. If particular browsers doesn't implement CSS properly (or at all), or images are disabled, or your visitors are blind or deaf, they can still access all of your content, and your semantic HTML means they can still understand the relationships between different parts of your page.
Browsershots is an excellent service that lets you see your website through the eyes of dozens of browsers across all major operating systems. No emulation is taking place — you get real screenshots from real computers. The one thing you can't completely check with Browsershots is behavior, because you only get static screenshots. However, there are for-pay tools such as CrossBrowserTesting that give you full interactive access to test systems.
When doing your own testing, try to include the following settings to make sure your actual content is accessible. They're in order of most to least common — many of your visitors may have JavaScript turned off, but few typically have CSS or images turned off.
<link>
tag that includes your external CSS
file. This is an excellent test to see if your HTML is semantic. Without CSS, how does your content look?
Examine font size, order of elements, proximity between content and the headers that describe that content.
Even though accessibility isn't ALL about disabled visitors, obviously they comprise an important audience for the discussion. The US Department of Health & Human Services provides an excellent usability guide featuring a whole chapter on accessibility and disabled visitors.
I'm a Front-End Engineer at Yahoo! working on the Mail and Messenger teams. I blog about web design and development topics including accessibility, usability, performance, and developing HTML / CSS / JavaScript applications on Appcelerator Titanium and Adobe AIR.
If you're a web developer, you might enjoy Jelo, my JavaScript library.
All original work on this site is covered by a Creative Commons Attribution 3.0 license unless otherwise specified.
You may share or use any code or images from this site in any manner, for free, so long as reasonable effort has been made to give credit where due.
The views expressed in the posts and comments on this blog do not necessarily reflect the views of Yahoo!