Several things have had me thinking a lot about accessibility lately. A number of things all happened at around the same time which brought this to the forefront of my thoughts. A manager at work referred another developer to me on an accessibility question, I found that Bobby is offline and this neck problem I'm having has scared me with the possibility that I could be a disabled web user one day.
A Little Background
This is a topic that I actually know quite a bit about. In previous jobs in earlier years I had to know quite a bit about accessibility, both in the rules and regulations and also in how to construct a site that followed those rules. I frequently had to instruct others in following these rules and for a while every single site I built had to conform to these rules. I haven't had to worry about accessibility much for the last few years so I was worried that things would have changed so much that I would be playing catch-up again. Luckily (for me at least) the same standards that were around then are still current. I'm not going to get into what the standards are and how to code in an accessible way in this post, I'll be doing a whole series on those topics.
Why Should We Care
I would guess that most readers of this blog are developers. Not designers (I'm not that cool), not simple HTML writers, not information architects. It should be obvious be obvious to people in those roles why they need to think about accessibility when working on a site. For the advanced .NET developer though, who is often handed a design and a requirements document, why do we need to think about accessibility.
First, We should ensure that the sites/applications we build are useable to the widest possible user base. Wether you do this out of a sense of helping the community (generosity), possibly increasing market share (money) or to avoid possible lawsuits (fear) it is something that needs done. Currently Section 508 of the ADA only is enforced on government, school and similar types of organization but I believe that will change. Just as office buildings and retail stores have ramps and accessible bathrooms now, regardless of who they serve, the ADA will eventually be applied to all commercial websites. It's only a matter of time.
Secondly, The anti-nmp(tm) reason. Depending on the size and structure of an organization, frequently lines of responsibility are drawn in the sand as to who is in charge of what. Often this creates an attitude where even if someone sees a deficiency, if it is not in their area of responsibility they ignore it (Not My Problem). Accessibility should never be treated this way. People who use alternate methods of accessing a web site or application don't do it out of choice, they do it because it is their only practical way of using the information / services that are readily available to the rest of the surfing public. As developers we should have expert knowledge of what the standards are and how our programming choices will affect them, for good or bad. I'm not going to attempt to create a change in the politics of offices around the globe, what I am
preaching evangelizing though is that accessibility is too important to let it slip when you know how to fix it. So I'm saying we should practice the opposite of not my problem (anti-nmp) for this important topic.
Third, What if it were someone you loved. What if your spouse, parent or child was suddenly not able to see or have full use of their hands or some other disability that affected their use and enjoyment of the Internet? What if it were you? If you've ever had your broadband connection at home go out for a day or two how did it impact you? I bet you realized you use the Internet much more frequently than you had thought. Now imagine that half, or really the majority of those sites were difficult or impossible to use because of a physical limitation. It would probably impact the way you live your life, not just the disability, but the lack of accessible Internet sites.
What to do
I'm going to be writing a ton of posts on this topic as it is something I care about quite a bit. Newer technologies such as AJAX, Silverlight and Flex bring new challenges to making accessible web applications but it is not insurmountable. In this series I will try to explain the rules and address how to apply them with current web technologies. I know that I have work to do to clean up this blog to make it more accessible, I'm not saying that I'm perfect in doing this, I'm just saying that web accessibility is something that we all should learn about, care about and practice daily in our jobs.