Over the past few years, people who’ve been watching the world of webdev will have noticed that the message of standards has been playing a major role in how people chose to develop things.
With all this noise, however, people aren’t getting the whole message. I’m still finding people that will happily blurt out "Yeah CSS is awesome" but when you ask them why, they’re only able to mumble out something about it being faster and cleaner and looking better.
I thought I’d take a minute to re-educate anybody that wants to know the real reasons why proper standards are the only way we can maintain the internet.
What tags really mean
HTML should describe the content, not the layout or how the item looks. When your HTML is semantic and "pure", user-agents, be those browsers or bots, can understand what your data means. It also means text-to-speech can place emphasis in the right place.
Most popularly in the past, people have used tables to create a grid system. Semantically a table means you’re dealing with tabular data, not more tables or images or spacer images. *shudders*
This is why tags like <i> and <b> have been replaced with <em> and <strong>. They shift the emphasis away from how they look on the page to what they really mean — namely "emphasis" and "strong emphasis".
Your CSS is where you (should) define how these elements get pushed around in the browser’s viewport.
Anybody and anything should be able to use it
A similar point to above. Your content should be accessible to anybody that wants to read it. When your data is littered with useless coding text-based browsers have to really fight to interpret it.
You need to recognise that blind people use the internet too! Not supporting them loses you visitors — even customers.
If bots can understand your content better, your rankings in search engines are practically guaranteed to rise. They don’t care how it looks, just that is is a good semantic document.
Design is simpler without HTML
When you have your HTML mark-up and CSS separated, you will find it much easier to design and upgrade designs.
If you mark-up is good, you should be able to redesign an entire site purely by changing the CSS file. That’s a lot of saved time. The CSS Zen Garden is a showcase of this technique where the mark-up remains the same and you can switch the CSS file.
Standards are efficient
This is usually the first reason out of people’s mouths when they’re giving stone-age designers the hard-sell on standards. I left it till the end because I feel it’s the least substantial — by far
Just by splitting your design out into a new file means all that code only gets downloaded once. Not having to nest tables in tables in tables saves you tons of mark-up, making the pages that do download mush smaller, allowing your site’s clients to download the files faster and display them
Semantics are the main reason. As we move on in chapters of the web, we’re going to see that less and less of our browsing happens on a regular browser on a regular computer and therefore it’s essential that we get into the habit of making documents that mean something about the data, not how they should output on a particular set of browsers.
Not getting friendly with standards now could mean you lose visitors, customers and your job as a designer.
About Oli: I’m a Django and Python programmer, occasional designer, Ubuntu member, Ask Ubuntu moderator and technical blogger. I occasionally like to rant about subjects I should probably learn more about but I usually mean well.