I tend to be more of a Realist than Purist when it comes to debating semantics, web standards, progressive enhancement, and all the other topics web developers are talking about in order to educate and inform their audience. I’m an advocate for all of these things, but that doesn’t change the fact that you shouldn’t bend them or break them if the situation calls for it.
Am I saying we should go back to table-based layouts? No. Do I think we should use proprietary tags in our markup? No. Do I think font tags should be reinstated? No. Do I think
alt attributes on
img tags are a waste of time? No. I think we have to be smart about the decisions we make as web developers and not blinded by the false promise, that no matter what the case, standards are always the right answer. Our decisions have to be made in context to the constraints we’re faced with.
Innovation isn’t the ability to follow a set of standards, it’s the ability to bring something new to the table. Technology doesn’t advance by simply following rules and guidelines; if that were the case we’d still be reading stone walls with a lit torch. Innovation demands that we break rules, however that doesn’t mean we shouldn’t make educated decisions.
Kathy Sierra recently published a great article entitled “F*** the rules!” where she talked about rules inhibiting innovation:
A huge chunk of the implicit professional rules today are damaging because they inhibit innovation. They stop the one thing businesses need the most–breakthough ideas. –Kathy Sierra
font tags, but why would an educated developer do this? They wouldn’t.
span tags in as well. It doesn’t make it any more right by using redundant
span tags in the HTML source.
If we are so adamant about standards, why do we support non-standars every day. We use applications like Gmail, Backpack, del.icio.us, flickr–all of which break the rules. If you were pro-life, you wouldn’t gas-up the ride so your sister could make a trip to the clinic would you?
Take a look at Ma.gnolia.com–The social bookmarking website designed by some of the most widely recognized industry heavy weights when it comes to standards and the web. Just a quick browse through the source on the home page got me this:
<img alt="Clear" height="1" src="/images/clear.gif" width="3" />
If you disable styles you’ll also see that there is also some empty list items. The point here is that cookie-cutters (standards) don’t always work when your facing real problems in a real working environment.
Standards and semantics are an essential part of the web, but we need to make smart decisions, not blind ones, when it comes to when, where, and how to apply and break them.