Authors should not specify a border attribute on an
img element. If the attribute is present, its value
must be the string "0". CSS should be used
instead.

Authors should not specify a language attribute on a
script element. If the attribute is present, its value
must be an ASCII case-insensitive match for the string
"JavaScript" and either the type attribute must be omitted or
its value must be an ASCII case-insensitive match for
the string "text/javascript". The attribute
should be entirely omitted instead (with the value "JavaScript", it has no effect), or replaced with use
of the type attribute.

Authors should not specify the name attribute on a
elements. If the attribute is present, its value must not be the
empty string and must neither be equal to the value of any of the
IDs in the element's home
subtree other than the element's own ID, if any, nor be equal to the value of
any of the other name attributes on
a elements in the element's home
subtree. If this attribute is present and the element has an
ID, then the attribute's value must
be equal to the element's ID. In
earlier versions of the language, this attribute was intended as a
way to specify possible targets for fragment identifiers in URLs. The id
attribute should be used instead.

The summary
attribute, defined in the table section, will also
trigger a warning.

11.1.1 Warnings for obsolete but conforming features

To ease the transition from HTML4 Transitional documents to the
language defined in this specification, and to discourage
certain features that are only allowed in very few circumstances,
conformance checkers are required to warn the user when the
following features are used in a document. These are generally old
obsolete features that have no effect, and are allowed only to
distinguish between likely mistakes (regular conformance errors) and
mere vestigial markup or unusual and discouraged practices (these
warnings).

Conformance checkers must distinguish between pages that have no
conformance errors and have none of these obsolete features, and
pages that have no conformance errors but do have some of these
obsolete features.

For example, a validator could report some pages
as "Valid HTML" and others as "Valid HTML with warnings".

11.2 Non-conforming features

Elements in the following list are entirely obsolete, and must
not be used by authors:

Where the tt element would have been used for
marking up keyboard input, consider the kbd element;
for variables, consider the var element; for computer
code, consider the code element; and for computer
output, consider the samp element.

Similarly, if the u element is being used to
indicate emphasis, consider using the em element; if
it is being used for marking up keywords, consider the
b element; and if it is being used for highlighting
text for reference purposes, consider the mark
element.

Use text that begins in an unambiguous and terse manner, and include any more elaborate text after that. The title attribute can also be useful in including more detailed text, so that the cell's contents can be made terse.

Otherwise, the user agent should instantiate a Java Language
runtime plugin, and should pass the names and values of
all the attributes on the element, in the order they were added to
the element, with the attributes added by the parser being ordered
in source order, and then a parameter named "PARAM" whose value is
null, and then all the names and values of parameters given by
param elements that are children of the
applet element, in tree order, to the
plugin used. If the plugin supports a
scriptable interface, the HTMLAppletElement object
representing the element should expose that interface. The
applet element represents the
plugin.

The applet element is unaffected by the
CSS 'display' property. The Java Language runtime is instantiated
even if the element is hidden with a 'display:none' CSS style.

The align, alt, archive, code, height, hspace, name, object, vspace, and width IDL attributes
must reflect the respective content attributes of the
same name. For the purposes of reflection, the applet
element's object content
attribute is defined as containing a URL.

The codeBase
IDL attribute must reflect the codebase content attribute,
which for the purposes of reflection is defined as containing a
URL.

11.3.2 The marquee element

The marquee element is a presentational element that
animates content. CSS transitions and animations are a more
appropriate mechanism.

A marquee element has a marquee scroll
interval, which is obtained as follows:

If the element has a scrolldelay attribute, and
parsing its value using the rules for parsing non-negative
integers does not return an error, then let delay be the parsed value. Otherwise, let delay be 85.

If the element does not have a truespeed attribute, and the
delay value is less than 60, then let delay be 60 instead.

A marquee element has a marquee scroll
distance, which, if the element has a scrollamount attribute, and
parsing its value using the rules for parsing non-negative
integers does not return an error, is the parsed value
interpreted in CSS pixels, and otherwise is 6 CSS pixels.

A marquee element has a marquee loop
count, which, if the element has a loop attribute, and parsing its
value using the rules for parsing integers does not
return an error or a number less than 1, is the parsed value, and
otherwise is −1.

The loop IDL
attribute, on getting, must return the element's marquee loop
count; and on setting, if the new value is different than the
element's marquee loop count and either greater than
zero or equal to −1, must set the element's loop content attribute (adding it
if necessary) to the valid integer that represents the
new value. (Other values are ignored.)

A marquee element also has a marquee current
loop index, which is zero when the element is created.

The rendering layer will occasionally increment the marquee
current loop index, which must cause the following steps to be
run:

The text IDL
attribute of the body element must reflect
the element's text content
attribute.

The bgColor IDL
attribute of the body element must reflect
the element's bgcolor content
attribute.

The background IDL
attribute of the body element must reflect
the element's background
content attribute. (The background content is not
defined to contain a URL, despite rules regarding its
handling in the rendering section above.)

The link IDL
attribute of the body element must reflect
the element's link content
attribute.

The aLink IDL
attribute of the body element must reflect
the element's alink content
attribute.

The vLink IDL
attribute of the body element must reflect
the element's vlink content
attribute.

The align IDL
attribute of the h1–h6 elements must
reflect the content attribute of the same name.

The profile IDL attribute on
head elements (with the HTMLHeadElement
interface) is intentionally omitted. Unless so required by another applicable
specification, implementations would therefore not support
this attribute. (It is mentioned here as it was defined in a
previous version of the DOM specifications.)

User agents may treat the scheme content attribute on the
meta element as an extension of the element's name content attribute when processing
a meta element with a name attribute whose value is one that
the user agent recognizes as supporting the scheme attribute.

User agents are encouraged to ignore the scheme attribute and instead process
the value given to the metadata name as if it had been specified for
each expected value of the scheme attribute.

For example, if the user agent acts on meta
elements with name attributes
having the value "eGMS.subject.keyword", and knows that the scheme attribute is used with this
metadata name, then it could take the scheme attribute into account,
acting as if it was an extension of the name attribute. Thus the following
two meta elements could be treated as two elements
giving values for two different metadata names, one consisting of a
combination of "eGMS.subject.keyword" and "LGCL", and the other
consisting of a combination of "eGMS.subject.keyword" and
"ORLY":

The attributes of the Document object listed in the
first column of the following table must reflect the
content attribute on the body element with the name
given in the corresponding cell in the second column on the same
row, if the body element is a body element
(as opposed to a frameset element). When there is no
body element or if it is a
frameset element, the attributes must instead return
the empty string on getting and do nothing on setting.

The user agent must act as if the ToBoolean() operator in
JavaScript converts the object returned for all to the false value.

The user agent must act as if, for the purposes of the == and != operators in
JavaScript, the object returned for all is equal to the undefined value.

The user agent must act such that the typeof operator in JavaScript returns the string
undefined when applied to the object returned
for all.

These requirements are a willful
violation of the JavaScript specification current at the time
of writing (ECMAScript edition 3). The JavaScript specification
requires that the ToBoolean() operator convert all objects to the
true value, and does not have provisions for objects acting as if
they were undefined for the purposes of
certain operators. This violation is motivated by a desire for
compatibility with two classes of legacy content: one that uses the
presence of document.all as a
way to detect legacy user agents, and one that only supports those
legacy user agents and uses the document.all object without testing
for its presence first. [ECMA262]