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
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
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.
SGML Declaration of HTML 4:
Removed text about up-to-date references to ISO 10646. Replaced with:
"Revisions of the HTML 4 specification may update the reference to ISO 10646 to
include additional changes."
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 DTD comment).
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 --
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.
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:
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
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".
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.
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"
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),
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
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."
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 the proper document type
declaration indicated in Section
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
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
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".
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.
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 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
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
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 ..."
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
18.104.22.168, 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".
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".
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
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.
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
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
This specification introduces several new attributes and elements that
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
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
The BUTTON element and
INPUT with type set to "button" can be used
in combination with scripts to create
The OPTGROUP element allows authors to group menu options
together in a SELECT, which is particularly important for form