Many of us have been producing web sites since the dawn of time, and as such it's easy to forget that some very promising and well-intentioned producers are only getting started this year. Now, speaking for myself, I've learned the hard way what happens to a site that is written poorly, deviates widely from established standards, full of hacks and browser-specific nonsense. It works fine for about two years then whammo! The client suddenly realizes their site sucks, doesn't work in half the current browsers and wants to know how we're going to fix it. For free no less! Which is of course understandable... no reason the client should pay for us fixing our shoddy work. So we've gotten to learn from our (copious) mistakes, why shouldn't fresh meat designers and developers?
Some people believe non-standard code/pages simply shouldn't be rendered. This would achieve several things: it would inflate our value as capable HTML writers thereby increasing our pay checks, it would make all the available information re-purposable, re-usable and forwards-compliant, and it would of course knock 99 percent of all content currently available off the Web.
Now maybe that wouldn't be such a bad idea. We would finally get rid of Little Johnny's Home Page and Cat Pictures, and all the <marquee>'s would miraculously disappear. Woohoo. But this would be a Bad Thing. In a world where only valid code is readable, the web reverts to an audience of elitists and egomaniacs, denying access to the general population. Little Johnny wants his home page, the very essence of the web is his low barrier to entry. Little Johhny will also grow up to be a paying client one day, let's not sour him.
Browser vendors need more people to use their browsers, so they are as forgiving as they can be. They'll render your unclosed paragraphs, your messy lists and your undeclared document types. So why should you care?
A few things my dad told me have stuck with me. He had a great work ethic, and always told me to respect my employer, which in my case means my clients. Another of his mantras was if it's worth doing, it's worth doing well. He also told me to get out of the house by Saturday once, but we'll gloss over that one.
The W3C leads the Web, they define it, they shape it, and they produce the standards for it. By standards, I mean that they actually take responsibility for protocols and code. They say what HTML is, and what it isn't. The most important example of how this should affect your thought processes is in their definition of the Web as a whole:
"(The) World Wide Web... is the universe of network-accessible information, the embodiment of human knowledge. The Web has a body of software, and a set of protocols and conventions. Through the use hypertext and multimedia techniques, the web is easy for anyone to roam, browse, and contribute to."
W3C further defines the Web as
"the universe of network-accessible information (available through your computer, phone, television, or networked refrigerator...). Today this universe benefits society by enabling new forms of human communication and opportunities to share knowledge. One of W3C's primary goals is to make these benefits available to all people, whatever their hardware, software, network infrastructure, native language, culture, geographical location, or physical or mental ability."
The crux here is that accessibility aside, the Web is intended, by definition, to reach as many people as possible. Strip away the cloak of accessibility and look at the underlying concepts. The Web is information. Information wants to be free. So why neglect the millions of Opera users, or the people with monochrome displays, or the visually-impaired? When we code sites and sniff for Internet Explorer or Netscape, not only are we denying access and features to users of arcane "weird" browsers, we also kick Opera users in the proverbial crown jewels. Is your site covered in low contrast text on colour? Forget the colour blind, laptop users probably can't read your site.
My larger point is that while trying to make your site Section 508 compliant may sound daunting and even overkillingly pointless, simply coding with a good nod to the standards already put in place for you, you're more than half way there and acting like a responsible netizen.
Sometimes you will need to step away from the standards. You may want advice on this. You may want the input of your peers. You may, god forbid, ask for input on Usenet. Now you're in trouble. There are, as with anything in life, fanatics. Usenet is full of them, I'm probably one, and you will probably at some point be one for a while too.Don't let this get to you. Set up your personal site and experiment like a loon. Go ahead and try some browser sniffing. Then try fooling it. Write your bad tables, ignore CSS. This is how you learn. Niels Bohr once said
an expert is a person who has made all the mistakes that can be made in a very narrow fieldand this is vital. A lot of people seem to forget how they acquired so much expertise themselves.
The thing is, a whole lotta people on the net now believe that the Web Accessibility Initiative, and the Section 508 guidelines, are law. Real law. As in break them and we can tell you you're wrong. Which is, of course, baloney. Smelly baloney. Don't get me wrong, I want every site to be readable in Opera simply due to the fact it's my browser of choice. And by the way, every time you actually get paid for making crap you do all of us, and yourself, a disservice. The web industry is struggling to forge a good name for itself, so bear that in mind when you're producing commercial sites. Tim Berners-Lee (the guy who came up with the first web server and client) said
the power of the Web is in its universality. Access by everyone regardless of disability is an essential aspect. I couldn't agree more. This is what we aspire to.
The moral of this story is make your mistakes on your own time. When you're writing for someone else's money do them and yourself a big favour and write good quality code. HTML that validates comes first, accessibility follows. Remember, every mistake you leave in there is something you'll be supporting years from now. Don't let bad code haunt you. Spend some time at the HTML Writers Guild, validate your code, help keep the Web useful. You'll love yourself for it.