Accessibility and Usability are words you hear a lot more these days thanlet's say a year ago. One reason is that companies and developers realise that the hype about having a flashy web site is slowly ebbing down. Not too many people are impressed any longer by designs and navigations that engulf you completely - they start looking for the content and the services you offer instead.
Another thing is the legal Sword of Damocles above the our heads - Are weOK with our web site as it is or is there a chance we will be sued if we are notaccessible?
Guess what, that is not the point.
It is frustrating how many times you need to answer questions like:
Accessibility is mainly about one thing: Learning to let go.
For years we have been misusing the web - it is not a print canvas on steroids,and it is not a film reel either. It is a vast, complex system of connected computers, and each of them has a different user with different abilities and different technology.
Realising this makes it rather easy for us to rationalise the following:
We cannot control the experience of the user. We can try, but we can never be sure.
This makes it rather awkward to sell products and services for the web - no-one likesto admit that what you offer might not work.
That's why we start reassuring ourselves, with all kind of bogus facts:
Sadly enough many a time technology is in our way, that is why the followinggood ideas won't necessarily hold up to what they promise.
So we meant well, and what do we get?
In short - browsers are bad, some worse, some just slightly bad, but we cannotrely on them to give the users what they need. It does not matter if one or more are very good, we cannot force the user to install them.
So are we stuck with the two options hotly discussed in many a forum, chatchannel or mailing list these days? Cut down on the audience, or don't style at all and let the users and their style sheets do the dirty work for us?
Well, no, as there is a third option:
Make your enhancements optional. Give the user the power to change the sitewith a server side solution.
We started with that already. As users often simply don't know how tochange the size of their browser text, a lot of web sites offer widgets to do that with a click on a link or an icon. Style switchers allow for skinning ofa web site. Portal software even allowed me as the user to click together the content I want to see on the page next time I get there. Now all we need is to make sure that these tools are used the right way:
Easy to say, but what happens if I don't know any server side scripting? Well,you can be helped.
Take a look at the learning to let go example.
This example works with PHP and cookies, and is easy to implement in yoursites. What it does is the following:
Taking the normal style switcher a step further, we offer the users to change:
It provides the user with a form to change all of the above settings of the site.Once these settings are entered, it stores the data in a cookie. The PHP script that gets applied as a style sheet loads this cookie, and displays a chunk of a predefined style sheet. By printing out the css/text header, the browser considers it a normal style sheet.
As the maintainer of the site, you can define the name of the cookie, predefinethe settings and define the style sheet elements necessary for the differentlayouts (navigation on the right, left, top or bottom - you can also only offersome of these).
By applying the stylesheet via PHP, we can use variables in CSS, in thiscase, the colours that were defined in the form, something developers asked forfor a long time.
This script is just an example how you can provide the users with the power tochange the site to their needs without giving away a lot of the styling power you have as a web designer. The way it was written, it does not require you as the designer to know any PHP, just CSS and HTML.
True, but this is just an example. The code could be easily changed to storethe data in a database or a flat file on the server. This way you could make it really independent of the user's computer.
This script is here to show you what can be done if you use a server-sidescripting language together with CSS to enhance your users experience, and allow them to change things they need or don't want. It can be applied to anything. Both sides win - you can apply your fancy design and the users can cutit down to what they need or benefit from the offers you give them.
Other possible uses of this approach:
Whatever you do, you do something good. You let go of the things you cannotreally control, and give the user the power to do so.
Joe Clark for his article High Accessibility - High Designwhich inspired me to create the script.
Various members of the WebAim mailing listfor testing it and asking for new features.