I was reading through an archive email thread with the subject of “still no DTD, huh?”. It is mostly Dan Connolly and Tim Berners-Lee discussing dtds and some bugs in the NeXT editor that generated HTML, including everyone’s favorite “quoted attribute values.” People have long blamed Internet Explorer for allowing such loose HTML syntax, but it really goes back much further than that.
The more interesting content of these emails centers around the discussion of elements such as <section>, <subsection>, <heading> and their descriptions/use match pretty closely to what we have in HTML5 today.
Dan Connolly provides an example of the intended use of these elements:
<HTML>
<TITLE>foo</TITLE>
<SECTION>
<H1> header </H1>
paragraph associated with above header
<SUBSECTION>
<H2> header </H2>
stuff under H2
</SUBSECTION>
</SECTION>
</HTML>
Tim replies to this example with:
YEs, sections appeal to me too. Especially when making big HTML files out of lots of little ones. The effect of
.. would be to demote all headings by one inside the section. I would be inclined then to have simpky atag which would be equivalent to H0 and map onto H1 within a section, or Hn within n sections. The SGML parser can’t generate this stuff, but the editors could derive it from the style information. We would have to introduce early on to get a transistion period. Then in HTML3 we would declare H2 etc obsolete.
If you look in the comments of the original HTML DTD, there’s even a place for these tags
<!--========== Headings, Titles, Sections ===============-->
It is an fun look at what might have been…