There’s an old saying in the computing field: “The great thing about standards is that there are so many to choose from.” Funny, but true. Too true.
This is a topic I read a lot about. You can find essays and articles all over the web by people like Jeffrey Zeldman, Scott Andrew Lepara, or this article at Web Techniques by Molly E. Holzschlag.
The rant always has a common thread running through it: when are the browser makers going to actually follow the standards (or should I say recommendations) set forth by the World Wide Web Consortium?
Things have gotten better in the last couple of years, sure. Microsoft’s Internet Explorer has had pretty decent cascading style sheet (CSS) support for quite a while now (with a couple of bumps here and there), and the Mozilla project seems to be working hard on fulfilling its promise to be the most standards-compliant browser. And of course, Netscape’s version 6.x browser is based on the Mozilla codebase. And there’s Opera, which has good stylesheet support, but falls short in its Javascript engine.
Unfortunately, there’s still a significant number of people out there using Netscape version 4.7x. This browser implements a half-hearted attempt at support for CSS. Style properties are not properly inherited from parent elements to their children. Errors in the parsing engine can reduce a validating style sheet to be completely ignored, or worse, to be displayed incorrectly. And my own web server logs tell me that my sites are in line with averages I’ve seen that say that about 5-10% of the people out there are still using this steaming pile of browser.
At work, I’ve been trying to redesign our company web site. I have this grand vision of redesigning the entire site using well-structured XHTML, with external Javascript libraries for the eye-candy DHTML menus and form validation, and linked style sheets that will let me radically alter the visual presentation of the content in the blink of an eye…. But it’s probably not going to happen quite like that. Because of Netscape 4. My managers won’t take the chance of alienating customers by telling Netscape 4 users that our site is unusable with that browser.
I am left with few options. I can dumb down the presentation of the content, and display a bland site. Or I can use non-compliant HTML with lots of NS4-specific tags. Or I can maintain two separate versions of the site, one for Netscape 4, and another for the newer browers. I’ll probably end up going with the first option. I’ll just have to put in a lot of hard work and testing to try to make the site looks as nice as possible in compliant browsers, while shielding NS4 from any style declarations that it can’t handle.