HTML Tags: Past, Present, Proposed

© 2012, Martin Rinehart

Prerequisite:
This page was prepared for students learning from Professional HTML, Volume I of V in the Frontend Engineering series. It is most meaningful to persons currently using HTML who wish to see where HTML has been and, possibly, where it is going.

HTML Tags

Show tags up to and including:

Proposed and Recommended HTML Tags
HTML 11 HTML 22 HTML 3.23 HTML 4.014 HTML 55
<A>1a Note3a Note5a
<ABBR>
<ACRONYM> obsolete5b
<ADDRESS>1b
<APPLET>4a deprecated obsolete5b
<AREA>
<article>
<aside>
<audio>
<B>
Base Address1c <BASE>2a
<BASEFONT> deprecated4b obsolete5b
<bdi>
<BDO>
<BIG> obsolete5b
<BLOCKQUOTE>
<BODY>2b
<BR>
<BUTTON>4
<canvas>
<CAPTION>
<CENTER> deprecated obsolete5b
<CITE>
<CODE>
<COL> Note4c
<COLGROUP> Note4c
<command>
<data>5c
<datalist>
<DD>1d
<DEL>
<details>
<DFN>2c
<dialog>
<DIR> deprecated obsolete5b
<DIV>
<DL>
<!DOCTYPE>2d
<DT>
<EM>
<embed>
<FIELDSET>
<figcaption>
<figure>
<FONT> deprecated4b obsolete5b
<footer>
<FORM>
<FRAME> obsolete5b
<FRAMESET> obsolete5b
<H1>, ...<H6>
<HEAD>2b
<header>
<hgroup>
<HP1>, ...<HP2>, ...1e Note2e
<HR>
<HTML>
<I>
<IFRAME>
<IMG>
<INPUT>2f
<INS>
<ISINDEX>1f deprecated obsolete5b
<KBD>
<keygen>
<LABEL>
<LEGEND>
<LI>
<LINK>2g
<LISTING>1g Note2h
<MAP>
<mark>
<MENU> deprecated <menu>5d
<META>
<meter>
<nav>
<NEXTID>1h Note2i
<NOFRAMES> obsolete5b
<NOSCRIPT>
<OBJECT>
<OL>
<OPTGROUP>
<OPTION>
<output>
<P>1i Note2j
<PARAM>
<PLAINTEXT>1j Note2k
<PRE>2l
<progress>
<Q>
<rp>
<rt>
<ruby>
<S>3b deprecated4b <s>5d
<SAMP>
<SCRIPT>3c
<section>
<SELECT>
<SMALL>
<source>
<SPAN>
<STRIKE>2m deprecated4b
<STRONG>
<STYLE>3d
<SUB>
<summary>
<SUP>
<TABLE>2n
<TBODY> Note4c
<TD>
<TEXTAREA>
<TFOOT> Note4c
<TH>
<THEAD> Note4c
<time>
<TITLE>1k Note3e
<TR>
<track>
<TT> obsolete5b
<U>2l deprecated4b
<UL>
<VAR>
<video>
<wbr>
<XMP >2o deprecated

History

Pre-Worldwide Web Consortium (W3C)

IETF RFCs and W3C Recommendations

Present and Future

P.S. (Jan. 2013) W3C and WHATWG split, mid-2012. Standards are now diverging, though differences are minor, so far. Slight differences have appeared in section numbering. Data here is from the pre-split versions.

1HTML Tags, circa 1991. http://www.w3.org/History/19921103-hypertext/hypertext/WWW/MarkUp/Tags.html, retrieved December 5, 2011.

Here shown alphabetically, the original order was <TITLE>, <NEXTID>, Base Address, <A>, <ISINDEX>, <PLAINTEXT>, <LISTING>, <P>, <H1>..., <ADDRESS>, <HP1>..., <DL> (with <DT> and <DD>), <UL> (with <LI>), <MENU> and <DIR>.

1aThe only tag with documented attributes, <A> was shown with both NAME and HREF, so it was both anchor and hyperlink. A TYPE attribute was also suggested to allow registration of different document types with "the W3 team."

1bOriginally for the author's name and address. The example shown includes snail mail and telephone, but not email.

1cNoted "NOT CURRENTLY USED" this tag would later appear as <BASE>.

1dDefinition lists, <DL>, <DD> and <DT> are unchanged through HTML5.

1eThe Highlighted Phrase tags were replaced by tags like <EM> and <STRONG>.

1fThe original <ISINDEX> tag "informs the reader that the document is an index document" that supported keyword searches.

1gThe <LISTING> tag pair would become the <PRE><CODE> combination.

1hThe NEXTID tag was marked "obsolete" in the original TB-L spec. (HTML was originally written for the inventor's NeXT-brand computer.)

1iOriginally an open tag without a close, <P> was like <BR>.

1jThe <PLAINTEXT> tag told the computer parsing the document that it could stop parsing.

1kExample shows sample title suitable for document title (too long for browser tabs).


2"HTML 2" is:

  1. Internet Engineering Task Force (IETF) Request for Comments (RFC) number 1866 (1995-11-24)—a full HTML 2.0 proposal called, somewhat loosely, "HTML 2.0" by later W3C documents. Tim Berners-Lee and Dan Connolly.
  2. IETF RFC 1867 (1995-11-25)—"Form-based File Upload", Nebel and Masinter.
  3. IETF RFC 1942 (1996-05)—"HTML Tables", Raggett.
  4. IETF RFC 1980 (1996-08)—"Client-Side Image Maps", Seidman.
  5. IETF RFC 2070 (1997-01)—"Internationalization", Yergeau et al.
An RFC is an early step on the road to a standard. There never was an HTML 2.0 standard, but these all shaped browser development in the late 20th century. http://tools.ietf.org/html/rfc1866. http://tools.ietf.org/html/rfc1867. http://tools.ietf.org/html/rfc1942. http://tools.ietf.org/html/rfc1980. http://tools.ietf.org/html/rfc2070. All retrieved December 5, 2011.

HTML 2 introduced "Block Structuring Elements" (1866/5.5) and "Phrase Markup" (1866/5.7).

2aThe HTML1 Base Address concept is assigned the <BASE> tag.

2bThe <HEAD> and <BODY> tags are introduced here.

2cThe <DFN> tag is mentioned (in 5.7.1) as "not part of this specification."

2dThe first full SGML doctype appears here.

2eThe <HPn> tags are not mentioned in HTML2. Numerous elements are provided which could make them obsolete.

2fThe <INPUT> tags original types were TEXT, PASSWORD, CHECKBOX, RADIO, IMAGE, HIDDEN, SUBMIT, RESET (1866/8.1.2.1 through 8.1.2.8). FILE was added with RFC 1867.

2gThe <LINK> tag is introduced as a general-purpose link to other documents. Style sheets are suggested as one possibility.

2hThe <LISTING> tag prohibits internal markup; requires 132-column width. Deprecated (use <PRE> instead).

2i"HTML documents should not contain <NEXTID> elements."(1866/5.2.6)

2jThe <P> tag now shown both with and without a closing tag.

2kThe <PLAINTEXT> tag is mentioned in a note which suggests that it is replaced by the <LISTING> tag.

2lThe <PRE> tag added with 8-space tabs. Internal phrase markup permitted.

2mThe <STRIKE> and <U> tags are mentioned in a "NOTE", (1866/5.7.2).

2nThe <TABLE> tag, complete with its supporting cast (caption, tr, td, th, col, colgroup tags, and colspan and rowspan attributes) as introduced in RFC 1942 is almost unchanged today.

2oThe <XMP> tag (eXaMPle) is identical to <LISTING> except that the width is 80 characters. Deprecated (use <PRE> instead).


3A decade and a half had elapsed since Berners-Lee's initial HTML implementation and documentation. It was past time, many thought, to have formal, interoperable web standards, which was the goal. "HTML 3.2 aims to capture recommended practice as of early '96." http://www.w3.org/TR/REC-html32, Dave Raggett, retrieved December 5, 2011.

Elements are now "block" and "text level." "Phrase" elements are a subset of text level.

3aThe <A> tag is now split into two separate uses: anchors and hyperlinks.

3bA "Note" in 3.2 suggests that the <S> tag from HTML 3.0 may replace the <STRIKE> tag.

3cThe <SCRIPT> tag was "reserved for future use with scripting languages." It was one of the <HEAD> elements.

3dThe <STYLE> tag was "reserved for future use with style sheets."

3eThe <TITLE> "provides an advisory title which can be displayed in a user agent's window" (making it a good choice for browser tabs, as it is today).


4http://www.w3.org/TR/html401/, Editors Raggett et al, retrieved December 5, 2011.

The <INPUT> element added the "button" type.

Elements have become "block-level" and "inline."

4aThe <APPLET> tag first appears in browsers in 1995, with Sun's Java language. It first appears in the standards here, where it is both introduced and deprecated.

4bCSS stylesheets were introduced as the preferred method of specifying presentation. Presentational tags and attributes were deprecated in favor of CSS equivalents.

4cThe <COL>, <COLGROUP>, <THEAD>, <TBODY> and <TFOOT> were part of RFC 1942 (here included in HTML2), were not part of the HTML 3.2 standard but were included in HTML4.


5http://dev.w3.org/html5/spec/Overview.html (2011-11-04). Editor Ian Hickson, retrieved December 5, 2011.

While HTML is case-insensitive, the previous standards specified all tags in <UPPERCASE>. The HTML 5 standard uses <lowercase>. Use of <lowercase> is compatible with XHTML.

The <input> element added these types:

The <bgsound> and <embed> elements are first mentioned here, as obsolete elements.

5aThe <A> tag is no longer used as an anchor (the name attribute is gone), except that every element with an id attribute may be used as an anchor.

5b Except as follows, tags specifically decalared "obsolete" in HTML 5 are noted here. Two exceptions: tags that previously were removed from the standards (example: <NEXTID>) and tags that never were part of a standard (example: <MARQUEE>).

5c <data> is defined in the WHATWG Living Standard but not in the W3C HTML5 standard. It may be used to provide separate human- and machine-readable values: <data value=machine-readable>human-readable</data>.

5d <menu> and <s> are redefined in HTML 5. <menu> defines a modern menu. <s> is used to indicate text that is obsolete but not to be removed (such as an old, presumably higher, price). Use <del> for text that should be removed.

Feedback: MartinRinehart at gmail dot com

# # #