Features listed in this section will trigger warnings in conformance checkers.
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 tree 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 tree. 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 fragments in URLs. The id
attribute should be used instead.
Authors should not, but may despite requirements to the contrary elsewhere in this
specification, specify the maxlength
and size
attributes on input
elements whose type
attributes are in the Number state. One valid reason for using these attributes
regardless is to help legacy user agents that do not support input
elements with
type="number"
to still render the text control with a useful width.
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 must 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).
The following features must be categorized as described above:
The presence of a border
attribute on an
img
element if its value is the string "0
".
The presence of a language
attribute on a
script
element if its value is an ASCII case-insensitive match for the
string "JavaScript
" and if there is no type
attribute or there is and its value is an ASCII
case-insensitive match for the string "text/javascript
".
The presence of a name
attribute on an a
element, if its value is not the empty string.
The presence of a maxlength
attribute on an
input
element whose type
attribute is in the
Number state.
The presence of a size
attribute on an
input
element whose type
attribute is in the
Number state.
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".
Elements in the following list are entirely obsolete, and must not be used by authors:
applet
acronym
Use abbr
instead.
bgsound
Use audio
instead.
dir
Use ul
instead.
frame
frameset
noframes
Either use iframe
and CSS instead, or use server-side includes to generate complete pages with the various invariant parts merged in.
isindex
Use an explicit form
and text control combination instead.
listing
keygen
For enterprise device management use cases, use native on-device management capabilities.
For certificate enrollment use cases, use the Web Cryptography API to generate a keypair for the certificate, and then export the certificate and key to allow the user to install them manually. [WEBCRYPTO]
nextid
Use GUIDs instead.
noembed
plaintext
Use the "text/plain
" MIME type instead.
rb
rtc
Providing the ruby base directly inside the ruby
element or using nested
ruby
elements is sufficient.
strike
Use del
instead if the element is marking an edit, otherwise use s
instead.
xmp
Use pre
and code
instead, and escape "<
" and "&
" characters as "<
" and "&
" respectively.
basefont
big
blink
center
font
marquee
multicol
nobr
spacer
tt
Use appropriate elements or CSS instead.
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 big
element is being used to denote a heading, consider using
the h1
element; if it is being used for marking up important passages, consider the
strong
element; and if it is being used for highlighting text for reference
purposes, consider the mark
element.
See also the text-level semantics usage summary for more suggestions with examples.
The following attributes are obsolete (though the elements are still part of the language), and must not be used by authors:
charset
on a
elementscharset
on link
elementsUse an HTTP `Content-Type
` header on the linked resource instead.
coords
on a
elementsshape
on a
elementsmethods
on a
elementsmethods
on link
elementsUse the HTTP OPTIONS feature instead.
name
on a
elements (except as noted in the previous section)name
on embed
elementsname
on img
elementsname
on option
elementsUse the id
attribute instead.
rev
on a
elementsrev
on link
elementsUse the rel
attribute instead, with an opposite term. (For example, instead of
rev="made"
, use rel="author"
.)
urn
on a
elementsurn
on link
elementsSpecify the preferred persistent identifier using the href
attribute instead.
accept
on form
elementsUse the accept
attribute directly on the input
elements instead.
hreflang
on area
elementstype
on area
elementsThese attributes do not do anything useful, and for historical reasons there are no
corresponding IDL attributes on area
elements. Omit them altogether.
nohref
on area
elementsOmitting the href
attribute is sufficient; the nohref
attribute is
unnecessary. Omit it altogether.
profile
on head
elementsUnnecessary. Omit it altogether.
version
on html
elementsUnnecessary. Omit it altogether.
ismap
on input
elementsUnnecessary. Omit it altogether. All input
elements with a type
attribute in the Image
Button state are processed as server-side image maps.
usemap
on input
elementslongdesc
on iframe
elementslongdesc
on img
elementsUse a regular a
element to link to the
description, or (in the case of images) use an image
map to provide a link from the image to the image's
description.
lowsrc
on img
elementsUse a progressive JPEG image (given in the src
attribute),
instead of using two separate images.
target
on link
elementsUnnecessary. Omit it altogether.
scheme
on meta
elementsUse only one scheme per field, or make the scheme declaration part of the value.
archive
on object
elementsclassid
on object
elementscode
on object
elementscodebase
on object
elementscodetype
on object
elementsUse the data
and type
attributes to invoke plugins. To set parameters with these names
in particular, the param
element can be used.
declare
on object
elementsRepeat the object
element completely each time the resource is to be reused.
standby
on object
elementsOptimize the linked resource so that it loads quickly or, at least, incrementally.
type
on param
elementsvaluetype
on param
elementsUse the name
and value
attributes without declaring
value types.
language
on script
elements (except as noted in the previous section)Use the type
attribute
instead.
event
on script
elementsfor
on script
elementsUse DOM events mechanisms to register event listeners. [DOM]
datapagesize
on table
elementsUnnecessary. Omit it altogether.
summary
on table
elementsUse one of the techniques for describing
tables given in the table
section instead.
abbr
on td
elementsUse 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. If it's a heading, use th
(which has an abbr
attribute).
axis
on td
and th
elementsscope
on td
elementsUse th
elements for heading cells.
datasrc
on a
, applet
, button
, div
, frame
, iframe
, img
, input
, label
, legend
, marquee
, object
, option
, select
, span
, table
, and textarea
elementsdatafld
on a
, applet
, button
, div
, fieldset
, frame
, iframe
, img
, input
, label
, legend
, marquee
, object
, param
, select
, span
, and textarea
elementsdataformatas
on button
, div
, input
, label
, legend
, marquee
, object
, option
, select
, span
, and table
elementsUse script and a mechanism such as XMLHttpRequest
to populate the page dynamically. [XHR]
dropzone
on all elementsUse script to handle the dragenter
and dragover
events instead.
alink
on body
elementsbgcolor
on body
elementsbottommargin
on body
elementsleftmargin
on body
elementslink
on body
elementsmarginheight
on body
elementsmarginwidth
on body
elementsrightmargin
on body
elementstext
on body
elementsmargintop
on body
elementsvlink
on body
elementsclear
on br
elementsalign
on caption
elementsalign
on col
elementschar
on col
elementscharoff
on col
elementsvalign
on col
elementswidth
on col
elementsalign
on div
elementscompact
on dl
elementsalign
on embed
elementshspace
on embed
elementsvspace
on embed
elementsalign
on hr
elementscolor
on hr
elementsnoshade
on hr
elementssize
on hr
elementswidth
on hr
elementsalign
on h1
—h6
elementsalign
on iframe
elementsallowtransparency
on iframe
elementsframeborder
on iframe
elementsframespacing
on iframe
elementshspace
on iframe
elementsmarginheight
on iframe
elementsmarginwidth
on iframe
elementsscrolling
on iframe
elementsvspace
on iframe
elementsalign
on input
elementsborder
on input
elementshspace
on input
elementsvspace
on input
elementsalign
on img
elementsborder
on img
elements (except as noted in the previous section)hspace
on img
elementsvspace
on img
elementsalign
on legend
elementstype
on li
elementscompact
on menu
elementsalign
on object
elementsborder
on object
elementshspace
on object
elementsvspace
on object
elementscompact
on ol
elementsalign
on p
elementswidth
on pre
elementsalign
on table
elementsbgcolor
on table
elementsborder
on table
elementsbordercolor
on table
elementscellpadding
on table
elementscellspacing
on table
elementsframe
on table
elementsheight
on table
elementsrules
on table
elementswidth
on table
elementsalign
on tbody
, thead
, and tfoot
elementschar
on tbody
, thead
, and tfoot
elementscharoff
on tbody
, thead
, and tfoot
elementsvalign
on tbody
, thead
, and tfoot
elementsalign
on td
and th
elementsbgcolor
on td
and th
elementschar
on td
and th
elementscharoff
on td
and th
elementsheight
on td
and th
elementsnowrap
on td
and th
elementsvalign
on td
and th
elementswidth
on td
and th
elementsalign
on tr
elementsbgcolor
on tr
elementschar
on tr
elementscharoff
on tr
elementsheight
on tr
elementsvalign
on tr
elementscompact
on ul
elementstype
on ul
elementsbackground
on body
, table
, thead
, tbody
, tfoot
, tr
, td
, and th
elementsUse CSS instead.
applet
elementThis feature is in the process of being removed from the Web platform. (This
is a long process that takes many years.) Using the applet
element at this time is
highly discouraged. Follow progress toward complete removal in issue #454.
The applet
element is a Java-specific variant of the embed
element.
The applet
element is now obsoleted so that all extension frameworks (Java, .NET,
Flash, etc) are handled in a consistent manner.
When the element matches any of the following conditions, it represents its contents:
object
element that is not showing its
fallback content.Blocked
" when executed on the
element. [CSP]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 applet
element must implement the HTMLAppletElement
interface.
// Note: intentionally not [HTMLConstructor] interface HTMLAppletElement : HTMLElement { attribute DOMString align; attribute DOMString alt; attribute DOMString archive; attribute DOMString code; attribute USVString codeBase; attribute DOMString height; attribute unsigned long hspace; attribute DOMString name; attribute USVString _object; // the underscore is not part of the identifier attribute unsigned long vspace; attribute DOMString width; };
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.
marquee
elementThe marquee
element is a presentational element that animates content. CSS
transitions and animations are a more appropriate mechanism. [CSSANIMATIONS] [CSSTRANSITIONS]
The task source for tasks mentioned in this section is the DOM manipulation task source.
The marquee
element must implement the HTMLMarqueeElement
interface.
[HTMLConstructor] interface HTMLMarqueeElement : HTMLElement { [CEReactions] attribute DOMString behavior; [CEReactions] attribute DOMString bgColor; [CEReactions] attribute DOMString direction; [CEReactions] attribute DOMString height; [CEReactions] attribute unsigned long hspace; [CEReactions] attribute long loop; [CEReactions] attribute unsigned long scrollAmount; [CEReactions] attribute unsigned long scrollDelay; [CEReactions] attribute boolean trueSpeed; [CEReactions] attribute unsigned long vspace; [CEReactions] attribute DOMString width; attribute EventHandler onbounce; attribute EventHandler onfinish; attribute EventHandler onstart; void start(); void stop(); };
A marquee
element can be turned on or turned off. When it is created, it is turned on.
When the start()
method is called, the
marquee
element must be turned on.
When the stop()
method is called, the
marquee
element must be turned off.
When a marquee
element is created, the user agent must queue a task
to fire an event named start
at the element.
The behavior
content attribute on
marquee
elements is an enumerated attribute with the following keywords
(all non-conforming):
Keyword | State |
---|---|
scroll
| scroll |
slide
| slide |
alternate
| alternate |
The missing value default is the scroll state.
The direction
content attribute on
marquee
elements is an enumerated attribute with the following keywords
(all non-conforming):
Keyword | State |
---|---|
left
| left |
right
| right |
up
| up |
down
| down |
The missing value default is the left state.
The truespeed
content attribute on
marquee
elements is a boolean attribute.
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.
The marquee scroll interval is delay, interpreted in milliseconds.
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:
If the marquee loop count is −1, then abort these steps.
Increment the marquee current loop index by one.
If the marquee current loop index is now equal to or greater than the element's
marquee loop count, turn off the
marquee
element and queue a task to fire an event named finish
at the marquee
element.
Otherwise, if the behavior
attribute is in the
alternate state, then queue a
task to fire an event named bounce
at the marquee
element.
Otherwise, queue a task to fire an
event named start
at the
marquee
element.
The following are the event handlers (and their corresponding event handler event types) that must be supported, as event handler content attributes and event handler IDL
attributes, by marquee
elements:
Event handler | Event handler event type |
---|---|
onbounce | bounce
|
onfinish | finish
|
onstart | start
|
The behavior
, direction
, height
, hspace
, vspace
, and width
IDL attributes must reflect the
respective content attributes of the same name.
The bgColor
IDL attribute must
reflect the bgcolor
content attribute.
The scrollAmount
IDL attribute must
reflect the scrollamount
content
attribute. The default value is 6.
The scrollDelay
IDL attribute must
reflect the scrolldelay
content
attribute. The default value is 85.
The trueSpeed
IDL attribute must
reflect the truespeed
content
attribute.
The frameset
element acts as
the body element in documents that use frames.
The frameset
element must implement the HTMLFrameSetElement
interface.
[HTMLConstructor] interface HTMLFrameSetElement : HTMLElement { [CEReactions] attribute DOMString cols; [CEReactions] attribute DOMString rows; }; HTMLFrameSetElement implements WindowEventHandlers;
The cols
and rows
IDL attributes of the frameset
element must reflect the respective content attributes of the same name.
The frameset
element exposes as event handler content attributes a
number of the event handlers of the Window
object. It also mirrors their
event handler IDL attributes.
The onblur
, onerror
,
onfocus
, onload
, onresize
, and onscroll
event handlers of the Window
object, exposed on the
frameset
element, replace the generic event handlers with the same names
normally supported by HTML elements.
The frame
element defines a nested browsing context similar to the iframe
element, but rendered within a frameset
element.
A frame
element is said to be an active frame
element when
it is in a document.
When a frame
element is created as an active frame
element, or becomes an active frame
element after not having been
one, the user agent must create a new browsing
context, set the element's nested browsing context to the newly-created
browsing context, and then process the frame
attributes for
the first time. If the element has a name
attribute, the browsing context name must be set to the value of this attribute;
otherwise, the browsing context name must be set to the empty string.
When a frame
element stops being an active frame
element, the user agent must discard
the element's nested browsing context, and then set the element's nested
browsing context to null.
Whenever a frame
element with a non-null nested browsing context has
its src
attribute set, changed, or removed, the
user agent must process the frame
attributes.
When the user agent is to process the frame
attributes, it must run the
first appropriate steps from the following list:
src
attribute specified, and the
user agent is processing the frame
's attributes for the first timeQueue a task to fire an event
named load
at the frame
element.
Any navigation required of the user agent in the process
the frame
attributes algorithm must use the frame
element's
node document's browsing context as the source browsing
context.
Furthermore, if the active document of the element's nested browsing context before such a navigation was not completely loaded at the time of the new navigation, then the navigation must be completed with replacement enabled.
Similarly, if the nested browsing context's session history contained
only one Document
when the process the frame
attributes
algorithm was invoked, and that was the about:blank
Document
created
when the nested browsing context was created, then any navigation required of the user agent in that algorithm must be completed
with replacement enabled.
When a Document
in a frame
is marked as completely
loaded, the user agent must queue a task to fire an event named load
at
the frame
element.
The task source for the tasks above is the DOM manipulation task source.
When a frame
element has a non-null nested browsing context, and its
nested browsing context's active document is not ready for
post-load tasks, and when anything is delaying the load
event of the frame
element's browsing context's active
document, and when the frame
element's browsing context is in the
delaying load
events mode, the frame
must delay the load event of its document.
Whenever the name
attribute is set and the
frame
element's nested browsing context is non-null, the nested
browsing context's name must be changed to the
new value. If the attribute is removed, the browsing context name must be set to the
empty string.
The frame
element must implement the HTMLFrameElement
interface.
[HTMLConstructor] interface HTMLFrameElement : HTMLElement { [CEReactions] attribute DOMString name; [CEReactions] attribute DOMString scrolling; [CEReactions] attribute USVString src; [CEReactions] attribute DOMString frameBorder; [CEReactions] attribute USVString longDesc; [CEReactions] attribute boolean noResize; readonly attribute Document? contentDocument; readonly attribute WindowProxy? contentWindow; [CEReactions, TreatNullAs=EmptyString] attribute DOMString marginHeight; [CEReactions, TreatNullAs=EmptyString] attribute DOMString marginWidth; };
The name
, scrolling
, and src
IDL attributes of the frame
element must
reflect the respective content attributes of the same name. For the purposes of
reflection, the frame
element's src
content
attribute is defined as containing a URL.
The frameBorder
IDL attribute of the
frame
element must reflect the element's frameborder
content attribute.
The longDesc
IDL attribute of the
frame
element must reflect the element's longdesc
content attribute, which for the purposes
of reflection is defined as containing a URL.
The noResize
IDL attribute of the
frame
element must reflect the element's noresize
content attribute.
The contentDocument
IDL attribute,
on getting, must return the frame
element's content document.
The contentWindow
IDL attribute must
return the WindowProxy
object of the frame
element's nested
browsing context, if the element's nested browsing context is non-null, or
return null otherwise.
The marginHeight
IDL attribute of the
frame
element must reflect the element's marginheight
content attribute.
The marginWidth
IDL attribute of the
frame
element must reflect the element's marginwidth
content attribute.
User agents must treat acronym
elements in a manner
equivalent to abbr
elements in terms of semantics and
for purposes of rendering.
partial interface HTMLAnchorElement { [CEReactions] attribute DOMString coords; [CEReactions] attribute DOMString charset; [CEReactions] attribute DOMString name; [CEReactions] attribute DOMString rev; [CEReactions] attribute DOMString shape; };
The coords
, charset
, name
, rev
, and shape
IDL attributes of the
a
element must reflect the respective
content attributes of the same name.
partial interface HTMLAreaElement { [CEReactions] attribute boolean noHref; };
The noHref
IDL attribute of the
area
element must reflect the element's nohref
content attribute.
partial interface HTMLBodyElement { [CEReactions, TreatNullAs=EmptyString] attribute DOMString text; [CEReactions, TreatNullAs=EmptyString] attribute DOMString link; [CEReactions, TreatNullAs=EmptyString] attribute DOMString vLink; [CEReactions, TreatNullAs=EmptyString] attribute DOMString aLink; [CEReactions, TreatNullAs=EmptyString] attribute DOMString bgColor; [CEReactions] attribute DOMString background; };
The text
IDL attribute of the body
element must reflect the element's text
content
attribute.
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 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.)
partial interface HTMLBRElement { [CEReactions] attribute DOMString clear; };
The clear
IDL attribute of the br
element must reflect the content attribute of the same name.
partial interface HTMLTableCaptionElement { [CEReactions] attribute DOMString align; };
The align
IDL attribute of the
caption
element must reflect the content attribute of the same name.
partial interface HTMLTableColElement { [CEReactions] attribute DOMString align; [CEReactions] attribute DOMString ch; [CEReactions] attribute DOMString chOff; [CEReactions] attribute DOMString vAlign; [CEReactions] attribute DOMString width; };
The align
and width
IDL attributes of the col
element must
reflect the respective content attributes of the same name.
The ch
IDL attribute of the col
element
must reflect the element's char
content
attribute.
The chOff
IDL attribute of the col
element must reflect the element's charoff
content attribute.
The vAlign
IDL attribute of the col
element must reflect the element's valign
content attribute.
User agents must treat dir
elements in a manner equivalent to ul
elements in terms of semantics and for purposes of rendering.
The dir
element must implement the HTMLDirectoryElement
interface.
[HTMLConstructor] interface HTMLDirectoryElement : HTMLElement { [CEReactions] attribute boolean compact; };
The compact
IDL attribute of the
dir
element must reflect the content attribute of the same name.
partial interface HTMLDivElement { [CEReactions] attribute DOMString align; };
The align
IDL attribute of the div
element must reflect the content attribute of the same name.
partial interface HTMLDListElement { [CEReactions] attribute boolean compact; };
The compact
IDL attribute of the dl
element must reflect the content attribute of the same name.
partial interface HTMLEmbedElement { [CEReactions] attribute DOMString align; [CEReactions] attribute DOMString name; };
The name
and align
IDL attributes of the embed
element
must reflect the respective content attributes of the same name.
The font
element must implement the HTMLFontElement
interface.
[HTMLConstructor] interface HTMLFontElement : HTMLElement { [CEReactions, TreatNullAs=EmptyString] attribute DOMString color; [CEReactions] attribute DOMString face; [CEReactions] attribute DOMString size; };
The color
, face
, and size
IDL attributes of the font
element must
reflect the respective content attributes of the same name.
partial interface HTMLHeadingElement { [CEReactions] attribute DOMString align; };
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.)
partial interface HTMLHRElement { [CEReactions] attribute DOMString align; [CEReactions] attribute DOMString color; [CEReactions] attribute boolean noShade; [CEReactions] attribute DOMString size; [CEReactions] attribute DOMString width; };
The align
, color
, size
,
and width
IDL attributes of the hr
element must reflect the respective content attributes of the same name.
The noShade
IDL attribute of the hr
element must reflect the element's noshade
content attribute.
partial interface HTMLHtmlElement { [CEReactions] attribute DOMString version; };
The version
IDL attribute of the
html
element must reflect the content attribute of the same name.
partial interface HTMLIFrameElement { [CEReactions] attribute DOMString align; [CEReactions] attribute DOMString scrolling; [CEReactions] attribute DOMString frameBorder; [CEReactions] attribute USVString longDesc; [CEReactions, TreatNullAs=EmptyString] attribute DOMString marginHeight; [CEReactions, TreatNullAs=EmptyString] attribute DOMString marginWidth; };
The align
and scrolling
IDL attributes of the
iframe
element must reflect the respective content attributes of the
same name.
The frameBorder
IDL attribute of the
iframe
element must reflect the element's frameborder
content attribute.
The longDesc
IDL attribute of the
iframe
element must reflect the element's longdesc
content attribute, which for the purposes of
reflection is defined as containing a URL.
The marginHeight
IDL attribute of the
iframe
element must reflect the element's marginheight
content attribute.
The marginWidth
IDL attribute of the
iframe
element must reflect the element's marginwidth
content attribute.
partial interface HTMLImageElement { [CEReactions] attribute DOMString name; [CEReactions] attribute USVString lowsrc; [CEReactions] attribute DOMString align; [CEReactions] attribute unsigned long hspace; [CEReactions] attribute unsigned long vspace; [CEReactions] attribute USVString longDesc; [CEReactions, TreatNullAs=EmptyString] attribute DOMString border; };
The name
, align
, border
, hspace
, and vspace
IDL attributes of the img
element
must reflect the respective content attributes of the same name.
The longDesc
IDL attribute of the
img
element must reflect the element's longdesc
content attribute, which for the purposes of reflection
is defined as containing a URL.
The lowsrc
IDL attribute of the img
element must reflect the element's lowsrc
content attribute, which for the purposes of reflection is defined as containing a
URL.
partial interface HTMLInputElement { [CEReactions] attribute DOMString align; [CEReactions] attribute DOMString useMap; };
The align
IDL attribute of the
input
element must reflect the content attribute of the same name.
The useMap
IDL attribute of the
input
element must reflect the element's usemap
content attribute.
partial interface HTMLLegendElement { [CEReactions] attribute DOMString align; };
The align
IDL attribute of the
legend
element must reflect the content attribute of the same name.
partial interface HTMLLIElement { [CEReactions] attribute DOMString type; };
The type
IDL attribute of the li
element must reflect the content attribute of the same name.
partial interface HTMLLinkElement { [CEReactions] attribute DOMString charset; [CEReactions] attribute DOMString rev; [CEReactions] attribute DOMString target; };
The charset
, rev
, and target
IDL attributes of the link
element
must reflect the respective content attributes of the same name.
User agents must treat listing
elements in a manner equivalent to pre
elements in terms of semantics and for purposes of rendering.
partial interface HTMLMenuElement { [CEReactions] attribute boolean compact; };
The compact
IDL attribute of the
menu
element must reflect the content attribute of the same name.
partial interface HTMLMetaElement { [CEReactions] attribute DOMString scheme; };
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":
<!-- this markup is invalid --> <meta name="eGMS.subject.keyword" scheme="LGCL" content="Abandoned vehicles"> <meta name="eGMS.subject.keyword" scheme="ORLY" content="Mah car: kthxbye">
The suggested processing of this markup, however, would be equivalent to the following:
<meta name="eGMS.subject.keyword" content="Abandoned vehicles"> <meta name="eGMS.subject.keyword" content="Mah car: kthxbye">
The scheme
IDL attribute of the
meta
element must reflect the content attribute of the same name.
partial interface HTMLObjectElement { [CEReactions] attribute DOMString align; [CEReactions] attribute DOMString archive; [CEReactions] attribute DOMString code; [CEReactions] attribute boolean declare; [CEReactions] attribute unsigned long hspace; [CEReactions] attribute DOMString standby; [CEReactions] attribute unsigned long vspace; [CEReactions] attribute DOMString codeBase; [CEReactions] attribute DOMString codeType; [CEReactions, TreatNullAs=EmptyString] attribute DOMString border; };
The align
, archive
, border
, code
, declare
, hspace
, standby
, and vspace
IDL attributes of the object
element must reflect the respective content attributes of the same name.
The codeBase
IDL attribute of the
object
element must reflect the element's codebase
content attribute, which for the purposes of
reflection is defined as containing a URL.
The codeType
IDL attribute of the
object
element must reflect the element's codetype
content attribute.
partial interface HTMLOListElement { [CEReactions] attribute boolean compact; };
The compact
IDL attribute of the ol
element must reflect the content attribute of the same name.
partial interface HTMLParagraphElement { [CEReactions] attribute DOMString align; };
The align
IDL attribute of the p
element must reflect the content attribute of the same name.
partial interface HTMLParamElement { [CEReactions] attribute DOMString type; [CEReactions] attribute DOMString valueType; };
The type
IDL attribute of the param
element must reflect the content attribute of the same name.
The valueType
IDL attribute of the
param
element must reflect the element's valuetype
content attribute.
User agents must treat plaintext
elements in a manner equivalent to
pre
elements in terms of semantics and for purposes of rendering. (The parser has
special behavior for this element, though.)
partial interface HTMLPreElement { [CEReactions] attribute long width; };
The width
IDL attribute of the pre
element must reflect the content attribute of the same name.
partial interface HTMLScriptElement { [CEReactions] attribute DOMString event; [CEReactions] attribute DOMString htmlFor; };
The event
IDL attribute of the
script
element must reflect the element's
event
content attribute.
The htmlFor
IDL attribute of the
script
element must reflect the element's
for
content attribute.
partial interface HTMLTableElement { [CEReactions] attribute DOMString align; [CEReactions] attribute DOMString border; [CEReactions] attribute DOMString frame; [CEReactions] attribute DOMString rules; [CEReactions] attribute DOMString summary; [CEReactions] attribute DOMString width; [CEReactions, TreatNullAs=EmptyString] attribute DOMString bgColor; [CEReactions, TreatNullAs=EmptyString] attribute DOMString cellPadding; [CEReactions, TreatNullAs=EmptyString] attribute DOMString cellSpacing; };
The align
, border
, frame
, summary
, rules
, and width
, IDL attributes of the table
element
must reflect the respective content attributes of the same name.
The bgColor
IDL attribute of the
table
element must reflect the element's bgcolor
content attribute.
The cellPadding
IDL attribute of the
table
element must reflect the element's cellpadding
content attribute.
The cellSpacing
IDL attribute of the
table
element must reflect the element's cellspacing
content attribute.
partial interface HTMLTableSectionElement { [CEReactions] attribute DOMString align; [CEReactions] attribute DOMString ch; [CEReactions] attribute DOMString chOff; [CEReactions] attribute DOMString vAlign; };
The align
IDL attribute of the
tbody
, thead
, and tfoot
elements must reflect
the content attribute of the same name.
The ch
IDL attribute of the tbody
,
thead
, and tfoot
elements must reflect the elements' char
content attributes.
The chOff
IDL attribute of the
tbody
, thead
, and tfoot
elements must reflect
the elements' charoff
content attributes.
The vAlign
IDL attribute of the
tbody
, thead
, and tfoot
element must reflect
the elements' valign
content attributes.
partial interface HTMLTableCellElement { [CEReactions] attribute DOMString align; [CEReactions] attribute DOMString axis; [CEReactions] attribute DOMString height; [CEReactions] attribute DOMString width; [CEReactions] attribute DOMString ch; [CEReactions] attribute DOMString chOff; [CEReactions] attribute boolean noWrap; [CEReactions] attribute DOMString vAlign; [CEReactions, TreatNullAs=EmptyString] attribute DOMString bgColor; };
The align
, axis
, height
, and width
IDL attributes of the td
and
th
elements must reflect the respective content attributes of the same
name.
The ch
IDL attribute of the td
and
th
elements must reflect the elements' char
content attributes.
The chOff
IDL attribute of the td
and th
elements must reflect the elements' charoff
content attributes.
The noWrap
IDL attribute of the td
and th
elements must reflect the elements' nowrap
content attributes.
The vAlign
IDL attribute of the td
and th
elements must reflect the elements' valign
content attributes.
The bgColor
IDL attribute of the
td
and th
elements must reflect the elements' bgcolor
content attributes.
partial interface HTMLTableRowElement { [CEReactions] attribute DOMString align; [CEReactions] attribute DOMString ch; [CEReactions] attribute DOMString chOff; [CEReactions] attribute DOMString vAlign; [CEReactions, TreatNullAs=EmptyString] attribute DOMString bgColor; };
The align
IDL attribute of the tr
element must reflect the content attribute of the same name.
The ch
IDL attribute of the tr
element
must reflect the element's char
content
attribute.
The chOff
IDL attribute of the tr
element must reflect the element's charoff
content attribute.
The vAlign
IDL attribute of the tr
element must reflect the element's valign
content
attribute.
The bgColor
IDL attribute of the tr
element must reflect the element's bgcolor
content attribute.
partial interface HTMLUListElement { [CEReactions] attribute boolean compact; [CEReactions] attribute DOMString type; };
The compact
and type
IDL attributes of the ul
element must
reflect the respective content attributes of the same name.
User agents must treat xmp
elements in a manner equivalent to pre
elements in terms of semantics and for purposes of rendering. (The parser has special behavior for
this element though.)
partial interface Document { [CEReactions, TreatNullAs=EmptyString] attribute DOMString fgColor; [CEReactions, TreatNullAs=EmptyString] attribute DOMString linkColor; [CEReactions, TreatNullAs=EmptyString] attribute DOMString vlinkColor; [CEReactions, TreatNullAs=EmptyString] attribute DOMString alinkColor; [CEReactions, TreatNullAs=EmptyString] attribute DOMString bgColor; [SameObject] readonly attribute HTMLCollection anchors; [SameObject] readonly attribute HTMLCollection applets; void clear(); void captureEvents(); void releaseEvents(); [SameObject] readonly attribute HTMLAllCollection all; };
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.
IDL attribute | Content attribute |
---|---|
fgColor
| text
|
linkColor
| link
|
vlinkColor
| vlink
|
alinkColor
| alink
|
bgColor
| bgcolor
|
The anchors
attribute must return an
HTMLCollection
rooted at the Document
node, whose filter matches only
a
elements with name
attributes.
The applets
attribute must return an
HTMLCollection
rooted at the Document
node, whose filter matches only
applet
elements.
The clear()
, captureEvents()
, and releaseEvents()
methods must do nothing.
The all
attribute must return an
HTMLAllCollection
rooted at the Document
node, whose filter matches all
elements.
The object returned for all
has several unusual
behaviors:
The user agent must act as if the ToBoolean abstract
operation in JavaScript returns false when given the object returned for all
.
The user agent must act as if the Abstract Equality
Comparison algorithm, when given the object returned for all
, returns true when compared to the undefined
and null
values. (Comparisons using the Strict Equality Comparison algorithm, and Abstract Equality
comparisons to other values such as strings or objects, are unaffected.)
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. The JavaScript specification
requires that ToBoolean return true for all objects, 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. [JAVASCRIPT]
partial interface Window { void captureEvents(); void releaseEvents(); [Replaceable, SameObject] readonly attribute External external; };
The captureEvents()
and releaseEvents()
methods must do nothing.
The external
attribute of the Window
interface must return an instance of the External
interface:
[NoInterfaceObject] interface External { void AddSearchProvider(); void IsSearchProviderInstalled(); };
The AddSearchProvider()
and
IsSearchProviderInstalled()
methods
must do nothing.