What does Accessibility mean?
If you were to ask people that question, I suspect most would say that accessibility is about making sure something — in our context, a web site or web application — that works for those who are physically disabled. Maybe they're blind or maybe they're a quadriplegic and unable to use a keyboard or mouse in the traditional sense.
Accessibility is a spectrum
That definition of accessibility is pretty narrow and I'm sure plenty of people would argue otherwise (including me). But my point is that many people see accessibility as affecting a small group of people — a group of people that can be ignored. In actuality, accessibility is a spectrum. On one end, there are those with the most extreme mental or physical disabilities that I couldn't even begin to assume I know how to accomodate for. And on the other end... well, what is the other end?
Is accessibility a concern for perfectly abled people? What about those who need to wear glasses, or are colour-blind, or just like to use the keyboard instead of a mouse on occasion? Where do they fall on the spectrum and what issues should you, as a developer or designer, choose to contend with?
Accessibility as Usability
I recently spoke at the Future of Web Design and my presentation, Ajax and Design, didn't talk about code. It was about the usability concerns that you have to consider when implementing Ajax.
I argued that the web is founded on a limited set of interactions: links, buttons and forms.
And because these interactions are limiting rich experiences, we constantly try to extend how those controls behave (like providing a tri-state checkbox) or creating new interactions all together (like drag and drop). Anytime we add interactions or change how the default interactions behave, we create barriers.
Once we've created a barrier to usability, either through understanding or technology, we have to work to eliminate those barriers while still maintaining the new interaction.
At the end of my presentation, I was asked why I didn't mention accessibility after having talked for almost a half hour on Ajax — a technology that has been derided by many for hindering accessibility.
My response to that was that all things that apply to making a site usable apply to making a site accessible.
Conclusion, accessibility is just usability but marketed to a particular segment of the population.
Accessibility is hard?
How do you make a site usable/ accessible? The best advice I can give is this: get people to use it. I often get people to see my design at various stages, especially people who've never seen it before. I might ask my wife to look at a design I've done and will ask for first impressions. "If you were looking to find widgets, what would you do?" Or maybe, "You've arrived at this page, what do you think it's about and what would you do first?" I'll send designs to friends and colleagues and see if I've missed any glaring issues.
So, I design and build a site based on my breadth of experience as a fairly abled individual and I show my work to people who also happen to be fairly abled individuals. Essentially, I'm dealing with a limited set of testers. The next obvious step is to get it in front of a wider variety of people to test, including those who may have a different set of limitations when using the web.
But guess what... I don't really know anybody that really falls under that "accessibilty" umbrella. I don't have anybody I can ask to test something out (without paying hundreds, if not thousands, of dollars for actual usability or accessibility testing). I suspect this is the case for most people.
I can see why people might not want to take the extra step to support a seemingly small group of people. Jeremy Keith's selection of quotes in response to the Target lawsuit seems to not only affirm that but demonstrate some downright ignorance. It'd be easy to think that accessibility is hard and simply not worth the effort.
Remove limitations
However, what's interesting is that covering the majority of the usability/accessibility spectrum can actually be pretty easy: just use semantic HTML. Of course, there are plenty of considerations when adding layers of technology on top of that like CSS, JavaScript or Flash, each of which has its own usability and accessibility concerns. Those layers of interactivity create increasingly complex barriers to overcome.
The Target site is, for the most part, an example of a typical web site. There's no reason it couldn't be made accessible to a larger market of people, including blind people. Just use recommended coding practices (recommended by the W3C's WAI and the standardistas among us). Even simple things like proper alt-text can go a long way to providing a superior experience
Read through the legal complaint and you'll see that the highlighted complaints are relatively easy to solve: "alt-text on graphics, inaccessible image maps, [and] the lack of adequate prompting and labeling." This isn't complex stuff. It's not drag and drop, it's not tri-state checkboxes. These are things that any professional web developer worth his salt should be able to do.
Now I'm not trying to be elitist or snobby and scold the bad web monkies. We, as a community, should continue to spread the message of professionalism and quality.
If we can make the effort to care about cross-browser compatibility then we can make the effort to care about cross-person compatibility.
There are sites, however, that are much more complex than a Target site. Sites like Gmail or Google Docs. Applications using Flash and heavy uses of Ajax are more complicated. You're adding in multiple layers of interactivity that override or add to those default interactions.
A company like Google might be able to afford the usability/accessibility testing but I know I can't. And I'm not going to stop developing these types of applications. In these cases, I don't ignore accessibility. I continue to build with the core that I know works: semantic HTML. Then each layer is added on in hopes that it doesn't create too much havoc for people. Am I limiting my audience? Potentially. I know that might happen.
That doesn't mean it has to be perfect. I can tell you right now that this site isn't perfect in every browser. But when I learn that something is broken, I try and fix it. And that's the way I approach accessibility.
I remember way back when I first learned about alt-text. To help out those who relied on alt-text, we added "Link to" to the beginning of any images that were linked. If it was a help button, it'd say, "Link to Help". What was enlightening was seeing somebody with a screen reader trying to use this.
Two main issues were discovered: First was that the software was announcing that it's a link. That meant the person was hearing, "Link, Link to...". Yeah, you can imagine how annoying that'd be. The second issue was that the person was able to bring up a list of all links on the page (a useful feature for even sighted users, in my opinion). Problem there was that all the links started with "Link to" so the person couldn't even navigate the list alphabetically.
This goes back to my earlier point. Build something and get it in front of people. And learn from your mistakes. Web development techniques change. Usability problems change. Tools change (be they the browsers or content management systems or whatever else we use to build sites). As a result, we have to re-evaluate things. And best of all, we don't have to re-invent the wheel. There are plenty of people who've done the usability testing and the accessibility testing and we can incorporate those findings into our own work.
As a web professional, I try to build sites that reach the largest audience possible. Every design decision has a consequence and those consequences have to be weighed against the goals of the site. Accessibility is just usability after all. We're not designing and building these sites for ourselves, we're doing it for other people, too. While it may seem easier to just ignore whole segments of the population, for the vast majority of us building web sites, we already have the tools and knowledge out there..
Boiling it down
So, let me try and boil this down into some bullet points:
- Accessibility is usability. We're all just trying to make things that people can use.
- Basic accessibility isn't hard. We should be doing stuff like alt-text, making sure form fields are labelled, etc.
- Don't expect perfection. It's possible to get it wrong, especially as more layers of interactivity is added. It's not a bad thing. Just learn from it.
- Just because we can't, doesn't mean we shouldn't. By this I mean, just because we might not be able to cater to everybody doesn't mean we shouldn't do it at all.
When it comes down to it, I'm a pragmatic individual. I don't 'preach' accessibility. I just do what I know works. I use the tools made available to me and use what I've learned from others as the best possible way to wield those tools to build sites and applications that people will use. I won't shy away from using Flash or Ajax but I will try to use those tools in the best way I know how to reach the most people I can.
Conversation
Nice post, Jonathan. I agree completely.
On the topic of "accessibility is hard": Like many things in web design, accessibility is definitely an 80/20 problem. It's really quite easy to get 80% of the way down the "how accessible are you?" continuum. But, that last 20% can be a lot more work and truly isn't worth it, in some cases. It all depends on your needs. But, there's almost never an excuse for not getting taking care of that first 80% -- it's low-hanging fruit, as they say.
:)
I knew it. Accessibility is putting alt attributes on images. Done! Ok, not really. But it was worth a shot.
I can definitely relate with your experience Jon. I don't preach accessibility either, but there are a few outlying simple tasks that are easy to implement, and have been known to work. I think the best form of accessibility for anyone is to make markup as semantic as we can make it. If you're even making a small amount of effort to use headers, paragraphs, and tableless layouts, you're most definitely better off than before.
I'd also like to discourage people thinking that accessibility is "making sure a webpage will work when JavaScript is turned off." That's simply inaccurate, but with your definition Jon, it makes it possible for web applications to contain accessibility enhancements. For example, Gmail and its keyboard shortcuts definitely aid in accessing various components to managing your email. In turn, it creates a more usable workflow. Therefore, in one sense, accessibility == usability.
@Jeff Croft: yes, the low-hanging fruit. Thanks for making that point clearer than I could make it.
@Dustin Diaz: your Gmail example is a good one. Adding keyboard shortcuts is a great way to enhance the usability (and hence the accessibility) of the application. I use the keyboard shortcuts all the time. And it is an example of where they've worked around the limitations to provide a better experience.
what a great article ;) love your pragmatic attitude towards this issue.
Teaching webdesign means I want to encourage my students to take the right approach here, at times I have to try to do this by justifying / defending the importance of user-friendly and accessible design.
I myself approach my own site designs as freelancer from a very practical point of view, in many ways similar to yours, and try to convey this to my students. And your post is just so well written and clear that I will have to share it with my class tomorrow ;) thanks ;)
Jon, excellent article. I know the accessibility community can be quite zealous in their arguments; I'm in that community. It's nice to see the points raised by you, Dustin, and Jeff. I've had a hard time with many designers/developers who just don't see the return on working in accessibility features to their work. I think the perception is that being accessible means not having the whiz-bang, enhanced features or good design and that's in large part the fault of the accessibility community. I don't think we've delivered our message well.
Great Article Jon, a lot of people just make their sites accessible to a variety of web browser and resolutions (actually some people don't even do that). But just like you said, it most certainly doesn't stop there.
Awesomely thorough article, I like the relationship between accessibility and usability. It puts things into a new perspective that I may not have fully considered. That "link to" thing is hilarious, I can only imagine what the end user would think.
Typical text-and-graphics Web sites can be much more than Jeff Croft “80%†accessible with little effort. Jeff is getting craftier at restating his “Real code isn’t all that important†ideology.
Accessible should be catering content for anyone but we need different solutions to make the internet an accessible medium (translate the chunks of content in the form we need), usability is more *how do I find access to the controlsof the user interface the easiest way"?, and "How do I make everything readable
and understandable=the content, actions eg 'find stuff, list stuff, complete a form, buy)
@Joe Clark: You may be right. It might be more than 80%. There are two simple reasons I chose 80/20 over some more precise percentages:
1. I don't know the precise percentage (and neither do you).
2. 80/20 is a well-known, widely accepted principle.
As I said, you may well be right. What can be done with relatively little effort (beyond what any good HTML author would do by default) may be more than 80%. I really don't know. I do know it's not 100%, though. Sorry for the confusion.
Great article Jonathan and I completely agree as well. It's always a tough balance pushing the envelope and making sure you're doing it in a way that helps keep things accessible to as many users as possible.
Yup, accessibility is usability. I played a little with these concepts here: http://mindforks.blogspot.com/2006/12/solving-disability.html
Well said, Jonathan. You'll get no arguments from me. Much of it is similar in sentiment if not in words to some stuff I've written on my blog and at Accessites. It's nice to see an article like this sending a like message.
I like your post because you are being honest and reasonable. It could be quite easy for you to preach how complex accessibility can be, but you haven't. I guess from your post you could say that by designing websites and (and html emails) based on web standards all the other *important* aspects are inherently covered (slight generalisation here). Thanks.
I don't know that I agree with this statement. I was under the impression that accessibility was about making a website accessible to all. I think it is important to point out that accessibility isn't just about making content available to persons with physical impairments. It's also about making content available to persons independent of browser, device or medium to viewing that content. Whether a person listens to the content, reads it on a cellphone, pr prints it out, it should be easily accessible.
@Kim, you've described what you feel accessibility is, but what in your mind is usability and how does it differ from accessibility?
great article jon. thanks - stef
In my mind usability describes how ones uses the website. Accessibility describes how a user accesses content. I do think there is a lot of overlap between the two.
The point of my comment was that accessibility is more than catering to a specific group of people, not whether there is any difference between accessibility and usability.
Great article, Jonathan!
I've always wondered myself, where the line between usability and accessibility was. My simple definition of the two terms is:
But the two do overlap many times. Will a, let's say, small font harm usability or accessibility? Probably both.
Here are the steps I usually take to assure a website is as accessible as I can make:
Now, what I can't understand is how some people tend to prioritize "accessibility" too much. They end up with a website which is very accessible in theory, but doesn't work on some less standards compliant browsers, such as, say IE6. Great, you've covered the 5% of people with disabilities but forgot about 50% of people using Internet Explorer. Well done there. Do take care about accessibility, but don't let this mean the other 95% of users are going to have a less pleasant experience. Jonathan hinted this a couple of times as well with javascript and flash - don't be afraid to use them, just take care.
Jon, great article!
I understand your reasoning begin accessibility = usability, though I prefer Kim's variation. Making that difference makes it easier to finding a solution to a particular problem, i.e. does the user have a problem getting to info in the first place (usability), or does the user have a problem doing something with it? (accessibility).
Abilitynet (U.K. based) held a survey and found that sites with high accessibility are 35% more liked by visitors (paraphrasing Robin Christopherson of Abilitynet at FOWA London).
I think the best advice is: don't make assumptions. Like you showed with your 'link to', I've found that it goes wrong more often than not. Stick to what you know and use simple html to just describe the data, and don't "add" accessibility features, just remove culprits.
Accessibility is usability - well said. Hope that will understand so called "designers" and start to make sites for people not for themselves.
It's the same story about everything nowadays, people get clued up over the little nitty gritty things when they should just be designing the site. You code it well enough and take your time while doing it them people are going to be able to access it through your thoughtfulness of how you've coded things.
@Kim: you're describing what some would term "universal access". browsers, operating systems, even individual settings and preferences (e.g. somebody browsing with CSS on but images off) are all things that can potentially be changed by the user. however, jonathan is taking the narrower definition of accessibility as "for users with disabilities" - the barriers they face are not something that they can change easily.
universal access, in my mind, is more often than not a byproduct of accessibility...but not its underlying reason/purpose.
Usability *is* accessibility for that huge segment of cognitive disabilities that always seem to come second to those with more obvious disabilities. In Canada there are over 600 000 people with learning disabilities (likely more, and certainly all of our politicians)... spending some time on usability makes it better for a lot of people.
A technically accessible site can be totally unusable... which might have been said already ;) Just saying it again.
This article is a nice eye-opener, because for many people accessibility simply means big fonts and high contrast. Thumbs up!