It is a overly stated fact that designing non-compliant web sites drives me insane. I find designing standards based sites much easier to handle and much more logical to deal with (and thus highly appealing for my overwrought analytical side). Standards also equal a certain level of control in design, which is why I started writing HTML in the first place. And, when you write one site to fulfill all needs (instead of separate versions for every possible user agent imaginable), you save money. The only problem with writing a standards based site is that it isn’t going to look exactly the same in older, non-compliant browsers, such as the long lamented Netscape 4.
What people (especially the stubborn among the design ranks) need to realise is that a site will never look exactly the same in ALL browsers. It is completely impossible! Why? Well, some browsers don’t even support all the tags of HTML 3.2. Others interpret tag differently. The stubborn always claim that they need “compatibility” when what their site really needs is “accessibility.” Who cares if the special flash-based menus are aligned perfectly if the end user doesn’t have (or can’t use) flash? Your site is now completely unusable. Had I decided, like the folks Eric mentioned, to block out users of browsers other than IE/WIN, the world wouldn’t come to an end. It’s just a personal site. But I’m pretty sure that when I went to show off my portfolio to design agencies, many of whom use Macs, or perhaps to ask a friend who only has netscape 4 to read an article on my site, I’d have no end of headaches. “Greg, I can’t get the page to come up. It’s telling me I need Internet Explorer 6. But I’m on a Mac… they don’t make IE6 on the Mac. What should I do?” “Oh, well, just type this address in…” “Okay, something came up, but the font is screwy, and none of these navigation buttons work…” “Hmm… well, do you happen to have a Windows machine handy?”
Granted, that isn’t going to happen, as I use Macs to design with, and thus I’m not going to lock myself out. However, can you see the idiocy of something like that? Instead, I designed my site in XHTML 1.0 Strict. Being a Strict doctype, it doesn’t allow for a lot of the hacks used to make sites pretty in Netscape 4, and other older, non-compliant browsers… but that doesn’t matter. Load this site in Netscape 4. No, it doesn’t look very similar. I’ve done a few server-side tricks via PHP to throw in at least a little bit of color, but all in all, it is very basic. Yet, you’ll notice something. Every bit of information that is accessible in a new browser is accessible in this old one. As my skill set grows, I may go back and make what you see in NS4 even prettier. But is that important? Not really. Does someone using a text-based browser on her mobile phone to quickly get my contact info before catching a plane care if my cool new masthead (which is in the works, trust me) shows up? I highly doubt it. She’ll just be glad the info shows up at all.