This article over at A List Apart really takes me back.
Published in 2001, the article makes the case for the use of web standards, which, at the time, were not commonly used, mostly because the available browsers and the available codes didn’t always work together all that harmoniously. Workarounds were the way to get things done, and, while they ultimately meant you could finish a project, they made future work exceedingly difficult. Redesigns became monumental tasks, requiring everything to be coded by hand all over again, and God forbid a company switched designers and hired someone who wasn’t already familiar with the code.
These were common problems in 2001, but you know what’s really sad?
They aren’t uncommon problems today.
It happens all the time. The boss wants something done, so the developer makes it happen using whatever means necessary. Of course, the proper documentation never happens, or the code evolves over time, and, one day, that developer leaves the company for another job. The new developer steps in and has no problem keeping the site working on a day-to-day basis, but, finally, the time comes for a complete site redesign, and the new developer can’t make heads or tails of the crazy workarounds the first developer had to use to make that element of the site work.
In that way, the article is spot on: the call for standards—whether those standards are letter-of-the-law, existing web standards, or spirit-of-the-idea style-over-here and content-over-here standards—has not yet been answered. There just aren’t enough developers coding using standards. The workaround method continues to thrive.
The article is, at least, a bit dated in other regards: obvious things, like the referenced browsers (oh, hey, Netscape and Opera… rest in peace, won’t you?) and which snippets of code work for those browsers, and more fundamental things like how web browsers have, over time, changed the way they interpret code to become, for the most part, more uniform.
I like to think that, one day, people will use different web browsers for purely cosmetic reasons, and those browsers will all read code in exactly the same way.
But, as lovely as that idea is, at the end of the day, I’m a realist. I know that will never happen. So it’s up to developers to write standards-based code that is both accessible to as many browsers as possible and usable by any other developers who may need to work with it.