The World Wide Web Consortium (W3C) has posted a note on Common User Agent Problems, which discusses common mistakes in user agents, and suggests remedies. It also suggests “good behavior” in the face of error conditions or other places where standards don’t suggest specific behavior. The article doesn’t mention any specific implementations, but it does mention many of the problems that I’ve encountered using Internet Explorer or Netscape Navigator.
It struck me as I was reading the article that web browsers are generally expected to attempt to render broken content in some reasonable fashion. It is considered “bad” behavior for a web browser to just report an error and halt when it encounters a poorly-formatted HTML page. Practically speaking, I’m glad that my web browser will render broken content. The purist in me would be happy if the browser wouldn’t try. It’s unfortunate that people can get away with posting poorly-formatted HTML with the expectation that browsers will go ahead and render it. Browsers would probably be more robust, and certainly smaller, if they could simply fail when they encountered an error. But then, that would place the burden of actually creating proper content on web site developers, who appear to be as sloppy as most programmers.