When I learned HTML about 12 years ago, I got this book from a friend about HTML 3. I learned about breaks and bold, about head and body and about font and blink.
For me, it was just another language. One of angle brackets and slashes. I didn't even use
until some validator told me I had to. I just didn't know any better.
However, for quite a few years I do. I've grown accustomed to it. In fact, it annoys me to see HTML which is incomplete. Unclosed tags, a unary tag that doesn't end with a slash or a structure that's just plain wrong.
Later I learned that it was in fact the influence of XHTML that forced me to properly close my tags. HTML doesn't give a damn. This surprised me.
Skip forward a few years and behold the upcoming beast that goes by the name HTML5. But much to my surprise it doesn't care about clean coding. You don't have to close your tags and you don't have to specify a full document in order to validate! Hath hell frozen over?
What's so bad about at least mentioning the fact that you need to close what you open? Sure, there might be a few backward compatibility problems, but those sites had it coming anyways. But no, seriously, this doesn't have to be a problem. Make it so that browsers don't b0rk on it, but also make it part of the standard, where browsers are excluded from being forced to implement it but the front-enders are!
There is nothing wrong with forcing people from properly closing tags and allowing a good tree. If anything at all, it will force them to create better documents and increase performance of their websites. And then, in another ten years or so, we'll finally be able to included as something everyone says "duh" to.
So for every you open, you should have another that closes it. For tags that don't close or have no body, use the syntax.
Please help us make the world a better place, one tag at a time.