Another abandoned server code base... this is kind of an ancestor of taskrambler.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1874 lines
151 KiB

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en-US-x-Hixie" ><head><title>11 Obsolete features &#8212; HTML5 </title><style type="text/css">
pre { margin-left: 2em; white-space: pre-wrap; }
h2 { margin: 3em 0 1em 0; }
h3 { margin: 2.5em 0 1em 0; }
h4 { margin: 2.5em 0 0.75em 0; }
h5, h6 { margin: 2.5em 0 1em; }
h1 + h2, h1 + h2 + h2 { margin: 0.75em 0 0.75em; }
h2 + h3, h3 + h4, h4 + h5, h5 + h6 { margin-top: 0.5em; }
p { margin: 1em 0; }
hr:not(.top) { display: block; background: none; border: none; padding: 0; margin: 2em 0; height: auto; }
dl, dd { margin-top: 0; margin-bottom: 0; }
dt { margin-top: 0.75em; margin-bottom: 0.25em; clear: left; }
dt + dt { margin-top: 0; }
dd dt { margin-top: 0.25em; margin-bottom: 0; }
dd p { margin-top: 0; }
dd dl + p { margin-top: 1em; }
dd table + p { margin-top: 1em; }
p + * > li, dd li { margin: 1em 0; }
dt, dfn { font-weight: bold; font-style: normal; }
dt dfn { font-style: italic; }
pre, code { font-size: inherit; font-family: monospace; font-variant: normal; }
pre strong { color: black; font: inherit; font-weight: bold; background: yellow; }
pre em { font-weight: bolder; font-style: normal; }
@media screen { code { color: orangered; } code :link, code :visited { color: inherit; } }
var sub { vertical-align: bottom; font-size: smaller; position: relative; top: 0.1em; }
table { border-collapse: collapse; border-style: hidden hidden none hidden; }
table thead, table tbody { border-bottom: solid; }
table tbody th:first-child { border-left: solid; }
table tbody th { text-align: left; }
table td, table th { border-left: solid; border-right: solid; border-bottom: solid thin; vertical-align: top; padding: 0.2em; }
blockquote { margin: 0 0 0 2em; border: 0; padding: 0; font-style: italic; }
.bad, .bad *:not(.XXX) { color: gray; border-color: gray; background: transparent; }
.matrix, .matrix td { border: none; text-align: right; }
.matrix { margin-left: 2em; }
.dice-example { border-collapse: collapse; border-style: hidden solid solid hidden; border-width: thin; margin-left: 3em; }
.dice-example caption { width: 30em; font-size: smaller; font-style: italic; padding: 0.75em 0; text-align: left; }
.dice-example td, .dice-example th { border: solid thin; width: 1.35em; height: 1.05em; text-align: center; padding: 0; }
.toc dfn, h1 dfn, h2 dfn, h3 dfn, h4 dfn, h5 dfn, h6 dfn { font: inherit; }
img.extra { float: right; }
pre.idl { border: solid thin; background: #EEEEEE; color: black; padding: 0.5em 1em; }
pre.idl :link, pre.idl :visited { color: inherit; background: transparent; }
pre.css { border: solid thin; background: #FFFFEE; color: black; padding: 0.5em 1em; }
pre.css:first-line { color: #AAAA50; }
dl.domintro { color: green; margin: 2em 0 2em 2em; padding: 0.5em 1em; border: none; background: #DDFFDD; }
hr + dl.domintro, div.impl + dl.domintro { margin-top: 2.5em; margin-bottom: 1.5em; }
dl.domintro dt, dl.domintro dt * { color: black; text-decoration: none; }
dl.domintro dd { margin: 0.5em 0 1em 2em; padding: 0; }
dl.domintro dd p { margin: 0.5em 0; }
dl.switch { padding-left: 2em; }
dl.switch > dt { text-indent: -1.5em; }
dl.switch > dt:before { content: '\21AA'; padding: 0 0.5em 0 0; display: inline-block; width: 1em; text-align: right; line-height: 0.5em; }
dl.triple { padding: 0 0 0 1em; }
dl.triple dt, dl.triple dd { margin: 0; display: inline }
dl.triple dt:after { content: ':'; }
dl.triple dd:after { content: '\A'; white-space: pre; }
.diff-old { text-decoration: line-through; color: silver; background: transparent; }
.diff-chg, .diff-new { text-decoration: underline; color: green; background: transparent; }
a .diff-new { border-bottom: 1px blue solid; }
h2 { page-break-before: always; }
h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
h1 + h2, hr + h2.no-toc { page-break-before: auto; }
p > span:not([title=""]):not([class="XXX"]):not([class="impl"]):not([class="note"]),
li > span:not([title=""]):not([class="XXX"]):not([class="impl"]):not([class="note"]), { border-bottom: solid #9999CC; }
div.head { margin: 0 0 1em; padding: 1em 0 0 0; }
div.head p { margin: 0; }
div.head h1 { margin: 0; }
div.head .logo { float: right; margin: 0 1em; }
div.head .logo img { border: none } /* remove border from top image */
div.head dl { margin: 1em 0; }
div.head p.copyright, div.head p.alt { font-size: x-small; font-style: oblique; margin: 0; }
body > .toc > li { margin-top: 1em; margin-bottom: 1em; }
body > .toc.brief > li { margin-top: 0.35em; margin-bottom: 0.35em; }
body > .toc > li > * { margin-bottom: 0.5em; }
body > .toc > li > * > li > * { margin-bottom: 0.25em; }
.toc, .toc li { list-style: none; }
.brief { margin-top: 1em; margin-bottom: 1em; line-height: 1.1; }
.brief li { margin: 0; padding: 0; }
.brief li p { margin: 0; padding: 0; }
.category-list { margin-top: -0.75em; margin-bottom: 1em; line-height: 1.5; }
.category-list::before { content: '\21D2\A0'; font-size: 1.2em; font-weight: 900; }
.category-list li { display: inline; }
.category-list li:not(:last-child)::after { content: ', '; }
.category-list li > span, .category-list li > a { text-transform: lowercase; }
.category-list li * { text-transform: none; } /* don't affect <code> nested in <a> */
.XXX { color: #E50000; background: white; border: solid red; padding: 0.5em; margin: 1em 0; }
.XXX > :first-child { margin-top: 0; }
p .XXX { line-height: 3em; }
.annotation { border: solid thin black; background: #0C479D; color: white; position: relative; margin: 8px 0 20px 0; }
.annotation:before { position: absolute; left: 0; top: 0; width: 100%; height: 100%; margin: 6px -6px -6px 6px; background: #333333; z-index: -1; content: ''; }
.annotation :link, .annotation :visited { color: inherit; }
.annotation :link:hover, .annotation :visited:hover { background: transparent; }
.annotation span { border: none ! important; }
.note { color: green; background: transparent; font-family: sans-serif; }
.warning { color: red; background: transparent; }
.note, .warning { font-weight: bolder; font-style: italic; }
p.note, div.note { padding: 0.5em 2em; }
span.note { padding: 0 2em; }
.note p:first-child, .warning p:first-child { margin-top: 0; }
.note p:last-child, .warning p:last-child { margin-bottom: 0; }
.warning:before { font-style: normal; }
p.note:before { content: 'Note: '; }
p.warning:before { content: '\26A0 Warning! '; }
.bookkeeping:before { display: block; content: 'Bookkeeping details'; font-weight: bolder; font-style: italic; }
.bookkeeping { font-size: 0.8em; margin: 2em 0; }
.bookkeeping p { margin: 0.5em 2em; display: list-item; list-style: square; }
.bookkeeping dt { margin: 0.5em 2em 0; }
.bookkeeping dd { margin: 0 3em 0.5em; }
h4 { position: relative; z-index: 3; }
h4 + .element, h4 + div + .element { margin-top: -2.5em; padding-top: 2em; }
.element {
background: #EEEEFF;
color: black;
margin: 0 0 1em 0.15em;
padding: 0 1em 0.25em 0.75em;
border-left: solid #9999FF 0.25em;
position: relative;
z-index: 1;
}
.element:before {
position: absolute;
z-index: 2;
top: 0;
left: -1.15em;
height: 2em;
width: 0.9em;
background: #EEEEFF;
content: ' ';
border-style: none none solid solid;
border-color: #9999FF;
border-width: 0.25em;
}
.example { display: block; color: #222222; background: #FCFCFC; border-left: double; margin-left: 2em; padding-left: 1em; }
td > .example:only-child { margin: 0 0 0 0.1em; }
ul.domTree, ul.domTree ul { padding: 0 0 0 1em; margin: 0; }
ul.domTree li { padding: 0; margin: 0; list-style: none; position: relative; }
ul.domTree li li { list-style: none; }
ul.domTree li:first-child::before { position: absolute; top: 0; height: 0.6em; left: -0.75em; width: 0.5em; border-style: none none solid solid; content: ''; border-width: 0.1em; }
ul.domTree li:not(:last-child)::after { position: absolute; top: 0; bottom: -0.6em; left: -0.75em; width: 0.5em; border-style: none none solid solid; content: ''; border-width: 0.1em; }
ul.domTree span { font-style: italic; font-family: serif; }
ul.domTree .t1 code { color: purple; font-weight: bold; }
ul.domTree .t2 { font-style: normal; font-family: monospace; }
ul.domTree .t2 .name { color: black; font-weight: bold; }
ul.domTree .t2 .value { color: blue; font-weight: normal; }
ul.domTree .t3 code, .domTree .t4 code, .domTree .t5 code { color: gray; }
ul.domTree .t7 code, .domTree .t8 code { color: green; }
ul.domTree .t10 code { color: teal; }
body.dfnEnabled dfn { cursor: pointer; }
.dfnPanel {
display: inline;
position: absolute;
z-index: 10;
height: auto;
width: auto;
padding: 0.5em 0.75em;
font: small sans-serif, Droid Sans Fallback;
background: #DDDDDD;
color: black;
border: outset 0.2em;
}
.dfnPanel * { margin: 0; padding: 0; font: inherit; text-indent: 0; }
.dfnPanel :link, .dfnPanel :visited { color: black; }
.dfnPanel p { font-weight: bolder; }
.dfnPanel * + p { margin-top: 0.25em; }
.dfnPanel li { list-style-position: inside; }
#configUI { position: absolute; z-index: 20; top: 10em; right: 1em; width: 11em; font-size: small; }
#configUI p { margin: 0.5em 0; padding: 0.3em; background: #EEEEEE; color: black; border: inset thin; }
#configUI p label { display: block; }
#configUI #updateUI, #configUI .loginUI { text-align: center; }
#configUI input[type=button] { display: block; margin: auto; }
fieldset { margin: 1em; padding: 0.5em 1em; }
fieldset > legend + * { margin-top: 0; }
fieldset > :last-child { margin-bottom: 0; }
fieldset p { margin: 0.5em 0; }
.stability {
position: fixed;
bottom: 0;
left: 0; right: 0;
margin: 0 auto 0 auto !important;
z-index: 1000;
width: 50%;
background: maroon; color: yellow;
-webkit-border-radius: 1em 1em 0 0;
-moz-border-radius: 1em 1em 0 0;
border-radius: 1em 1em 0 0;
-moz-box-shadow: 0 0 1em #500;
-webkit-box-shadow: 0 0 1em #500;
box-shadow: 0 0 1em red;
padding: 0.5em 1em;
text-align: center;
}
.stability strong {
display: block;
}
.stability input {
appearance: none; margin: 0; border: 0; padding: 0.25em 0.5em; background: transparent; color: black;
position: absolute; top: -0.5em; right: 0; font: 1.25em sans-serif; text-align: center;
}
.stability input:hover {
color: white;
text-shadow: 0 0 2px black;
}
.stability input:active {
padding: 0.3em 0.45em 0.2em 0.55em;
}
.stability :link, .stability :visited,
.stability :link:hover, .stability :visited:hover {
background: transparent;
color: white;
}
</style><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D%0Ahtml%20%7B%20border:%20solid%20yellow;%20%7D%20.domintro:before%20%7B%20display:%20none;%20%7D" id="author" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D%20.domintro:before%20%7B%20background:%20%23FFEEEE;%20%7D" id="highlight" rel="alternate stylesheet" title="Highlight implementation
requirements"><link href="http://www.w3.org/StyleSheets/TR/W3C-WD" rel="stylesheet" type="text/css"><style type="text/css">
.applies thead th > * { display: block; }
.applies thead code { display: block; }
.applies tbody th { whitespace: nowrap; }
.applies td { text-align: center; }
.applies .yes { background: yellow; }
.matrix, .matrix td { border: hidden; text-align: right; }
.matrix { margin-left: 2em; }
.dice-example { border-collapse: collapse; border-style: hidden solid solid hidden; border-width: thin; margin-left: 3em; }
.dice-example caption { width: 30em; font-size: smaller; font-style: italic; padding: 0.75em 0; text-align: left; }
.dice-example td, .dice-example th { border: solid thin; width: 1.35em; height: 1.05em; text-align: center; padding: 0; }
td.eg { border-width: thin; text-align: center; }
#table-example-1 { border: solid thin; border-collapse: collapse; margin-left: 3em; }
#table-example-1 * { font-family: "Essays1743", serif; line-height: 1.01em; }
#table-example-1 caption { padding-bottom: 0.5em; }
#table-example-1 thead, #table-example-1 tbody { border: none; }
#table-example-1 th, #table-example-1 td { border: solid thin; }
#table-example-1 th { font-weight: normal; }
#table-example-1 td { border-style: none solid; vertical-align: top; }
#table-example-1 th { padding: 0.5em; vertical-align: middle; text-align: center; }
#table-example-1 tbody tr:first-child td { padding-top: 0.5em; }
#table-example-1 tbody tr:last-child td { padding-bottom: 1.5em; }
#table-example-1 tbody td:first-child { padding-left: 2.5em; padding-right: 0; width: 9em; }
#table-example-1 tbody td:first-child::after { content: leader(". "); }
#table-example-1 tbody td { padding-left: 2em; padding-right: 2em; }
#table-example-1 tbody td:first-child + td { width: 10em; }
#table-example-1 tbody td:first-child + td ~ td { width: 2.5em; }
#table-example-1 tbody td:first-child + td + td + td ~ td { width: 1.25em; }
.apple-table-examples { border: none; border-collapse: separate; border-spacing: 1.5em 0em; width: 40em; margin-left: 3em; }
.apple-table-examples * { font-family: "Times", serif; }
.apple-table-examples td, .apple-table-examples th { border: none; white-space: nowrap; padding-top: 0; padding-bottom: 0; }
.apple-table-examples tbody th:first-child { border-left: none; width: 100%; }
.apple-table-examples thead th:first-child ~ th { font-size: smaller; font-weight: bolder; border-bottom: solid 2px; text-align: center; }
.apple-table-examples tbody th::after, .apple-table-examples tfoot th::after { content: leader(". ") }
.apple-table-examples tbody th, .apple-table-examples tfoot th { font: inherit; text-align: left; }
.apple-table-examples td { text-align: right; vertical-align: top; }
.apple-table-examples.e1 tbody tr:last-child td { border-bottom: solid 1px; }
.apple-table-examples.e1 tbody + tbody tr:last-child td { border-bottom: double 3px; }
.apple-table-examples.e2 th[scope=row] { padding-left: 1em; }
.apple-table-examples sup { line-height: 0; }
.details-example img { vertical-align: top; }
#base64-table {
white-space: nowrap;
font-size: 0.6em;
column-width: 6em;
column-count: 5;
column-gap: 1em;
-moz-column-width: 6em;
-moz-column-count: 5;
-moz-column-gap: 1em;
-webkit-column-width: 6em;
-webkit-column-count: 5;
-webkit-column-gap: 1em;
}
#base64-table thead { display: none; }
#base64-table * { border: none; }
#base64-table tbody td:first-child:after { content: ':'; }
#base64-table tbody td:last-child { text-align: right; }
#named-character-references-table {
white-space: nowrap;
font-size: 0.6em;
column-width: 30em;
column-gap: 1em;
-moz-column-width: 30em;
-moz-column-gap: 1em;
-webkit-column-width: 30em;
-webkit-column-gap: 1em;
}
#named-character-references-table > table > tbody > tr > td:first-child + td,
#named-character-references-table > table > tbody > tr > td:last-child { text-align: center; }
#named-character-references-table > table > tbody > tr > td:last-child:hover > span { position: absolute; top: auto; left: auto; margin-left: 0.5em; line-height: 1.2; font-size: 5em; border: outset; padding: 0.25em 0.5em; background: white; width: 1.25em; height: auto; text-align: center; }
#named-character-references-table > table > tbody > tr#entity-CounterClockwiseContourIntegral > td:first-child { font-size: 0.5em; }
.glyph.control { color: red; }
@font-face {
font-family: 'Essays1743';
src: url('http://www.whatwg.org/specs/web-apps/current-work/fonts/Essays1743.ttf');
}
@font-face {
font-family: 'Essays1743';
font-weight: bold;
src: url('http://www.whatwg.org/specs/web-apps/current-work/fonts/Essays1743-Bold.ttf');
}
@font-face {
font-family: 'Essays1743';
font-style: italic;
src: url('http://www.whatwg.org/specs/web-apps/current-work/fonts/Essays1743-Italic.ttf');
}
@font-face {
font-family: 'Essays1743';
font-style: italic;
font-weight: bold;
src: url('http://www.whatwg.org/specs/web-apps/current-work/fonts/Essays1743-BoldItalic.ttf');
}
</style><style type="text/css">
.domintro:before { display: table; margin: -1em -0.5em -0.5em auto; width: auto; content: 'This box is non-normative. Implementation requirements are given below this box.'; color: black; font-style: italic; border: solid 2px; background: white; padding: 0 0.25em; }
</style><script type="text/javascript">
function getCookie(name) {
var params = location.search.substr(1).split("&");
for (var index = 0; index < params.length; index++) {
if (params[index] == name)
return "1";
var data = params[index].split("=");
if (data[0] == name)
return unescape(data[1]);
}
var cookies = document.cookie.split("; ");
for (var index = 0; index < cookies.length; index++) {
var data = cookies[index].split("=");
if (data[0] == name)
return unescape(data[1]);
}
return null;
}
</script>
<script src="link-fixup.js" type="text/javascript"></script>
<link href="style.css" rel="stylesheet"><link href="rendering.html" title="10 Rendering" rel="prev">
<link href="spec.html#contents" title="Table of contents" rel="index">
<link href="iana.html" title="12 IANA considerations" rel="next">
</head><body><div class="head" id="head">
<div id="multipage-common">
<p class="stability" id="wip"><strong>This is a work in
progress!</strong> For the latest updates from the HTML WG, possibly
including important bug fixes, please look at the <a href="http://dev.w3.org/html5/spec/Overview.html">editor's draft</a> instead.
There may also be a more
<a href="http://www.w3.org/TR/html5">up-to-date Working Draft</a>
with changes based on resolution of Last Call issues.
<input onclick="closeWarning(this.parentNode)" type="button" value="&#9587;&#8413;"></p>
<script type="text/javascript">
function closeWarning(element) {
element.parentNode.removeChild(element);
var date = new Date();
date.setDate(date.getDate()+4);
document.cookie = 'hide-obsolescence-warning=1; expires=' + date.toGMTString();
}
if (getCookie('hide-obsolescence-warning') == '1')
setTimeout(function () { document.getElementById('wip').parentNode.removeChild(document.getElementById('wip')); }, 2000);
</script></div>
<p><a href="http://www.w3.org/"><img alt="W3C" height="48" src="http://www.w3.org/Icons/w3c_home" width="72"></a></p>
<h1>HTML5</h1>
</div><div>
<a href="rendering.html" class="prev">10 Rendering</a> &#8211;
<a href="spec.html#contents">Table of contents</a> &#8211;
<a href="iana.html" class="next">12 IANA considerations</a>
<ol class="toc"><li><a href="obsolete.html#obsolete"><span class="secno">11 </span>Obsolete features</a>
<ol><li><a href="obsolete.html#obsolete-but-conforming-features"><span class="secno">11.1 </span>Obsolete but conforming features</a>
<ol><li><a href="obsolete.html#warnings-for-obsolete-but-conforming-features"><span class="secno">11.1.1 </span>Warnings for obsolete but conforming features</a></li></ol></li><li><a href="obsolete.html#non-conforming-features"><span class="secno">11.2 </span>Non-conforming features</a></li><li><a href="obsolete.html#requirements-for-implementations"><span class="secno">11.3 </span>Requirements for implementations</a>
<ol><li><a href="obsolete.html#the-applet-element"><span class="secno">11.3.1 </span>The <code>applet</code> element</a></li><li><a href="obsolete.html#the-marquee-element"><span class="secno">11.3.2 </span>The <code>marquee</code> element</a></li><li><a href="obsolete.html#frames"><span class="secno">11.3.3 </span>Frames</a></li><li><a href="obsolete.html#other-elements-attributes-and-apis"><span class="secno">11.3.4 </span>Other elements, attributes and APIs</a></li></ol></li></ol></li></ol></div>
<h2 id="obsolete"><span class="secno">11 </span>Obsolete features</h2><h3 id="obsolete-but-conforming-features"><span class="secno">11.1 </span>Obsolete but conforming features</h3><p>Features listed in this section will trigger warnings in
conformance checkers.</p><p>Authors should not specify a <code title="attr-img-border"><a href="#attr-img-border">border</a></code> attribute on an
<code><a href="embedded-content-1.html#the-img-element">img</a></code> element. If the attribute is present, its value
must be the string "<code title="">0</code>". CSS should be used
instead.</p><p>Authors should not specify a <code title="attr-script-language"><a href="#attr-script-language">language</a></code> attribute on a
<code><a href="scripting-1.html#the-script-element">script</a></code> element. If the attribute is present, its value
must be an <a href="infrastructure.html#ascii-case-insensitive">ASCII case-insensitive</a> match for the string
"<code title="">JavaScript</code>" and either the <code title="attr-script-type"><a href="scripting-1.html#attr-script-type">type</a></code> attribute must be omitted or
its value must be an <a href="infrastructure.html#ascii-case-insensitive">ASCII case-insensitive</a> match for
the string "<code title="">text/javascript</code>". The attribute
should be entirely omitted instead (with the value "<code title="">JavaScript</code>", it has no effect), or replaced with use
of the <code title="attr-script-type"><a href="scripting-1.html#attr-script-type">type</a></code> attribute.</p><p>Authors should not specify the <code title="attr-a-name"><a href="#attr-a-name">name</a></code> attribute on <code><a href="text-level-semantics.html#the-a-element">a</a></code>
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
<a href="elements.html#concept-id" title="concept-id">IDs</a> in the element's <a href="infrastructure.html#home-subtree">home
subtree</a> other than the element's own <a href="elements.html#concept-id" title="concept-id">ID</a>, if any, nor be equal to the value of
any of the other <code title="attr-a-name"><a href="#attr-a-name">name</a></code> attributes on
<code><a href="text-level-semantics.html#the-a-element">a</a></code> elements in the element's <a href="infrastructure.html#home-subtree">home
subtree</a>. If this attribute is present and the element has an
<a href="elements.html#concept-id" title="concept-id">ID</a>, then the attribute's value must
be equal to the element's <a href="elements.html#concept-id" title="concept-id">ID</a>. In
earlier versions of the language, this attribute was intended as a
way to specify possible targets for fragment identifiers in <a href="urls.html#url" title="URL">URLs</a>. The <code title="attr-id"><a href="elements.html#the-id-attribute">id</a></code>
attribute should be used instead.</p><p class="note">In <a href="syntax.html#syntax">the HTML syntax</a>, specifying a <a href="syntax.html#syntax-doctype" title="syntax-DOCTYPE">DOCTYPE</a> that is an <a href="syntax.html#obsolete-permitted-doctype">obsolete
permitted DOCTYPE</a> will also trigger a warning.</p><div class="impl">
<h4 id="warnings-for-obsolete-but-conforming-features"><span class="secno">11.1.1 </span>Warnings for obsolete but conforming features</h4>
<p>To ease the transition from HTML4 Transitional documents to the
language defined in <em>this</em> 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).</p>
<p>The following features must be categorized as described
above:</p>
<ul><li><p>The presence of an <a href="syntax.html#obsolete-permitted-doctype">obsolete permitted DOCTYPE</a>
in an <a href="dom.html#html-documents" title="HTML documents">HTML document</a>.</p></li>
<li><p>The presence of a <code title="attr-img-border"><a href="#attr-img-border">border</a></code> attribute on an
<code><a href="embedded-content-1.html#the-img-element">img</a></code> element if its value is the string "<code title="">0</code>".</p></li>
<li><p>The presence of a <code title="attr-script-language"><a href="#attr-script-language">language</a></code> attribute on a
<code><a href="scripting-1.html#the-script-element">script</a></code> element if its value is an <a href="infrastructure.html#ascii-case-insensitive">ASCII
case-insensitive</a> match for the string "<code title="">JavaScript</code>" and if there is no <code title="attr-script-type"><a href="scripting-1.html#attr-script-type">type</a></code> attribute or there is and its
value is an <a href="infrastructure.html#ascii-case-insensitive">ASCII case-insensitive</a> match for the
string "<code title="">text/javascript</code>".</p></li>
<li><p>The presence of a <code title="attr-a-name"><a href="#attr-a-name">name</a></code>
attribute on an <code><a href="text-level-semantics.html#the-a-element">a</a></code> element, if its value is not the
empty string.</p></li>
</ul><p>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.</p>
<p class="example">For example, a validator could report some pages
as "Valid HTML" and others as "Valid HTML with warnings".</p>
</div><h3 id="non-conforming-features"><span class="secno">11.2 </span>Non-conforming features</h3><p>Elements in the following list are entirely obsolete, and must
not be used by authors:</p><dl><dt><code><a href="#the-applet-element">applet</a></code></dt>
<dd><p>Use <code><a href="the-iframe-element.html#the-embed-element">embed</a></code> or <code><a href="the-iframe-element.html#the-object-element">object</a></code> instead.</p></dd>
<dt><dfn id="acronym"><code>acronym</code></dfn></dt>
<dd><p>Use <code><a href="text-level-semantics.html#the-abbr-element">abbr</a></code> instead.</p></dd>
<dt><dfn id="bgsound"><code>bgsound</code></dfn></dt>
<dd><p>Use <code><a href="the-iframe-element.html#the-audio-element">audio</a></code> instead.</p></dd>
<dt><dfn id="dir"><code>dir</code></dfn></dt>
<dd><p>Use <code><a href="grouping-content.html#the-ul-element">ul</a></code> instead.</p></dd>
<dt><code><a href="#frame">frame</a></code></dt>
<dt><code><a href="#frameset">frameset</a></code></dt>
<dt><dfn id="noframes"><code>noframes</code></dfn></dt>
<dd><p>Either use <code><a href="the-iframe-element.html#the-iframe-element">iframe</a></code> and CSS instead, or use server-side includes to generate complete pages with the various invariant parts merged in.</p></dd>
<dt><dfn id="isindex-0"><code>isindex</code></dfn></dt>
<dd><p>Use an explicit <code><a href="forms.html#the-form-element">form</a></code> and <a href="states-of-the-type-attribute.html#text-state-and-search-state" title="attr-input-type-text">text field</a> combination instead.</p></dd>
<dt><dfn id="listing"><code>listing</code></dfn></dt>
<dd><p>Use <code><a href="grouping-content.html#the-pre-element">pre</a></code> and <code><a href="text-level-semantics.html#the-code-element">code</a></code> instead.</p></dd>
<dt><dfn id="nextid"><code>nextid</code></dfn></dt>
<dd><p>Use GUIDs instead.</p></dd>
<dt><dfn id="noembed"><code>noembed</code></dfn></dt>
<dd><p>Use <code><a href="the-iframe-element.html#the-object-element">object</a></code> instead of <code><a href="the-iframe-element.html#the-embed-element">embed</a></code> when fallback is necessary.</p></dd>
<dt><dfn id="plaintext"><code>plaintext</code></dfn></dt>
<dd><p>Use the "<code>text/plain</code>" <a href="infrastructure.html#mime-type">MIME type</a> instead.</p></dd>
<dt><dfn id="rb"><code>rb</code></dfn></dt>
<dd><p>Providing the ruby base directly inside the <code><a href="text-level-semantics.html#the-ruby-element">ruby</a></code> element is sufficient; the <code><a href="#rb">rb</a></code> element is unnecessary. Omit it altogether.</p></dd>
<dt><dfn id="strike"><code>strike</code></dfn></dt>
<dd><p>Use <code><a href="edits.html#the-del-element">del</a></code> instead if the element is marking an edit, otherwise use <code><a href="text-level-semantics.html#the-s-element">s</a></code> instead.</p></dd>
<dt><dfn id="xmp"><code>xmp</code></dfn></dt>
<dd><p>Use <code><a href="text-level-semantics.html#the-code-element">code</a></code> instead, and escape "<code title="">&lt;</code>" and "<code title="">&amp;</code>" characters as "<code title="">&amp;lt;</code>" and "<code title="">&amp;amp;</code>" respectively.</p></dd>
<dt><dfn id="basefont"><code>basefont</code></dfn></dt>
<dt><dfn id="big"><code>big</code></dfn></dt>
<dt><dfn id="blink"><code>blink</code></dfn></dt>
<dt><dfn id="center"><code>center</code></dfn></dt>
<dt><dfn id="font"><code>font</code></dfn></dt>
<dt><code><a href="#the-marquee-element">marquee</a></code></dt>
<dt><dfn id="multicol"><code>multicol</code></dfn></dt>
<dt><dfn id="nobr"><code>nobr</code></dfn></dt>
<dt><dfn id="spacer"><code>spacer</code></dfn></dt>
<dt><dfn id="tt"><code>tt</code></dfn></dt>
<dd>
<p>Use appropriate elements and/or CSS instead.</p>
<p>Where the <code><a href="#tt">tt</a></code> element would have been used for
marking up keyboard input, consider the <code><a href="text-level-semantics.html#the-kbd-element">kbd</a></code> element;
for variables, consider the <code><a href="text-level-semantics.html#the-var-element">var</a></code> element; for computer
code, consider the <code><a href="text-level-semantics.html#the-code-element">code</a></code> element; and for computer
output, consider the <code><a href="text-level-semantics.html#the-samp-element">samp</a></code> element.</p>
<p>Similarly, if the <code><a href="#big">big</a></code> element is being used to
denote a heading, consider using the <code><a href="sections.html#the-h1-h2-h3-h4-h5-and-h6-elements">h1</a></code> element; if
it is being used for marking up important passages, consider the
<code><a href="text-level-semantics.html#the-strong-element">strong</a></code> element; and if it is being used for
highlighting text for reference purposes, consider the
<code><a href="text-level-semantics.html#the-mark-element">mark</a></code> element.</p>
<p>See also the <a href="text-level-semantics.html#usage-summary">text-level semantics
usage summary</a> for more suggestions with examples.</p>
</dd>
</dl><hr><p>The following attributes are obsolete (though the elements are
still part of the language), and must not be used by authors:</p><dl><dt><dfn id="attr-a-charset" title="attr-a-charset"><code>charset</code></dfn> on <code><a href="text-level-semantics.html#the-a-element">a</a></code> elements</dt>
<dt><dfn id="attr-link-charset" title="attr-link-charset"><code>charset</code></dfn> on <code><a href="semantics.html#the-link-element">link</a></code> elements</dt>
<dd><p>Use an HTTP Content-Type header on the linked resource instead.</p></dd>
<dt><dfn id="attr-a-coords" title="attr-a-coords"><code>coords</code></dfn> on <code><a href="text-level-semantics.html#the-a-element">a</a></code> elements</dt>
<dt><dfn id="attr-a-shape" title="attr-a-shape"><code>shape</code></dfn> on <code><a href="text-level-semantics.html#the-a-element">a</a></code> elements</dt>
<dd><p>Use <code><a href="the-map-element.html#the-area-element">area</a></code> instead of <code><a href="text-level-semantics.html#the-a-element">a</a></code> for image maps.</p></dd>
<dt><dfn id="attr-a-methods" title="attr-a-methods"><code>methods</code></dfn> on <code><a href="text-level-semantics.html#the-a-element">a</a></code> elements</dt>
<dt><dfn id="attr-link-methods" title="attr-link-methods"><code>methods</code></dfn> on <code><a href="semantics.html#the-link-element">link</a></code> elements</dt>
<dd><p>Use the HTTP OPTIONS feature instead.</p></dd>
<dt><dfn id="attr-a-name" title="attr-a-name"><code>name</code></dfn> on <code><a href="text-level-semantics.html#the-a-element">a</a></code> elements (except as noted in the previous section)</dt>
<dt><dfn id="attr-embed-name" title="attr-embed-name"><code>name</code></dfn> on <code><a href="the-iframe-element.html#the-embed-element">embed</a></code> elements</dt>
<dt><dfn id="attr-img-name" title="attr-img-name"><code>name</code></dfn> on <code><a href="embedded-content-1.html#the-img-element">img</a></code> elements</dt>
<dt><dfn id="attr-option-name" title="attr-option-name"><code>name</code></dfn> on <code><a href="the-button-element.html#the-option-element">option</a></code> elements</dt>
<dd><p>Use the <code title="attr-id"><a href="elements.html#the-id-attribute">id</a></code> attribute instead.</p></dd>
<dt><dfn id="attr-a-rev" title="attr-a-rev"><code>rev</code></dfn> on <code><a href="text-level-semantics.html#the-a-element">a</a></code> elements</dt>
<dt><dfn id="attr-link-rev" title="attr-link-rev"><code>rev</code></dfn> on <code><a href="semantics.html#the-link-element">link</a></code> elements</dt>
<dd><p>Use the <code title="attr-hyperlink-rel"><a href="links.html#attr-hyperlink-rel">rel</a></code>
attribute instead, with an opposite term. (For example, instead of
<code title="">rev="made"</code>, use <code title="">rel="author"</code>.)</p></dd>
<dt><dfn id="attr-a-urn" title="attr-a-urn"><code>urn</code></dfn> on <code><a href="text-level-semantics.html#the-a-element">a</a></code> elements</dt>
<dt><dfn id="attr-link-urn" title="attr-link-urn"><code>urn</code></dfn> on <code><a href="semantics.html#the-link-element">link</a></code> elements</dt>
<dd><p>Specify the preferred persistent identifier using the <code title="attr-hyperlink-href"><a href="links.html#attr-hyperlink-href">href</a></code> attribute instead.</p></dd>
<dt><dfn id="attr-area-nohref" title="attr-area-nohref"><code>nohref</code></dfn> on <code><a href="the-map-element.html#the-area-element">area</a></code> elements</dt>
<dd><p>Omitting the <code title="attr-hyperlink-href"><a href="links.html#attr-hyperlink-href">href</a></code>
attribute is sufficient; the <code title="attr-area-nohref"><a href="#attr-area-nohref">nohref</a></code> attribute is
unnecessary. Omit it altogether.</p></dd>
<dt><dfn id="attr-head-profile" title="attr-head-profile"><code>profile</code></dfn> on <code><a href="semantics.html#the-head-element">head</a></code> elements</dt>
<dd><p>When used for declaring which <code><a href="semantics.html#the-meta-element">meta</a></code> terms are
used in the document, unnecessary; omit it altogether, and <a href="semantics.html#concept-meta-extensions" title="concept-meta-extensions">register the names</a>.</p></dd>
<dd><p>When used for triggering specific user agent behaviors: use
a <code><a href="semantics.html#the-link-element">link</a></code> element instead.</p></dd>
<dt><dfn id="attr-html-version" title="attr-html-version"><code>version</code></dfn> on <code><a href="semantics.html#the-html-element">html</a></code> elements</dt>
<dd><p>Unnecessary. Omit it altogether.</p></dd>
<dt><dfn id="attr-input-usemap" title="attr-input-usemap"><code>usemap</code></dfn> on <code><a href="the-input-element.html#the-input-element">input</a></code> elements</dt>
<dd><p>Use <code><a href="embedded-content-1.html#the-img-element">img</a></code> instead of <code><a href="the-input-element.html#the-input-element">input</a></code> for image maps.</p></dd>
<dt><dfn id="attr-iframe-longdesc" title="attr-iframe-longdesc"><code>longdesc</code></dfn> on <code><a href="the-iframe-element.html#the-iframe-element">iframe</a></code> elements</dt>
<dt><dfn id="attr-img-longdesc" title="attr-img-longdesc"><code>longdesc</code></dfn> on <code><a href="embedded-content-1.html#the-img-element">img</a></code> elements</dt>
<dd><p>Use a regular <code><a href="text-level-semantics.html#the-a-element">a</a></code> element to link to the
description, or (in the case of images) use an <a href="the-map-element.html#image-map">image
map</a> to provide a link from the image to the image's
description.</p></dd>
<dt><dfn id="attr-img-lowsrc" title="attr-img-lowsrc"><code>lowsrc</code></dfn> on <code><a href="embedded-content-1.html#the-img-element">img</a></code> elements</dt>
<dd><p>Use a progressive JPEG image (given in the <code title="attr-img-src"><a href="embedded-content-1.html#attr-img-src">src</a></code> attribute),
instead of using two separate images.</p></dd>
<dt><dfn id="attr-link-target" title="attr-link-target"><code>target</code></dfn> on <code><a href="semantics.html#the-link-element">link</a></code> elements</dt>
<dd><p>Unnecessary. Omit it altogether.</p></dd>
<dt><dfn id="attr-meta-scheme" title="attr-meta-scheme"><code>scheme</code></dfn> on <code><a href="semantics.html#the-meta-element">meta</a></code> elements</dt>
<dd><p>Use only one scheme per field, or make the scheme declaration part of the value.</p></dd>
<dt><dfn id="attr-object-archive" title="attr-object-archive"><code>archive</code></dfn> on <code><a href="the-iframe-element.html#the-object-element">object</a></code> elements</dt>
<dt><dfn id="attr-object-classid" title="attr-object-classid"><code>classid</code></dfn> on <code><a href="the-iframe-element.html#the-object-element">object</a></code> elements</dt>
<dt><dfn id="attr-object-code" title="attr-object-code"><code>code</code></dfn> on <code><a href="the-iframe-element.html#the-object-element">object</a></code> elements</dt>
<dt><dfn id="attr-object-codebase" title="attr-object-codebase"><code>codebase</code></dfn> on <code><a href="the-iframe-element.html#the-object-element">object</a></code> elements</dt>
<dt><dfn id="attr-object-codetype" title="attr-object-codetype"><code>codetype</code></dfn> on <code><a href="the-iframe-element.html#the-object-element">object</a></code> elements</dt>
<dd><p>Use the <code title="attr-object-data"><a href="the-iframe-element.html#attr-object-data">data</a></code> and <code title="attr-object-type"><a href="the-iframe-element.html#attr-object-type">type</a></code> attributes to invoke <a href="infrastructure.html#plugin" title="plugin">plugins</a>. To set parameters with these names
in particular, the <code><a href="the-iframe-element.html#the-param-element">param</a></code> element can be used.</p></dd>
<dt><dfn id="attr-object-declare" title="attr-object-declare"><code>declare</code></dfn> on <code><a href="the-iframe-element.html#the-object-element">object</a></code> elements</dt>
<dd><p>Repeat the <code><a href="the-iframe-element.html#the-object-element">object</a></code> element completely each time the resource is to be reused.</p></dd>
<dt><dfn id="attr-object-standby" title="attr-object-standby"><code>standby</code></dfn> on <code><a href="the-iframe-element.html#the-object-element">object</a></code> elements</dt>
<dd><p>Optimize the linked resource so that it loads quickly or, at least, incrementally.</p></dd>
<dt><dfn id="attr-param-type" title="attr-param-type"><code>type</code></dfn> on <code><a href="the-iframe-element.html#the-param-element">param</a></code> elements</dt>
<dt><dfn id="attr-param-valuetype" title="attr-param-valuetype"><code>valuetype</code></dfn> on <code><a href="the-iframe-element.html#the-param-element">param</a></code> elements</dt>
<dd><p>Use the <code title="attr-param-name"><a href="the-iframe-element.html#attr-param-name">name</a></code> and <code title="attr-param-value"><a href="the-iframe-element.html#attr-param-value">value</a></code> attributes without declaring
value types.</p></dd>
<dt><dfn id="attr-script-language" title="attr-script-language"><code>language</code></dfn> on <code><a href="scripting-1.html#the-script-element">script</a></code> elements (except as noted in the previous section)</dt>
<dd><p>Use the <code title="attr-script-type"><a href="scripting-1.html#attr-script-type">type</a></code> attribute
instead.</p></dd>
<dt><dfn id="attr-script-event" title="attr-script-event"><code>event</code></dfn> on <code><a href="scripting-1.html#the-script-element">script</a></code> elements</dt>
<dt><dfn id="attr-script-for" title="attr-script-for"><code>for</code></dfn> on <code><a href="scripting-1.html#the-script-element">script</a></code> elements</dt>
<dd><p>Use DOM Events mechanisms to register event listeners. <a href="references.html#refsDOMEVENTS">[DOMEVENTS]</a></p></dd>
<dt><dfn id="attr-table-datapagesize" title="attr-table-datapagesize"><code>datapagesize</code></dfn> on <code><a href="tabular-data.html#the-table-element">table</a></code> elements</dt>
<dd><p>Unnecessary. Omit it altogether.</p></dd>
<dt><dfn id="attr-table-summary" title="attr-table-summary"><code>summary</code></dfn> on <code><a href="tabular-data.html#the-table-element">table</a></code> elements</dt>
<dd><p>Use one of the <a href="tabular-data.html#table-descriptions-techniques">techniques for describing
tables</a> given in the <code><a href="tabular-data.html#the-table-element">table</a></code> section
instead.</p></dd>
<dt><dfn id="attr-tdth-abbr" title="attr-tdth-abbr"><code>abbr</code></dfn> on <code><a href="tabular-data.html#the-td-element">td</a></code> and <code><a href="tabular-data.html#the-th-element">th</a></code> elements</dt>
<dd><p>Use text that begins in an unambiguous and terse manner, and include any more elaborate text after that. The <code title="attr-title"><a href="elements.html#the-title-attribute">title</a></code> attribute can also be useful in including more detailed text, so that the cell's contents can be made terse.</p>
</dd><dt><dfn id="attr-tdth-axis" title="attr-tdth-axis"><code>axis</code></dfn> on <code><a href="tabular-data.html#the-td-element">td</a></code> and <code><a href="tabular-data.html#the-th-element">th</a></code> elements</dt>
<dd><p>Use the <code title="attr-th-scope"><a href="tabular-data.html#attr-th-scope">scope</a></code> attribute on the relevant <code><a href="tabular-data.html#the-th-element">th</a></code>.</p>
</dd><dt><dfn id="attr-datasrc" title="attr-datasrc"><code>datasrc</code></dfn> on <code><a href="text-level-semantics.html#the-a-element">a</a></code>, <code><a href="#the-applet-element">applet</a></code>, <code><a href="the-button-element.html#the-button-element">button</a></code>, <code><a href="grouping-content.html#the-div-element">div</a></code>, <code><a href="#frame">frame</a></code>, <code><a href="the-iframe-element.html#the-iframe-element">iframe</a></code>, <code><a href="embedded-content-1.html#the-img-element">img</a></code>, <code><a href="the-input-element.html#the-input-element">input</a></code>, <code><a href="forms.html#the-label-element">label</a></code>, <code><a href="forms.html#the-legend-element">legend</a></code>, <code><a href="#the-marquee-element">marquee</a></code>, <code><a href="the-iframe-element.html#the-object-element">object</a></code>, <code><a href="the-button-element.html#the-option-element">option</a></code>, <code><a href="the-button-element.html#the-select-element">select</a></code>, <code><a href="text-level-semantics.html#the-span-element">span</a></code>, <code><a href="tabular-data.html#the-table-element">table</a></code>, and <code><a href="the-button-element.html#the-textarea-element">textarea</a></code> elements</dt>
<dt><dfn id="attr-datafld" title="attr-datafld"><code>datafld</code></dfn> on <code><a href="text-level-semantics.html#the-a-element">a</a></code>, <code><a href="#the-applet-element">applet</a></code>, <code><a href="the-button-element.html#the-button-element">button</a></code>, <code><a href="grouping-content.html#the-div-element">div</a></code>, <code><a href="forms.html#the-fieldset-element">fieldset</a></code>, <code><a href="#frame">frame</a></code>, <code><a href="the-iframe-element.html#the-iframe-element">iframe</a></code>, <code><a href="embedded-content-1.html#the-img-element">img</a></code>, <code><a href="the-input-element.html#the-input-element">input</a></code>, <code><a href="forms.html#the-label-element">label</a></code>, <code><a href="forms.html#the-legend-element">legend</a></code>, <code><a href="#the-marquee-element">marquee</a></code>, <code><a href="the-iframe-element.html#the-object-element">object</a></code>, <code><a href="the-iframe-element.html#the-param-element">param</a></code>, <code><a href="the-button-element.html#the-select-element">select</a></code>, <code><a href="text-level-semantics.html#the-span-element">span</a></code>, and <code><a href="the-button-element.html#the-textarea-element">textarea</a></code> elements</dt>
<dt><dfn id="attr-dataformatas" title="attr-dataformatas"><code>dataformatas</code></dfn> on <code><a href="the-button-element.html#the-button-element">button</a></code>, <code><a href="grouping-content.html#the-div-element">div</a></code>, <code><a href="the-input-element.html#the-input-element">input</a></code>, <code><a href="forms.html#the-label-element">label</a></code>, <code><a href="forms.html#the-legend-element">legend</a></code>, <code><a href="#the-marquee-element">marquee</a></code>, <code><a href="the-iframe-element.html#the-object-element">object</a></code>, <code><a href="the-button-element.html#the-option-element">option</a></code>, <code><a href="the-button-element.html#the-select-element">select</a></code>, <code><a href="text-level-semantics.html#the-span-element">span</a></code>, and <code><a href="tabular-data.html#the-table-element">table</a></code> elements</dt>
<dd><p>Use script and a mechanism such as <code>XMLHttpRequest</code> to populate the page dynamically. <a href="references.html#refsXHR">[XHR]</a></p></dd>
<dt><dfn id="attr-body-alink" title="attr-body-alink"><code>alink</code></dfn> on <code><a href="sections.html#the-body-element">body</a></code> elements</dt>
<dt><dfn id="attr-body-bgcolor" title="attr-body-bgcolor"><code>bgcolor</code></dfn> on <code><a href="sections.html#the-body-element">body</a></code> elements</dt>
<dt><dfn id="attr-body-link" title="attr-body-link"><code>link</code></dfn> on <code><a href="sections.html#the-body-element">body</a></code> elements</dt>
<dt><dfn id="attr-body-marginbottom" title="attr-body-marginbottom"><code>marginbottom</code></dfn> on <code><a href="sections.html#the-body-element">body</a></code> elements</dt>
<dt><dfn id="attr-body-marginheight" title="attr-body-marginheight"><code>marginheight</code></dfn> on <code><a href="sections.html#the-body-element">body</a></code> elements</dt>
<dt><dfn id="attr-body-marginleft" title="attr-body-marginleft"><code>marginleft</code></dfn> on <code><a href="sections.html#the-body-element">body</a></code> elements</dt>
<dt><dfn id="attr-body-marginright" title="attr-body-marginright"><code>marginright</code></dfn> on <code><a href="sections.html#the-body-element">body</a></code> elements</dt>
<dt><dfn id="attr-body-margintop" title="attr-body-margintop"><code>margintop</code></dfn> on <code><a href="sections.html#the-body-element">body</a></code> elements</dt>
<dt><dfn id="attr-body-marginwidth" title="attr-body-marginwidth"><code>marginwidth</code></dfn> on <code><a href="sections.html#the-body-element">body</a></code> elements</dt>
<dt><dfn id="attr-body-text" title="attr-body-text"><code>text</code></dfn> on <code><a href="sections.html#the-body-element">body</a></code> elements</dt>
<dt><dfn id="attr-body-vlink" title="attr-body-vlink"><code>vlink</code></dfn> on <code><a href="sections.html#the-body-element">body</a></code> elements</dt>
<dt><dfn id="attr-br-clear" title="attr-br-clear"><code>clear</code></dfn> on <code><a href="text-level-semantics.html#the-br-element">br</a></code> elements</dt>
<dt><dfn id="attr-caption-align" title="attr-caption-align"><code>align</code></dfn> on <code><a href="tabular-data.html#the-caption-element">caption</a></code> elements</dt>
<dt><dfn id="attr-col-align" title="attr-col-align"><code>align</code></dfn> on <code><a href="tabular-data.html#the-col-element">col</a></code> elements</dt>
<dt><dfn id="attr-col-char" title="attr-col-char"><code>char</code></dfn> on <code><a href="tabular-data.html#the-col-element">col</a></code> elements</dt>
<dt><dfn id="attr-col-charoff" title="attr-col-charoff"><code>charoff</code></dfn> on <code><a href="tabular-data.html#the-col-element">col</a></code> elements</dt>
<dt><dfn id="attr-col-valign" title="attr-col-valign"><code>valign</code></dfn> on <code><a href="tabular-data.html#the-col-element">col</a></code> elements</dt>
<dt><dfn id="attr-col-width" title="attr-col-width"><code>width</code></dfn> on <code><a href="tabular-data.html#the-col-element">col</a></code> elements</dt>
<dt><dfn id="attr-div-align" title="attr-div-align"><code>align</code></dfn> on <code><a href="grouping-content.html#the-div-element">div</a></code> elements</dt>
<dt><dfn id="attr-dl-compact" title="attr-dl-compact"><code>compact</code></dfn> on <code><a href="grouping-content.html#the-dl-element">dl</a></code> elements</dt>
<dt><dfn id="attr-embed-align" title="attr-embed-align"><code>align</code></dfn> on <code><a href="the-iframe-element.html#the-embed-element">embed</a></code> elements</dt>
<dt><dfn id="attr-embed-hspace" title="attr-embed-hspace"><code>hspace</code></dfn> on <code><a href="the-iframe-element.html#the-embed-element">embed</a></code> elements</dt>
<dt><dfn id="attr-embed-vspace" title="attr-embed-vspace"><code>vspace</code></dfn> on <code><a href="the-iframe-element.html#the-embed-element">embed</a></code> elements</dt>
<dt><dfn id="attr-hr-align" title="attr-hr-align"><code>align</code></dfn> on <code><a href="grouping-content.html#the-hr-element">hr</a></code> elements</dt>
<dt><dfn id="attr-hr-color" title="attr-hr-color"><code>color</code></dfn> on <code><a href="grouping-content.html#the-hr-element">hr</a></code> elements</dt>
<dt><dfn id="attr-hr-noshade" title="attr-hr-noshade"><code>noshade</code></dfn> on <code><a href="grouping-content.html#the-hr-element">hr</a></code> elements</dt>
<dt><dfn id="attr-hr-size" title="attr-hr-size"><code>size</code></dfn> on <code><a href="grouping-content.html#the-hr-element">hr</a></code> elements</dt>
<dt><dfn id="attr-hr-width" title="attr-hr-width"><code>width</code></dfn> on <code><a href="grouping-content.html#the-hr-element">hr</a></code> elements</dt>
<dt><dfn id="attr-hx-align" title="attr-hx-align"><code>align</code></dfn> on <code><a href="sections.html#the-h1-h2-h3-h4-h5-and-h6-elements">h1</a></code>&#8212;<code><a href="sections.html#the-h1-h2-h3-h4-h5-and-h6-elements">h6</a></code> elements</dt>
<dt><dfn id="attr-iframe-align" title="attr-iframe-align"><code>align</code></dfn> on <code><a href="the-iframe-element.html#the-iframe-element">iframe</a></code> elements</dt>
<dt><dfn id="attr-iframe-allowtransparency" title="attr-iframe-allowtransparency"><code>allowtransparency</code></dfn> on <code><a href="the-iframe-element.html#the-iframe-element">iframe</a></code> elements</dt>
<dt><dfn id="attr-iframe-frameborder" title="attr-iframe-frameborder"><code>frameborder</code></dfn> on <code><a href="the-iframe-element.html#the-iframe-element">iframe</a></code> elements</dt>
<dt><dfn id="attr-iframe-hspace" title="attr-iframe-hspace"><code>hspace</code></dfn> on <code><a href="the-iframe-element.html#the-iframe-element">iframe</a></code> elements</dt>
<dt><dfn id="attr-iframe-marginheight" title="attr-iframe-marginheight"><code>marginheight</code></dfn> on <code><a href="the-iframe-element.html#the-iframe-element">iframe</a></code> elements</dt>
<dt><dfn id="attr-iframe-marginwidth" title="attr-iframe-marginwidth"><code>marginwidth</code></dfn> on <code><a href="the-iframe-element.html#the-iframe-element">iframe</a></code> elements</dt>
<dt><dfn id="attr-iframe-scrolling" title="attr-iframe-scrolling"><code>scrolling</code></dfn> on <code><a href="the-iframe-element.html#the-iframe-element">iframe</a></code> elements</dt>
<dt><dfn id="attr-iframe-vspace" title="attr-iframe-vspace"><code>vspace</code></dfn> on <code><a href="the-iframe-element.html#the-iframe-element">iframe</a></code> elements</dt>
<dt><dfn id="attr-input-align" title="attr-input-align"><code>align</code></dfn> on <code><a href="the-input-element.html#the-input-element">input</a></code> elements</dt>
<dt><dfn id="attr-input-hspace" title="attr-input-hspace"><code>hspace</code></dfn> on <code><a href="the-input-element.html#the-input-element">input</a></code> elements</dt>
<dt><dfn id="attr-input-vspace" title="attr-input-vspace"><code>vspace</code></dfn> on <code><a href="the-input-element.html#the-input-element">input</a></code> elements</dt>
<dt><dfn id="attr-img-align" title="attr-img-align"><code>align</code></dfn> on <code><a href="embedded-content-1.html#the-img-element">img</a></code> elements</dt>
<dt><dfn id="attr-img-border" title="attr-img-border"><code>border</code></dfn> on <code><a href="embedded-content-1.html#the-img-element">img</a></code> elements (except as noted in the previous section)</dt>
<dt><dfn id="attr-img-hspace" title="attr-img-hspace"><code>hspace</code></dfn> on <code><a href="embedded-content-1.html#the-img-element">img</a></code> elements</dt>
<dt><dfn id="attr-img-vspace" title="attr-img-vspace"><code>vspace</code></dfn> on <code><a href="embedded-content-1.html#the-img-element">img</a></code> elements</dt>
<dt><dfn id="attr-legend-align" title="attr-legend-align"><code>align</code></dfn> on <code><a href="forms.html#the-legend-element">legend</a></code> elements</dt>
<dt><dfn id="attr-li-type" title="attr-li-type"><code>type</code></dfn> on <code><a href="grouping-content.html#the-li-element">li</a></code> elements</dt>
<dt><dfn id="attr-menu-compact" title="attr-menu-compact"><code>compact</code></dfn> on <code><a href="interactive-elements.html#the-menu-element">menu</a></code> elements</dt>
<dt><dfn id="attr-object-align" title="attr-object-align"><code>align</code></dfn> on <code><a href="the-iframe-element.html#the-object-element">object</a></code> elements</dt>
<dt><dfn id="attr-object-border" title="attr-object-border"><code>border</code></dfn> on <code><a href="the-iframe-element.html#the-object-element">object</a></code> elements</dt>
<dt><dfn id="attr-object-hspace" title="attr-object-hspace"><code>hspace</code></dfn> on <code><a href="the-iframe-element.html#the-object-element">object</a></code> elements</dt>
<dt><dfn id="attr-object-vspace" title="attr-object-vspace"><code>vspace</code></dfn> on <code><a href="the-iframe-element.html#the-object-element">object</a></code> elements</dt>
<dt><dfn id="attr-ol-compact" title="attr-ol-compact"><code>compact</code></dfn> on <code><a href="grouping-content.html#the-ol-element">ol</a></code> elements</dt>
<dt><dfn id="attr-p-align" title="attr-p-align"><code>align</code></dfn> on <code><a href="grouping-content.html#the-p-element">p</a></code> elements</dt>
<dt><dfn id="attr-pre-width" title="attr-pre-width"><code>width</code></dfn> on <code><a href="grouping-content.html#the-pre-element">pre</a></code> elements</dt>
<dt><dfn id="attr-table-align" title="attr-table-align"><code>align</code></dfn> on <code><a href="tabular-data.html#the-table-element">table</a></code> elements</dt>
<dt><dfn id="attr-table-bgcolor" title="attr-table-bgcolor"><code>bgcolor</code></dfn> on <code><a href="tabular-data.html#the-table-element">table</a></code> elements</dt>
<dt><dfn id="attr-table-cellpadding" title="attr-table-cellpadding"><code>cellpadding</code></dfn> on <code><a href="tabular-data.html#the-table-element">table</a></code> elements</dt>
<dt><dfn id="attr-table-cellspacing" title="attr-table-cellspacing"><code>cellspacing</code></dfn> on <code><a href="tabular-data.html#the-table-element">table</a></code> elements</dt>
<dt><dfn id="attr-table-frame" title="attr-table-frame"><code>frame</code></dfn> on <code><a href="tabular-data.html#the-table-element">table</a></code> elements</dt>
<dt><dfn id="attr-table-rules" title="attr-table-rules"><code>rules</code></dfn> on <code><a href="tabular-data.html#the-table-element">table</a></code> elements</dt>
<dt><dfn id="attr-table-width" title="attr-table-width"><code>width</code></dfn> on <code><a href="tabular-data.html#the-table-element">table</a></code> elements</dt>
<dt><dfn id="attr-tbody-align" title="attr-tbody-align"><code>align</code></dfn> on <code><a href="tabular-data.html#the-tbody-element">tbody</a></code>, <code><a href="tabular-data.html#the-thead-element">thead</a></code>, and <code><a href="tabular-data.html#the-tfoot-element">tfoot</a></code> elements</dt>
<dt><dfn id="attr-tbody-char" title="attr-tbody-char"><code>char</code></dfn> on <code><a href="tabular-data.html#the-tbody-element">tbody</a></code>, <code><a href="tabular-data.html#the-thead-element">thead</a></code>, and <code><a href="tabular-data.html#the-tfoot-element">tfoot</a></code> elements</dt>
<dt><dfn id="attr-tbody-charoff" title="attr-tbody-charoff"><code>charoff</code></dfn> on <code><a href="tabular-data.html#the-tbody-element">tbody</a></code>, <code><a href="tabular-data.html#the-thead-element">thead</a></code>, and <code><a href="tabular-data.html#the-tfoot-element">tfoot</a></code> elements</dt>
<dt><dfn id="attr-tbody-valign" title="attr-tbody-vAlign"><code>valign</code></dfn> on <code><a href="tabular-data.html#the-tbody-element">tbody</a></code>, <code><a href="tabular-data.html#the-thead-element">thead</a></code>, and <code><a href="tabular-data.html#the-tfoot-element">tfoot</a></code> elements</dt>
<dt><dfn id="attr-tdth-align" title="attr-tdth-align"><code>align</code></dfn> on <code><a href="tabular-data.html#the-td-element">td</a></code> and <code><a href="tabular-data.html#the-th-element">th</a></code> elements</dt>
<dt><dfn id="attr-tdth-bgcolor" title="attr-tdth-bgcolor"><code>bgcolor</code></dfn> on <code><a href="tabular-data.html#the-td-element">td</a></code> and <code><a href="tabular-data.html#the-th-element">th</a></code> elements</dt>
<dt><dfn id="attr-tdth-char" title="attr-tdth-char"><code>char</code></dfn> on <code><a href="tabular-data.html#the-td-element">td</a></code> and <code><a href="tabular-data.html#the-th-element">th</a></code> elements</dt>
<dt><dfn id="attr-tdth-charoff" title="attr-tdth-charoff"><code>charoff</code></dfn> on <code><a href="tabular-data.html#the-td-element">td</a></code> and <code><a href="tabular-data.html#the-th-element">th</a></code> elements</dt>
<dt><dfn id="attr-tdth-height" title="attr-tdth-height"><code>height</code></dfn> on <code><a href="tabular-data.html#the-td-element">td</a></code> and <code><a href="tabular-data.html#the-th-element">th</a></code> elements</dt>
<dt><dfn id="attr-tdth-nowrap" title="attr-tdth-nowrap"><code>nowrap</code></dfn> on <code><a href="tabular-data.html#the-td-element">td</a></code> and <code><a href="tabular-data.html#the-th-element">th</a></code> elements</dt>
<dt><dfn id="attr-tdth-valign" title="attr-tdth-valign"><code>valign</code></dfn> on <code><a href="tabular-data.html#the-td-element">td</a></code> and <code><a href="tabular-data.html#the-th-element">th</a></code> elements</dt>
<dt><dfn id="attr-tdth-width" title="attr-tdth-width"><code>width</code></dfn> on <code><a href="tabular-data.html#the-td-element">td</a></code> and <code><a href="tabular-data.html#the-th-element">th</a></code> elements</dt>
<dt><dfn id="attr-tr-align" title="attr-tr-align"><code>align</code></dfn> on <code><a href="tabular-data.html#the-tr-element">tr</a></code> elements</dt>
<dt><dfn id="attr-tr-bgcolor" title="attr-tr-bgcolor"><code>bgcolor</code></dfn> on <code><a href="tabular-data.html#the-tr-element">tr</a></code> elements</dt>
<dt><dfn id="attr-tr-char" title="attr-tr-char"><code>char</code></dfn> on <code><a href="tabular-data.html#the-tr-element">tr</a></code> elements</dt>
<dt><dfn id="attr-tr-charoff" title="attr-tr-charoff"><code>charoff</code></dfn> on <code><a href="tabular-data.html#the-tr-element">tr</a></code> elements</dt>
<dt><dfn id="attr-tr-valign" title="attr-tr-valign"><code>valign</code></dfn> on <code><a href="tabular-data.html#the-tr-element">tr</a></code> elements</dt>
<dt><dfn id="attr-ul-compact" title="attr-ul-compact"><code>compact</code></dfn> on <code><a href="grouping-content.html#the-ul-element">ul</a></code> elements</dt>
<dt><dfn id="attr-ul-type" title="attr-ul-type"><code>type</code></dfn> on <code><a href="grouping-content.html#the-ul-element">ul</a></code> elements</dt>
<dt><dfn id="attr-background" title="attr-background"><code>background</code></dfn> on <code><a href="sections.html#the-body-element">body</a></code>, <code><a href="tabular-data.html#the-table-element">table</a></code>, <code><a href="tabular-data.html#the-thead-element">thead</a></code>, <code><a href="tabular-data.html#the-tbody-element">tbody</a></code>, <code><a href="tabular-data.html#the-tfoot-element">tfoot</a></code>, <code><a href="tabular-data.html#the-tr-element">tr</a></code>, <code><a href="tabular-data.html#the-td-element">td</a></code>, and <code><a href="tabular-data.html#the-th-element">th</a></code> elements</dt>
<dd><p>Use CSS instead.</p></dd>
</dl><hr><p>The <code title="attr-table-border"><a href="tabular-data.html#attr-table-border">border</a></code> attribute on
the <code><a href="tabular-data.html#the-table-element">table</a></code> element can be used to provide basic fallback
styling for the purpose of making tables legible in browsing
environments where CSS support is limited or absent, such as
text-based browsers, WYSIWYG editors, and in situations where CSS
support is disabled or the style sheet is lost. Only the empty
string and the value "<code title="">1</code>" may be used as <code title="attr-table-border"><a href="tabular-data.html#attr-table-border">border</a></code> values for this purpose.
Other values are considered obsolete. To regulate the thickness of
such borders, authors should instead use CSS.</p><div class="impl">
<h3 id="requirements-for-implementations"><span class="secno">11.3 </span>Requirements for implementations</h3>
<h4 id="the-applet-element"><span class="secno">11.3.1 </span>The <dfn><code>applet</code></dfn> element</h4>
<p>The <code><a href="#the-applet-element">applet</a></code> element is a Java-specific variant of the
<code><a href="the-iframe-element.html#the-embed-element">embed</a></code> element. The <code><a href="#the-applet-element">applet</a></code> element is now
obsoleted so that all extension frameworks (Java, .NET, Flash, etc)
are handled in a consistent manner.</p>
<p id="sandboxPluginApplet">When the element is still in the
<a href="parsing.html#stack-of-open-elements">stack of open elements</a> of an <a href="parsing.html#html-parser">HTML parser</a>
or <a href="the-xhtml-syntax.html#xml-parser">XML parser</a>, and when the element is not <a href="infrastructure.html#in-a-document">in a
<code>Document</code></a>, and when the element's document is not
<a href="browsers.html#fully-active">fully active</a>, and when the element's
<code><a href="infrastructure.html#document">Document</a></code>'s <a href="browsers.html#browsing-context">browsing context</a> had its
<a href="the-iframe-element.html#sandboxed-plugins-browsing-context-flag">sandboxed plugins browsing context flag</a> when that
<code><a href="infrastructure.html#document">Document</a></code> was created, and when the element's
<code><a href="infrastructure.html#document">Document</a></code> was parsed from a resource whose <a href="fetching-resources.html#content-type-sniffing-0" title="Content-Type sniffing">sniffed type</a> as determined
during <a href="history.html#navigate" title="navigate">navigation</a> is
<code><a href="iana.html#text-html-sandboxed">text/html-sandboxed</a></code>, and when the element has an
ancestor <a href="the-iframe-element.html#media-element">media element</a>, and when the element has an
ancestor <code><a href="the-iframe-element.html#the-object-element">object</a></code> element that is <em>not</em> showing
its <a href="content-models.html#fallback-content">fallback content</a>, and when no Java Language runtime
<a href="infrastructure.html#plugin">plugin</a> is available, and when one <em>is</em> available
but it is disabled, the element <a href="rendering.html#represents">represents</a> its
contents.</p>
<p>Otherwise, the user agent should instantiate a Java Language
runtime <a href="infrastructure.html#plugin">plugin</a>, 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 <a href="the-iframe-element.html#concept-param-parameter" title="concept-param-parameter">parameters</a> given by
<code><a href="the-iframe-element.html#the-param-element">param</a></code> elements that are children of the
<code><a href="#the-applet-element">applet</a></code> element, in <a href="infrastructure.html#tree-order">tree order</a>, to the
<a href="infrastructure.html#plugin">plugin</a> used. If the <a href="infrastructure.html#plugin">plugin</a> supports a
scriptable interface, the <code><a href="#htmlappletelement">HTMLAppletElement</a></code> object
representing the element should expose that interface. The
<code><a href="#the-applet-element">applet</a></code> element <a href="rendering.html#represents">represents</a> the
<a href="infrastructure.html#plugin">plugin</a>.</p>
<p class="note">The <code><a href="#the-applet-element">applet</a></code> 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.</p>
<p>The <code><a href="#the-applet-element">applet</a></code> element must implement the
<code><a href="#htmlappletelement">HTMLAppletElement</a></code> interface.</p>
<pre class="idl">interface <dfn id="htmlappletelement">HTMLAppletElement</dfn> : <a href="elements.html#htmlelement">HTMLElement</a> {
attribute DOMString <a href="#dom-applet-align" title="dom-applet-align">align</a>;
attribute DOMString <a href="#dom-applet-alt" title="dom-applet-alt">alt</a>;
attribute DOMString <a href="#dom-applet-archive" title="dom-applet-archive">archive</a>;
attribute DOMString <a href="#dom-applet-code" title="dom-applet-code">code</a>;
attribute DOMString <a href="#dom-applet-codebase" title="dom-applet-codeBase">codeBase</a>;
attribute DOMString <a href="#dom-applet-height" title="dom-applet-height">height</a>;
attribute unsigned long <a href="#dom-applet-hspace" title="dom-applet-hspace">hspace</a>;
attribute DOMString <a href="#dom-applet-name" title="dom-applet-name">name</a>;
attribute DOMString _<a href="#dom-applet-object" title="dom-applet-object">object</a>; // the underscore is not part of the identifier
attribute unsigned long <a href="#dom-applet-vspace" title="dom-applet-vspace">vspace</a>;
attribute DOMString <a href="#dom-applet-width" title="dom-applet-width">width</a>;
};</pre>
<p>The <dfn id="dom-applet-align" title="dom-applet-align"><code>align</code></dfn>, <dfn id="dom-applet-alt" title="dom-applet-alt"><code>alt</code></dfn>, <dfn id="dom-applet-archive" title="dom-applet-archive"><code>archive</code></dfn>, <dfn id="dom-applet-code" title="dom-applet-code"><code>code</code></dfn>, <dfn id="dom-applet-height" title="dom-applet-height"><code>height</code></dfn>, <dfn id="dom-applet-hspace" title="dom-applet-hspace"><code>hspace</code></dfn>, <dfn id="dom-applet-name" title="dom-applet-name"><code>name</code></dfn>, <dfn id="dom-applet-object" title="dom-applet-object"><code>object</code></dfn>, <dfn id="dom-applet-vspace" title="dom-applet-vspace"><code>vspace</code></dfn>, and <dfn id="dom-applet-width" title="dom-applet-width"><code>width</code></dfn> IDL attributes
must <a href="common-dom-interfaces.html#reflect">reflect</a> the respective content attributes of the
same name. For the purposes of reflection, the <code><a href="#the-applet-element">applet</a></code>
element's <code title="attr-applet-object">object</code> content
attribute is defined as containing a <a href="urls.html#url">URL</a>.</p>
<p>The <dfn id="dom-applet-codebase" title="dom-applet-codeBase"><code>codeBase</code></dfn>
IDL attribute must <a href="common-dom-interfaces.html#reflect">reflect</a> the <code title="attr-applet-codebase">codebase</code> content attribute,
which for the purposes of reflection is defined as containing a
<a href="urls.html#url">URL</a>.</p>
<h4 id="the-marquee-element"><span class="secno">11.3.2 </span>The <dfn><code>marquee</code></dfn> element</h4>
<p>The <code><a href="#the-marquee-element">marquee</a></code> element is a presentational element that
animates content. CSS transitions and animations are a more
appropriate mechanism.</p>
<p>The <a href="webappapis.html#task-source">task source</a> for tasks mentioned in this section
is the <a href="webappapis.html#dom-manipulation-task-source">DOM manipulation task source</a>.</p>
<p>The <code><a href="#the-marquee-element">marquee</a></code> element must implement the
<code><a href="#htmlmarqueeelement">HTMLMarqueeElement</a></code> interface.</p>
<pre class="idl">interface <dfn id="htmlmarqueeelement">HTMLMarqueeElement</dfn> : <a href="elements.html#htmlelement">HTMLElement</a> {
attribute DOMString <a href="#dom-marquee-behavior" title="dom-marquee-behavior">behavior</a>;
attribute DOMString <a href="#dom-marquee-bgcolor" title="dom-marquee-bgColor">bgColor</a>;
attribute DOMString <a href="#dom-marquee-direction" title="dom-marquee-direction">direction</a>;
attribute DOMString <a href="#dom-marquee-height" title="dom-marquee-height">height</a>;
attribute unsigned long <a href="#dom-marquee-hspace" title="dom-marquee-hspace">hspace</a>;
attribute long <a href="#dom-marquee-loop" title="dom-marquee-loop">loop</a>;
attribute unsigned long <a href="#dom-marquee-scrollamount" title="dom-marquee-scrollamount">scrollAmount</a>;
attribute unsigned long <a href="#dom-marquee-scrolldelay" title="dom-marquee-scrollDelay">scrollDelay</a>;
attribute boolean <a href="#dom-marquee-truespeed" title="dom-marquee-trueSpeed">trueSpeed</a>;
attribute unsigned long <a href="#dom-marquee-vspace" title="dom-marquee-vspace">vspace</a>;
attribute DOMString <a href="#dom-marquee-width" title="dom-marquee-width">width</a>;
attribute <a href="webappapis.html#function">Function</a> <a href="#handler-marquee-onbounce" title="handler-marquee-onbounce">onbounce</a>;
attribute <a href="webappapis.html#function">Function</a> <a href="#handler-marquee-onfinish" title="handler-marquee-onfinish">onfinish</a>;
attribute <a href="webappapis.html#function">Function</a> <a href="#handler-marquee-onstart" title="handler-marquee-onstart">onstart</a>;
void <a href="#dom-marquee-start" title="dom-marquee-start">start</a>();
void <a href="#dom-marquee-stop" title="dom-marquee-stop">stop</a>();
};</pre>
<p>A <code><a href="#the-marquee-element">marquee</a></code> element can be <dfn id="concept-marquee-on" title="concept-marquee-on">turned on</dfn> or <dfn id="concept-marquee-off" title="concept-marquee-off">turned off</dfn>. When it is created, it
is <a href="#concept-marquee-on" title="concept-marquee-on">turned on</a>.</p>
<p>When the <dfn id="dom-marquee-start" title="dom-marquee-start"><code>start()</code></dfn> method is
called, the <code><a href="#the-marquee-element">marquee</a></code> element must be <a href="#concept-marquee-on" title="concept-marquee-on">turned on</a>.</p>
<p>When the <dfn id="dom-marquee-stop" title="dom-marquee-stop"><code>stop()</code></dfn>
method is called, the <code><a href="#the-marquee-element">marquee</a></code> element must be <a href="#concept-marquee-off" title="concept-marquee-off">turned off</a>.</p>
<p>When a <code><a href="#the-marquee-element">marquee</a></code> element is created, the user agent
must <a href="webappapis.html#queue-a-task">queue a task</a> to <a href="webappapis.html#fire-a-simple-event">fire a simple event</a>
named <code title="event-start">start</code> at the element.</p>
<hr><p>The <dfn id="attr-marquee-behavior" title="attr-marquee-behavior"><code>behavior</code></dfn> content
attribute on <code><a href="#the-marquee-element">marquee</a></code> elements is an <a href="common-microsyntaxes.html#enumerated-attribute">enumerated
attribute</a> with the following keywords (all
non-conforming):</p>
<table><thead><tr><th>Keyword
</th><th>State
</th></tr></thead><tbody><tr><td><code title="">scroll</code>
</td><td><dfn id="attr-marquee-behavior-scroll" title="attr-marquee-behavior-scroll">scroll</dfn>
</td></tr><tr><td><code title="">slide</code>
</td><td><dfn id="attr-marquee-behavior-slide" title="attr-marquee-behavior-slide">slide</dfn>
</td></tr><tr><td><code title="">alternate</code>
</td><td><dfn id="attr-marquee-behavior-alternate" title="attr-marquee-behavior-alternate">alternate</dfn>
</td></tr></tbody></table><p>The <i>missing value default</i> is the <a href="#attr-marquee-behavior-scroll" title="attr-marquee-behavior-scroll">scroll</a> state.</p>
<hr><p>The <dfn id="attr-marquee-direction" title="attr-marquee-direction"><code>direction</code></dfn> content
attribute on <code><a href="#the-marquee-element">marquee</a></code> elements is an <a href="common-microsyntaxes.html#enumerated-attribute">enumerated
attribute</a> with the following keywords (all
non-conforming):</p>
<table><thead><tr><th>Keyword
</th><th>State
</th></tr></thead><tbody><tr><td><code title="">left</code>
</td><td><dfn id="attr-marquee-direction-left" title="attr-marquee-direction-left">left</dfn>
</td></tr><tr><td><code title="">right</code>
</td><td><dfn id="attr-marquee-direction-right" title="attr-marquee-direction-right">right</dfn>
</td></tr><tr><td><code title="">up</code>
</td><td><dfn id="attr-marquee-direction-up" title="attr-marquee-direction-up">up</dfn>
</td></tr><tr><td><code title="">down</code>
</td><td><dfn id="attr-marquee-direction-down" title="attr-marquee-direction-down">down</dfn>
</td></tr></tbody></table><p>The <i>missing value default</i> is the <a href="#attr-marquee-direction-left" title="attr-marquee-direction-left">left</a> state.</p>
<hr><p>The <dfn id="attr-marquee-truespeed" title="attr-marquee-truespeed"><code>truespeed</code></dfn> content
attribute on <code><a href="#the-marquee-element">marquee</a></code> elements is a <a href="common-microsyntaxes.html#boolean-attribute">boolean
attribute</a>.</p>
<hr><p>A <code><a href="#the-marquee-element">marquee</a></code> element has a <dfn id="marquee-scroll-interval">marquee scroll
interval</dfn>, which is obtained as follows:</p>
<ol><li><p>If the element has a <code title="attr-marquee-scrolldelay">scrolldelay</code> attribute, and
parsing its value using the <a href="common-microsyntaxes.html#rules-for-parsing-non-negative-integers">rules for parsing non-negative
integers</a> does not return an error, then let <var title="">delay</var> be the parsed value. Otherwise, let <var title="">delay</var> be 85.</p></li>
<li><p>If the element does not have a <code title="attr-marquee-truespeed"><a href="#attr-marquee-truespeed">truespeed</a></code> attribute, and the
<var title="">delay</var> value is less than 60, then let <var title="">delay</var> be 60 instead.</p></li>
<li><p>The <a href="#marquee-scroll-interval">marquee scroll interval</a> is <var title="">delay</var>, interpreted in milliseconds.</p></li>
</ol><hr><p>A <code><a href="#the-marquee-element">marquee</a></code> element has a <dfn id="marquee-scroll-distance">marquee scroll
distance</dfn>, which, if the element has a <code title="attr-marquee-scrollamount">scrollamount</code> attribute, and
parsing its value using the <a href="common-microsyntaxes.html#rules-for-parsing-non-negative-integers">rules for parsing non-negative
integers</a> does not return an error, is the parsed value
interpreted in CSS pixels, and otherwise is 6 CSS pixels.</p>
<hr><p>A <code><a href="#the-marquee-element">marquee</a></code> element has a <dfn id="marquee-loop-count">marquee loop
count</dfn>, which, if the element has a <code title="attr-marquee-loop">loop</code> attribute, and parsing its
value using the <a href="common-microsyntaxes.html#rules-for-parsing-integers">rules for parsing integers</a> does not
return an error or a number less than 1, is the parsed value, and
otherwise is &#8722;1.</p>
<p>The <dfn id="dom-marquee-loop" title="dom-marquee-loop"><code>loop</code></dfn> IDL
attribute, on getting, must return the element's <a href="#marquee-loop-count">marquee loop
count</a>; and on setting, if the new value is different than the
element's <a href="#marquee-loop-count">marquee loop count</a> and either greater than
zero or equal to &#8722;1, must set the element's <code title="attr-marquee-loop">loop</code> content attribute (adding it
if necessary) to the <a href="common-microsyntaxes.html#valid-integer">valid integer</a> that represents the
new value. (Other values are ignored.)</p>
<p>A <code><a href="#the-marquee-element">marquee</a></code> element also has a <dfn id="marquee-current-loop-index">marquee current
loop index</dfn>, which is zero when the element is created.</p>
<p>The rendering layer will occasionally <dfn id="increment-the-marquee-current-loop-index">increment the marquee
current loop index</dfn>, which must cause the following steps to be
run:</p>
<ol><li><p>If the <a href="#marquee-loop-count">marquee loop count</a> is &#8722;1, then
abort these steps.</p>
</li><li><p>Increment the <a href="#marquee-current-loop-index">marquee current loop index</a> by
one.</p></li>
<li>
<p>If the <a href="#marquee-current-loop-index">marquee current loop index</a> is now equal to
or greater than the element's <a href="#marquee-loop-count">marquee loop count</a>,
<a href="#concept-marquee-off" title="concept-marquee-off">turn off</a> the
<code><a href="#the-marquee-element">marquee</a></code> element and <a href="webappapis.html#queue-a-task">queue a task</a> to
<a href="webappapis.html#fire-a-simple-event">fire a simple event</a> named <code title="event-finish">finish</code> at the <code><a href="#the-marquee-element">marquee</a></code>
element.</p>
<p>Otherwise, if the <code title="attr-marquee-behavior"><a href="#attr-marquee-behavior">behavior</a></code> attribute is in the
<a href="#attr-marquee-behavior-alternate" title="attr-marquee-behavior-alternate">alternate</a>
state, then <a href="webappapis.html#queue-a-task">queue a task</a> to <a href="webappapis.html#fire-a-simple-event">fire a simple
event</a> named <code title="event-bounce">bounce</code> at
the <code><a href="#the-marquee-element">marquee</a></code> element.</p>
<p>Otherwise, <a href="webappapis.html#queue-a-task">queue a task</a> to <a href="webappapis.html#fire-a-simple-event">fire a simple
event</a> named <code title="event-start">start</code> at the
<code><a href="#the-marquee-element">marquee</a></code> element.</p>
</li>
</ol><hr><p>The following are the <a href="webappapis.html#event-handlers">event handlers</a> (and their
corresponding <a href="webappapis.html#event-handler-event-type" title="event handler event type">event handler
event types</a>) that must be supported, as content and IDL
attributes, by <code><a href="#the-marquee-element">marquee</a></code> elements:</p>
<table><thead><tr><th><a href="webappapis.html#event-handlers" title="event handlers">Event handler</a> </th><th><a href="webappapis.html#event-handler-event-type">Event handler event type</a>
</th></tr></thead><tbody><tr><td><dfn id="handler-marquee-onbounce" title="handler-marquee-onbounce"><code>onbounce</code></dfn> </td><td> <code title="event-bounce">bounce</code>
</td></tr><tr><td><dfn id="handler-marquee-onfinish" title="handler-marquee-onfinish"><code>onfinish</code></dfn> </td><td> <code title="event-finish">finish</code>
</td></tr><tr><td><dfn id="handler-marquee-onstart" title="handler-marquee-onstart"><code>onstart</code></dfn> </td><td> <code title="event-start">start</code>
</td></tr></tbody></table><hr><p>The <dfn id="dom-marquee-behavior" title="dom-marquee-behavior"><code>behavior</code></dfn>, <dfn id="dom-marquee-direction" title="dom-marquee-direction"><code>direction</code></dfn>, <dfn id="dom-marquee-height" title="dom-marquee-height"><code>height</code></dfn>, <dfn id="dom-marquee-hspace" title="dom-marquee-hspace"><code>hspace</code></dfn>, <dfn id="dom-marquee-vspace" title="dom-marquee-vspace"><code>vspace</code></dfn>, and <dfn id="dom-marquee-width" title="dom-marquee-width"><code>width</code></dfn> IDL attributes
must <a href="common-dom-interfaces.html#reflect">reflect</a> the respective content attributes of the
same name.</p>
<p>The <dfn id="dom-marquee-bgcolor" title="dom-marquee-bgColor"><code>bgColor</code></dfn>
IDL attribute must <a href="common-dom-interfaces.html#reflect">reflect</a> the <code title="attr-marquee-bgcolor">bgcolor</code> content attribute.</p>
<p>The <dfn id="dom-marquee-scrollamount" title="dom-marquee-scrollAmount"><code>scrollAmount</code></dfn>
IDL attribute must <a href="common-dom-interfaces.html#reflect">reflect</a> the <code title="attr-marquee-scrollamount">scrollamount</code> content
attribute. The default value is 6.</p>
<p>The <dfn id="dom-marquee-scrolldelay" title="dom-marquee-scrollDelay"><code>scrollDelay</code></dfn> IDL
attribute must <a href="common-dom-interfaces.html#reflect">reflect</a> the <code title="attr-marquee-scrolldelay">scrolldelay</code> content
attribute. The default value is 85.</p>
<p>The <dfn id="dom-marquee-truespeed" title="dom-marquee-trueSpeed"><code>trueSpeed</code></dfn> IDL
attribute must <a href="common-dom-interfaces.html#reflect">reflect</a> the <code title="attr-marquee-truespeed"><a href="#attr-marquee-truespeed">truespeed</a></code> content
attribute.</p>
<h4 id="frames"><span class="secno">11.3.3 </span>Frames</h4>
<p>The <dfn id="frameset"><code>frameset</code></dfn> element acts as <a href="dom.html#the-body-element-0">the
body element</a> in documents that use frames.</p>
<p>The <code><a href="#frameset">frameset</a></code> element must implement the
<code><a href="#htmlframesetelement">HTMLFrameSetElement</a></code> interface.</p>
<pre class="idl">interface <dfn id="htmlframesetelement">HTMLFrameSetElement</dfn> : <a href="elements.html#htmlelement">HTMLElement</a> {
attribute DOMString <a href="#dom-frameset-cols" title="dom-frameset-cols">cols</a>;
attribute DOMString <a href="#dom-frameset-rows" title="dom-frameset-rows">rows</a>;
attribute <a href="webappapis.html#function">Function</a> <a href="webappapis.html#handler-window-onafterprint" title="handler-window-onafterprint">onafterprint</a>;
attribute <a href="webappapis.html#function">Function</a> <a href="webappapis.html#handler-window-onbeforeprint" title="handler-window-onbeforeprint">onbeforeprint</a>;
attribute <a href="webappapis.html#function">Function</a> <a href="webappapis.html#handler-window-onbeforeunload" title="handler-window-onbeforeunload">onbeforeunload</a>;
attribute <a href="webappapis.html#function">Function</a> <a href="webappapis.html#handler-window-onblur" title="handler-window-onblur">onblur</a>;
attribute <a href="webappapis.html#function">Function</a> <a href="webappapis.html#handler-window-onerror" title="handler-window-onerror">onerror</a>;
attribute <a href="webappapis.html#function">Function</a> <a href="webappapis.html#handler-window-onfocus" title="handler-window-onfocus">onfocus</a>;
attribute <a href="webappapis.html#function">Function</a> <a href="webappapis.html#handler-window-onhashchange" title="handler-window-onhashchange">onhashchange</a>;
attribute <a href="webappapis.html#function">Function</a> <a href="webappapis.html#handler-window-onload" title="handler-window-onload">onload</a>;
attribute <a href="webappapis.html#function">Function</a> <a href="webappapis.html#handler-window-onmessage" title="handler-window-onmessage">onmessage</a>;
attribute <a href="webappapis.html#function">Function</a> <a href="webappapis.html#handler-window-onoffline" title="handler-window-onoffline">onoffline</a>;
attribute <a href="webappapis.html#function">Function</a> <a href="webappapis.html#handler-window-ononline" title="handler-window-ononline">ononline</a>;
attribute <a href="webappapis.html#function">Function</a> <a href="webappapis.html#handler-window-onpagehide" title="handler-window-onpagehide">onpagehide</a>;
attribute <a href="webappapis.html#function">Function</a> <a href="webappapis.html#handler-window-onpageshow" title="handler-window-onpageshow">onpageshow</a>;
attribute <a href="webappapis.html#function">Function</a> <a href="webappapis.html#handler-window-onpopstate" title="handler-window-onpopstate">onpopstate</a>;
attribute <a href="webappapis.html#function">Function</a> <a href="webappapis.html#handler-window-onredo" title="handler-window-onredo">onredo</a>;
attribute <a href="webappapis.html#function">Function</a> <a href="webappapis.html#handler-window-onresize" title="handler-window-onresize">onresize</a>;
attribute <a href="webappapis.html#function">Function</a> <a href="webappapis.html#handler-window-onscroll" title="handler-window-onscroll">onscroll</a>;
attribute <a href="webappapis.html#function">Function</a> <a href="webappapis.html#handler-window-onstorage" title="handler-window-onstorage">onstorage</a>;
attribute <a href="webappapis.html#function">Function</a> <a href="webappapis.html#handler-window-onundo" title="handler-window-onundo">onundo</a>;
attribute <a href="webappapis.html#function">Function</a> <a href="webappapis.html#handler-window-onunload" title="handler-window-onunload">onunload</a>;
};</pre>
<p>The <dfn id="dom-frameset-cols" title="dom-frameset-cols"><code>cols</code></dfn> and
<dfn id="dom-frameset-rows" title="dom-frameset-rows"><code>rows</code></dfn> IDL
attributes of the <code><a href="#frameset">frameset</a></code> element must
<a href="common-dom-interfaces.html#reflect">reflect</a> the respective content attributes of the same
name.</p>
<p>The <code><a href="#frameset">frameset</a></code> element must support the following
<a href="webappapis.html#event-handler-content-attributes">event handler content attributes</a> exposing the
<a href="webappapis.html#event-handlers">event handlers</a> of the <code><a href="browsers.html#window">Window</a></code> object:</p>
<ul class="brief"><li><code title="handler-window-onafterprint"><a href="webappapis.html#handler-window-onafterprint">onafterprint</a></code></li>
<li><code title="handler-window-onbeforeprint"><a href="webappapis.html#handler-window-onbeforeprint">onbeforeprint</a></code></li>
<li><code title="handler-window-onbeforeunload"><a href="webappapis.html#handler-window-onbeforeunload">onbeforeunload</a></code></li>
<li><code title="handler-window-onblur"><a href="webappapis.html#handler-window-onblur">onblur</a></code></li>
<li><code title="handler-window-onerror"><a href="webappapis.html#handler-window-onerror">onerror</a></code></li>
<li><code title="handler-window-onfocus"><a href="webappapis.html#handler-window-onfocus">onfocus</a></code></li>
<li><code title="handler-window-onhashchange"><a href="webappapis.html#handler-window-onhashchange">onhashchange</a></code></li>
<li><code title="handler-window-onload"><a href="webappapis.html#handler-window-onload">onload</a></code></li>
<li><code title="handler-window-onmessage"><a href="webappapis.html#handler-window-onmessage">onmessage</a></code></li>
<li><code title="handler-window-onoffline"><a href="webappapis.html#handler-window-onoffline">onoffline</a></code></li>
<li><code title="handler-window-ononline"><a href="webappapis.html#handler-window-ononline">ononline</a></code></li>
<li><code title="handler-window-onpagehide"><a href="webappapis.html#handler-window-onpagehide">onpagehide</a></code></li>
<li><code title="handler-window-onpageshow"><a href="webappapis.html#handler-window-onpageshow">onpageshow</a></code></li>
<li><code title="handler-window-onpopstate"><a href="webappapis.html#handler-window-onpopstate">onpopstate</a></code></li>
<li><code title="handler-window-onredo"><a href="webappapis.html#handler-window-onredo">onredo</a></code></li>
<li><code title="handler-window-onresize"><a href="webappapis.html#handler-window-onresize">onresize</a></code></li>
<li><code title="handler-window-onscroll"><a href="webappapis.html#handler-window-onscroll">onscroll</a></code></li>
<li><code title="handler-window-onstorage"><a href="webappapis.html#handler-window-onstorage">onstorage</a></code></li>
<li><code title="handler-window-onundo"><a href="webappapis.html#handler-window-onundo">onundo</a></code></li>
<li><code title="handler-window-onunload"><a href="webappapis.html#handler-window-onunload">onunload</a></code></li>
</ul><p>The DOM interface also exposes <a href="webappapis.html#event-handler-idl-attributes">event handler IDL
attributes</a> that mirror those on the <code><a href="browsers.html#window">Window</a></code>
element.</p>
<p>The <code title="handler-window-onblur"><a href="webappapis.html#handler-window-onblur">onblur</a></code>, <code title="handler-window-onerror"><a href="webappapis.html#handler-window-onerror">onerror</a></code>, <code title="handler-window-onfocus"><a href="webappapis.html#handler-window-onfocus">onfocus</a></code>, <code title="handler-window-onload"><a href="webappapis.html#handler-window-onload">onload</a></code>, and <code title="handler-window-onscroll"><a href="webappapis.html#handler-window-onscroll">onscroll</a></code> <a href="webappapis.html#event-handler-idl-attributes">event handler
IDL attributes</a> of the <code><a href="browsers.html#window">Window</a></code> object, exposed on
the <code><a href="#frameset">frameset</a></code> element, shadow the generic <a href="webappapis.html#event-handler-idl-attributes">event
handler IDL attributes</a> with the same names normally supported
by <a href="infrastructure.html#html-elements">HTML elements</a>.</p>
<hr><p>The <dfn id="frame"><code>frame</code></dfn> element defines a <a href="browsers.html#nested-browsing-context">nested
browsing context</a> similar to the <code><a href="the-iframe-element.html#the-iframe-element">iframe</a></code> element,
but rendered within a <code><a href="#frameset">frameset</a></code> element.</p>
<p>When the browsing context is created, if a <code title="attr-frame-src">src</code> attribute is present, the user
agent must <a href="urls.html#resolve-a-url" title="resolve a url">resolve</a> the value of
that attribute, relative to the element, and if that is successful,
must then <a href="history.html#navigate">navigate</a> the element's
browsing context to the resulting <a href="urls.html#absolute-url">absolute URL</a>, with
<a href="history.html#replacement-enabled">replacement enabled</a>, and with the <code><a href="#frame">frame</a></code>
element's document's <a href="browsers.html#browsing-context">browsing context</a> as the
<a href="history.html#source-browsing-context">source browsing context</a>.</p>
<p>Whenever the <code title="attr-frame-src">src</code> attribute is
set, the user agent must <a href="urls.html#resolve-a-url" title="resolve a url">resolve</a>
the value of that attribute, relative to the element, and if that is
successful, the nested <a href="browsers.html#browsing-context">browsing context</a> must be <a href="history.html#navigate" title="navigate">navigated</a> to the resulting
<a href="urls.html#absolute-url">absolute URL</a>, with the <code><a href="#frame">frame</a></code> element's
document's <a href="browsers.html#browsing-context">browsing context</a> as the <a href="history.html#source-browsing-context">source
browsing context</a>.</p>
<p>When the browsing context is created, if a <code title="attr-frame-name">name</code> attribute is present, the
<a href="browsers.html#browsing-context-name">browsing context name</a> must be set to the value of this
attribute; otherwise, the <a href="browsers.html#browsing-context-name">browsing context name</a> must be
set to the empty string.</p>
<p>Whenever the <code title="attr-frame-name">name</code> attribute
is set, the nested <a href="browsers.html#browsing-context">browsing context</a>'s <a href="browsers.html#browsing-context-name" title="browsing context name">name</a> must be changed to the new
value. If the attribute is removed, the <a href="browsers.html#browsing-context-name">browsing context
name</a> must be set to the empty string.</p>
<p>When content loads in a <code><a href="#frame">frame</a></code>, after any <code title="event-load">load</code> events are fired within the content
itself, the user agent must <a href="webappapis.html#queue-a-task">queue a task</a> to <a href="webappapis.html#fire-a-simple-event">fire
a simple event</a> named <code title="event-load">load</code> at
the <code><a href="#frame">frame</a></code> element. When content fails to load (e.g. due
to a network error), then the user agent must <a href="webappapis.html#queue-a-task">queue a
task</a> to <a href="webappapis.html#fire-a-simple-event">fire a simple event</a> named <code title="event-error">error</code> at the element instead.</p>
<p>The <a href="webappapis.html#task-source">task source</a> for the <a href="webappapis.html#concept-task" title="concept-task">tasks</a> above is the <a href="webappapis.html#dom-manipulation-task-source">DOM
manipulation task source</a>.</p>
<p>When there is an <a href="dom.html#active-parser">active parser</a> in the
<code><a href="#frame">frame</a></code>, and when anything in the <code><a href="#frame">frame</a></code> is
<a href="the-end.html#delay-the-load-event" title="delay the load event">delaying the load event</a> of
the <code><a href="#frame">frame</a></code>'s <a href="browsers.html#browsing-context">browsing context</a>'s
<a href="browsers.html#active-document">active document</a>, the <code><a href="#frame">frame</a></code> must
<a href="the-end.html#delay-the-load-event">delay the load event</a> of its document.</p>
<p>The <code><a href="#frame">frame</a></code> element must implement the
<code><a href="#htmlframeelement">HTMLFrameElement</a></code> interface.</p>
<pre class="idl">interface <dfn id="htmlframeelement">HTMLFrameElement</dfn> : <a href="elements.html#htmlelement">HTMLElement</a> {
attribute DOMString <a href="#dom-frame-frameborder" title="dom-frame-frameBorder">frameBorder</a>;
attribute DOMString <a href="#dom-frame-longdesc" title="dom-frame-longDesc">longDesc</a>;
attribute DOMString <a href="#dom-frame-marginheight" title="dom-frame-marginHeight">marginHeight</a>;
attribute DOMString <a href="#dom-frame-marginwidth" title="dom-frame-marginWidth">marginWidth</a>;
attribute DOMString <a href="#dom-frame-name" title="dom-frame-name">name</a>;
attribute boolean <a href="#dom-frame-noresize" title="dom-frame-noResize">noResize</a>;
attribute DOMString <a href="#dom-frame-scrolling" title="dom-frame-scrolling">scrolling</a>;
attribute DOMString <a href="#dom-frame-src" title="dom-frame-src">src</a>;
readonly attribute Document <a href="#dom-frame-contentdocument" title="dom-frame-contentDocument">contentDocument</a>;
readonly attribute <a href="browsers.html#windowproxy">WindowProxy</a> <a href="#dom-frame-contentwindow" title="dom-frame-contentWindow">contentWindow</a>;
};</pre>
<p>The <dfn id="dom-frame-name" title="dom-frame-name"><code>name</code></dfn>, <dfn id="dom-frame-scrolling" title="dom-frame-scrolling"><code>scrolling</code></dfn>, and <dfn id="dom-frame-src" title="dom-frame-src"><code>src</code></dfn> IDL attributes of the
<code><a href="#frame">frame</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a> the respective
content attributes of the same name.</p>
<p>The <dfn id="dom-frame-frameborder" title="dom-frame-frameBorder"><code>frameBorder</code></dfn> IDL
attribute of the <code><a href="#frame">frame</a></code> element must
<a href="common-dom-interfaces.html#reflect">reflect</a> the element's <code title="attr-frame-frameborder">frameborder</code> content
attribute.</p>
<p>The <dfn id="dom-frame-longdesc" title="dom-frame-longDesc"><code>longDesc</code></dfn>
IDL attribute of the <code><a href="#frame">frame</a></code> element must
<a href="common-dom-interfaces.html#reflect">reflect</a> the element's <code title="attr-frame-longdesc">longdesc</code> content attribute, which
for the purposes of reflection is defined as containing a
<a href="urls.html#url">URL</a>.</p>
<p>The <dfn id="dom-frame-marginheight" title="dom-frame-marginHeight"><code>marginHeight</code></dfn> IDL
attribute of the <code><a href="#frame">frame</a></code> element must
<a href="common-dom-interfaces.html#reflect">reflect</a> the element's <code title="attr-frame-marginheight">marginheight</code> content
attribute.</p>
<p>The <dfn id="dom-frame-marginwidth" title="dom-frame-marginWidth"><code>marginWidth</code></dfn> IDL
attribute of the <code><a href="#frame">frame</a></code> element must
<a href="common-dom-interfaces.html#reflect">reflect</a> the element's <code title="attr-frame-marginwidth">marginwidth</code> content
attribute.</p>
<p>The <dfn id="dom-frame-noresize" title="dom-frame-noResize"><code>noResize</code></dfn>
IDL attribute of the <code><a href="#frame">frame</a></code> element must
<a href="common-dom-interfaces.html#reflect">reflect</a> the element's <code title="attr-frame-noresize">noresize</code> content attribute.</p>
<p>The <dfn id="dom-frame-contentdocument" title="dom-frame-contentDocument"><code>contentDocument</code></dfn>
IDL attribute of the <code><a href="#frame">frame</a></code> element must return the
<code><a href="infrastructure.html#document">Document</a></code> object of the <a href="browsers.html#active-document">active document</a> of
the <code><a href="#frame">frame</a></code> element's <a href="browsers.html#nested-browsing-context">nested browsing
context</a>.</p>
<p>The <dfn id="dom-frame-contentwindow" title="dom-frame-contentWindow"><code>contentWindow</code></dfn>
IDL attribute must return the <code><a href="browsers.html#windowproxy">WindowProxy</a></code> object of the
<code><a href="#frame">frame</a></code> element's <a href="browsers.html#nested-browsing-context">nested browsing
context</a>.</p>
<h4 id="other-elements-attributes-and-apis"><span class="secno">11.3.4 </span>Other elements, attributes and APIs</h4>
<p>User agents must treat <code><a href="#acronym">acronym</a></code> elements in a manner
equivalent to <code><a href="text-level-semantics.html#the-abbr-element">abbr</a></code> elements in terms of semantics and
for purposes of rendering.</p>
<hr><pre class="idl">[Supplemental]
interface <a href="text-level-semantics.html#htmlanchorelement">HTMLAnchorElement</a> {
attribute DOMString <a href="#dom-a-coords" title="dom-a-coords">coords</a>;
attribute DOMString <a href="#dom-a-charset" title="dom-a-charset">charset</a>;
attribute DOMString <a href="#dom-a-name" title="dom-a-name">name</a>;
attribute DOMString <a href="#dom-a-rev" title="dom-a-rev">rev</a>;
attribute DOMString <a href="#dom-a-shape" title="dom-a-shape">shape</a>;
};</pre>
<p>The <dfn id="dom-a-coords" title="dom-a-coords"><code>coords</code></dfn>, <dfn id="dom-a-charset" title="dom-a-charset"><code>charset</code></dfn>, <dfn id="dom-a-name" title="dom-a-name"><code>name</code></dfn>, <dfn id="dom-a-rev" title="dom-a-rev"><code>rev</code></dfn>, and <dfn id="dom-a-shape" title="dom-a-shape"><code>shape</code></dfn> IDL attributes of the
<code><a href="text-level-semantics.html#the-a-element">a</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a> the respective
content attributes of the same name.</p>
<hr><pre class="idl">[Supplemental]
interface <a href="the-map-element.html#htmlareaelement">HTMLAreaElement</a> {
attribute boolean <a href="#dom-area-nohref" title="dom-area-noHref">noHref</a>;
};</pre>
<p>The <dfn id="dom-area-nohref" title="dom-area-noHref"><code>noHref</code></dfn> IDL
attribute of the <code><a href="the-map-element.html#the-area-element">area</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a>
the element's <code title="attr-area-nohref"><a href="#attr-area-nohref">nohref</a></code> content
attribute.</p>
<hr><p>The <code><a href="#basefont">basefont</a></code> element must implement the
<code><a href="#htmlbasefontelement">HTMLBaseFontElement</a></code> interface.</p>
<pre class="idl">interface <dfn id="htmlbasefontelement">HTMLBaseFontElement</dfn> : <a href="elements.html#htmlelement">HTMLElement</a> {
attribute DOMString <a href="#dom-basefont-color" title="dom-basefont-color">color</a>;
attribute DOMString <a href="#dom-basefont-face" title="dom-basefont-face">face</a>;
attribute long <a href="#dom-basefont-size" title="dom-basefont-size">size</a>;
};</pre>
<p>The <dfn id="dom-basefont-color" title="dom-basefont-color"><code>color</code></dfn>,
<dfn id="dom-basefont-face" title="dom-basefont-face"><code>face</code></dfn>, and <dfn id="dom-basefont-size" title="dom-basefont-size"><code>size</code></dfn> IDL attributes of
the <code><a href="#basefont">basefont</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a> the
respective content attributes of the same name.</p>
<hr><pre class="idl">[Supplemental]
interface <a href="sections.html#htmlbodyelement">HTMLBodyElement</a> {
attribute DOMString <a href="#dom-body-text" title="dom-body-text">text</a>;
attribute DOMString <a href="#dom-body-bgcolor" title="dom-body-bgColor">bgColor</a>;
attribute DOMString <a href="#dom-body-background" title="dom-body-background">background</a>;
attribute DOMString <a href="#dom-body-link" title="dom-body-link">link</a>;
attribute DOMString <a href="#dom-body-vlink" title="dom-body-vLink">vLink</a>;
attribute DOMString <a href="#dom-body-alink" title="dom-body-aLink">aLink</a>;
};</pre>
<p>The <dfn id="dom-body-text" title="dom-body-text"><code>text</code></dfn> IDL
attribute of the <code><a href="sections.html#the-body-element">body</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a>
the element's <code title="attr-body-text"><a href="#attr-body-text">text</a></code> content
attribute.</p>
<p>The <dfn id="dom-body-bgcolor" title="dom-body-bgColor"><code>bgColor</code></dfn> IDL
attribute of the <code><a href="sections.html#the-body-element">body</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a>
the element's <code title="attr-body-bgcolor"><a href="#attr-body-bgcolor">bgcolor</a></code> content
attribute.</p>
<p>The <dfn id="dom-body-background" title="dom-body-background"><code>background</code></dfn> IDL
attribute of the <code><a href="sections.html#the-body-element">body</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a>
the element's <code title="attr-background"><a href="#attr-background">background</a></code>
content attribute. (The <code title="attr-background"><a href="#attr-background">background</a></code> content is <em>not</em>
defined to contain a <a href="urls.html#url">URL</a>, despite rules regarding its
handling in the rendering section above.)</p>
<p>The <dfn id="dom-body-link" title="dom-body-link"><code>link</code></dfn> IDL
attribute of the <code><a href="sections.html#the-body-element">body</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a>
the element's <code title="attr-body-link"><a href="#attr-body-link">link</a></code> content
attribute.</p>
<p>The <dfn id="dom-body-alink" title="dom-body-aLink"><code>aLink</code></dfn> IDL
attribute of the <code><a href="sections.html#the-body-element">body</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a>
the element's <code title="attr-body-alink"><a href="#attr-body-alink">alink</a></code> content
attribute.</p>
<p>The <dfn id="dom-body-vlink" title="dom-body-vLink"><code>vLink</code></dfn> IDL
attribute of the <code><a href="sections.html#the-body-element">body</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a>
the element's <code title="attr-body-vlink"><a href="#attr-body-vlink">vlink</a></code> content
attribute.</p>
<hr><pre class="idl">[Supplemental]
interface <a href="text-level-semantics.html#htmlbrelement">HTMLBRElement</a> {
attribute DOMString <a href="#dom-br-clear" title="dom-br-clear">clear</a>;
};</pre>
<p>The <dfn id="dom-br-clear" title="dom-br-clear"><code>clear</code></dfn> IDL
attribute of the <code><a href="text-level-semantics.html#the-br-element">br</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a>
the content attribute of the same name.</p>
<hr><pre class="idl">[Supplemental]
interface <a href="tabular-data.html#htmltablecaptionelement">HTMLTableCaptionElement</a> {
attribute DOMString <a href="#dom-caption-align" title="dom-caption-align">align</a>;
};</pre>
<p>The <dfn id="dom-caption-align" title="dom-caption-align"><code>align</code></dfn> IDL
attribute of the <code><a href="tabular-data.html#the-caption-element">caption</a></code> element must
<a href="common-dom-interfaces.html#reflect">reflect</a> the content attribute of the same name.</p>
<hr><pre class="idl">[Supplemental]
interface <a href="tabular-data.html#htmltablecolelement">HTMLTableColElement</a> {
attribute DOMString <a href="#dom-col-align" title="dom-col-align">align</a>;
attribute DOMString <a href="#dom-col-ch" title="dom-col-ch">ch</a>;
attribute DOMString <a href="#dom-col-choff" title="dom-col-chOff">chOff</a>;
attribute DOMString <a href="#dom-col-valign" title="dom-col-vAlign">vAlign</a>;
attribute DOMString <a href="#dom-col-width" title="dom-col-width">width</a>;
};</pre>
<p>The <dfn id="dom-col-align" title="dom-col-align"><code>align</code></dfn> and <dfn id="dom-col-width" title="dom-col-width"><code>width</code></dfn> IDL attributes of
the <code><a href="tabular-data.html#the-col-element">col</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a> the
respective content attributes of the same name.</p>
<p>The <dfn id="dom-col-ch" title="dom-col-ch"><code>ch</code></dfn> IDL attribute
of the <code><a href="tabular-data.html#the-col-element">col</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a> the
element's <code title="attr-col-char"><a href="#attr-col-char">char</a></code> content
attribute.</p>
<p>The <dfn id="dom-col-choff" title="dom-col-chOff"><code>chOff</code></dfn> IDL
attribute of the <code><a href="tabular-data.html#the-col-element">col</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a>
the element's <code title="attr-col-charoff"><a href="#attr-col-charoff">charoff</a></code> content
attribute.</p>
<p>The <dfn id="dom-col-valign" title="dom-col-vAlign"><code>vAlign</code></dfn> IDL
attribute of the <code><a href="tabular-data.html#the-col-element">col</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a>
the element's <code title="attr-col-valign"><a href="#attr-col-valign">valign</a></code> content
attribute.</p>
<hr><p>User agents must treat <code><a href="#dir">dir</a></code> elements in a manner
equivalent to <code><a href="grouping-content.html#the-ul-element">ul</a></code> elements in terms of semantics and for
purposes of rendering.</p>
<p>The <code><a href="#dir">dir</a></code> element must implement the
<code><a href="#htmldirectoryelement">HTMLDirectoryElement</a></code> interface.</p>
<pre class="idl">interface <dfn id="htmldirectoryelement">HTMLDirectoryElement</dfn> : <a href="elements.html#htmlelement">HTMLElement</a> {
attribute boolean <a href="#dom-dir-compact" title="dom-dir-compact">compact</a>;
};</pre>
<p>The <dfn id="dom-dir-compact" title="dom-dir-compact"><code>compact</code></dfn> IDL
attribute of the <code><a href="#dir">dir</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a>
the content attribute of the same name.</p>
<hr><pre class="idl">[Supplemental]
interface <a href="grouping-content.html#htmldivelement">HTMLDivElement</a> {
attribute DOMString <a href="#dom-div-align" title="dom-div-align">align</a>;
};</pre>
<p>The <dfn id="dom-div-align" title="dom-div-align"><code>align</code></dfn> IDL
attribute of the <code><a href="grouping-content.html#the-div-element">div</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a>
the content attribute of the same name.</p>
<hr><pre class="idl">[Supplemental]
interface <a href="grouping-content.html#htmldlistelement">HTMLDListElement</a> {
attribute boolean <a href="#dom-dl-compact" title="dom-dl-compact">compact</a>;
};</pre>
<p>The <dfn id="dom-dl-compact" title="dom-dl-compact"><code>compact</code></dfn> IDL
attribute of the <code><a href="grouping-content.html#the-dl-element">dl</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a>
the content attribute of the same name.</p>
<hr><pre class="idl">[Supplemental]
interface <a href="the-iframe-element.html#htmlembedelement">HTMLEmbedElement</a> {
attribute DOMString <a href="#dom-embed-align" title="dom-embed-align">align</a>;
attribute DOMString <a href="#dom-embed-name" title="dom-embed-name">name</a>;
};</pre>
<p>The <dfn id="dom-embed-name" title="dom-embed-name"><code>name</code></dfn> and <dfn id="dom-embed-align" title="dom-embed-align"><code>align</code></dfn> IDL attributes of
the <code><a href="the-iframe-element.html#the-embed-element">embed</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a> the
respective content attributes of the same name.</p>
<hr><p>The <code><a href="#font">font</a></code> element must implement the
<code><a href="#htmlfontelement">HTMLFontElement</a></code> interface.</p>
<pre class="idl">interface <dfn id="htmlfontelement">HTMLFontElement</dfn> : <a href="elements.html#htmlelement">HTMLElement</a> {
attribute DOMString <a href="#dom-font-color" title="dom-font-color">color</a>;
attribute DOMString <a href="#dom-font-face" title="dom-font-face">face</a>;
attribute DOMString <a href="#dom-font-size" title="dom-font-size">size</a>;
};</pre>
<p>The <dfn id="dom-font-color" title="dom-font-color"><code>color</code></dfn>,
<dfn id="dom-font-face" title="dom-font-face"><code>face</code></dfn>, and <dfn id="dom-font-size" title="dom-font-size"><code>size</code></dfn> IDL attributes of
the <code><a href="#font">font</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a> the
respective content attributes of the same name.</p>
<hr><pre class="idl">[Supplemental]
interface <a href="sections.html#htmlheadingelement">HTMLHeadingElement</a> {
attribute DOMString <a href="#dom-hx-align" title="dom-hx-align">align</a>;
};</pre>
<p>The <dfn id="dom-hx-align" title="dom-hx-align"><code>align</code></dfn> IDL
attribute of the <code><a href="sections.html#the-h1-h2-h3-h4-h5-and-h6-elements">h1</a></code>&#8211;<code><a href="sections.html#the-h1-h2-h3-h4-h5-and-h6-elements">h6</a></code> elements must
<a href="common-dom-interfaces.html#reflect">reflect</a> the content attribute of the same name.</p>
<hr><p class="note">The <dfn id="dom-head-profile" title="dom-head-profile"><code>profile</code></dfn> IDL attribute on
<code><a href="semantics.html#the-head-element">head</a></code> elements (with the <code><a href="semantics.html#htmlheadelement">HTMLHeadElement</a></code>
interface) is intentionally omitted. Unless so required by <a href="infrastructure.html#other-applicable-specifications" title="other applicable specifications">another applicable
specification</a>, implementations would therefore not support
this attribute. (It is mentioned here as it was defined in a
previous version of the DOM specifications.)</p>
<hr><pre class="idl">[Supplemental]
interface <a href="grouping-content.html#htmlhrelement">HTMLHRElement</a> {
attribute DOMString <a href="#dom-hr-align" title="dom-hr-align">align</a>;
attribute DOMString <a href="#dom-hr-color" title="dom-hr-color">color</a>;
attribute boolean <a href="#dom-hr-noshade" title="dom-hr-noShade">noShade</a>;
attribute DOMString <a href="#dom-hr-size" title="dom-hr-size">size</a>;
attribute DOMString <a href="#dom-hr-width" title="dom-hr-width">width</a>;
};</pre>
<p>The <dfn id="dom-hr-align" title="dom-hr-align"><code>align</code></dfn>, <dfn id="dom-hr-color" title="dom-hr-color"><code>color</code></dfn>, <dfn id="dom-hr-size" title="dom-hr-size"><code>size</code></dfn>, and <dfn id="dom-hr-width" title="dom-hr-width"><code>width</code></dfn> IDL attributes of the
<code><a href="grouping-content.html#the-hr-element">hr</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a> the respective
content attributes of the same name.</p>
<p>The <dfn id="dom-hr-noshade" title="dom-hr-noShade"><code>noShade</code></dfn> IDL
attribute of the <code><a href="grouping-content.html#the-hr-element">hr</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a>
the element's <code title="attr-input-noshade">noshade</code>
content attribute.</p>
<hr><pre class="idl">[Supplemental]
interface <a href="semantics.html#htmlhtmlelement">HTMLHtmlElement</a> {
attribute DOMString <a href="#dom-html-version" title="dom-html-version">version</a>;
};</pre>
<p>The <dfn id="dom-html-version" title="dom-html-version"><code>version</code></dfn> IDL
attribute of the <code><a href="semantics.html#the-html-element">html</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a>
the content attribute of the same name.</p>
<hr><pre class="idl">[Supplemental]
interface <a href="the-iframe-element.html#htmliframeelement">HTMLIFrameElement</a> {
attribute DOMString <a href="#dom-iframe-align" title="dom-iframe-align">align</a>;
attribute DOMString <a href="#dom-iframe-frameborder" title="dom-iframe-frameBorder">frameBorder</a>;
attribute DOMString <a href="#dom-iframe-longdesc" title="dom-iframe-longDesc">longDesc</a>;
attribute DOMString <a href="#dom-iframe-marginheight" title="dom-iframe-marginHeight">marginHeight</a>;
attribute DOMString <a href="#dom-iframe-marginwidth" title="dom-iframe-marginWidth">marginWidth</a>;
attribute DOMString <a href="#dom-iframe-scrolling" title="dom-iframe-scrolling">scrolling</a>;
};</pre>
<p>The <dfn id="dom-iframe-align" title="dom-iframe-align"><code>align</code></dfn> and
<dfn id="dom-iframe-scrolling" title="dom-iframe-scrolling"><code>scrolling</code></dfn> IDL
attributes of the <code><a href="the-iframe-element.html#the-iframe-element">iframe</a></code> element must
<a href="common-dom-interfaces.html#reflect">reflect</a> the respective content attributes of the same
name.</p>
<p>The <dfn id="dom-iframe-frameborder" title="dom-iframe-frameBorder"><code>frameBorder</code></dfn> IDL
attribute of the <code><a href="the-iframe-element.html#the-iframe-element">iframe</a></code> element must
<a href="common-dom-interfaces.html#reflect">reflect</a> the element's <code title="attr-iframe-frameborder"><a href="#attr-iframe-frameborder">frameborder</a></code> content
attribute.</p>
<p>The <dfn id="dom-iframe-longdesc" title="dom-iframe-longDesc"><code>longDesc</code></dfn>
IDL attribute of the <code><a href="the-iframe-element.html#the-iframe-element">iframe</a></code> element must
<a href="common-dom-interfaces.html#reflect">reflect</a> the element's <code title="attr-iframe-longdesc"><a href="#attr-iframe-longdesc">longdesc</a></code> content attribute,
which for the purposes of reflection is defined as containing a
<a href="urls.html#url">URL</a>.</p>
<p>The <dfn id="dom-iframe-marginheight" title="dom-iframe-marginHeight"><code>marginHeight</code></dfn> IDL
attribute of the <code><a href="the-iframe-element.html#the-iframe-element">iframe</a></code> element must
<a href="common-dom-interfaces.html#reflect">reflect</a> the element's <code title="attr-iframe-marginheight"><a href="#attr-iframe-marginheight">marginheight</a></code> content
attribute.</p>
<p>The <dfn id="dom-iframe-marginwidth" title="dom-iframe-marginWidth"><code>marginWidth</code></dfn> IDL
attribute of the <code><a href="the-iframe-element.html#the-iframe-element">iframe</a></code> element must
<a href="common-dom-interfaces.html#reflect">reflect</a> the element's <code title="attr-iframe-marginwidth"><a href="#attr-iframe-marginwidth">marginwidth</a></code> content
attribute.</p>
<hr><pre class="idl">[Supplemental]
interface <a href="embedded-content-1.html#htmlimageelement">HTMLImageElement</a> {
attribute DOMString <a href="#dom-img-name" title="dom-img-name">name</a>;
attribute DOMString <a href="#dom-img-align" title="dom-img-align">align</a>;
attribute DOMString <a href="#dom-img-border" title="dom-img-border">border</a>;
attribute unsigned long <a href="#dom-img-hspace" title="dom-img-hspace">hspace</a>;
attribute DOMString <a href="#dom-img-longdesc" title="dom-img-longDesc">longDesc</a>;
attribute unsigned long <a href="#dom-img-vspace" title="dom-img-vspace">vspace</a>;
};</pre>
<p>The <dfn id="dom-img-name" title="dom-img-name"><code>name</code></dfn>, <dfn id="dom-img-align" title="dom-img-align"><code>align</code></dfn>, <dfn id="dom-img-border" title="dom-img-border"><code>border</code></dfn>, <dfn id="dom-img-hspace" title="dom-img-hspace"><code>hspace</code></dfn>, and <dfn id="dom-img-vspace" title="dom-img-vspace"><code>vspace</code></dfn> IDL attributes of
the <code><a href="embedded-content-1.html#the-img-element">img</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a> the
respective content attributes of the same name.</p>
<p>The <dfn id="dom-img-longdesc" title="dom-img-longDesc"><code>longDesc</code></dfn> IDL
attribute of the <code><a href="embedded-content-1.html#the-img-element">img</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a>
the element's <code title="attr-img-longdesc"><a href="#attr-img-longdesc">longdesc</a></code>
content attribute, which for the purposes of reflection is defined
as containing a <a href="urls.html#url">URL</a>.</p>
<hr><pre class="idl">[Supplemental]
interface <a href="the-input-element.html#htmlinputelement">HTMLInputElement</a> {
attribute DOMString <a href="#dom-input-align" title="dom-input-align">align</a>;
attribute DOMString <a href="#dom-input-usemap" title="dom-input-useMap">useMap</a>;
};</pre>
<p>The <dfn id="dom-input-align" title="dom-input-align"><code>align</code></dfn> IDL
attribute of the <code><a href="the-input-element.html#the-input-element">input</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a>
the content attribute of the same name.</p>
<p>The <dfn id="dom-input-usemap" title="dom-input-useMap"><code>useMap</code></dfn> IDL
attribute of the <code><a href="the-input-element.html#the-input-element">input</a></code> element must
<a href="common-dom-interfaces.html#reflect">reflect</a> the element's <code title="attr-input-usemap"><a href="#attr-input-usemap">usemap</a></code> content attribute.</p>
<hr><pre class="idl">[Supplemental]
interface <a href="forms.html#htmllegendelement">HTMLLegendElement</a> {
attribute DOMString <a href="#dom-legend-align" title="dom-legend-align">align</a>;
};</pre>
<p>The <dfn id="dom-legend-align" title="dom-legend-align"><code>align</code></dfn> IDL
attribute of the <code><a href="forms.html#the-legend-element">legend</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a>
the content attribute of the same name.</p>
<hr><pre class="idl">[Supplemental]
interface <a href="grouping-content.html#htmllielement">HTMLLIElement</a> {
attribute DOMString <a href="#dom-li-type" title="dom-li-type">type</a>;
};</pre>
<p>The <dfn id="dom-li-type" title="dom-li-type"><code>type</code></dfn> IDL
attribute of the <code><a href="grouping-content.html#the-li-element">li</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a>
the content attribute of the same name.</p>
<hr><pre class="idl">[Supplemental]
interface <a href="semantics.html#htmllinkelement">HTMLLinkElement</a> {
attribute DOMString <a href="#dom-link-charset" title="dom-link-charset">charset</a>;
attribute DOMString <a href="#dom-link-rev" title="dom-link-rev">rev</a>;
attribute DOMString <a href="#dom-link-target" title="dom-link-target">target</a>;
};</pre>
<p>The <dfn id="dom-link-charset" title="dom-link-charset"><code>charset</code></dfn>,
<dfn id="dom-link-rev" title="dom-link-rev"><code>rev</code></dfn>, and <dfn id="dom-link-target" title="dom-link-target"><code>target</code></dfn> IDL attributes of
the <code><a href="semantics.html#the-link-element">link</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a> the
respective content attributes of the same name.</p>
<hr><p>User agents must treat <code><a href="#listing">listing</a></code> elements in a manner
equivalent to <code><a href="grouping-content.html#the-pre-element">pre</a></code> elements in terms of semantics and
for purposes of rendering.</p>
<hr><pre class="idl">[Supplemental]
interface <a href="interactive-elements.html#htmlmenuelement">HTMLMenuElement</a> {
attribute boolean <a href="#dom-menu-compact" title="dom-menu-compact">compact</a>;
};</pre>
<p>The <dfn id="dom-menu-compact" title="dom-menu-compact"><code>compact</code></dfn> IDL
attribute of the <code><a href="interactive-elements.html#the-menu-element">menu</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a>
the content attribute of the same name.</p>
<hr><pre class="idl">[Supplemental]
interface <a href="semantics.html#htmlmetaelement">HTMLMetaElement</a> {
attribute DOMString <a href="#dom-meta-scheme" title="dom-meta-scheme">scheme</a>;
};</pre>
<p>User agents may treat the <code title="attr-meta-scheme"><a href="#attr-meta-scheme">scheme</a></code> content attribute on the
<code><a href="semantics.html#the-meta-element">meta</a></code> element as an extension of the element's <code title="attr-meta-name"><a href="semantics.html#attr-meta-name">name</a></code> content attribute when processing
a <code><a href="semantics.html#the-meta-element">meta</a></code> element with a <code title="attr-meta-name"><a href="semantics.html#attr-meta-name">name</a></code> attribute whose value is one that
the user agent recognizes as supporting the <code title="attr-meta-scheme"><a href="#attr-meta-scheme">scheme</a></code> attribute.</p>
<p>User agents are encouraged to ignore the <code title="attr-meta-scheme"><a href="#attr-meta-scheme">scheme</a></code> attribute and instead process
the value given to the metadata name as if it had been specified for
each expected value of the <code title="attr-meta-scheme"><a href="#attr-meta-scheme">scheme</a></code> attribute.</p>
<div class="example">
<p>For example, if the user agent acts on <code><a href="semantics.html#the-meta-element">meta</a></code>
elements with <code title="attr-meta-name"><a href="semantics.html#attr-meta-name">name</a></code> attributes
having the value "eGMS.subject.keyword", and knows that the <code title="attr-meta-scheme"><a href="#attr-meta-scheme">scheme</a></code> attribute is used with this
metadata name, then it could take the <code title="attr-meta-scheme"><a href="#attr-meta-scheme">scheme</a></code> attribute into account,
acting as if it was an extension of the <code title="attr-meta-name"><a href="semantics.html#attr-meta-name">name</a></code> attribute. Thus the following
two <code><a href="semantics.html#the-meta-element">meta</a></code> 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":</p>
<pre class="bad">&lt;!-- this markup is invalid --&gt;
&lt;meta name="eGMS.subject.keyword" scheme="LGCL" content="Abandoned vehicles"&gt;
&lt;meta name="eGMS.subject.keyword" scheme="ORLY" content="Mah car: kthxbye"&gt;</pre>
<p>The recommended processing of this markup, however, would be
equivalent to the following:</p>
<pre>&lt;meta name="eGMS.subject.keyword" content="Abandoned vehicles"&gt;
&lt;meta name="eGMS.subject.keyword" content="Mah car: kthxbye"&gt;</pre>
</div>
<p>The <dfn id="dom-meta-scheme" title="dom-meta-scheme"><code>scheme</code></dfn> IDL
attribute of the <code><a href="semantics.html#the-meta-element">meta</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a>
the content attribute of the same name.</p>
<hr><pre class="idl">[Supplemental]
interface <a href="the-iframe-element.html#htmlobjectelement">HTMLObjectElement</a> {
attribute DOMString <a href="#dom-object-align" title="dom-object-align">align</a>;
attribute DOMString <a href="#dom-object-archive" title="dom-object-archive">archive</a>;
attribute DOMString <a href="#dom-object-border" title="dom-object-border">border</a>;
attribute DOMString <a href="#dom-object-code" title="dom-object-code">code</a>;
attribute DOMString <a href="#dom-object-codebase" title="dom-object-codeBase">codeBase</a>;
attribute DOMString <a href="#dom-object-codetype" title="dom-object-codeType">codeType</a>;
attribute boolean <a href="#dom-object-declare" title="dom-object-declare">declare</a>;
attribute unsigned long <a href="#dom-object-hspace" title="dom-object-hspace">hspace</a>;
attribute DOMString <a href="#dom-object-standby" title="dom-object-standby">standby</a>;
attribute unsigned long <a href="#dom-object-vspace" title="dom-object-vspace">vspace</a>;
};</pre>
<p>The <dfn id="dom-object-align" title="dom-object-align"><code>align</code></dfn>, <dfn id="dom-object-archive" title="dom-object-archive"><code>archive</code></dfn>, <dfn id="dom-object-border" title="dom-object-border"><code>border</code></dfn>, <dfn id="dom-object-code" title="dom-object-code"><code>code</code></dfn>, <dfn id="dom-object-declare" title="dom-object-declare"><code>declare</code></dfn>, <dfn id="dom-object-hspace" title="dom-object-hspace"><code>hspace</code></dfn>, <dfn id="dom-object-standby" title="dom-object-standby"><code>standby</code></dfn>, and <dfn id="dom-object-vspace" title="dom-object-vspace"><code>vspace</code></dfn> IDL attributes
of the <code><a href="the-iframe-element.html#the-object-element">object</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a> the
respective content attributes of the same name.</p>
<p>The <dfn id="dom-object-codebase" title="dom-object-codeBase"><code>codeBase</code></dfn>
IDL attribute of the <code><a href="the-iframe-element.html#the-object-element">object</a></code> element must
<a href="common-dom-interfaces.html#reflect">reflect</a> the element's <code title="attr-object-codebase"><a href="#attr-object-codebase">codebase</a></code> content attribute,
which for the purposes of reflection is defined as containing a
<a href="urls.html#url">URL</a>.</p>
<p>The <dfn id="dom-object-codetype" title="dom-object-codeType"><code>codeType</code></dfn> IDL
attribute of the <code><a href="the-iframe-element.html#the-object-element">object</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a>
the element's <code title="attr-object-codetype"><a href="#attr-object-codetype">codetype</a></code> content
attribute.</p>
<hr><pre class="idl">[Supplemental]
interface <a href="grouping-content.html#htmlolistelement">HTMLOListElement</a> {
attribute boolean <a href="#dom-ol-compact" title="dom-ol-compact">compact</a>;
};</pre>
<p>The <dfn id="dom-ol-compact" title="dom-ol-compact"><code>compact</code></dfn> IDL
attribute of the <code><a href="grouping-content.html#the-ol-element">ol</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a>
the content attribute of the same name.</p>
<hr><pre class="idl">[Supplemental]
interface <a href="grouping-content.html#htmlparagraphelement">HTMLParagraphElement</a> {
attribute DOMString <a href="#dom-p-align" title="dom-p-align">align</a>;
};</pre>
<p>The <dfn id="dom-p-align" title="dom-p-align"><code>align</code></dfn> IDL
attribute of the <code><a href="grouping-content.html#the-p-element">p</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a>
the content attribute of the same name.</p>
<hr><pre class="idl">[Supplemental]
interface <a href="the-iframe-element.html#htmlparamelement">HTMLParamElement</a> {
attribute DOMString <a href="#dom-param-type" title="dom-param-type">type</a>;
attribute DOMString <a href="#dom-param-valuetype" title="dom-param-valueType">valueType</a>;
};</pre>
<p>The <dfn id="dom-param-type" title="dom-param-type"><code>type</code></dfn> IDL
attribute of the <code><a href="the-iframe-element.html#the-param-element">param</a></code> element must
<a href="common-dom-interfaces.html#reflect">reflect</a> the content attribute of the same name.</p>
<p>The <dfn id="dom-param-valuetype" title="dom-param-valueType"><code>valueType</code></dfn>
IDL attribute of the <code><a href="the-iframe-element.html#the-param-element">param</a></code> element must
<a href="common-dom-interfaces.html#reflect">reflect</a> the element's <code title="attr-param-valuetype"><a href="#attr-param-valuetype">valuetype</a></code> content attribute.</p>
<hr><p>User agents must treat <code><a href="#plaintext">plaintext</a></code> elements in a
manner equivalent to <code><a href="grouping-content.html#the-pre-element">pre</a></code> elements in terms of semantics
and for purposes of rendering. (The parser has special behavior for
this element, though.)</p>
<hr><pre class="idl">[Supplemental]
interface <a href="grouping-content.html#htmlpreelement">HTMLPreElement</a> {
attribute unsigned long <a href="#dom-pre-width" title="dom-pre-width">width</a>;
};</pre>
<p>The <dfn id="dom-pre-width" title="dom-pre-width"><code>width</code></dfn> IDL
attribute of the <code><a href="grouping-content.html#the-pre-element">pre</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a>
the content attribute of the same name.</p>
<hr><pre class="idl">[Supplemental]
interface <a href="scripting-1.html#htmlscriptelement">HTMLScriptElement</a> {
attribute DOMString <a href="#dom-script-event" title="dom-script-event">event</a>;
attribute DOMString <a href="#dom-script-htmlfor" title="dom-script-htmlFor">htmlFor</a>;
};</pre>
<p>The <dfn id="dom-script-event" title="dom-script-event"><code>event</code></dfn> and
<dfn id="dom-script-htmlfor" title="dom-script-htmlFor"><code>htmlFor</code></dfn> IDL
attributes of the <code><a href="scripting-1.html#the-script-element">script</a></code> element must return the empty
string on getting, and do nothing on setting.</p>
<hr><pre class="idl">[Supplemental]
interface <a href="tabular-data.html#htmltableelement">HTMLTableElement</a> {
attribute DOMString <a href="#dom-table-align" title="dom-table-align">align</a>;
attribute DOMString <a href="#dom-table-bgcolor" title="dom-table-bgColor">bgColor</a>;
attribute DOMString <a href="#dom-table-cellpadding" title="dom-table-cellPadding">cellPadding</a>;
attribute DOMString <a href="#dom-table-cellspacing" title="dom-table-cellSpacing">cellSpacing</a>;
attribute DOMString <a href="#dom-table-frame" title="dom-table-frame">frame</a>;
attribute DOMString <a href="#dom-table-rules" title="dom-table-rules">rules</a>;
attribute DOMString <a href="#dom-table-summary" title="dom-table-summary">summary</a>;
attribute DOMString <a href="#dom-table-width" title="dom-table-width">width</a>;
};</pre>
<p>The <dfn id="dom-table-align" title="dom-table-align"><code>align</code></dfn>, <dfn id="dom-table-frame" title="dom-table-frame"><code>frame</code></dfn>, <dfn id="dom-table-summary" title="dom-table-summary"><code>summary</code></dfn>, <dfn id="dom-table-rules" title="dom-table-rules"><code>rules</code></dfn>, and <dfn id="dom-table-width" title="dom-table-width"><code>width</code></dfn>, IDL attributes of
the <code><a href="tabular-data.html#the-table-element">table</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a> the
respective content attributes of the same name.</p>
<p>The <dfn id="dom-table-bgcolor" title="dom-table-bgColor"><code>bgColor</code></dfn> IDL
attribute of the <code><a href="tabular-data.html#the-table-element">table</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a>
the element's <code title="attr-table-bgcolor"><a href="#attr-table-bgcolor">bgcolor</a></code> content
attribute.</p>
<p>The <dfn id="dom-table-cellpadding" title="dom-table-cellPadding"><code>cellPadding</code></dfn> IDL
attribute of the <code><a href="tabular-data.html#the-table-element">table</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a>
the element's <code title="attr-table-cellpadding"><a href="#attr-table-cellpadding">cellpadding</a></code> content
attribute.</p>
<p>The <dfn id="dom-table-cellspacing" title="dom-table-cellSpacing"><code>cellSpacing</code></dfn> IDL
attribute of the <code><a href="tabular-data.html#the-table-element">table</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a>
the element's <code title="attr-table-cellspacing"><a href="#attr-table-cellspacing">cellspacing</a></code> content
attribute.</p>
<hr><pre class="idl">[Supplemental]
interface <a href="tabular-data.html#htmltablesectionelement">HTMLTableSectionElement</a> {
attribute DOMString <a href="#dom-tbody-align" title="dom-tbody-align">align</a>;
attribute DOMString <a href="#dom-tbody-ch" title="dom-tbody-ch">ch</a>;
attribute DOMString <a href="#dom-tbody-choff" title="dom-tbody-chOff">chOff</a>;
attribute DOMString <a href="#dom-tbody-valign" title="dom-tbody-vAlign">vAlign</a>;
};</pre>
<p>The <dfn id="dom-tbody-align" title="dom-tbody-align"><code>align</code></dfn> IDL
attribute of the <code><a href="tabular-data.html#the-tbody-element">tbody</a></code>, <code><a href="tabular-data.html#the-thead-element">thead</a></code>, and
<code><a href="tabular-data.html#the-tfoot-element">tfoot</a></code> elements must <a href="common-dom-interfaces.html#reflect">reflect</a> the content
attribute of the same name.</p>
<p>The <dfn id="dom-tbody-ch" title="dom-tbody-ch"><code>ch</code></dfn> IDL attribute
of the <code><a href="tabular-data.html#the-tbody-element">tbody</a></code>, <code><a href="tabular-data.html#the-thead-element">thead</a></code>, and
<code><a href="tabular-data.html#the-tfoot-element">tfoot</a></code> elements must <a href="common-dom-interfaces.html#reflect">reflect</a> the elements'
<code title="attr-tbody-char"><a href="#attr-tbody-char">char</a></code> content attributes.</p>
<p>The <dfn id="dom-tbody-choff" title="dom-tbody-chOff"><code>chOff</code></dfn> IDL
attribute of the <code><a href="tabular-data.html#the-tbody-element">tbody</a></code>, <code><a href="tabular-data.html#the-thead-element">thead</a></code>, and
<code><a href="tabular-data.html#the-tfoot-element">tfoot</a></code> elements must <a href="common-dom-interfaces.html#reflect">reflect</a> the elements'
<code title="attr-tbody-charoff"><a href="#attr-tbody-charoff">charoff</a></code> content attributes.</p>
<p>The <dfn id="dom-tbody-valign" title="dom-tbody-vAlign"><code>vAlign</code></dfn> IDL
attribute of the <code><a href="tabular-data.html#the-tbody-element">tbody</a></code>, <code><a href="tabular-data.html#the-thead-element">thead</a></code>, and
<code><a href="tabular-data.html#the-tfoot-element">tfoot</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a> the elements'
<code title="attr-tbody-valign"><a href="#attr-tbody-valign">valign</a></code> content
attributes.</p>
<hr><pre class="idl">[Supplemental]
interface <a href="tabular-data.html#htmltablecellelement">HTMLTableCellElement</a> {
attribute DOMString <a href="#dom-tdth-abbr" title="dom-tdth-abbr">abbr</a>;
attribute DOMString <a href="#dom-tdth-align" title="dom-tdth-align">align</a>;
attribute DOMString <a href="#dom-tdth-axis" title="dom-tdth-axis">axis</a>;
attribute DOMString <a href="#dom-tdth-bgcolor" title="dom-tdth-bgColor">bgColor</a>;
attribute DOMString <a href="#dom-tdth-ch" title="dom-tdth-ch">ch</a>;
attribute DOMString <a href="#dom-tdth-choff" title="dom-tdth-chOff">chOff</a>;
attribute DOMString <a href="#dom-tdth-height" title="dom-tdth-height">height</a>;
attribute boolean <a href="#dom-tdth-nowrap" title="dom-tdth-noWrap">noWrap</a>;
attribute DOMString <a href="#dom-tdth-valign" title="dom-tdth-vAlign">vAlign</a>;
attribute DOMString <a href="#dom-tdth-width" title="dom-tdth-width">width</a>;
};</pre>
<p>The <dfn id="dom-tdth-abbr" title="dom-tdth-abbr"><code>abbr</code></dfn>, <dfn id="dom-tdth-align" title="dom-tdth-align"><code>align</code></dfn>, <dfn id="dom-tdth-axis" title="dom-tdth-axis"><code>axis</code></dfn>, <dfn id="dom-tdth-height" title="dom-tdth-height"><code>height</code></dfn>, and <dfn id="dom-tdth-width" title="dom-tdth-width"><code>width</code></dfn> IDL attributes of
the <code><a href="tabular-data.html#the-td-element">td</a></code> and <code><a href="tabular-data.html#the-th-element">th</a></code> elements must
<a href="common-dom-interfaces.html#reflect">reflect</a> the respective content attributes of the same
name.</p>
<p>The <dfn id="dom-tdth-bgcolor" title="dom-tdth-bgColor"><code>bgColor</code></dfn> IDL
attribute of the <code><a href="tabular-data.html#the-td-element">td</a></code> and <code><a href="tabular-data.html#the-th-element">th</a></code> elements must
<a href="common-dom-interfaces.html#reflect">reflect</a> the elements' <code title="attr-tdth-bgcolor"><a href="#attr-tdth-bgcolor">bgcolor</a></code> content attributes.</p>
<p>The <dfn id="dom-tdth-ch" title="dom-tdth-ch"><code>ch</code></dfn> IDL
attribute of the <code><a href="tabular-data.html#the-td-element">td</a></code> and <code><a href="tabular-data.html#the-th-element">th</a></code> elements must
<a href="common-dom-interfaces.html#reflect">reflect</a> the elements' <code title="attr-tdth-char"><a href="#attr-tdth-char">char</a></code> content attributes.</p>
<p>The <dfn id="dom-tdth-choff" title="dom-tdth-chOff"><code>chOff</code></dfn> IDL
attribute of the <code><a href="tabular-data.html#the-td-element">td</a></code> and <code><a href="tabular-data.html#the-th-element">th</a></code> elements must
<a href="common-dom-interfaces.html#reflect">reflect</a> the elements' <code title="attr-tdth-charoff"><a href="#attr-tdth-charoff">charoff</a></code> content attributes.</p>
<p>The <dfn id="dom-tdth-nowrap" title="dom-tdth-noWrap"><code>noWrap</code></dfn> IDL
attribute of the <code><a href="tabular-data.html#the-td-element">td</a></code> and <code><a href="tabular-data.html#the-th-element">th</a></code> elements must
<a href="common-dom-interfaces.html#reflect">reflect</a> the elements' <code title="attr-tdth-nowrap"><a href="#attr-tdth-nowrap">nowrap</a></code> content attributes.</p>
<p>The <dfn id="dom-tdth-valign" title="dom-tdth-vAlign"><code>vAlign</code></dfn> IDL
attribute of the <code><a href="tabular-data.html#the-td-element">td</a></code> and <code><a href="tabular-data.html#the-th-element">th</a></code> element must
<a href="common-dom-interfaces.html#reflect">reflect</a> the elements' <code title="attr-tdth-valign"><a href="#attr-tdth-valign">valign</a></code> content attributes.</p>
<hr><pre class="idl">[Supplemental]
interface <a href="tabular-data.html#htmltablerowelement">HTMLTableRowElement</a> {
attribute DOMString <a href="#dom-tr-align" title="dom-tr-align">align</a>;
attribute DOMString <a href="#dom-tr-bgcolor" title="dom-tr-bgColor">bgColor</a>;
attribute DOMString <a href="#dom-tr-ch" title="dom-tr-ch">ch</a>;
attribute DOMString <a href="#dom-tr-choff" title="dom-tr-chOff">chOff</a>;
attribute DOMString <a href="#dom-tr-valign" title="dom-tr-vAlign">vAlign</a>;
};</pre>
<p>The <dfn id="dom-tr-align" title="dom-tr-align"><code>align</code></dfn> IDL
attribute of the <code><a href="tabular-data.html#the-tr-element">tr</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a>
the content attribute of the same name.</p>
<p>The <dfn id="dom-tr-bgcolor" title="dom-tr-bgColor"><code>bgColor</code></dfn> IDL
attribute of the <code><a href="tabular-data.html#the-tr-element">tr</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a>
the element's <code title="attr-tr-bgcolor"><a href="#attr-tr-bgcolor">bgcolor</a></code> content
attribute.</p>
<p>The <dfn id="dom-tr-ch" title="dom-tr-ch"><code>ch</code></dfn> IDL attribute of
the <code><a href="tabular-data.html#the-tr-element">tr</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a> the element's
<code title="attr-tr-char"><a href="#attr-tr-char">char</a></code> content attribute.</p>
<p>The <dfn id="dom-tr-choff" title="dom-tr-chOff"><code>chOff</code></dfn> IDL
attribute of the <code><a href="tabular-data.html#the-tr-element">tr</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a>
the element's <code title="attr-tr-charoff"><a href="#attr-tr-charoff">charoff</a></code> content
attribute.</p>
<p>The <dfn id="dom-tr-valign" title="dom-tr-vAlign"><code>vAlign</code></dfn> IDL
attribute of the <code><a href="tabular-data.html#the-tr-element">tr</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a>
the element's <code title="attr-tr-valign"><a href="#attr-tr-valign">valign</a></code> content
attribute.</p>
<hr><pre class="idl">[Supplemental]
interface <a href="grouping-content.html#htmlulistelement">HTMLUListElement</a> {
attribute boolean <a href="#dom-ul-compact" title="dom-ul-compact">compact</a>;
attribute DOMString <a href="#dom-ul-type" title="dom-ul-type">type</a>;
};</pre>
<p>The <dfn id="dom-ul-compact" title="dom-ul-compact"><code>compact</code></dfn> and
<dfn id="dom-ul-type" title="dom-ul-type"><code>type</code></dfn> IDL attributes of
the <code><a href="grouping-content.html#the-ul-element">ul</a></code> element must <a href="common-dom-interfaces.html#reflect">reflect</a> the respective
content attributes of the same name.</p>
<hr><p>User agents must treat <code><a href="#xmp">xmp</a></code> elements in a manner
equivalent to <code><a href="grouping-content.html#the-pre-element">pre</a></code> elements in terms of semantics and
for purposes of rendering. (The parser has special behavior for this
element though.)</p>
<hr><p>The <code><a href="#bgsound">bgsound</a></code>, <code><a href="#isindex-0">isindex</a></code>,
<code><a href="#multicol">multicol</a></code>, <code><a href="#nextid">nextid</a></code>, <code><a href="#rb">rb</a></code>, and
<code><a href="#spacer">spacer</a></code> elements must use the
<code><a href="elements.html#htmlunknownelement">HTMLUnknownElement</a></code> interface.</p>
<hr><pre class="idl">[Supplemental]
interface <a href="dom.html#htmldocument">HTMLDocument</a> {
attribute DOMString <a href="#dom-document-fgcolor" title="dom-document-fgColor">fgColor</a>;
attribute DOMString <a href="#dom-document-bgcolor" title="dom-document-bgColor">bgColor</a>;
attribute DOMString <a href="#dom-document-linkcolor" title="dom-document-linkColor">linkColor</a>;
attribute DOMString <a href="#dom-document-vlinkcolor" title="dom-document-vlinkColor">vlinkColor</a>;
attribute DOMString <a href="#dom-document-alinkcolor" title="dom-document-alinkColor">alinkColor</a>;
readonly attribute <a href="common-dom-interfaces.html#htmlcollection">HTMLCollection</a> <a href="#dom-document-anchors" title="dom-document-anchors">anchors</a>;
readonly attribute <a href="common-dom-interfaces.html#htmlcollection">HTMLCollection</a> <a href="#dom-document-applets" title="dom-document-applets">applets</a>;
void <a href="#dom-document-clear" title="dom-document-clear">clear</a>();
readonly attribute <a href="common-dom-interfaces.html#htmlallcollection">HTMLAllCollection</a> <a href="#dom-document-all" title="dom-document-all">all</a>;
};</pre>
<p>The attributes of the <code><a href="infrastructure.html#document">Document</a></code> object listed in the
first column of the following table must <a href="common-dom-interfaces.html#reflect">reflect</a> the
content attribute on <a href="dom.html#the-body-element-0">the body element</a> with the name
given in the corresponding cell in the second column on the same
row, if <a href="dom.html#the-body-element-0">the body element</a> is a <code><a href="sections.html#the-body-element">body</a></code> element
(as opposed to a <code><a href="#frameset">frameset</a></code> element). When there is no
<a href="dom.html#the-body-element-0" title="the body element">body element</a> or if it is a
<code><a href="#frameset">frameset</a></code> element, the attributes must instead return
the empty string on getting and do nothing on setting.</p>
<table><thead><tr><th> IDL attribute
</th><th> Content attribute
</th></tr></thead><tbody><tr><td><dfn id="dom-document-fgcolor" title="dom-document-fgColor"><code>fgColor</code></dfn>
</td><td><code title="attr-body-text"><a href="#attr-body-text">text</a></code>
</td></tr><tr><td><dfn id="dom-document-bgcolor" title="dom-document-bgColor"><code>bgColor</code></dfn>
</td><td><code title="attr-body-bgcolor"><a href="#attr-body-bgcolor">bgcolor</a></code>
</td></tr><tr><td><dfn id="dom-document-linkcolor" title="dom-document-linkColor"><code>linkColor</code></dfn>
</td><td><code title="attr-body-link"><a href="#attr-body-link">link</a></code>
</td></tr><tr><td><dfn id="dom-document-vlinkcolor" title="dom-document-vlinkColor"><code>vlinkColor</code></dfn>
</td><td><code title="attr-body-vlink"><a href="#attr-body-vlink">vlink</a></code>
</td></tr><tr><td><dfn id="dom-document-alinkcolor" title="dom-document-alinkColor"><code>alinkColor</code></dfn>
</td><td><code title="attr-body-alink"><a href="#attr-body-alink">alink</a></code>
</td></tr></tbody></table><hr><p>The <dfn id="dom-document-anchors" title="dom-document-anchors"><code>anchors</code></dfn>
attribute must return an <code><a href="common-dom-interfaces.html#htmlcollection">HTMLCollection</a></code> rooted at the
<code><a href="infrastructure.html#document">Document</a></code> node, whose filter matches only <code><a href="text-level-semantics.html#the-a-element">a</a></code>
elements with <code title="attr-a-name"><a href="#attr-a-name">name</a></code>
attributes.</p>
<p>The <dfn id="dom-document-applets" title="dom-document-applets"><code>applets</code></dfn>
attribute must return an <code><a href="common-dom-interfaces.html#htmlcollection">HTMLCollection</a></code> rooted at the
<code><a href="infrastructure.html#document">Document</a></code> node, whose filter matches only
<code><a href="#the-applet-element">applet</a></code> elements.</p>
<p>The <dfn id="dom-document-clear" title="dom-document-clear"><code>clear()</code></dfn>
method must do nothing.</p>
<hr><p>The <dfn id="dom-document-all" title="dom-document-all"><code>all</code></dfn>
attribute must return an <code><a href="common-dom-interfaces.html#htmlallcollection">HTMLAllCollection</a></code> rooted at the
<code><a href="infrastructure.html#document">Document</a></code> node, whose filter matches all elements.</p>
<p>The object returned for <code title="dom-document-all"><a href="#dom-document-all">all</a></code>
has several unusual behaviors:</p>
<ul><li><p>The user agent must act as if the ToBoolean() operator in
JavaScript converts the object returned for <code title="dom-document-all"><a href="#dom-document-all">all</a></code> to the false value.</p></li>
<li><p>The user agent must act as if, for the purposes of the <code title="">==</code> and <code title="">!=</code> operators in
JavaScript, the object returned for <code title="dom-document-all"><a href="#dom-document-all">all</a></code> is equal to the <code title="">undefined</code> value.</p></li>
<li><p>The user agent must act such that the <code title="">typeof</code> operator in JavaScript returns the string
<code title="">undefined</code> when applied to the object returned
for <code title="dom-document-all"><a href="#dom-document-all">all</a></code>.</p></li>
</ul><p class="note">These requirements are a <a href="introduction.html#willful-violation">willful
violation</a> 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 <code title="">undefined</code> 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 <code title="dom-document-all"><a href="#dom-document-all">document.all</a></code> as a
way to detect legacy user agents, and one that only supports those
legacy user agents and uses the <code title="dom-document-all"><a href="#dom-document-all">document.all</a></code> object without testing
for its presence first. <a href="references.html#refsECMA262">[ECMA262]</a></p>
</div></body></html>