Why Use Web Standards?

WAIT! Before you dive in to answer this question, let me explain why I am asking!!!

I, personally, understand how to use web standards and why and all that fun stuff. What I have trouble with is explaining this to someone who does not understand geek type stuff or who doesn’t particularly care/understand why it matters.

So I guess what I’m asking is, how would you explain web standards to, say, someone who knows how to use computers and whatnot, but doesn’t know anything about making websites?

I have been looking at different articles and things, but they are all written for web-savvy persons.

I am so horrible at explaining things like this (I’ve been learning html since I was 12, I’m now 21).

Sorry if this is in the wrong section, just thought this would be a good place for this thread!
:smiley:

one way of explaining it is that if html is not written to standard (like leaving out closing tags etc) then the browser has to “fix” code itself internally before displaying it on the screen.

some browsers “fix” non-standard code better than others.

if html is coded to a Strict doctype (standard) then nowadays as more browsers (even IE8+) are complying more and more with the w3c standards, rather than doing their own thing to some extent, the risk of browser incompatability (pages not rendering the same in different browsers) is close to zero in my experience, especially if you use standard compliant css as well.

It can be compared to owning a car. The warrant of fitness on your car is similar to validating your code. Both cars and code will be experience a wide range of situations, and you want to know that they are good enough to handle them.

Another reason for web standards is when it comes to making changes. Many parts on a car have a “standard” design, so that you can replace them with different better parts.

As a web site developer, you’ll have a much easier time when the standards are followed. For example, with the site navigation, you may want to change how it looks, or make to behave in different ways. Using a standard design for your navigation allows you to do that easily and efficiently.

The way I’ve explained it before to “less than savvy” people was something like:

“A web page’s code (I call just about everything code for them - they nod as though they understand) is like a language. The page speaks to the browser - that’s the thing you use to look at the page, for example. [point to icon on desk-top]. If the page’s code is written well it’s like speaking or writing well so the browser understands what it’s saying better. Just like you can usually understand someone OK even if they dont use proper English, a browser can usually figure out or guess what the page is trying to say. But the better it’s written, the better the chance is the browser will do what’s being said, and the less chance there is of it doing something unexpected.”

Thank you soooooo much for the suggestions! I am so horrible with analogies, but those both sounded really good!

And if anyone else has any good suggestions as well, feel free to post away :smiley:

Web standards are the foundation of a web site. You wouldn’t build a house without a foundation and you shouldn’t build a site without standards.

You can of course, if you like, choose to build your house without a foundation, but then you shouldn’t be surpised or upset when it falls down. And the same thing applies to web pages that don’t follow standards. Sooner or later they break.

You can open a can with a screwdriver, or a claw hammer or a can opener, all work, only one is designed to do that job.

You can design and code a page and force it to look okay, but following web standards is better for the same reason that the can opener is the weapon of choice for opening cans, even though that claw hammer will open it.

You can hammer screws in, but a proper pre-drilled hole, smaller and shorter than the screw, and a screwdriver works better. Especially if you later wish to remove the screw to check something.

Garbage In, Garbage Out. Write shoddy markup expect unpredictable results to be spat out.