This section describes how the 24 August 1999 version of the HTML 4.01
specification differs from the 24 April 1998 version of the HTML 4.0
specification.
A.1.1 Changes to the specification
General changes
- New style sheets for the document based on W3C technical report
styles.
- Added a short table of contents.
- Updated the copyright.
- Fixed document scripts to remove markup causing crashes on some
browsers.
- Thanks to Shane McCarron added to
the acknowledgments.
- References to the document character set are all ISO 10646 (and one time to
UNICODE to signal equivalence). References to UNICODE refer only to the
bidirectionality algorithm.
- Section 3.2.2: Attribute values
may contain colons and underscores as well.
- The Document Character Set: [ISO10646]
now used only for references to the document character set. [UNICODE] is
reserved for bidi-related references.
- Media descriptors: All characters in
examples now described using hex notation (and reference to ISO 10646 rather
than Unicode).
- 7.4.4 Meta data: Removed note
about ongoing work at W3C on meta data and replaced with a note about RDF.
- 7.4.4.2 Meta data: At the end
of the section on HTTP headers, removed the auto-refresh example (since not
part of the Recommendation) and added a note to use server-side redirects.
- The dir attribute: Clarification
that dir applies to element content, attribute values, and table
direction.
- 11.2.6 Table Cells: The
definitions of rowspan and colspan changed. Now spans are bounded by groups
(rowgroups or colgroups).
- 11.3.2 Table Cells: When
"char=align" not supported by the user agent, behavior is undefined.
- 12.2.3 Anchors with the id
attribute: It is legal for "name" and "id" to appear in the same start tag
when they are both defined for an element. They must have identical
values.
- 12.3.3 Links and search
engines: Removed reference to dir attribute in example since it
doesn't apply to linked resources (only element content and attribute text
values).
- 12.4.1 Resolving relative URIs:
Since RFC 2616 does not include a Link header field, the following statement is
qualified for earlier versions of HTTP 1.1: "Link elements specified by HTTP
headers are handled exactly as LINK elements that appear explicitly in a
document."
- 13.2 The IMG element: Addition
of the name attribute for backwards compatibility.
- 13.2 The IMG element: Added a
note that user agents must provide different mechanisms for accessing the
"longdesc" URI (of IMG) and the "src" URI (of A) when an IMG is part of the
content of an A element.
- 13.3 The OBJECT element: Added
a note that when the value of "type" for OBJECT and the Content-Type HTTP
header differ, the latter takes precedence.
- 13.3 The OBJECT element: Added
a statement to use PARAM instead of the "data" and "classid" attributes for
OBJECT together.
- 13.4 The APPLET element: Added
a note that, for security reasons only subdirectories are searched for the
"codebase" attribute of APPLET.
- 13.6.1 Client-side image
maps: The definition of the "poly" attribute has been cleared up. There is
a note that if not closed by authors, user agents should close the polygon for
the "coords" attribute of AREA.
- 13.6.1 Client-side image
maps: The content model of the MAP element now allows authors to
mix AREA content and block-level content.
- 13.7.2 and 13.7.3 : The vspace and hspace attribute
definitions now look like the definitions of other attributes.
- 13.7.2 and 13.7.3 : The type of vspace, hspace, and
border attribute values was changed from "length" to "pixels".
- 13.8 Alternate text: The last
sentence of section now links to notes for user agent developers for handling
empty "alt" attribute text.
- 16.4.1 NOFRAMES: Added text
to the NOFRAMES description about rendering when (1) frames turned off (2)
frames not supported.
- 16.4.1 NOFRAMES: Added text
about which DTDs may have NOFRAMES (all of them).
- SGML Declaration of HTML 4.01:
Removed text about up-to-date references to ISO 10646. Replaced with:
"Revisions of the HTML 4.01 specification may update the reference to ISO 10646
to include additional changes."
- vspace/hspace/border attributes for IMG, OBJECT, APPLET in pixels.
- Changed content model of MAP to ((%block;) | AREA)+
- Added "ismap" attribute to INPUT
- Notes Updated notes on
accessibility to point to Web Content Accessibility Guidelines.
- Updated links to RFCs to use http://www.ietf.org/rfc
- Put links in titles.
- Added revised date of 27 Aug 1998 for [DATETIME]
- Added revised date of 11 Jan 1999 for [CSS1].
- Publication date of [CSS2] fixed.
- [UNICODE] has been updated to version 2.1
- [ISO10646] has been updated to allow for new character assignments. Note
that amendment five is specifically taken into account.
- [RFC1766] expected to be updated.
- [RFC2279] obsoletes [RFC2044].
- [RFC616] obsoletes [RFC2068].
- [RFC2388] added in addition to [RFC1867].
- [LEXHTML] address updated, date added.
- [DCORE] address updated.
- Updated [WEBSGML]
- [HTML3STYLE] address updated.
- Added [RDF10] (replaced old RDF)
- Changed [WAIGUIDE] -> [WAI]
- Added informative references [WCGL], [UAGL], and [ATGL]
- Updated URI reference to [URI] (RFC 2396).
A.1.2 Errors that were corrected
- Section 13.6.1
- Image map examples using "poly" have been fixed to form a closed polygon.
Also, the last pair of coordinates is the same as the first to close the
polygon.
- Section 14.4.1
- In the final example, the STYLE element is missing the
attribute assignment "media=screen, print".
- Section 15.2.1
- In the example with "mypar", the CSS rule should read
P#mypar {font-style: italic; color: blue}
In CSS, "#" refers to an ID name while the "." refers to a class name. This
example is dealing with the "id" attribute.
- Section 16.2.2
- Values for marginwidth and marginheight must be 0 pixels or more, not 1 pixel or
more.
- Section 16.2.2
- The FRAME element does not take the
target attribute.
- Section 16.5
- The IFRAME element does not take the
target attribute.
- Section 17.2.1
- In the description of "checkboxes", change "selected" to "checked" in "when
the control element's selected attribute is set."
- Section 17.6.1
- In the "Attributes defined elsewhere" section for the
OPTGROUP element, the attributes
onfocus, onblur, and
onchange should not be there.
- Section 18.2.3
- To the list of elements that take
onfocus and onblur, add A
and AREA.
- Section 20
- The SGML Declaration for HTML 4.01 must be modified slightly to support
hexadecimal numeric character references. The lines:
DELIM
GENERAL SGMLREF
SHORTREF SGMLREF
must be changed to:
DELIM
GENERAL SGMLREF
HCRO "&#x" -- 38 is the number for ampersand --
SHORTREF SGMLREF
And the initial <!SGML "ISO 8879:1986" must be changed to
<!SGML "ISO 8879:1986 (WWW)".
- Section 21
- The HR element should also take the
lang and
dir attributes. These are noted as being defined
elsewhere at the element's definition, but were left out of the DTDs.
- Section 21
- The OBJECT element's archive
attribute is defined in the DTD as taking a value of type %URI". This is
incorrect: the value may be a space-separated list of URIs (as indicated in the
definition of the attribute and in the DTDs comment).
- Section 21
- The FORM element's DTD fragment should include a definition for
the accept attribute, which is listed in the element's
definition. The definition should be the following:
accept %ContentTypes; #IMPLIED -- list of MIME types for file upload --
Also, the archive attribute for the
OBJECT element is defined in the DTD as taking a value of type
%URI". This is incorrect: the value may be a space-separated list of URIs (as
indicated in the definition of the attribute and in the DTD comment).
- Section B.4.1
- At the end of the section, the following sentences are incorrect: "The list
of terms in the content is ALL, INDEX, NOFOLLOW, NOINDEX. The name and the
content attribute values are case-insensitive." In fact, the
META definition specifies that values for the
name and
content attributes are case-sensitive.
- Section B.4.1.1
- The specification reads, "Blank lines are not permitted." Blank lines are
permitted in the robots.txt file, just not within a single "record". Note that
the specification doesn't define record.
Further down the page, the specification reads, "There must be exactly one
"User-agent" field per record." In fact, there can be more than one User-Agent
field in the robots.txt file, just not more than one per record.
For information about search robots, please consult, for example:
- References
-
- The [URI] reference should be
updated to RFC 2396 as of August 1998. "Uniform Resource Identifiers (URI):
Generic Syntax", T. Berners-Lee, R. Fielding, L. Masinter, August 1998. RFC
2396 updates [RFC1738] and [RFC1808].
A.1.3 Minor typographical errors that were
corrected
- Section 2.1.1
- The phrase "accessible via the path "/TR/REC-html4/". should end with
"/TR/REC-html40/".
- Section 2.1.3
- In the third bullet, the word "applets" should be "applet".
- Section 3.3
- In bullet two, the sentence "Whether the element's end tag is optional."
should read "Whether the element's tags are optional."
- Section 3.2.1
- In the sentence beginning "Please consult the SGML standard", the phrase
"an end tag closes all omitted start tags up to the matching start tag (section
7.5.1)" should read "an end tag closes, back to the matching start tag, all
unclosed intervening start tags with omitted end tags".
- Section 3.2.2
- "Attribute names are always case-insensitive" is missing a final
period.
- Section 3.3.4.2
- The example with the OPTION element has an improper end tag;
it should be </OPTION>.
Later in the section, the sentence that begins "Authors should be aware
than" should say "aware that" instead.
- Section 5.2.2
- Change "ASCII characters" to ASCII-valued bytes".
- Section 5.3.1
- The second bullet should read "a" instead of "an" in "where H is an
hexadecimal number".
- Section 6.5.1
- The first sentence needs the indefinite article "a" before the word
"document".
- Section 6.10
- The first sentence needs the indefinite article "a" before the word
"single".
- Section 6.12
- Under "Next", "in an linear" should read "in a linear" instead.
- Section 6.16
- Change "cancelling" to "canceling".
- Section 7.4.4.3
- In the paragraph beginning "The scheme attribute allows...", replace
"Month-Date-Year" with "Month-Day-Year".
- Section 7.5.4
- In the sentence after the example, make "declaration" plural.
- Section 7.5.6
- For the ADDRESS element, in the section "Attributes defined
elsewhere", style and title are missing.
Also, after the section on "Attributes defined elsewhere", in "contact
information for document", put "a" before "document".
- Section 8.2.3
- In "Authors may also use special Unicode characters to achieve multiply"
change to "multiple" at the end.
- Section 11.2.4.1
- The sentence "The first COL element refers to the first 39
columns (doing nothing special to them) and the second one assigns an id value
to the fortieth columns so that style sheets may refer to it." should have
"fortieth column" instead.
- Section 11.2.5
- For the TR element, in the section "Attributes defined elsewhere",
bgcolor is missing.
- Section 11.3.1
- In the first sentence of the frame attribute definition, use
"surrounding" instead of "that surrounds".
- Section 11.4.1
- First bullet, second sentence. "Note that its not always possible" should
have "it's" instead.
- Section 12.1.2
- The last sentence should read "Further information is given below on using
links for..." (change "of" to "on"). This sentence is also missing its closing
punctuation.
- Section 12.2.2
- The last paragraph should read "Since the DTD defines the
LINK element to be empty..." (insert definite article "the" before
"LINK").
- Section 12.2.3
- Just before section 12.2.4, the third bullet. "richer anchors names" should
read "richer anchor names".
- Section 13.3.4
- In the paragraph that begins "In the following example...", the phrase
"cause it so be instantiated" should be changed to cause it to be instantiated"
(change "so" to "to").
- Section 13.4
- Just after the deprecated example, the sentence "This example may be
rewritten as follows with OBJECT as follows:" should say "This
example may be rewritten with OBJECT as follows:".
- Section 13.6.1
- Under the "coords" attribute, the word "and" should be substituted for the
word "a" so the sentence reads, "This attribute specifies the position and
shape on the screen."
- Section 13.7.1
- In the definition of the height attribute, the
phrase "Image and object override" should read "Image and object height
override".
- Section 15.1.3.1
- Under the subheading "Float an object", in the first paragraph, the first
use of the word "object" should be "objects".
- Section 15.1.3.2
- In the "Deprecated" example, the first sentence should read "If the
clear attribute is set to left or all, the next line will appear as
follows:" ("the" before "next line").
- Section 15.3
- The align attribute for
HR is not defined elsewhere.
- Section 16.1
- In the last sentence of the first paragraph, the word "though" should be
"through".
- Section 16.3.1
- In the second sentence, the word "factorizing" should be "factoring".
- Section 16.4.1
- The list of "attributes defined elsewhere" was inadvertently omitted after
the definition of NOFRAMES. These attributes are: name, id,
lang, dir, title,
style, and the %events;
attributes.
- Section 17.1
- In "(entering text, selecting menu items, etc.)", add the "," after
"text".
- Section 17.5
- In the paragraph that begins "Visual user agents may render...", the
indefinite article "a" should be removed from before the word "flat".
- Section 17.12.1
- A comma should be added between
BUTTON and INPUT in the list of elements that
support the "disabled" attribute.
- Section 18.2.2.1
- After the first example, the indefinite article before "content-type" needs
to be "a", not "an". The same applies to "content-type" in the next paragraph.
In the sentence beginning "Documents that do not specify...", the indefinite
article "a" needs to be removed from before "default scripting language
information".
- Section 18.2.3
- In the first sentence of the first note, the word "realm" should be
preceded by the definte article "the".
- Section 18.3.1
- In the second sentence of the first paragraph, the word "be" needs to be
inserted between the words "only" and "rendered".
- Section 21
- In all DTDs, under the COLGROUP element, the content model
should indicate "COL", not "col".
- Section 24.2.1
- At end of definition of "thorn", remove stray final word.
- Section 24.4
- Change "cp-1252" to "CP-1252".
- Appendix: Changes for tables
- In the paragraph on the COLGROUP element, the last
sentence should read: "The semantics of
COLGROUP have been clarified over previous drafts, and
rules="basic" has been replaced by rules="groups"."
- Changes to elements
- The list of deprecated elements should include
S.
- Section B.3.2
- In "delimiter followed by a name character", change to delimiter followed
by a name start character".
- Section B.4
- Under "Provide keywords and descriptions", the middle of the sentence "The
value of the name attribute sought by a search
attribute is not defined by this specification." should read "search engine"
instead.
- Section B.4
- In the example to indicate the beginning of a collection replace
rel="begin" with rel="start".
- Section B.4.1
- Remove "The name and the content attribute values are
case-insensitive."
- Section B.5.1.2
- The last sentence of the last paragraph is missing a closing
parenthesis.
- Section B.7.1.1
- In the deprecated example:
<BODY bgcolor='&{randomrgb};'>
The word "randomrbg" should be "randomrgb".
A.1.4 Clarifications
- Section 3.2.1
- In seventh paragraph, added "back to the matching start tag" to "(e.g.,
they must be properly nested, an end tag closes, back to the matching start
tag, all unclosed intervening start tags with omitted end tags (section 7.5.1),
etc.)."
- Section 3.3.3
- In the second list item, change "Whether the element's end tag" to "Whether
the element's tags".
- Section 3.3.3.1
- In a content model definition, "A" means that "A" must occur one time and
only one time. Also, added "+(A)" and "-(A)" to the section on content model
syntax.
- Section 10.3
- All uses of "cracker" in this section and its subsections are replaced with
"hacker". Also, definitions of "hacker" and "nerd" taken from "The Hacker's
Dictionary".
- Section 13.7.2
- The hspace and
vspace attributes are deprecated.
- Section 13.7.4
- The align attribute is deprecated for
IMG,
OBJECT, and
APPLET.
A.1.5 Known Browser problems
- Some versions of Netscape Navigator 4.0X crash upon reading Chapter 3 of
previous versions of this specification. Netscape is aware of this bug and have
fixed it in version 4.5. To work around this bug, go to the
Edit/Preferences/Advanced submenu and disable Style Sheets (and possibly
JavaScript).
This section describes how the 24 April 1998 version of the HTML 4.0
specification differs from the 18 December 1997 version.
A.2.1 Errors that were corrected
- Section 2.1.1
- "http://www.w3.org/TR/PR-html4/cover.html" was said to designate the
current HTML specification. The current HTML specification is actually at
http://www.w3.org/TR/REC-html40.
- Section 7.5.2
- The hypertext link on name was incorrect. It now
links to types.html#type-name.
- Section 7.5.4
- href was listed as an attribute of the
DIV and
SPAN elements. It is not.
- Section 7.5.6
- A
P element was used in the example. It is invalid in
ADDRESS.
- Section 8.1
- In the first example, which reads "Her super-powers were the result...",
there was an extra double quote mark before the word "Her".
- Section 9.3.4
- The attribute width was not noted as
deprecated.
- Section 11.2.4, "Calculating the
width of columns"
- The sentence "We have set the value of the align attribute in the third
column group to 'center'" read "second" instead of "third".
- Section 11.2.6, "Cells that span
several rows or columns"
- The second paragraph read "In this table definition, we specify that the
cell in row four, column two should span a total of three columns, including
the current row." It now ends "...including the current column."
- Section 13.2
- The sentence beginning "User agents must render alternate text when they
cannot support ..." read "next", instead of "text".
- Section 13.6.2
- The last sentence of the second paragraph applied to both the
IMG and
INPUT elements. However, the
ismap attribute is not defined for
INPUT. The sentence now only applies to
IMG.
- Section 14.2.3
- The title attribute for the
STYLE element was not listed as an attribute defined elsewhere.
- Section 14.3.2
- The second example set title="Compact". It now sets
title="compact".
- Section 15.1.2
- The sentence ending "the align attribute." read "the
align element."
- Section 15.1.3.2
- The CSS style rule "BR.mybr { clear: left }" was incorrect, since it refers
to the class "mybr" and not the id value. The correct syntax is: "BR#mybr {
clear: left }".
- Section 16
- All the examples containing a Document Type Declaration used something like
"THE_LATEST_VERSION_/frameset.dtd" or "THE_LATEST_VERSION_" as the system
identifier for the Frameset DTD. They now use
"http://www.w3.org/TR/REC-html40/frameset.dtd" instead.
- Section 16.3 and Section 16.3.1
- The second example of 16.3 and the example of 16.3.1 used the wrong DTD;
they now use the Transitional DTD.
- Section 17.5
- In "attributes defined elsewhere" for the
BUTTON element, id,
class,
lang, dir,
title,
style, and
tabindex were missing. Also,
usemap has been removed.
- Section 17.6/17.6.1
- The "attributes defined elsewhere" for
OPTION and OPTGROUP mistakenly listed
onfocus, onblur, and
onchange. The "attributes defined elsewhere" section was missing for
the SELECT element (please see the DTD for the full list of
attributes).
- Section 17.9.1
- The tabindex attribute was said to be defined for the
LABEL element. It is not.
- Section 17.12.2
- The sentence "The following elements support the
readonly attribute: INPUT and
TEXTAREA." read "The following elements support the
readonly attribute: INPUT,
TEXT, PASSWORD, and
TEXTAREA."
- Section 18.2.2, "Local
declaration of a scripting language"
- The first paragraph read: "It is also possible to specify the scripting
language in each
SCRIPT element via the
type attribute. In the absence of a default scripting language
specification, this attribute must be set on each
SCRIPT element." Since the type attribute
is required for the SCRIPT element, this paragraph now
reads: "The type attribute must be specified for
each SCRIPT element instance in a document. The value of the
type attribute for a
SCRIPT element overrides the default scripting language for that
element."
- Section 24.2.1 and file HTMLlat1.ent
- The comment for the character reference "not" read "= discretionary
hyphen". This has been removed.
The FPI in comment read "-//W3C//ENTITIES Full Latin 1//EN//HTML", instead this
is now "-//W3C//ENTITIES Latin1//EN//HTML".
- Section 24.3.1 and file HTMLsymbol.ent
- The FPI in comment read "-//W3C//ENTITIES Symbolic//EN//HTML", instead this
is now "-//W3C//ENTITIES Symbols//EN//HTML".
- Section A.1.1, "New elements" (previously A.1.1)
and Section A.1.1, "Deprecated elements" (previously
A.1.2)
- The S element which is
deprecated was listed as part of the changes between HTML
3.2 and HTML 4.0. This element was not actually defined in HTML 3.2. It is now in the new elements
list.
- Section A.1.3 (previously A.3)
- The longdesc attribute was said to be specified for
tables. It is not. Instead, the summary attribute allows authors
to give longer descriptions of tables.
- Section B.4
- The sentence "You may help search engines by using the
LINK element with rel="start" along with the
title attribute, ..." read "You may help search engines by using the
LINK element with rel="begin" along with a
TITLE, ..." The same stands for the companion example.
- Section B.5.1
- The sentence "This can be altered by setting the width attribute of the
TABLE element." read "This can be altered by setting the width-TABLE
attribute of the
TABLE element."
- Section B.5.2
- The sentence "Rules for handling objects too large for a column apply when
the explicit or implied alignment results in a situation where the data exceeds
the assigned width of the column." read "too large for column". The meaning of
the sentence was unclear since it referred to "rules" governing an error
condition; user agent behavior in error conditions lies outside the scope of
the specification.
- Index of attributes
- The href attribute for the
BASE element was marked as
deprecated. It is not. However, it is not defined in the
Strict DTD either.
The language attribute for the
SCRIPT element was not marked as deprecated. It is now, and it
is no longer defined in the Strict DTD.
A.2.2 Minor typographical errors that were
corrected
- Section 2.1.3
- "Relative URIs are resolved ..." was "Relative URIsare resolved ...".
- Section 2.2.1
- The second word "of" was missing in "Despite never receiving consensus in
standards discussions, these drafts led to the adoption of a range of new
features."
- Section 3.3.3
- The sentence "Element types that are designed to have no content are called
empty elements." contained one too many "elements". The word "a" was missing in
the sentence "A few HTML element types use an additional SGML feature to
exclude elements from a content model".
Also, in list item two, a period was missing between "optional" and
"Two".
- Section 3.3.4
- In the section on "Boolean attributes", the sentence that begins "In HTML,
boolean attributes may appear in minimized ..." included a bogus word
"be".
- Section 6.3
- The sentence beginning "For introductory information about attributes, ..."
read "For introductory about attributes, ...".
- Section 6.6
- In the first sentence of the section on Pixels, "is an integer" read "is
integer".
- Section 7.4.1
- The first word "The" was missing at the beginning of the section
title.
- Section 7.4.4
- The last word "a" was missing in the sentence "The meaning of a property
and the set of legal values for that property should be defined in a reference
lexicon called profile."
- Section 7.5.2
- "Variable déclarée deux fois" read "Variable
déclaré deux fois".
- Section 9.2.2
- The language of the quotations was "en" instead of "en-us", while in
British English, the single quotation marks would delimit the outer
quotation.
- Section 9.3.2
- In the first line, the sixth character of "
" was the letter 'O'
instead of a zero.
- Section 10.3.1
- "(they are case-sensitive)" read "(the are case-sensitive)".
- Section 12.1.1
- In the sentence beginning "Note that the href attribute in each source ..."
the space was missing between "href" and "attribute".
- Section 12.1.2
- The sentence "Links that express other types of relationships have one or
more link types specified in their source anchors." read "Links that express
other types of relationships have one or more link type specified in their
source anchor."
- Section 12.1.5
- The second paragraph reads "the hreflang attribute provides user agents
about the language of a ..." It should read "the hreflang attribute provides
user agents with information about the language of a ..."
- Section 13.3.2
- In the sentence beginning "Any number of
PARAM elements may appear in the content of an
OBJECT or APPLET element, ..." a space was
missing between "APPLET" and "element".
- Section 14.2.2
- There was a bogus word "style" at the beginning of the sentence "The
style attribute specifies ..."
- Section 17.2
- In "Those controls for which name/value pairs are submitted are called
successful controls" the word "for" was missing.
- Section 17.10
- There was a bogus word "/samp" just before section 17.11.
- Section 17.11
- The first sentence read, "In an HTML document, an element must receive
focus from the user in order to become active and perform their tasks" (instead
of "its" tasks).
- Section 18.2.2
- Just before section 18.2.3, the sentence that includes "a name attribute
takes precedence over an id if both are set." read "over a id if both are
set.".
- Section 19.1
- The section title read "document Document Validation". It now is "Document
Validation".
- Section 21
- The FPI for the Transitional HTML 4.0 DTD was missing a closing double
quote.
- Section B.5.1/B.5.2
- This sections referred to a non-existent cols attribute. This
attribute is not part of HTML 4.0. Calculating the number of columns in a table
is described in section Section
11.2.4.3, in the chapter on tables. In sections B.5.1 and B.5.2,
occurrences of cols have been replaced by "the number of columns
specified by the COL and COLGROUP elements".
- Section B.5.2
- In the sentence "The values for the frame attribute have been chosen to
avoid clashes with the rules, align and valign attributes." a space was missing
between "the" and "frame" and the last attribute was "valign-COLGROUP".
- Section B.10.1
- The last sentence read "Once a file is uploaded, the processing agent
should process and store the it appropriately." "the it" was changed to
"it".
- Index of Elements
- "strike-through" in the description of the
S element read "sstrike-through".
This section describes how the 18 December 1997 specification of HTML 4.0
differs from HTML 3.2 ([HTML32]).
New elements
The new elements in HTML 4.0 are: ABBR,
ACRONYM,
BDO,
BUTTON,
COL,
COLGROUP,
DEL,
FIELDSET, FRAME,
FRAMESET, IFRAME,
INS,
LABEL,
LEGEND, NOFRAMES,
NOSCRIPT, OBJECT,
OPTGROUP, PARAM,
S (deprecated), SPAN,
TBODY,
TFOOT,
THEAD, and Q.
The following elements are
deprecated:
APPLET,
BASEFONT, CENTER,
DIR,
FONT,
ISINDEX,
MENU, S,
STRIKE, and U.
The following elements are obsolete: LISTING,
PLAINTEXT, and XMP. For
all of them, authors should use the PRE element instead.
- Almost all attributes that specify the presentation of an HTML document
(e.g., colors, alignment, fonts, graphics, etc.) have been deprecated in favor of style sheets. The list of attributes in the appendix
indicates which attributes have been
deprecated.
- The id and class attribute allow authors to assign
name and class information to
elements for style sheets, as anchors, for scripting, for object declarations,
general purpose document processing, etc.
A.3.3 Changes for accessibility
HTML 4.0 features many changes to promote accessibility, including:
- The title attribute may now be set on virtually every
element.
- Authors may provide long descriptions of tables (see the
summary attribute), images and frames (see the longdesc attribute).
A.3.4 Changes for meta data
Authors may now specify
profiles that provide explanations about meta data specified with the
META or
LINK elements.
A.3.5 Changes for text
- New features for internationalization allow authors to
specify text direction and language.
- The INS and DEL elements allow authors to mark up
changes in their documents.
- The ABBR and ACRONYM elements allow authors to mark
up abbreviations and acronyms in their documents.
A.3.6 Changes for links
- The id attribute makes any element the destination anchor of a
link.
The HTML 4.0 table model has grown out of early work on HTML+ and the
initial draft of
HTML3.0. The earlier model has been extended in response to requests from
information providers as follows:
- Authors may specify tables that may be incrementally displayed as the user
agent receives data.
- Authors may specify tables that are more accessible to users with
non-visual user agents.
- Authors may specify tables with fixed headers and footers. User agents may
take advantage of these when scrolling large tables or rendering tables to
paged media.
The HTML 4.0 table model also satisfies requests for optional column-based
defaults for alignment properties, more flexibility in specifying table frames
and rules, and the ability to align on designated characters. It is expected,
however, that style sheets will take over
the task of rendering tables in the near future.
In addition, a major goal has been to provide backwards compatibility with
the widely deployed Netscape implementation of tables. Another goal has been to
simplify importing tables conforming to the SGML CALS model. The latest draft
makes the align attribute compatible with the latest
versions of the most popular browsers. Some clarifications have been made to
the role of the dir attribute and recommended behavior when
absolute and relative column widths are mixed.
A new element,
COLGROUP, has been introduced to allow sets of
columns to be grouped with different width and alignment properties specified
by one or more COL elements. The semantics of
COLGROUP have been clarified over previous drafts, and
rules="basic" has been replaced by rules="groups".
The style attribute is included as a means for extending
the properties associated with edges and interiors of groups of cells. For
instance, the line style: dotted, double, thin/thick etc; the color/pattern
fill for the interior; cell margins and font information. This will be the
subject for a companion specification on style sheets.
The frame and rules attributes have been
modified to avoid SGML name clashes with each other, and to avoid clashes with
the align and
valign attributes. These changes were additionally motivated by the
desire to avoid future problems if this specification is extended to allow frame and rules attributes with other
table elements.
A.3.8 Changes for images, objects, and image
maps
- The OBJECT element allows generic inclusion of
objects.
- The IFRAME and
OBJECT elements allow authors to create embedded documents.
- The alt attribute is required on the
IMG and
AREA elements.
- The mechanism for creating
image maps now allows authors to create more accessible image maps. The
content model of the
MAP element has changed for this reason.
This specification introduces several new attributes and elements that
affect forms:
- The accesskey attribute allows authors to specify direct
keyboard access to form controls.
- The disabled attribute allows authors to make a form
control initially insensitive.
- The readonly attribute, allows authors to prohibit changes
to a form control.
- The LABEL element associates a label with a particular form
control.
- The FIELDSET element groups related fields together and,
in association with the LEGEND element, can be used to name the
group. Both of these new elements allow better rendering and better
interactivity. Speech-based browsers can better describe the form and graphic
browsers can make labels sensitive.
- A new set of attributes, in combination with scripts, allow form providers to verify
user-entered data.
- The BUTTON element and
INPUT with type set to "button" can be used
in combination with scripts to create
richer forms.
- The OPTGROUP element allows authors to group menu options
together in a SELECT, which is particularly important for form
accessibility.
- Additional changes for internationalization.
A.3.10 Changes for style sheets
HTML 4.0 supports a larger set of media descriptors so that authors
may write device-sensitive style sheets.
A.3.11 Changes for frames
HTML 4.0 supports frame documents and inline frames.
A.3.12 Changes for scripting
Many elements now feature event
attributes that may be coupled with scripts; the script is executed when
the event occurs (e.g., when a document is loaded, when the mouse is clicked,
etc.).
HTML 4.0 integrates the recommendations of [RFC2070] for the
internationalization of HTML.
However, this specification and [RFC2070] differ as
follows: