This specification is divided into the following sections:
The brief SGML tutorial gives readers some understanding of HTML's relationship to SGML and gives summary information on how to read the HTML Document Type Definition (DTD).
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 HTML Working Group's experience that separating a document's structure from its presentation produces more effective and maintainable documents.
The language reference consists of the following information:
What characters may appear in an HTML document.
Basic data types of an HTML document.
Elements that govern the structure of an HTML document, including text, lists, tables, links, and included objects, images, and applets.
Elements that govern the presentation of an HTML document, including style sheets, fonts, colors, rules, and other visual presentation, and frames for multi-windowed presentations.
Elements that govern interactivity with an HTML document, including forms for user input and scripts for active documents.
The SGML formal definition of HTML:
This document has been written with two types of readers in mind: authors and implementors. We hope the specification will provide authors with the tools they need to write efficient, attractive, and accessible documents, without over-exposing them to HTML's implementation details. Implementors, however, should find all they need to build conforming user agents.
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.
The front pages of each section of the language reference manual extend the initial table of contents with more detail about that section.
Element names are written in uppercase letters (e.g., BODY). Attribute names are written in lowercase letters (e.g., lang, onsubmit). Recall that in HTML, element and attribute names are case-insensitive; the convention is meant to encourage readability.
Element and attribute names in this document have been marked up and may be rendered specially by some user agents.
Each attribute definition specifies the type of its value. If the type allows a small set of possible values, the definition lists the set of values, separated by a bar (|).
After the type information, each attribute definition indicates the case-sensitivity of its values, between square brackets (""). See the section on case information for details.
Informative notes are emphasized to stand out from surrounding text and may be rendered specially by some user agents.
All examples illustrating deprecated usage are marked as "DEPRECATED EXAMPLE". Deprecated examples also include recommended alternate solutions. All examples that illustrates illegal usage are clearly marked "ILLEGAL EXAMPLE".
Examples and notes have been marked up and may be rendered specially by some user agents.
Thanks to everyone who has helped to author the working drafts that went into the HTML 4 specification, and to all those who have sent suggestions and corrections.
Many thanks to the Web Accessibility Initiative task force (WAI HC group) for their work on improving the accessibility of HTML and to T.V. Raman (Adobe) for his early work on developing accessible forms.
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 (MITRE), Steve Byrne (JavaSoft), Martin J. Dürst (University of Zurich), Daniel Glazman (Electricité de France), Scott Isaacs (Microsoft), Murray Maloney (GRIF), Steven Pemberton (CWI), Robert Pernett (Lotus), Jared Sorensen (Novell), Powell Smith (IBM), Robert Stevahn (HP), Ed Tecot (Microsoft), Jeffrey Veen (HotWired), Mike Wexler (Adobe), Misha Wolf (Reuters), and Lauren Wood (SoftQuad).
Thank you Dan Connolly (W3C) for rigorous and bountiful input as part-time editor and thoughtful guidance as chairman of the HTML Working Group. Thank you Sally Khudairi (W3C) for your indispensable work on press releases.
Thanks to David M. Abrahamson and Roger Price for their careful reading of the specification and constructive comments.
Thanks to Jan Kärrman, author of html2ps for helping so much in creating the Postscript version of the specification.
Of particular help from the W3C at Sophia-Antipolis were Janet Bertot, Bert Bos, Stephane Boyera, Daniel Dardailler, Yves Lafon, Håkon Lie, Chris Lilley, and Colas Nahaboo (Bull).
Lastly, thanks to Tim Berners-Lee without whom none of this would have been possible.
Many thanks to Shane McCarron for tracking errata for this revision of the specification.
For information about copyrights, please refer to the W3C Intellectual Property Notice, the W3C Document Notice, and the W3C IPR Software Notice.