HTML was designed to be simple. Folks are supposed to be able to whack out HTML with a text editor -- no rocket science required.
I suggest that it should be the responsibility of the _server_ to produce valid HTML. Of course the client should be robust in the face of errors. But I suggest that when a client and a server differ on their interpretation of a document, the client is at fault if the document is valid, and the server is at fault if the document is not.
@John, thank you for your reply. The whole "learning curve" argument is flawed IMHO. HTML was never meant to be created by non techy users. That's what (visual) tools and CMSs are for. HTML is for developers. And developers must get things right. If they don't get XML, maybe they should reposition their careers.
What do you mean by "failure rate"? Failure to author a valid document? Solution: automate and create higher level application specific languages that help devs *generate* proper XML. Or maybe you mean failure on the browser side? In that everybody knows that user agents have to be fault tolerant. Either way I don't get your point.
Fifteen years later and we've made no progress.