"My web page is rendering fine in all major browsers. why should I bother validating it?"
You will hear this question once in while. I'm trying to give some real answers for it in this post.
I'm not concerned about being called professional as W3C guys are trying to persuade us on their FAQ. I really don't think of validation as a sign of professionalism. I'm more concerned about making our life easier as developers and designers. I think HTML validation can help us with it. After all we should spend creating awesome stuff rather than spending hours and hours debugging a bug in our HTML codes, shouldn't we?
You should stop thinking browsers as magic boxes that you can give any
sloppy HTML code to them and they would always produce a shiny output
for your visitors by
magically reading the mind of the developer or designer of the that
code. Yes yes the browsers are so forgiving that no matter what you
as input, they will try hard to render it as correctly as
possible by guessing and fixing any error in markup. But the chances of rendering a valid HTML code correctly by browsers are much higher than an invalid one.
But so what? Is it your responsibility or the browser to render your website correctly? Certainly It's yours.
You should reduce the amount of the guess work a browser should do to render your HTML code. Even if your invalid website is rendering cool at the moment it is not guaranteed to be rendered the same in next version of any browser. I'm not trying to say that validating your code will guarantee this. What I'm trying to point out is that you should take steps to keep webpages maintenance costs as low as possible. and validating your code is one of that steps.
Yes validation will help you find little hidden mistakes in your HTML code. Just a heads up for those of you who are new to HTML validation tools; You will probably get tens of errors and warnings
if not hundreds of them. but don't panic, It will decrease significantly on your next design as you learn what is valid markup.
Browsers are not the the only guys trying to access your website data. we
have search engine robots like Google that are not so forgiving with
our bugs in HTML as mentioned by Ted Jardine. Ted tells us a real story where Google crawler was returning a "page not found" for an invalidly coded web page.
And as if this is not enough I need to remind you about screen readers for visually impaired people as another guy in the room that will read your HTML code to their users.
To make a long story short you should pay more attention to HTML validation as a tool to make your life easier and reduce maintenance costs on your HTML code. If this reason is not enough for you add the danger of not being indexed by Google to it and you should be automatically validating your code next time writing any single line of HTML.
I'm Arash Milani, hacker & happiness ninja.
@narmand is our teams's lab to experiment awesome things in it.
I write and talk about hacking, developing web apps, teamwork and designing for better user experience.
You can always contact me via me[at]arashmilani.com email address.