Website Development and Accessibility
This month's log includes contributions from guest accessibility developer, Tommy Olsson, webmaster and accessibility guru for the Swedish Companies Registration Office, whose views are inset block quotes.
Alienation through Bias
I view standards as a set of best practice guidelines developed for an industry where the common person may have his voice on an ever-fluxing medium. It takes little skill to place a page on the Internet; none whatsoever to discriminate against your fellow readership, whether that be accidental, incidental, intentional though neglect, levelled against impaired users or by alienation through browser development bias.
Standards conformance is adopted throughout industry. Much of it supports legislation built upon health and safety, developed as safeguards and checkpoints to protect us from disaster as our homes, offices, shops and playgrounds embrace the march of technology.
The industrial revolution heralded the era of sweatshops and sewers, electricity and gas — and new, emergent diseases like tuberculosis, contracted and spread by the appalling, cramped and unsanitary conditions of phenomenal new city life. Humanists and philanthropists fought with governments and tycoons to sponsor and fund development of medicines and the moral codes so necessary to combat the ignorance the accumulation of wealth showed towards the working classes. Those whose lives were blighted by physical or cerebral disabilities were cared for by their families — or left to rot ...
But gradually, very gradually, successive governments and movers fought to establish health systems and codes of business practice which outlawed gross exploitation and sought to punish taskmasters whose ignorance and direct neglect of their workforce resulted in death and injury in the workplace. We moved on and regained a little dignity, although it took legislation for us to respect our fellow citizens and perhaps find it in ourselves.
And though we now deal with the political correctness of our description of disabilities as impairments and look back shamefacedly at monochrome newsreels of polio children emotionally shackled in leg supports, many address the issues of standards compliance and accessibility as if such issues merit debate!
This is our industrial revolution, a communications evolution, and we're a bit confused how best to deal with it. Why? Because we are in the vanguard of accessibility and standards. Because there are issues we still can't figure out because they're not clearly defined. And, extremely importantly, as developers: because we are only human. We have our own impairments - mostly invisible - which limit what we can do and achieve.
But our greatest, most magnificent strength is effort. We make the bloody effort. We try to make a difference.
I know I fall short in many areas. I'm only as capable as my current limitations; as good as my knowledge permits; as strong as my character allows me to continue. But continue I will because it's the right attitude.
Accessibility and Standards
Accessibility is about consideration. It's about not locking out others from the era of global knowledge. Not so long ago it was a disregard to physical hardship and cruelty which we now view with shame and unease. Today it's communications isolation.
Quite so, and I'd like to add empathy to that; the ability to identify with another person's emotions and experiences. Accessibility is about not putting up obstacles on purpose. It takes experience to know what those obstacles are, but we can eliminate them one at a time as we learn to recognise them.
Accessibility is built upon standards. It's irrelevant whether these are currently a bit woolly at the edges or poorly implemented in certain browsers. There are always workarounds and resolutions through discussion. Our job as webmasters and developers is to ensure we build to the best of our current abilities so we can maintain a little dignity as individuals and be proud to be members of a guild actively promoting accessibility through standards compliance.
I'd go so far as to say that a non-compliant page can never be fully accessible. It relies on non-standard error recovery algorithms, which differ from one user agent to the next. (Of course certain errors are less serious than others.)
And it is our task to illustrate how to circumvent the limitation of current browser software and AT (assistive technology) - much of it built on the Windows platform - whilst maintaining as best a grasp and practice of standards as possible.
I build and vet sites in Internet Explorer because it is deficient and I have come to terms with it's foibles. I prefer Firefox because I believe it the better browser available and it skins well and can be augmented with some great plug-ins ... but that's irrelevant: it has only 6-12 percent of the market (dependent on whose browser stats you accept) of which a miniscule percentage are impaired users. That's the real discussion, given that most mainstream AT is Windows platformed.
This method works for a skilled and experienced developer like Mike, who knows all the quirks in IE and what the standards-compliant counterparts or workarounds are. For most of us, it is much simpler to develop according to the standards, testing in the best browser available as we go along. Then, when we've got it working, we bring it up in IE. After the initial shock of seeing our massacred site, we add the hacks necessary to make IE behave. It usually doesn't take all that much; a few lines of CSS often does the trick. They don't make any sense, but that doesn't really matter.
However, a novice who develops for IE will unknowingly come to rely on its quirks and bugs. When such a site is viewed in a standards-compliant browser, it is every bit as shocking as a pure-standards site is in IE. The problem is that it will be much harder to fix, because the errors are inherent.
Anybody not developing for IE as their primary market must have a damn good reason for not doing so — or they're unaware of accessibility issues, they're novices ... or selfish. However, one must accommodate external factors beyond developmental control, like when the head of production dictates the development environment. It's a little challenging to enforce one's beliefs when a paycheck is involved.
The Extra 10 Percent
I dislike the expression 'developing for IE', because doing so more or less excludes the good browsers. Anyone who wishes to reach a wide audience does have to make his or her site work in IE, of course. For commercial sites, it's imperative. Many developers seem to believe that it is very difficult to get a site to display correctly in Mozilla or Opera. In fact it's very easy. You just have to follow the W3C recommendations. Then add a few hacks for IE and everyone is happy. You reach 99.9% instead of the 90% or so who use IE. The extra ten percents can mean a lot of money for a high-traffic site.
I recognise there are developers who don't give a damn one way or another and there are those who may consider this initiative holier-than-though. They will shortly be brought into line or unemployed. It's only a question of time.
Accessibility: Removing Obstacles
I sometimes get frustrated when visiting big web development forums, where people say, 'Well, I don't expect any blind users on my site anyway,' or 'Our products aren't marketed for blind people'. The first mistake here is to equate accessibility with 'catering for the blind'. It's about not putting up obstacles on purpose. Just by leaving the dumb stuff out, a site can become much more accessible. Reasonable accessibility isn't all that hard to achieve.
The second mistake is dismissing the non-sighted part of the population as an insignificant minority. Sure, there aren't all that many people who are registered blind, and you may be able to afford losing their business. However, each one of them will have lots of relatives and friends who do not have any kind of impairment, i.e. the very market you are trying to target. If a site blatantly discriminates against non-sighted people (or any other type of impairment), those discriminated against will tell scores of people to stay away from that site. The minority may be negligible, but is it still when multiplied twenty-fold?
Many developers are self taught and, like myself, began without an understanding W3C standards (or any, come to that) — let alone accessibility. We learned by trial and error in clumsy, proprietary Microsoft environments like FrontPage which gave us the visual WYSIWYG clues that what we were coding was, to all intents and purposes, working. We got results.
Discovering Standards and Accessibility
Continued immersion in our hobby and better understanding of under the bonnet working led us to consider a migration to professional development as a realistic opportunity. We then looked around for more information on the whys and wherefores ... and we discovered standards ... then accessibility. Granted, not all of us take this path. But given that formal or academic qualifications and courses in web development have only recently emerged, for many, web development has been an unstructured enterprise.
But I believe it largely ignorance which prevents developers from adopting the accessibility mindset.
Don't be too hard on those who develop in ignorance or, like myself, are remedying bad practices learned in enthusiastic adolescence. The road to accessibility takes commitment, time, energy and wherewithal; we've all got different levels of these basic ingredients.
Freedom through Accessibility
Accessibility may seem like a daunting prospect at the outset. In reality, it doesn't take very much effort to make a big difference. All of us are beginners at first, and we can learn about accessibility in small increments. For each increment that we implement, our sites become a little more accessible. After a few of those increments, almost all of our obstacles have been removed.
By removing obstacles, we are providing our visitors with a degree of freedom. They can choose how they use our sites, rather than being force-fed the content in a single, linear fashion. As I watched a blind user try our office web site for the first time, I was struck by something he said: 'I like the way I can choose how to navigate the pages'. That seems obvious to most of us, doesn't it? Well, for a person with a disability, it's everything but obvious on today's web. Let's make tomorrow's web obstacle-free.