- From: John Udall <jsu1@cornell.edu>
- Date: Fri, 09 May 1997 09:26:08 -0400
- To: Chad Owen Yoshikawa <chad@CS.Berkeley.EDU>
- Cc: www-html@w3.org
At 08:28 PM 5/8/97 -0700, you wrote: >> >> Chad Owen Yoshikawa wrote: >> > 'Why is it that TITLE is a required member of the HEAD element?' [-snip-] >still exists without a title. If the DTD evolves based on its use, it seems >that the TITLE element is certainly optional in practice. Essentially, >the point is that a document should still be rendered if the TITLE >element is missing. Given a web browser, there are two choices: break the >parser so that it accepts invalid HTML with no TITLE element, or IMHO make >the cleaner choice which is to make the DTD have the TITLE element be >optional. It is my understanding that the TITLE element has been required from the very begining with HTML 0.x, as well as the standard HTML 2.0 and more recent DTDs. Although I haven't been able to lay my hands on a copy of any of the early HTML DTDs, like HTML 1.0. Having the TITLE element be required provides a minimum amount of meta-information about the document's content. They had to start with some basic requirements for what defined a minimal HTML document, and this was what they came up with. Every document should have a title, just like every file should have a name. Of course, file naming requirements are enforced by the applications and the OS. Whereas we have not been seeing the HTML authoring, browser or server applications enforcing the DTD rules in the vast majority of cases. As a result, you get a lot of documents on the web which don't conform to any of the standard HTML DTDs. >(Yes, there are a lot of broken pages, and no, the DTD shouldn't adapt >to all of these broken pages. I'm just focusing on TITLE.) > >In the browser I'm writing, I had to make this choice, and I chose to >modify the DTD. The browser's parser now accepts a superset of HTML3.2, >The other option being to modify the parser, which would have definitely >involved more code :) (and functionally, doesn't have made a difference >besides the fact that the browser cannot produce an error message for docs >with not TITLE element.) > IMHO, this is a very poor design decision. Authoring tools should be strict about their conformance to DTD specs, in order to assure that the documents created are viewable on as wide a variety of browsers as possible (assuming that the browsers were written to conform to the available standards), and the documents created are as enduring as possible (assuming that the browsers are written to be backwards compatable with earlier available standards). At the very least, authoring tools should make it easy for people to write documents which conform to the standards, while making it more difficult for them to create documents which are non-conforming. They should provide explicit warnings, if the documents are non-standard. Browsers, on the other hand, should be as forgiving as possible of non-standard HTML. (within reason :-) A smart browser can deal with non-standard HTML and display it in, what is hopefully, a reasonable manner. If a browser is too strict, then it runs the risk of not displaying information content. That would be bad for both the authors and the readers. The authors just want to create the information and publish it. Readers just want to access that information, view it, and make use of it. HTML just provides a framework to make this possible. Part of the problem is that web page authors have been using browsers as validators. They aren't meant to be used for that purpose. This doesn't mean that you shouldn't check your work against a variety of different browsers. It's just that it doesn't provide validation that your document conforms to the available standards. This is especially true for the crowd who say, "Well, my document looks fine in Netscape. ..." The people at Netscape put a lot of effort into making Navigator as tollerant as possible of non-standard HTML. (Some might say they are too tollerant.) The result is a that there are a whole bunch of pages out there that look fine in a particular version of Netscape, but look like hell on other brosers, or even in other versions of Netscape. People just don't seem to understand the role or importance of standards in web page authoring (or tool authoring for that matter). In many cases, they just don't know that the validation tools are out there, or the tools are just too difficult to use. If you modify the DTD for your browser, you are potentially creating more work for yourself, because everytime the DTD changes, you have to modify the new one to conform to your modifications, instead of just being able to drop in the new one. Of course, somewhere in your code you will have to take into account all of the non-conforming web-pages out there. You have made a decision about where to do that. If writing a web browser were easy, we'd all be doing it. (Hey, now there's an idea. :-) Obviously, you are making an effort to conform to the available standards with your browser. That is very laudable. Your question appears to be more directed at finding out why the standard is the way it is, rather than suggesting that one should not follow the standards. I wish you the best of luck with your project. More power to you for making the effort to write a browser. BTW- Have you looked at the HTML-pro DTD? I can't lay my hands on a URL right now, but maybe someone else on the list could provide it. Just my 2 cents worth, -John [-snip-] >-Chad >-- >Finger me for my pgp public key >Today's random buzzword: plug-and-play dilbert > > John Udall, Programmer/Sys. Admin. Extension Electronic Technologies Group (EETG), Cornell Cooperative Extension, 40 Warren Hall Cornell University, Ithaca, New York 14853 (607) 255-8127 jsu1@cornell.edu
Received on Friday, 9 May 1997 09:27:57 UTC