in reply to OT: Web Design - Catering to Everyone

My approach is with features that they really should have had in the first place (eg HTML 4.01, CSS1 compliance), make no compromises - if they have an old browser, then they'll *see* that they need to upgrade. It's much easier to say "What? You can't see that? Oh yes, that's because your browser doesn't fully support HTML 4.0" than tell people that you don't want to support them.

As for features which they don't necessarily have to have - eg frames, javascript, images, embedded sounds, shockwave - I make sure there's always a valid fallback for compatibility reasons. For example:

And of course there are a handful of near-zero-impact workarounds for minor lack of capabilities, eg provide XHTML files as text/html and don't include any <?xml ?> type tags.

...all of which largely covers accessibility rather than compatibility. It's not too important that your project be compatible; it is critical that your project be accessible. On the same subject, see the W3Cs take on accessibility

Saying all that, I have in the past compromised on certain bugs in *current* browsers, eg MSIE6s mishandling of <button>, 'fixed' by on-the-fly conversion to an <input type='hidden'><input type='submit' onclick=''> pair. I really hate browser bugs.

In any case never, ever compromise on standards or you'll quickly find that others (browsers) aren't supporting you (your site) any more.