This document has been written with two types of readers in mind: HTML authors and HTML implementors. We hope the specification will provide authors with the tools they need to write efficient, attractive, and accessible documents, without overexposing them to HTML's implementation details. Implementors, however, should find all they need to build user agents that interpret HTML correctly.
The specification has been written with two modes of presentation in mind: electronic and printed. Although the two presentations will no doubt be similar, readers will find some differences. For example, links will not work in the printed version (obviously), and page numbers will not appear in the electronic version. In case of a discrepancy, the electronic version is considered the authoritative version of the document.
The specification may be approached in several ways:
Read from beginning to end. The specification begins with a general presentation of HTML and becomes more and more technical and specific towards the end. This is reflected in the specification's main table of contents, which presents topical information, and the indexes, which present lower level information in alphabetical order.
The front pages of the three sections of the language reference manual extend the initial table of contents with more detail about each section.
This specification includes the following sections:
This document has been organized by topic rather than by the grammar of HTML. Topics are grouped into three categories: structure, presentation, and interactivity. Although it is not easy to divide HTML constructs perfectly into these three categories, the model reflects the designers' experience that separating a document's structure from its presentation produces more effective and maintainable documents.
The language reference consists of the following information:
Conventions used by the editors of this specification.
How HTML fits into the World Wide Web and an introduction to related Web languages and protocols such as URLs.
What characters may appear in an HTML document.
Basic data types of an HTML document.
Elements that pertain to the structure of an HTML document, including text, lists, tables, links, and included objects, images, and applets.
Elements that pertain to the presentation of an HTML document, including style sheets, fonts, colors, rules, and other visual presentation, and frames for multi-windowed presentations.
Elements that pertain to interactivity with an HTML document, including forms for user input and scripts for active documents.
The SGML definition of HTML, including the SGML declaration of HTML, the HTML DTD, and the list of character entities.
Thanks to everyone who has helped to author the working drafts that went into the HTML 4.0 specification, and all those who have sent suggestions and corrections. A particular thanks to T.V. Raman for his work on improving the accessibility of HTML forms for people with disabilities.
The authors of this specification, the members of the W3C HTML Working Group, deserve much applause for their diligent review of this document, their constructive comments, and their hard work: John D. Burger, Steve Byrne, Martin J. Dürst, Daniel Glazman, Scott Isaacs, Murray Maloney, Steven Pemberton, Jared Sorensen, Powell Smith, Robert Stevahn, Ed Tecot, Jeffrey Veen, Mike Wexler, Misha Wolf, and Lauren Wood.
Thank you Dan Connolly for thoughtful input and guidance as chairman of the HTML working group. Thank you Sally Khudairi for your indispensible work on the press release.
Of particular help from the Inria at Sophia-Antipolis were Janet Bertot, Bert Bos, Stephane Boyera, Daniel Dardailler, Yves Lafon, Håkon Lie, Chris Lilley, and Colas Nahaboo.
Lastly, thanks to Tim Berners-Lee without whom none of this would have been possible.