Every guy has heard the question: Your wife and mother-in-law both fall off a bridge into the raging ocean. Which one do you save first? Well, web designers often find themselves in a similar problem: web standards or table soup? Semantic markup or style-plain-text-to-make-it-look-like-a-heading-in-every-brower markup?
Most informed web designers know that web standards are the way to go. However, what about
semantic markup? If you're already (probably) shutting 4.0 browsers out of your style
sheet, why not use semantic markup and reduce your code some more? After all, devices
like screen readers need those h tags for emphasis*. Plus, it'll save you
lots of time, effort, and bandwith, compared to lots of CSS or (shudder) FONT tags.
Plus, semantic markup will make a huge difference when it comes to search engines. Most pages I look at don't even have the title in the body. How's a search engine supposed to know that a page is supposed to come up for its title when there's no title? Of course, I'll leave the bulk of this topic to the experts.
Actually, by using web standards, I believe you increase consitency in the first place. When I create my layouts, I only test them in Internet Explorer and Mozilla Firebird** at first. After that, I don't really find any layout-breaking bugs. Of course, I don't test my layouts very thoroughly (I don't have access to many computers).
Everything would be just hunky-dorey if that was all there was to it. However, you can't just leave people hanging like that. Do you really want your clients/readers calling you in the middle of the night saying “That header doesn't show up in any form when images images are turned off! The the layout looks like @#@$ in Internet Explorer 5 for Mac! Get to work, or we won't pay you and we'll tell every contact in the buisiness that your company makes stuff that breaks like a #$@&%$ in 20 different browsers!”?. No you don't.
If you find yourself in one of these positions, ask yourself, “do people really need to see this? Or, can I replace/destroy it to add a litte consistency?”
Okay, here's an example: you are using Fahrner Image Replacement (FIR) for the title of the
page. Not only does it make the site more accessible, it also helps in search engine
optimization. You used a method that does not use an extra span element,
such as the
Leahy–Langdrige method***.
However, with images turned off, nothing shows up. Other alternate methods of FIR exist,
but all that do not have the no-images problem use a non-semantic span
element. Should you choose the semantic or non-semantic code? In this case, you should
choose the non-semantic choice. Why? Well, you don't want people viewing the site without
any kind of header, do you? After all, non-semantic code won't effect search engines or
accessibility.
If you ever find yourself a situation like this, then make the right choice. Make your site
the most accessible and usable it can be. After all, do you really want to loose customers
or readers just because you couldn't stick in a span?