Then, my boss told me that Linvatec isn't standardized on Internet Explorer, the way 90% of the world is. They're standardized on Netscape 4. Now, there will be some of you who applaud this. Yeah yeah, Microsoft evil. The problem is that Netscape 4 is not standards-compliant.
There's been a drive for years to "clean up" the HTML on the web by separating content from formatting. That's what "cascading style sheets" are for. CSS Level 2 was a standard by 1998 (with Level 1 a standard in 1996). I use style sheets for nearly everything. There's one minor problem. The CSS implementation in Netscape 4's rendering engine is horribly broken. IE 4 didn't get everything right, either, but it came worlds closer.
At some point, I finally just gave up. There is no reason that web standards should continue to be held hostage to a browser which is not only long-obsolete but didn't do a very good job of following the existing standards when it came out. (I'm sorry to Netscape fans, let alone ex-Netscape developers, but you know it's true.) I tried to make sure web pages degraded gracefully on "old" browsers, but that was about it.
For contract work, I should have checked; the client knew what I was developing on and with, but most developers don't understand how behind Netscape 4 is. That's part of why WYSIWYG web tools generate such convoluted markup, I've realized: they have to hard-code everything in ways that look consistent across multiple browsers. My boss didn't know the version of Netscape they were standardized on--the question didn't come up in the last two weeks. And every office I've been in for years has standardized on IE. And, hell, I'm on a Mac OS X workstation: I can't even get Netscape 4 for it.
Netscape 4 doesn't have any idea how to handle CSS inheritance. It doesn't inherit when it should and it inherits when it shouldn't. Sometimes it just blindly ignores spacing directives. When I apply a style to a link, sometimes the link stops being a link. And to top it off, it doesn't even support all of non-CSS HTML 4 correctly--the "readonly" attribute in form fields is being ignored. Gah!
I think I've redone the style sheets for the site in a way which works on both Mozilla and NS4. I'll still have to check to make sure nothing broke in IE (Mozilla and IE are really close, but occasionally quirk at one another). But I have to modify the HTML to get some of the appropriate spacing now--thus defeating a major point of CSS. And there are some pages which are just screwed up now. I'll probably have to use PHP scripting to have it physically serve different pages to people with Netscape 4. I'll have to use nested tables to be able to have the look that I've already shown people. Some things might not be doable at all the way they've already been demonstrated. Some things may require serious hard-coding.
I'm going to end this rant with a challenge. If you're one of the Netscape 4 holdouts, and you're also one of those people who grumble about crappy, bloated web pages and overuse of Macromedia Flash, guess what? You are part of the problem. Web designers are using WYSIWYG tools that generate crappy, bloated web pages in no small part because it's the easiest way to make pages that look good on all browsers--even though a modern browser could do the same look and more with an HTML4/CSS page that takes up 10% of the space. And if you have Flash installed on your system, Flash content always looks the same: it's a way for designers to bypass the entire issue completely.
If you are still using any browser that doesn't support HTML4/XHTML, CSS Level 2 and the Document Object Model (DOM) correctly, get Internet Explorer 5.x+ or Mozilla 1.x. Use one of the hip alternative ones like iCab, Opera or OmniWeb if you want, but get IE or Mozilla, too: all the hip alternative ones think they're standards compliant and in my experience all of them are wrong. I don't care if you don't like Microsoft. I don't care if you think Mozilla is bloated. (Yes, it needs 64M of RAM to run. Get over it. RAM chips are as cheap as corn chips.)
Now, I'll get ready for bed, looking forward to the fun tomorrow of redoing a few crucial and highly complex pages more or less from the ground up.