- From: poot <cvsmail@w3.org>
- Date: Wed, 26 Aug 2009 08:22:17 +0900 (JST)
- To: public-html-diffs@w3.org
: sharing
http://dev.w3.org/cvsweb/html5/spec-author-view/multipage/Overview.html?r1=NONE&r2=1.1&f=h
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>2 Common infrastructure — HTML 5</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; }
[...1142 lines suppressed...]
<li value="7"><dfn id="no_modification_allowed_err"><code>NO_MODIFICATION_ALLOWED_ERR</code></dfn></li>
<li value="8"><dfn id="not_found_err"><code>NOT_FOUND_ERR</code></dfn></li>
<li value="9"><dfn id="not_supported_err"><code>NOT_SUPPORTED_ERR</code></dfn></li>
<li value="10"><dfn id="inuse_attribute_err"><code>INUSE_ATTRIBUTE_ERR</code></dfn></li>
<li value="11"><dfn id="invalid_state_err"><code>INVALID_STATE_ERR</code></dfn></li>
<li value="12"><dfn id="syntax_err"><code>SYNTAX_ERR</code></dfn></li>
<li value="13"><dfn id="invalid_modification_err"><code>INVALID_MODIFICATION_ERR</code></dfn></li>
<li value="14"><dfn id="namespace_err"><code>NAMESPACE_ERR</code></dfn></li>
<li value="15"><dfn id="invalid_access_err"><code>INVALID_ACCESS_ERR</code></dfn></li>
<li value="16"><dfn id="validation_err"><code>VALIDATION_ERR</code></dfn></li>
<li value="17"><dfn id="type_mismatch_err"><code>TYPE_MISMATCH_ERR</code></dfn></li>
<li value="18"><dfn id="security_err"><code>SECURITY_ERR</code></dfn></li> <!-- actually in XHR for now -->
<li value="19"><dfn id="network_err"><code>NETWORK_ERR</code></dfn></li> <!-- actually in XHR for now -->
<li value="20"><dfn id="abort_err"><code>ABORT_ERR</code></dfn></li> <!-- actually in XHR for now -->
<li value="21"><dfn id="url_mismatch_err"><code>URL_MISMATCH_ERR</code></dfn></li> <!-- actually in workers for now -->
<li value="22"><dfn id="quota_exceeded_err"><code>QUOTA_EXCEEDED_ERR</code></dfn></li> <!-- actually defined right here for now -->
<!--v2DATAGRID <li value="23"><dfn><code>DATAGRID_MODEL_ERR</code></dfn></li> --> <!-- actually defined right here for now -->
<li value="81"><dfn id="parse_err"><code>PARSE_ERR</code></dfn></li> <!-- actually defined in dom3ls -->
<li value="82"><dfn id="serialize_err"><code>SERIALIZE_ERR</code></dfn></li> <!-- actually defined in dom3ls -->
</ol></body></html>
--- NEW FILE: text-level-semantics.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>4.6 Text-level semantics — HTML 5</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; }
[...3403 lines suppressed...]
<dd>None.</dd>
<dt>Contexts in which this element may be used:</dt>
<dd>As a child of an <code><a href="#the-object-element">object</a></code> element, before any <a href="dom.html#flow-content">flow content</a>.</dd>
<dt>Content model:</dt>
<dd>Empty.</dd>
<dt>Content attributes:</dt>
<dd><a href="dom.html#global-attributes">Global attributes</a></dd>
<dd><code title="attr-param-name"><a href="#attr-param-name">name</a></code></dd>
<dd><code title="attr-param-value"><a href="#attr-param-value">value</a></code></dd>
<dt>DOM interface:</dt>
<dd>
<pre class="idl">interface <dfn id="htmlparamelement">HTMLParamElement</dfn> : <a href="dom.html#htmlelement">HTMLElement</a> {
attribute DOMString <a href="#dom-param-name" title="dom-param-name">name</a>;
attribute DOMString <a href="#dom-param-value" title="dom-param-value">value</a>;
};</pre>
</dd>
</dl><p>The <code><a href="#the-param-element">param</a></code> element defines parameters for plugins
invoked by <code><a href="#the-object-element">object</a></code> elements. It does not <a href="#represents" title="represents">represent</a> anything on its own.</p><p>The <dfn id="attr-param-name" title="attr-param-name"><code>name</code></dfn>
attribute gives the name of the parameter.</p><p>The <dfn id="attr-param-value" title="attr-param-value"><code>value</code></dfn>
attribute gives the value of the parameter.</p><p>Both attributes must be present. They may have any value.</p></body></html>
--- NEW FILE: history.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>6.8 Session history and navigation — HTML 5</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; }
[...974 lines suppressed...]
<dd>The keyword has received wide peer review and it has been
found to have significant problems. Pages must not use the
keyword. When a keyword has this status, the "Effect
on... <code><a href="semantics.html#the-link-element">link</a></code>" and "Effect on... <code><a href="text-level-semantics.html#the-a-element">a</a></code> and
<code><a href="the-canvas-element.html#the-area-element">area</a></code>" information should be set to "not
allowed".</dd>
</dl><p>If a keyword is added with the "proposal" status and found to
be redundant with existing values, it should be removed and listed
as a synonym for the existing value. If a keyword is added with
the "proposal" status and found to be harmful, then it should be
changed to "rejected" status, and its "Effect on..." information
should be changed accordingly.</p>
</dd>
</dl><p>This specification does not define how new values will get
approved. It is expected that the Wiki will have a community that
addresses this.</p></body></html>
--- NEW FILE: tabular-data.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>4.9 Tabular data — HTML 5</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 { border-bottom: solid; }
table tbody th:first-child { border-left: solid; }
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; }
.applies th > * { display: block; }
.applies thead code { display: block; }
.applies td { text-align: center; }
.applies .yes { background: yellow; }
.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: #EEFFEE; }
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"]), li > span:not([title=""]):not([class="XXX"]):not([class="impl"]) { 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; }
p.copyright { 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; }
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; }
.tall-and-narrow {
font-size: 0.6em;
column-width: 25em;
column-gap: 1em;
-moz-column-width: 25em;
-moz-column-gap: 1em;
-webkit-column-width: 25em;
-webkit-column-gap: 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; }
</style><link href="data:text/css," rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" rel="alternate stylesheet" title="Highlight implementation requirements"><link href="http://www.w3.org/StyleSheets/TR/W3C-WD" rel="stylesheet" type="text/css"><!-- ZZZ ED vs WD --><link href="the-canvas-element.html" title="4.8.11 The canvas element" rel="prev">
<link href="Overview.html#contents" title="Table of contents" rel="index">
<link href="forms.html" title="4.10 Forms" rel="next">
</head><body onload="fixBrokenLink(); fixBrokenLink()"><div class="head">
<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>HTML 5</h1>
<h2 class="no-num no-toc" id="a-vocabulary-and-associated-apis-for-html-and-xhtml">A vocabulary and associated APIs for HTML and XHTML</h2>
</div><div>
<a href="the-canvas-element.html">← 4.8.11 The canvas element</a> –
<a href="Overview.html#contents">Table of contents</a> –
<a href="forms.html">4.10 Forms →</a>
</div>
<h3 id="tabular-data"><span class="secno">4.9 </span>Tabular data</h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments. </i><span><a href="http://www.w3.org/html/wg/tracker/issues/32">ISSUE-32</a> (table-summary) blocks progress to Last Call</span></p><h4 id="the-table-element"><span class="secno">4.9.1 </span>The <dfn><code>table</code></dfn> element</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><dl class="element"><dt>Categories</dt>
<dd><a href="dom.html#flow-content">Flow content</a>.</dd>
<dt>Contexts in which this element may be used:</dt>
<dd>Where <a href="dom.html#flow-content">flow content</a> is expected.</dd>
<dt>Content model:</dt>
<dd>In this order: optionally a <code><a href="#the-caption-element">caption</a></code> element,
followed by either zero or more <code><a href="#the-colgroup-element">colgroup</a></code> elements,
followed optionally by a <code><a href="#the-thead-element">thead</a></code> element, followed
optionally by a <code><a href="#the-tfoot-element">tfoot</a></code> element, followed by either zero
or more <code><a href="#the-tbody-element">tbody</a></code> elements <em>or</em> one or more
<code><a href="#the-tr-element">tr</a></code> elements, followed optionally by a
<code><a href="#the-tfoot-element">tfoot</a></code> element (but there can only be one
<code><a href="#the-tfoot-element">tfoot</a></code> element child in total).</dd>
<dt>Content attributes:</dt>
<dd><a href="dom.html#global-attributes">Global attributes</a></dd>
<dd><code title="attr-table-summary"><a href="#attr-table-summary">summary</a></code> (but see prose)</dd>
<dt>DOM interface:</dt>
<dd>
<pre class="idl">interface <dfn id="htmltableelement">HTMLTableElement</dfn> : <a href="dom.html#htmlelement">HTMLElement</a> {
attribute <a href="#htmltablecaptionelement">HTMLTableCaptionElement</a> <a href="#dom-table-caption" title="dom-table-caption">caption</a>;
<a href="dom.html#htmlelement">HTMLElement</a> <a href="#dom-table-createcaption" title="dom-table-createCaption">createCaption</a>();
void <a href="#dom-table-deletecaption" title="dom-table-deleteCaption">deleteCaption</a>();
attribute <a href="#htmltablesectionelement">HTMLTableSectionElement</a> <a href="#dom-table-thead" title="dom-table-tHead">tHead</a>;
<a href="dom.html#htmlelement">HTMLElement</a> <a href="#dom-table-createthead" title="dom-table-createTHead">createTHead</a>();
void <a href="#dom-table-deletethead" title="dom-table-deleteTHead">deleteTHead</a>();
attribute <a href="#htmltablesectionelement">HTMLTableSectionElement</a> <a href="#dom-table-tfoot" title="dom-table-tFoot">tFoot</a>;
<a href="dom.html#htmlelement">HTMLElement</a> <a href="#dom-table-createtfoot" title="dom-table-createTFoot">createTFoot</a>();
void <a href="#dom-table-deletetfoot" title="dom-table-deleteTFoot">deleteTFoot</a>();
readonly attribute <a href="infrastructure.html#htmlcollection">HTMLCollection</a> <a href="#dom-table-tbodies" title="dom-table-tBodies">tBodies</a>;
<a href="dom.html#htmlelement">HTMLElement</a> <a href="#dom-table-createtbody" title="dom-table-createTBody">createTBody</a>();
readonly attribute <a href="infrastructure.html#htmlcollection">HTMLCollection</a> <a href="#dom-table-rows" title="dom-table-rows">rows</a>;
<a href="dom.html#htmlelement">HTMLElement</a> <a href="#dom-table-insertrow" title="dom-table-insertRow">insertRow</a>(optional in long index);
void <a href="#dom-table-deleterow" title="dom-table-deleteRow">deleteRow</a>(in long index);
};</pre>
</dd>
</dl><p>The <code><a href="#the-table-element">table</a></code> element <a href="#represents">represents</a> data with
more than one dimension, in the form of a <a href="#concept-table" title="concept-table">table</a>.</p><p>Tables must not be used as layout aids. Historically, some Web
authors have misused tables in HTML as a way to control their page
layout. This usage is non-conforming, because tools attempting to
extract tabular data from such documents would obtain very confusing
results. In particular, users of accessibility tools like screen
readers are likely to find it very difficult to navigate pages with
tables used for layout.</p><p class="note">There are a variety of alternatives to using HTML
tables for layout, primarily using CSS positioning and the CSS table
model.</p><p>Tables have rows and columns given by their descendants. A table
must not have an empty row or column, as
described in the description of the <!-- conformance criteria for detecting this
are in the table model section --></p><p id="table-descriptions">For tables that consist of more than just
a grid of cells with headers in the first row and headers in the
first column, and for any table in general where the reader might
have difficulty understanding the content, authors should include
explanatory information introducing the table. This information is
useful for all users, but is especially useful for users who cannot
see the table, e.g. users of screen readers.</p><p>Such explanatory information should introduce the purpose of the
table, outline its basic cell structure, highlight any trends or
patterns, and generally teach the user how to use the table.</p><div class="example">
<p>For instance, the following table:</p>
<table><caption>Characteristics with positive and negative sides</caption>
<thead><tr><th id="n"> Negative
</th><th> Characteristic
</th><th> Positive
</th></tr></thead><tbody><tr><td headers="n r1"> Sad
</td><th id="r1"> Mood
</th><td> Happy
</td></tr><tr><td headers="n r2"> Failing
</td><th id="r2"> Grade
</th><td> Passing
</td></tr></tbody></table><p>...might benefit from a description explaining to the way the
table is laid out, something like "Characteristics are given in the
second column, with the negative side in the left column and the
positive side in the right column".</p>
</div><p>There are a variety of ways to include this information, such as:</p><dl><dt>In prose, surrounding the table</dt>
<dd>
<div class="example"><pre><p>In the following table, characteristics are given in the second
column, with the negative side in the left column and the positive
side in the right column.</p>
<table>
<caption>Characteristics with positive and negative sides</caption>
<thead>
<tr>
<th id="n"> Negative
<th> Characteristic
<th> Positive
<tbody>
<tr>
<td headers="n r1"> Sad
<th id="r1"> Mood
<td> Happy
<tr>
<td headers="n r2"> Failing
<th id="r2"> Grade
<td> Passing
</table></pre></div>
</dd>
<dt>In the table's <code><a href="#the-caption-element">caption</a></code></dt>
<dd>
<div class="example"><pre><table>
<caption>
<strong>Characteristics with positive and negative sides.</strong>
<p>Characteristics are given in the second column, with the
negative side in the left column and the positive side in the right
column.</p>
</caption>
<thead>
<tr>
<th id="n"> Negative
<th> Characteristic
<th> Positive
<tbody>
<tr>
<td headers="n r1"> Sad
<th id="r1"> Mood
<td> Happy
<tr>
<td headers="n r2"> Failing
<th id="r2"> Grade
<td> Passing
</table></pre></div>
</dd>
<dt>In the table's <code><a href="#the-caption-element">caption</a></code>, in a <code><a href="interactive-elements.html#the-details-element">details</a></code> element</dt>
<dd>
<div class="example"><pre><table>
<caption>
<strong>Characteristics with positive and negative sides.</strong>
<details>
<legend>Help</legend>
<p>Characteristics are given in the second column, with the
negative side in the left column and the positive side in the right
column.</p>
</details>
</caption>
<thead>
<tr>
<th id="n"> Negative
<th> Characteristic
<th> Positive
<tbody>
<tr>
<td headers="n r1"> Sad
<th id="r1"> Mood
<td> Happy
<tr>
<td headers="n r2"> Failing
<th id="r2"> Grade
<td> Passing
</table></pre></div>
</dd>
<dt>Next to the table, in the same <code><a href="text-level-semantics.html#the-figure-element">figure</a></code></dt>
<dd>
<div class="example"><pre><figure>
<legend>Characteristics with positive and negative sides</legend>
<p>Characteristics are given in the second
column, with the negative side in the left column and the positive
side in the right column.</p>
<table>
<thead>
<tr>
<th id="n"> Negative
<th> Characteristic
<th> Positive
<tbody>
<tr>
<td headers="n r1"> Sad
<th id="r1"> Mood
<td> Happy
<tr>
<td headers="n r2"> Failing
<th id="r2"> Grade
<td> Passing
</table>
<figure>
</pre></div>
</dd>
<dt>Next to the table, in a <code><a href="text-level-semantics.html#the-figure-element">figure</a></code>'s <code><a href="interactive-elements.html#the-legend-element">legend</a></code></dt>
<dd>
<div class="example"><pre><figure>
<legend>
<strong>Characteristics with positive and negative sides</strong>
<p>Characteristics are given in the second
column, with the negative side in the left column and the positive
side in the right column.</p>
</legend>
<table>
<thead>
<tr>
<th id="n"> Negative
<th> Characteristic
<th> Positive
<tbody>
<tr>
<td headers="n r1"> Sad
<th id="r1"> Mood
<td> Happy
<tr>
<td headers="n r2"> Failing
<th id="r2"> Grade
<td> Passing
</table>
<figure>
</pre></div>
</dd>
</dl><p>Authors may also use other techniques, or combinations of the
above techniques, as appropriate.</p><p>The <dfn id="attr-table-summary" title="attr-table-summary"><code>summary</code></dfn>
attribute on <code><a href="#the-table-element">table</a></code> elements was suggested in earlier
versions of the language as a technique for providing explanatory
text for complex tables for users of screen readers. One of the <a href="#table-descriptions">techniques</a> described <!--in the
<code>table</code> section--> above should be used
instead. <!--Authors should not specify the <code
title="attr-table-summary">summary</code> attribute on
<code>table</code> elements. --> <!-- 2.65% pages --></p><p class="note">In particular, authors are encouraged to consider
whether their explanatory text for tables is likely to be useful to
the visually impaired: if their text would not be useful, then it is
best to not include a <code title="attr-table-summary"><a href="#attr-table-summary">summary</a></code> attribute. Similarly, if
their explanatory text could help someone who is not visually
impaired, e.g. someone who is seeing the table for the first time,
then the text would be more useful before the table or in the
<code><a href="#the-caption-element">caption</a></code>. For example, describing the conclusions of the
data in a table is useful to everyone; explaining how to read the
table, if not obvious from the headers alone, is useful to everyone;
describing the structure of the table, if it is easy to grasp
visually, may not be useful to everyone, but it might also not be
useful to users who can quickly navigate the table with an
accessibility tool.</p><!--
<p class="note">Use of the <code
title="attr-table-summary">summary</code> attribute is discouraged
because in practice it is poorly understood. Because the attribute
is not exposed in visual user agents, authors who have included it
have typically not been able to test it, and have therefore set the
attribute to values that are of no use to users of accessibility
tools. This has lead to accessibility tools introducing heuristics
to try to avoid exposing such usage of the attribute to users. Even
the few authors who have made the best use of the attribute have
often misused it, for example by including text that would in fact
be useful for all users, or that is redundant with other information
on the page separate from the table.</p>
--><dl class="domintro"><dt><var title="">table</var> . <code title="dom-table-caption"><a href="#dom-table-caption">caption</a></code> [ = <var title="">value</var> ]</dt>
<dd>
<p>Returns the table's <code><a href="#the-caption-element">caption</a></code> element.</p>
<p>Can be set, to replace the <code><a href="#the-caption-element">caption</a></code> element. If the
new value is not a <code><a href="#the-caption-element">caption</a></code> element, throws a
<code><a href="infrastructure.html#hierarchy_request_err">HIERARCHY_REQUEST_ERR</a></code> exception.</p>
<dd>
</dd></dd><dt><var title="">caption</var> = <var title="">table</var> . <code title="dom-table-createCaption"><a href="#dom-table-createcaption">createCaption</a></code>()</dt>
<dd>
<p>Ensures the table has a <code><a href="#the-caption-element">caption</a></code> element, and returns it.</p>
<dd>
</dd></dd><dt><var title="">table</var> . <code title="dom-table-deleteCaption"><a href="#dom-table-deletecaption">deleteCaption</a></code>()</dt>
<dd>
<p>Ensures the table does not have a <code><a href="#the-caption-element">caption</a></code> element.</p>
<dd>
</dd></dd><dt><var title="">table</var> . <code title="dom-table-tHead"><a href="#dom-table-thead">tHead</a></code> [ = <var title="">value</var> ]</dt>
<dd>
<p>Returns the table's <code><a href="#the-thead-element">thead</a></code> element.</p>
<p>Can be set, to replace the <code><a href="#the-thead-element">thead</a></code> element. If the
new value is not a <code><a href="#the-thead-element">thead</a></code> element, throws a
<code><a href="infrastructure.html#hierarchy_request_err">HIERARCHY_REQUEST_ERR</a></code> exception.</p>
<dd>
</dd></dd><dt><var title="">thead</var> = <var title="">table</var> . <code title="dom-table-createTHead"><a href="#dom-table-createthead">createTHead</a></code>()</dt>
<dd>
<p>Ensures the table has a <code><a href="#the-thead-element">thead</a></code> element, and returns it.</p>
<dd>
</dd></dd><dt><var title="">table</var> . <code title="dom-table-deleteTHead"><a href="#dom-table-deletethead">deleteTHead</a></code>()</dt>
<dd>
<p>Ensures the table does not have a <code><a href="#the-thead-element">thead</a></code> element.</p>
<dd>
</dd></dd><dt><var title="">table</var> . <code title="dom-table-tFoot"><a href="#dom-table-tfoot">tFoot</a></code> [ = <var title="">value</var> ]</dt>
<dd>
<p>Returns the table's <code><a href="#the-tfoot-element">tfoot</a></code> element.</p>
<p>Can be set, to replace the <code><a href="#the-tfoot-element">tfoot</a></code> element. If the
new value is not a <code><a href="#the-tfoot-element">tfoot</a></code> element, throws a
<code><a href="infrastructure.html#hierarchy_request_err">HIERARCHY_REQUEST_ERR</a></code> exception.</p>
<dd>
</dd></dd><dt><var title="">tfoot</var> = <var title="">table</var> . <code title="dom-table-createTFoot"><a href="#dom-table-createtfoot">createTFoot</a></code>()</dt>
<dd>
<p>Ensures the table has a <code><a href="#the-tfoot-element">tfoot</a></code> element, and returns it.</p>
<dd>
</dd></dd><dt><var title="">table</var> . <code title="dom-table-deleteTFoot"><a href="#dom-table-deletetfoot">deleteTFoot</a></code>()</dt>
<dd>
<p>Ensures the table does not have a <code><a href="#the-tfoot-element">tfoot</a></code> element.</p>
<dd>
</dd></dd><dt><var title="">table</var> . <code title="dom-table-tBodies"><a href="#dom-table-tbodies">tBodies</a></code></dt>
<dd>
<p>Returns an <code><a href="infrastructure.html#htmlcollection">HTMLCollection</a></code> of the <code><a href="#the-tbody-element">tbody</a></code> elements of the table.</p>
<dd>
</dd></dd><dt><var title="">tbody</var> = <var title="">table</var> . <code title="dom-table-createTBody"><a href="#dom-table-createtbody">createTBody</a></code>()</dt>
<dd>
<p>Creates a <code><a href="#the-tbody-element">tbody</a></code> element, inserts it into the table, and returns it.</p>
<dd>
</dd></dd><dt><var title="">table</var> . <code title="dom-table-rows"><a href="#dom-table-rows">rows</a></code></dt>
<dd>
<p>Returns an <code><a href="infrastructure.html#htmlcollection">HTMLCollection</a></code> of the <code><a href="#the-tr-element">tr</a></code> elements of the table.</p>
<dd>
</dd></dd><dt><var title="">tr</var> = <var title="">table</var> . <code title="dom-table-insertRow"><a href="#dom-table-insertrow">insertRow</a></code>(<var title="">index</var>)</dt>
<dd>
<p>Creates a <code><a href="#the-tr-element">tr</a></code> element, along with a <code><a href="#the-tbody-element">tbody</a></code> if required, inserts them into the table at the position given by the argument, and returns the <code><a href="#the-tr-element">tr</a></code>.</p>
<p>The position is relative to the rows in the table. The index −1 is equivalent to inserting at the end of the table.</p>
<p>If the given position is less than −1 or greater than the number of rows, throws an <code><a href="infrastructure.html#index_size_err">INDEX_SIZE_ERR</a></code> exception.</p>
<dd>
</dd></dd><dt><var title="">table</var> . <code title="dom-table-deleteRow"><a href="#dom-table-deleterow">deleteRow</a></code>(<var title="">index</var>)</dt>
<dd>
<p>Removes the <code><a href="#the-tr-element">tr</a></code> element with the given position in the table.</p>
<p>The position is relative to the rows in the table. The index −1 is equivalent to deleting the last row of the table.</p>
<p>If the given position is less than −1 or greater than the index of the last row, or if there are no rows, throws an <code><a href="infrastructure.html#index_size_err">INDEX_SIZE_ERR</a></code> exception.</p>
<dd>
</dd></dd></dl><h4 id="the-caption-element"><span class="secno">4.9.2 </span>The <dfn><code>caption</code></dfn> element</h4><p class="XXX annotation"><b>Status: </b><i>Implemented and widely deployed</i></p><dl class="element"><dt>Categories</dt>
<dd>None.</dd>
<dt>Contexts in which this element may be used:</dt>
<dd>As the first element child of a <code><a href="#the-table-element">table</a></code> element.</dd>
<dt>Content model:</dt>
<dd><a href="dom.html#flow-content">Flow content</a>, but with no descendant <code><a href="#the-table-element">table</a></code> elements.</dd>
<dt>Content attributes:</dt>
<dd><a href="dom.html#global-attributes">Global attributes</a></dd>
<dt>DOM interface:</dt>
<dd>
<pre class="idl">interface <dfn id="htmltablecaptionelement">HTMLTableCaptionElement</dfn> : <a href="dom.html#htmlelement">HTMLElement</a> {};</pre>
</dd>
</dl><p>The <code><a href="#the-caption-element">caption</a></code> element <a href="#represents">represents</a> the title of the
<code><a href="#the-table-element">table</a></code> that is its parent, if it has a parent and that
is a <code><a href="#the-table-element">table</a></code> element.</p><p>When a <code><a href="#the-table-element">table</a></code> element is in a <code><a href="text-level-semantics.html#the-figure-element">figure</a></code>
element alone but for the <code><a href="text-level-semantics.html#the-figure-element">figure</a></code>'s <code><a href="interactive-elements.html#the-legend-element">legend</a></code>,
the <code><a href="#the-caption-element">caption</a></code> element should be omitted in favor of the
<code><a href="interactive-elements.html#the-legend-element">legend</a></code>.</p><p>A caption can introduce context for a table, making it
significantly easier to understand.</p><div class="example">
<p>Consider, for instance, the following table:</p>
<table class="dice-example"><tr><th> </th><th> 1 </th><th> 2 </th><th> 3 </th><th> 4 </th><th> 5 </th><th> 6
</th></tr><tr><th> 1 </th><td> 2 </td><td> 3 </td><td> 4 </td><td> 5 </td><td> 6 </td><td> 7
</td></tr><tr><th> 2 </th><td> 3 </td><td> 4 </td><td> 5 </td><td> 6 </td><td> 7 </td><td> 8
</td></tr><tr><th> 3 </th><td> 4 </td><td> 5 </td><td> 6 </td><td> 7 </td><td> 8 </td><td> 9
</td></tr><tr><th> 4 </th><td> 5 </td><td> 6 </td><td> 7 </td><td> 8 </td><td> 9 </td><td> 10
</td></tr><tr><th> 5 </th><td> 6 </td><td> 7 </td><td> 8 </td><td> 9 </td><td> 10 </td><td> 11
</td></tr><tr><th> 6 </th><td> 7 </td><td> 8 </td><td> 9 </td><td> 10 </td><td> 11 </td><td> 12
</td></tr></table><p>In the abstract, this table is not clear. However, with a
caption giving the table's number (for reference in the main prose)
and explaining its use, it makes more sense:</p>
<pre><caption>
<p>Table 1.
<p>This table shows the total score obtained from rolling two
six-sided dice. The first row represents the value of the first die,
the first column the value of the second die. The total is given in
the cell that corresponds to the values of the two dice.
</caption></pre>
<p>This provides the user with more context:</p>
<table class="dice-example"><caption>
<p>Table 1.
</p><p>This table shows the total score obtained from rolling two
six-sided dice. The first row represents the value of the first
die, the first column the value of the second die. The total is
given in the cell that corresponds to the values of the two dice.
</p></caption>
<tr><th> </th><th> 1 </th><th> 2 </th><th> 3 </th><th> 4 </th><th> 5 </th><th> 6
</th></tr><tr><th> 1 </th><td> 2 </td><td> 3 </td><td> 4 </td><td> 5 </td><td> 6 </td><td> 7
</td></tr><tr><th> 2 </th><td> 3 </td><td> 4 </td><td> 5 </td><td> 6 </td><td> 7 </td><td> 8
</td></tr><tr><th> 3 </th><td> 4 </td><td> 5 </td><td> 6 </td><td> 7 </td><td> 8 </td><td> 9
</td></tr><tr><th> 4 </th><td> 5 </td><td> 6 </td><td> 7 </td><td> 8 </td><td> 9 </td><td> 10
</td></tr><tr><th> 5 </th><td> 6 </td><td> 7 </td><td> 8 </td><td> 9 </td><td> 10 </td><td> 11
</td></tr><tr><th> 6 </th><td> 7 </td><td> 8 </td><td> 9 </td><td> 10 </td><td> 11 </td><td> 12
</td></tr></table></div><h4 id="the-colgroup-element"><span class="secno">4.9.3 </span>The <dfn><code>colgroup</code></dfn> element</h4><p class="XXX annotation"><b>Status: </b><i>Implemented and widely deployed</i></p><dl class="element"><dt>Categories</dt>
<dd>None.</dd>
<dt>Contexts in which this element may be used:</dt>
<dd>As a child of a <code><a href="#the-table-element">table</a></code> element, after any
<code><a href="#the-caption-element">caption</a></code> elements and before any <code><a href="#the-thead-element">thead</a></code>,
<code><a href="#the-tbody-element">tbody</a></code>, <code><a href="#the-tfoot-element">tfoot</a></code>, and <code><a href="#the-tr-element">tr</a></code>
elements.</dd>
<dt>Content model:</dt>
<dd>Zero or more <code><a href="#the-col-element">col</a></code> elements.</dd>
<dt>Content attributes:</dt>
<dd><a href="dom.html#global-attributes">Global attributes</a></dd>
<dd><code title="attr-colgroup-span"><a href="#attr-colgroup-span">span</a></code></dd>
<dt>DOM interface:</dt>
<dd>
<pre class="idl">interface <dfn id="htmltablecolelement">HTMLTableColElement</dfn> : <a href="dom.html#htmlelement">HTMLElement</a> {
attribute unsigned long <a href="#dom-colgroup-span" title="dom-colgroup-span">span</a>;
};</pre>
</dd>
</dl><p>The <code><a href="#the-colgroup-element">colgroup</a></code> element <a href="#represents">represents</a> a <a href="#concept-column-group" title="concept-column-group">group</a> of one or more <a href="#concept-column" title="concept-column">columns</a> in the <code><a href="#the-table-element">table</a></code> that
is its parent, if it has a parent and that is a <code><a href="#the-table-element">table</a></code>
element.</p><p>If the <code><a href="#the-colgroup-element">colgroup</a></code> element contains no <code><a href="#the-col-element">col</a></code>
elements, then the element may have a <dfn id="attr-colgroup-span" title="attr-colgroup-span"><code>span</code></dfn> content attribute
specified, whose value must be a <a href="infrastructure.html#valid-non-negative-integer">valid non-negative
integer</a> greater than zero.</p><h4 id="the-col-element"><span class="secno">4.9.4 </span>The <dfn><code>col</code></dfn> element</h4><p class="XXX annotation"><b>Status: </b><i>Implemented and widely deployed</i></p><dl class="element"><dt>Categories</dt>
<dd>None.</dd>
<dt>Contexts in which this element may be used:</dt>
<dd>As a child of a <code><a href="#the-colgroup-element">colgroup</a></code> element that doesn't have
a <code title="attr-col-span"><a href="#attr-col-span">span</a></code> attribute.</dd>
<dt>Content model:</dt>
<dd>Empty.</dd>
<dt>Content attributes:</dt>
<dd><a href="dom.html#global-attributes">Global attributes</a></dd>
<dd><code title="attr-col-span"><a href="#attr-col-span">span</a></code></dd>
<!-- v2: char, to specify the decimal character used in numeric data cells in the column (not header cells) -->
<dt>DOM interface:</dt>
<dd>
<p><code><a href="#htmltablecolelement">HTMLTableColElement</a></code>, same as for
<code><a href="#the-colgroup-element">colgroup</a></code> elements. This interface defines one member,
<code title="dom-col-span"><a href="#dom-col-span">span</a></code>.</p>
</dd>
</dl><p>If a <code><a href="#the-col-element">col</a></code> element has a parent and that is a
<code><a href="#the-colgroup-element">colgroup</a></code> element that itself has a parent that is a
<code><a href="#the-table-element">table</a></code> element, then the <code><a href="#the-col-element">col</a></code> element
<a href="#represents">represents</a> one or more <a href="#concept-column" title="concept-column">columns</a> in the <a href="#concept-column-group" title="concept-column-group">column group</a> represented by that
<code><a href="#the-colgroup-element">colgroup</a></code>.</p><p>The element may have a <dfn id="attr-col-span" title="attr-col-span"><code>span</code></dfn> content attribute
specified, whose value must be a <a href="infrastructure.html#valid-non-negative-integer">valid non-negative
integer</a> greater than zero.</p><h4 id="the-tbody-element"><span class="secno">4.9.5 </span>The <dfn><code>tbody</code></dfn> element</h4><p class="XXX annotation"><b>Status: </b><i>Implemented and widely deployed</i></p><dl class="element"><dt>Categories</dt>
<dd>None.</dd>
<dt>Contexts in which this element may be used:</dt>
<dd>As a child of a <code><a href="#the-table-element">table</a></code> element, after any
<code><a href="#the-caption-element">caption</a></code>, <code><a href="#the-colgroup-element">colgroup</a></code>, and
<code><a href="#the-thead-element">thead</a></code> elements, but only if there are no
<code><a href="#the-tr-element">tr</a></code> elements that are children of the
<code><a href="#the-table-element">table</a></code> element.</dd>
<dt>Content model:</dt>
<dd>Zero or more <code><a href="#the-tr-element">tr</a></code> elements</dd>
<dt>Content attributes:</dt>
<dd><a href="dom.html#global-attributes">Global attributes</a></dd>
<dt>DOM interface:</dt>
<dd>
<pre class="idl">interface <dfn id="htmltablesectionelement">HTMLTableSectionElement</dfn> : <a href="dom.html#htmlelement">HTMLElement</a> {
readonly attribute <a href="infrastructure.html#htmlcollection">HTMLCollection</a> <a href="#dom-tbody-rows" title="dom-tbody-rows">rows</a>;
<a href="dom.html#htmlelement">HTMLElement</a> <a href="#dom-tbody-insertrow" title="dom-tbody-insertRow">insertRow</a>(optional in long index);
void <a href="#dom-tbody-deleterow" title="dom-tbody-deleteRow">deleteRow</a>(in long index);
};</pre>
<p>The <code><a href="#htmltablesectionelement">HTMLTableSectionElement</a></code> interface is also
used for <code><a href="#the-thead-element">thead</a></code> and <code><a href="#the-tfoot-element">tfoot</a></code> elements.</p>
</dd>
</dl><p>The <code><a href="#the-tbody-element">tbody</a></code> element <a href="#represents">represents</a> a <a href="#concept-row-group" title="concept-row-group">block</a> of <a href="#concept-row" title="concept-row">rows</a> that consist of a body of data for
the parent <code><a href="#the-table-element">table</a></code> element, if the <code><a href="#the-tbody-element">tbody</a></code>
element has a parent and it is a <code><a href="#the-table-element">table</a></code>.</p><dl class="domintro"><dt><var title="">tbody</var> . <code title="dom-tbody-rows"><a href="#dom-tbody-rows">rows</a></code></dt>
<dd>
<p>Returns an <code><a href="infrastructure.html#htmlcollection">HTMLCollection</a></code> of the <code><a href="#the-tr-element">tr</a></code> elements of the table section.</p>
<dd>
</dd></dd><dt><var title="">tr</var> = <var title="">tbody</var> . <code title="dom-tbody-insertRow"><a href="#dom-tbody-insertrow">insertRow</a></code>( [ <var title="">index</var> ] )</dt>
<dd>
<p>Creates a <code><a href="#the-tr-element">tr</a></code> element, inserts it into the table section at the position given by the argument, and returns the <code><a href="#the-tr-element">tr</a></code>.</p>
<p>The position is relative to the rows in the table section. The index −1, which is the default if the argument is omitted, is equivalent to inserting at the end of the table section.</p>
<p>If the given position is less than −1 or greater than the number of rows, throws an <code><a href="infrastructure.html#index_size_err">INDEX_SIZE_ERR</a></code> exception.</p>
<dd>
</dd></dd><dt><var title="">tbody</var> . <code title="dom-tbody-deleteRow"><a href="#dom-tbody-deleterow">deleteRow</a></code>(<var title="">index</var>)</dt>
<dd>
<p>Removes the <code><a href="#the-tr-element">tr</a></code> element with the given position in the table section.</p>
<p>The position is relative to the rows in the table section. The index −1 is equivalent to deleting the last row of the table section.</p>
<p>If the given position is less than −1 or greater than the index of the last row, or if there are no rows, throws an <code><a href="infrastructure.html#index_size_err">INDEX_SIZE_ERR</a></code> exception.</p>
<dd>
</dd></dd></dl><h4 id="the-thead-element"><span class="secno">4.9.6 </span>The <dfn><code>thead</code></dfn> element</h4><p class="XXX annotation"><b>Status: </b><i>Implemented and widely deployed</i></p><dl class="element"><dt>Categories</dt>
<dd>None.</dd>
<dt>Contexts in which this element may be used:</dt>
<dd>As a child of a <code><a href="#the-table-element">table</a></code> element, after any
<code><a href="#the-caption-element">caption</a></code>, and <code><a href="#the-colgroup-element">colgroup</a></code>
elements and before any <code><a href="#the-tbody-element">tbody</a></code>, <code><a href="#the-tfoot-element">tfoot</a></code>, and
<code><a href="#the-tr-element">tr</a></code> elements, but only if there are no other
<code><a href="#the-thead-element">thead</a></code> elements that are children of the
<code><a href="#the-table-element">table</a></code> element.</dd>
<dt>Content model:</dt>
<dd>Zero or more <code><a href="#the-tr-element">tr</a></code> elements</dd>
<dt>Content attributes:</dt>
<dd><a href="dom.html#global-attributes">Global attributes</a></dd>
<dt>DOM interface:</dt>
<dd><code><a href="#htmltablesectionelement">HTMLTableSectionElement</a></code>, as defined for
<code><a href="#the-tbody-element">tbody</a></code> elements.</dd>
</dl><p>The <code><a href="#the-thead-element">thead</a></code> element <a href="#represents">represents</a> the <a href="#concept-row-group" title="concept-row-group">block</a> of <a href="#concept-row" title="concept-row">rows</a> that consist of the column labels
(headers) for the parent <code><a href="#the-table-element">table</a></code> element, if the
<code><a href="#the-thead-element">thead</a></code> element has a parent and it is a
<code><a href="#the-table-element">table</a></code>.</p><h4 id="the-tfoot-element"><span class="secno">4.9.7 </span>The <dfn><code>tfoot</code></dfn> element</h4><p class="XXX annotation"><b>Status: </b><i>Implemented and widely deployed</i></p><dl class="element"><dt>Categories</dt>
<dd>None.</dd>
<dt>Contexts in which this element may be used:</dt>
<dd>As a child of a <code><a href="#the-table-element">table</a></code> element, after any
<code><a href="#the-caption-element">caption</a></code>, <code><a href="#the-colgroup-element">colgroup</a></code>, and <code><a href="#the-thead-element">thead</a></code>
elements and before any <code><a href="#the-tbody-element">tbody</a></code> and <code><a href="#the-tr-element">tr</a></code>
elements, but only if there are no other <code><a href="#the-tfoot-element">tfoot</a></code>
elements that are children of the <code><a href="#the-table-element">table</a></code> element.</dd>
<dd>As a child of a <code><a href="#the-table-element">table</a></code> element, after any
<code><a href="#the-caption-element">caption</a></code>, <code><a href="#the-colgroup-element">colgroup</a></code>, <code><a href="#the-thead-element">thead</a></code>,
<code><a href="#the-tbody-element">tbody</a></code>, and <code><a href="#the-tr-element">tr</a></code> elements, but only if there
are no other <code><a href="#the-tfoot-element">tfoot</a></code> elements that are children of the
<code><a href="#the-table-element">table</a></code> element.</dd>
<dt>Content model:</dt>
<dd>Zero or more <code><a href="#the-tr-element">tr</a></code> elements</dd>
<dt>Content attributes:</dt>
<dd><a href="dom.html#global-attributes">Global attributes</a></dd>
<dt>DOM interface:</dt>
<dd><code><a href="#htmltablesectionelement">HTMLTableSectionElement</a></code>, as defined for
<code><a href="#the-tbody-element">tbody</a></code> elements.</dd>
</dl><p>The <code><a href="#the-tfoot-element">tfoot</a></code> element <a href="#represents">represents</a> the <a href="#concept-row-group" title="concept-row-group">block</a> of <a href="#concept-row" title="concept-row">rows</a> that consist of the column summaries
(footers) for the parent <code><a href="#the-table-element">table</a></code> element, if the
<code><a href="#the-tfoot-element">tfoot</a></code> element has a parent and it is a
<code><a href="#the-table-element">table</a></code>.</p><h4 id="the-tr-element"><span class="secno">4.9.8 </span>The <dfn><code>tr</code></dfn> element</h4><p class="XXX annotation"><b>Status: </b><i>Implemented and widely deployed</i></p><dl class="element"><dt>Categories</dt>
<dd>None.</dd>
<dt>Contexts in which this element may be used:</dt>
<dd>As a child of a <code><a href="#the-thead-element">thead</a></code> element.</dd>
<dd>As a child of a <code><a href="#the-tbody-element">tbody</a></code> element.</dd>
<dd>As a child of a <code><a href="#the-tfoot-element">tfoot</a></code> element.</dd>
<dd>As a child of a <code><a href="#the-table-element">table</a></code> element, after any
<code><a href="#the-caption-element">caption</a></code>, <code><a href="#the-colgroup-element">colgroup</a></code>, and <code><a href="#the-thead-element">thead</a></code>
elements, but only if there are no <code><a href="#the-tbody-element">tbody</a></code> elements that
are children of the <code><a href="#the-table-element">table</a></code> element.</dd>
<dt>Content model:</dt>
<dd>When the parent node is a <code><a href="#the-thead-element">thead</a></code> element: Zero or more <code><a href="#the-th-element">th</a></code> elements</dd>
<dd>Otherwise: Zero or more <code><a href="#the-td-element">td</a></code> or <code><a href="#the-th-element">th</a></code> elements</dd>
<dt>Content attributes:</dt>
<dd><a href="dom.html#global-attributes">Global attributes</a></dd>
<dt>DOM interface:</dt>
<dd>
<pre class="idl">interface <dfn id="htmltablerowelement">HTMLTableRowElement</dfn> : <a href="dom.html#htmlelement">HTMLElement</a> {
readonly attribute long <a href="#dom-tr-rowindex" title="dom-tr-rowIndex">rowIndex</a>;
readonly attribute long <a href="#dom-tr-sectionrowindex" title="dom-tr-sectionRowIndex">sectionRowIndex</a>;
readonly attribute <a href="infrastructure.html#htmlcollection">HTMLCollection</a> <a href="#dom-tr-cells" title="dom-tr-cells">cells</a>;
<a href="dom.html#htmlelement">HTMLElement</a> <a href="#dom-tr-insertcell" title="dom-tr-insertCell">insertCell</a>(optional in long index);
void <a href="#dom-tr-deletecell" title="dom-tr-deleteCell">deleteCell</a>(in long index);
};</pre>
</dd>
</dl><p>The <code><a href="#the-tr-element">tr</a></code> element <a href="#represents">represents</a> a <a href="#concept-row" title="concept-row">row</a> of <a href="#concept-cell" title="concept-cell">cells</a> in a <a href="#concept-table" title="concept-table">table</a>.</p><dl class="domintro"><dt><var title="">tr</var> . <code title="dom-tr-rowIndex"><a href="#dom-tr-rowindex">rowIndex</a></code></dt>
<dd>
<p>Returns the position of the row in the table's <code title="dom-table-rows"><a href="#dom-table-rows">rows</a></code> list.</p>
<p>Returns −1 if the element isn't in a table.</p>
</dd>
<dt><var title="">tr</var> . <code title="dom-tr-sectionRowIndex"><a href="#dom-tr-sectionrowindex">sectionRowIndex</a></code></dt>
<dd>
<p>Returns the position of the row in the table section's <code title="dom-tbody-rows"><a href="#dom-tbody-rows">rows</a></code> list.</p>
<p>Returns −1 if the element isn't in a table section.</p>
</dd>
<dt><var title="">tr</var> . <code title="dom-tr-cells"><a href="#dom-tr-cells">cells</a></code></dt>
<dd>
<p>Returns an <code><a href="infrastructure.html#htmlcollection">HTMLCollection</a></code> of the <code><a href="#the-td-element">td</a></code> and <code><a href="#the-th-element">th</a></code> elements of the row.</p>
<dd>
</dd></dd><dt><var title="">cell</var> = <var title="">tr</var> . <code title="dom-tr-insertCell"><a href="#dom-tr-insertcell">insertCell</a></code>( [ <var title="">index</var> ] )</dt>
<dd>
<p>Creates a <code><a href="#the-td-element">td</a></code> element, inserts it into the table
row at the position given by the argument, and returns the
<code><a href="#the-td-element">td</a></code>.</p>
<p>The position is relative to the cells in the row. The
index −1, which is the default if the argument is omitted,
is equivalent to inserting at the end of the row.</p>
<p>If the given position is less than −1 or greater than
the number of cells, throws an <code><a href="infrastructure.html#index_size_err">INDEX_SIZE_ERR</a></code>
exception.</p>
</dd>
<dt><var title="">tr</var> . <code title="dom-tr-deleteCell"><a href="#dom-tr-deletecell">deleteCell</a></code>(<var title="">index</var>)</dt>
<dd>
<p>Removes the <code><a href="#the-td-element">td</a></code> or <code><a href="#the-th-element">th</a></code> element with the
given position in the row.</p>
<p>The position is relative to the cells in the row. The index
−1 is equivalent to deleting the last cell of the row.</p>
<p>If the given position is less than −1 or greater than
the index of the last cell, or if there are no cells, throws an
<code><a href="infrastructure.html#index_size_err">INDEX_SIZE_ERR</a></code> exception.</p>
<dd>
</dd></dd></dl><h4 id="the-td-element"><span class="secno">4.9.9 </span>The <dfn><code>td</code></dfn> element</h4><p class="XXX annotation"><b>Status: </b><i>Implemented and widely deployed</i></p><dl class="element"><dt>Categories</dt>
<dd><a href="semantics.html#sectioning-root">Sectioning root</a>.</dd>
<dt>Contexts in which this element may be used:</dt>
<dd>As a child of a <code><a href="#the-tr-element">tr</a></code> element.</dd>
<dt>Content model:</dt>
<dd><a href="dom.html#flow-content">Flow content</a>.</dd>
<dt>Content attributes:</dt>
<dd><a href="dom.html#global-attributes">Global attributes</a></dd>
<dd><code title="attr-tdth-colspan"><a href="#attr-tdth-colspan">colspan</a></code></dd>
<dd><code title="attr-tdth-rowspan"><a href="#attr-tdth-rowspan">rowspan</a></code></dd>
<dd><code title="attr-tdth-headers"><a href="#attr-tdth-headers">headers</a></code></dd>
<!-- v2 char, to specify the decimal character used in numeric cells -->
<dt>DOM interface:</dt>
<dd>
<pre class="idl">interface <dfn id="htmltabledatacellelement">HTMLTableDataCellElement</dfn> : <a href="#htmltablecellelement">HTMLTableCellElement</a> {};</pre>
</dd>
</dl><p>The <code><a href="#the-td-element">td</a></code> element <a href="#represents">represents</a> a data <a href="#concept-cell" title="concept-cell">cell</a> in a table.</p><h4 id="the-th-element"><span class="secno">4.9.10 </span>The <dfn><code>th</code></dfn> element</h4><p class="XXX annotation"><b>Status: </b><i>Implemented and widely deployed</i></p><dl class="element"><dt>Categories</dt>
<dd>None.</dd>
<dt>Contexts in which this element may be used:</dt>
<dd>As a child of a <code><a href="#the-tr-element">tr</a></code> element.</dd>
<dt>Content model:</dt>
<dd><a href="dom.html#phrasing-content">Phrasing content</a>.</dd>
<dt>Content attributes:</dt>
<dd><a href="dom.html#global-attributes">Global attributes</a></dd>
<dd><code title="attr-tdth-colspan"><a href="#attr-tdth-colspan">colspan</a></code></dd>
<dd><code title="attr-tdth-rowspan"><a href="#attr-tdth-rowspan">rowspan</a></code></dd>
<dd><code title="attr-tdth-headers"><a href="#attr-tdth-headers">headers</a></code></dd>
<dd><code title="attr-th-scope"><a href="#attr-th-scope">scope</a></code></dd>
<dt>DOM interface:</dt>
<dd>
<pre class="idl">interface <dfn id="htmltableheadercellelement">HTMLTableHeaderCellElement</dfn> : <a href="#htmltablecellelement">HTMLTableCellElement</a> {
attribute DOMString <a href="#dom-th-scope" title="dom-th-scope">scope</a>;
};</pre>
</dd>
</dl><p>The <code><a href="#the-th-element">th</a></code> element <a href="#represents">represents</a> a header <a href="#concept-cell" title="concept-cell">cell</a> in a table.</p><p>The <code><a href="#the-th-element">th</a></code> element may have a <dfn id="attr-th-scope" title="attr-th-scope"><code>scope</code></dfn> content attribute
specified. The <code title="attr-th-scope"><a href="#attr-th-scope">scope</a></code> attribute is
an <a href="infrastructure.html#enumerated-attribute">enumerated attribute</a> with five states, four of which
have explicit keywords:</p><dl><dt>The <dfn id="attr-th-scope-row" title="attr-th-scope-row"><code>row</code></dfn>
keyword, which maps to the <i>row</i> state</dt>
<dd>The <i>row</i> state means the header cell applies to some of
the subsequent cells in the same row(s).</dd>
<dt>The <dfn id="attr-th-scope-col" title="attr-th-scope-col"><code>col</code></dfn>
keyword, which maps to the <i>column</i> state</dt>
<dd>The <i>column</i> state means the header cell applies to some
of the subsequent cells in the same column(s).</dd>
<dt>The <dfn id="attr-th-scope-rowgroup" title="attr-th-scope-rowgroup"><code>rowgroup</code></dfn> keyword,
which maps to the <i>row group</i> state</dt>
<dd>The <i>row group</i> state means the header cell applies to all
the remaining cells in the row group. A <code><a href="#the-th-element">th</a></code> element's
<code title="attr-th-scope"><a href="#attr-th-scope">scope</a></code> attribute must not be in
the <a href="#attr-th-scope-rowgroup" title="attr-th-scope-rowgroup">row group</a> state if
the element is not anchored in a <a href="#concept-row-group" title="concept-row-group">row group</a>.</dd>
<dt>The <dfn id="attr-th-scope-colgroup" title="attr-th-scope-colgroup"><code>colgroup</code></dfn> keyword,
which maps to the <i>column group</i> state</dt>
<dd>The <i>column group</i> state means the header cell applies to
all the remaining cells in the column group. A <code><a href="#the-th-element">th</a></code>
element's <code title="attr-th-scope"><a href="#attr-th-scope">scope</a></code> attribute must
not be in the <a href="#attr-th-scope-colgroup" title="attr-th-scope-colgroup">column
group</a> state if the element is not anchored in a <a href="#concept-column-group" title="concept-column-group">column group</a>.</dd>
<dt>The <dfn id="attr-th-scope-auto" title="attr-th-scope-auto">auto</dfn> state</dt>
<dd>The <i>auto</i> state makes the header cell apply to a set of
cells selected based on context.</dd>
</dl><p>The <code title="attr-th-scope"><a href="#attr-th-scope">scope</a></code> attribute's
<i>missing value default</i> is the <i>auto</i> state.</p><div class="example">
<p>The following example shows how the <code title="attr-th-scope"><a href="#attr-th-scope">scope</a></code> attribute's <code title="attr-th-scope-rowgroup"><a href="#attr-th-scope-rowgroup">rowgroup</a></code> value affects which
data cells a header cell applies to.</p>
<p>Here is a markup fragment showing a table:</p>
<pre><table>
<thead>
<tr> <th> ID <th> Measurement <th> Average <th> Maximum
<tbody>
<tr> <td> <th scope=rowgroup> Cats <td> <td>
<tr> <td> 93 <td> Legs <td> 3.5 <td> 4
<tr> <td> 10 <td> Tails <td> 1 <td> 1
<tbody>
<tr> <td> <th scope=rowgroup> English speakers <td> <td>
<tr> <td> 32 <td> Legs <td> 2.67 <td> 4
<tr> <td> 35 <td> Tails <td> 0.33 <td> 1
</table></pre>
<p>This would result in the following table:</p>
<table><thead><tr><th> ID </th><th> Measurement </th><th> Average </th><th> Maximum
</th></tr></thead><tbody><tr><td> </td><th scope="rowgroup"> Cats </th><td> </td><td>
</td></tr><tr><td> 93 </td><th> Legs </th><td> 3.5 </td><td> 4
</td></tr><tr><td> 10 </td><th> Tails </th><td> 1 </td><td> 1
</td></tr></tbody><tbody><tr><td> </td><th scope="rowgroup"> English speakers </th><td> </td><td>
</td></tr><tr><td> 32 </td><th> Legs </th><td> 2.67 </td><td> 4
</td></tr><tr><td> 35 </td><th> Tails </th><td> 0.33 </td><td> 1
</td></tr></tbody></table><p>The headers in the first row all apply directly down to the rows
in their column.</p>
<p>The headers with the explicit <code title="attr-th-scope"><a href="#attr-th-scope">scope</a></code> attributes apply to all the
cells in their row group other than the cells in the first column.</p>
<p>The remaining headers apply just to the cells to the right of
them.</p>
<!-- image source: http://software.hixie.ch/utilities/js/live-dom-viewer/saved/151 -->
<img alt="" src="images/table-scope-diagram.png"><!-- (alt is empty because the diagram is completely described by the previous paragraphs) --></div><h4 id="attributes-common-to-td-and-th-elements"><span class="secno">4.9.11 </span>Attributes common to <code><a href="#the-td-element">td</a></code> and <code><a href="#the-th-element">th</a></code> elements</h4><p>The <code><a href="#the-td-element">td</a></code> and <code><a href="#the-th-element">th</a></code> elements may have a <dfn id="attr-tdth-colspan" title="attr-tdth-colspan"><code>colspan</code></dfn> content
attribute specified, whose value must be a <a href="infrastructure.html#valid-non-negative-integer">valid non-negative
integer</a> greater than zero.</p><p>The <code><a href="#the-td-element">td</a></code> and <code><a href="#the-th-element">th</a></code> elements may also have a
<dfn id="attr-tdth-rowspan" title="attr-tdth-rowspan"><code>rowspan</code></dfn> content
attribute specified, whose value must be a <a href="infrastructure.html#valid-non-negative-integer">valid non-negative
integer</a>.</p><p>These attributes give the number of columns and rows respectively
that the cell is to span. These attributes must not be used to
overlap cells, as described in the description of
the </p><!-- conformance criteria
for determining when this is violated are given in the processing
model --><hr><p>The <code><a href="#the-td-element">td</a></code> and <code><a href="#the-th-element">th</a></code> element may have a <dfn id="attr-tdth-headers" title="attr-tdth-headers"><code>headers</code></dfn> content
attribute specified. The <code title="attr-tdth-headers"><a href="#attr-tdth-headers">headers</a></code> attribute, if specified,
must contain a string consisting of an <a href="infrastructure.html#unordered-set-of-unique-space-separated-tokens">unordered set of unique
space-separated tokens</a>, each of which must have the value of
an ID of a <code><a href="#the-th-element">th</a></code> element taking part in the same <a href="#concept-table" title="concept-table">table</a> as the <code><a href="#the-td-element">td</a></code> or
<code><a href="#the-th-element">th</a></code> element.</p><p>A <code><a href="#the-th-element">th</a></code> element with ID <var title="">id</var> is said
to be <i>directly targeted</i> by all <code><a href="#the-td-element">td</a></code> and
<code><a href="#the-th-element">th</a></code> elements in the same <a href="#concept-table" title="concept-table">table</a> that have <code title="attr-tdth-headers"><a href="#attr-tdth-headers">headers</a></code> attributes whose values
include as one of their tokens the ID <var title="">id</var>. A
<code><a href="#the-th-element">th</a></code> element <var title="">A</var> is said to be
<i>targeted</i> by a <code><a href="#the-th-element">th</a></code> or <code><a href="#the-td-element">td</a></code> element
<var title="">B</var> if either <var title="">A</var> is <i>directly
targeted</i> by <var title="">B</var> or if there exists an element
<var title="">C</var> that is itself <i>targeted</i> by the element
<var title="">B</var> and <var title="">A</var> is <i>directly
targeted</i> by <var title="">C</var>.</p><p>A <code><a href="#the-th-element">th</a></code> element must not be <i>targeted</i> by
itself.</p><hr><p>The <code><a href="#the-td-element">td</a></code> and <code><a href="#the-th-element">th</a></code> elements implement
interfaces that inherit from the <code><a href="#htmltablecellelement">HTMLTableCellElement</a></code>
interface:</p><pre class="idl">interface <dfn id="htmltablecellelement">HTMLTableCellElement</dfn> : <a href="dom.html#htmlelement">HTMLElement</a> {
attribute unsigned long <a href="#dom-tdth-colspan" title="dom-tdth-colSpan">colSpan</a>;
attribute unsigned long <a href="#dom-tdth-rowspan" title="dom-tdth-rowSpan">rowSpan</a>;
attribute DOMString <a href="#dom-tdth-headers" title="dom-tdth-headers">headers</a>;
readonly attribute long <a href="#dom-tdth-cellindex" title="dom-tdth-cellIndex">cellIndex</a>;
};</pre><dl class="domintro"><dt><var title="">cell</var> . <code title="dom-tdth-cellIndex"><a href="#dom-tdth-cellindex">cellIndex</a></code></dt>
<dd>
<p>Returns the position of the cell in the row's <code title="dom-tr-cells"><a href="#dom-tr-cells">cells</a></code> list.</p>
<p>Returns 0 if the element isn't in a row.</p>
</dd>
</dl></body></html>
--- NEW FILE: microdata.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>5 Microdata — HTML 5</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; }
[...2610 lines suppressed...]
<p>This example shows an embedded image entitiled <cite>My
Pond</cite>, licensed under the Creative Commons Attribution-Share
Alike 3.0 United States License and the MIT license
simultaneously.</p>
<pre><figure <strong>item="work"</strong>>
<img <strong>itemprop="about"</strong> src="mypond.jpeg">
<legend>
<p><cite <strong>itemprop="title"</strong>>My Pond</cite></p>
<p><small>Licensed under the <a <strong>itemprop="license"</strong>
href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative
Commons Attribution-Share Alike 3.0 United States License</a>
and the <a <strong>itemprop="license"</strong>
href="http://www.opensource.org/licenses/mit-license.php">MIT
license</a>.</small>
</legend>
</figure></pre>
</div></body></html>
--- NEW FILE: Overview.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>HTML 5</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 { border-bottom: solid; }
table tbody th:first-child { border-left: solid; }
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; }
.applies th > * { display: block; }
.applies thead code { display: block; }
.applies td { text-align: center; }
.applies .yes { background: yellow; }
.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: #EEFFEE; }
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"]), li > span:not([title=""]):not([class="XXX"]):not([class="impl"]) { 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; }
p.copyright { 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; }
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; }
.tall-and-narrow {
font-size: 0.6em;
column-width: 25em;
column-gap: 1em;
-moz-column-width: 25em;
-moz-column-gap: 1em;
-webkit-column-width: 25em;
-webkit-column-gap: 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; }
</style><link href="data:text/css," rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" rel="alternate stylesheet" title="Highlight implementation requirements"><link href="http://www.w3.org/StyleSheets/TR/W3C-WD" rel="stylesheet" type="text/css"><!-- ZZZ ED vs WD --></head><body onload="fixBrokenLink(); fixBrokenLink()"><div class="head">
<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>HTML 5</h1>
<h2 class="no-num no-toc" id="a-vocabulary-and-associated-apis-for-html-and-xhtml">A vocabulary and associated APIs for HTML and XHTML</h2>
<!--ZZZ:-->
<h2 class="no-num no-toc" id="w3c-working-draft-25-august-2009">W3C Working Draft 25 August 2009</h2>
<!--<h2 class="no-num no-toc">Editor's Draft 25 August 2009</h2>-->
<!--:ZZZ-->
<dl><!-- ZZZ: update the month/day (twice), (un)comment out--><dt>This Version:</dt>
<dd><a href="http://www.w3.org/TR/2009/WD-html5-20090825/">http://www.w3.org/TR/2009/WD-html5-20090825/</a></dd>
<!-- :ZZZ -->
<dt>Latest Published Version:</dt>
<dd><a href="http://www.w3.org/TR/html5/">http://www.w3.org/TR/html5/</a></dd>
<dt>Latest Editor's Draft:</dt>
<dd><a href="http://www.w3.org/html/wg/html5/">http://www.w3.org/html/wg/html5/</a></dd>
<!-- ZZZ: add the new version after it has shipped -->
<dt>Previous Versions:</dt>
<dd><a href="http://www.w3.org/TR/2009/WD-html5-20090423/">http://www.w3.org/TR/2009/WD-html5-20090423/</a></dd>
<dd><a href="http://www.w3.org/TR/2009/WD-html5-20090212/">http://www.w3.org/TR/2009/WD-html5-20090212/</a></dd>
<dd><a href="http://www.w3.org/TR/2008/WD-html5-20080610/">http://www.w3.org/TR/2008/WD-html5-20080610/</a></dd>
<dd><a href="http://www.w3.org/TR/2008/WD-html5-20080122/">http://www.w3.org/TR/2008/WD-html5-20080122/</a></dd>
<!-- :ZZZ -->
<dt>Editors:</dt>
<dd><a href="mailto:ian@hixie.ch">Ian Hickson</a>, Google, Inc.</dd>
<dd>David Hyatt, Apple, Inc.</dd>
</dl><p>This specification is available in the following formats:
<a href="Overview.html">single page HTML</a>,
<a href="spec.html">multipage HTML</a>.
This is $Revision: 1.1 $.
</p>
<p class="copyright"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a>
© 2009 <a href="http://www.w3.org/"><abbr title="World Wide
Web Consortium">W3C</abbr></a><sup>®</sup> (<a href="http://www.csail.mit.edu/"><abbr title="Massachusetts
Institute of Technology">MIT</abbr></a>, <a href="http://www.ercim.org/"><abbr title="European Research
Consortium for Informatics and Mathematics">ERCIM</abbr></a>, <a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C
<a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
<a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a>
and <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document
use</a> rules apply.</p>
</div><hr class="top"><h2 class="no-num no-toc" id="abstract">Abstract</h2><p>This specification defines the 5th major revision of the core
language of the World Wide Web: the Hypertext Markup Language
(HTML). In this version, new features are introduced to help Web
application authors, new elements are introduced based on research
into prevailing authoring practices, and special attention has been
given to defining clear conformance criteria for user agents in an
effort to improve interoperability.</p><h2 class="no-num no-toc" id="status-of-this-document">Status of this document</h2><!-- intro boilerplate (required) --><p><em>This section describes the status of this document at the
time of its publication. Other documents may supersede this
document. A list of current W3C publications and the most recently
formally published revision of this technical report can be found in
the <a href="http://www.w3.org/TR/">W3C technical reports index</a>
at http://www.w3.org/TR/.</em></p><!-- UNDER NO CIRCUMSTANCES IS THE FOLLOWING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- XXX this section will be moved back to just below the copyright
notice in the header by October 2009 unless the spec as a whole has
been transitioned to a more permissive license by that time. --><!-- XXX when moving this text, add: class="alt copyright" --><p>The <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/">WHATWG
version</a> of this specification is available under a license that
permits reuse of the specification text.</p><!-- UNDER NO CIRCUMSTANCES IS THE PRECEDING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- where to send feedback (required) --><p>If you wish to make comments regarding this document, please send
them to <a href="mailto:public-html-comments@w3.org">public-html-comments@w3.org</a>
(<a href="mailto:public-html-comments-request@w3.org?subject=subscribe">subscribe</a>,
<a href="http://lists.w3.org/Archives/Public/public-html-comments/">archives</a>)
<!-- UNDER NO CIRCUMSTANCES IS THE FOLLOWING SENTENCE TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST -->
or <a href="mailto:whatwg@whatwg.org">whatwg@whatwg.org</a> (<a href="http://lists.whatwg.org/listinfo.cgi/whatwg-whatwg.org">subscribe</a>,
<a href="http://lists.whatwg.org/pipermail/whatwg-whatwg.org/">archives</a>),
<!-- UNDER NO CIRCUMSTANCES IS THE PRECEDING SENTENCE TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST -->
or submit them using <a href="http://www.w3.org/Bugs/Public/enter_bug.cgi?product=HTML%20WG">our
public bug database</a>.
All feedback is welcome.</p><!-- UNDER NO CIRCUMSTANCES IS THE FOLLOWING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><p>We maintain <a href="http://www.whatwg.org/issues/">a list of all
e-mails that have not yet been considered</a> and <a href="http://www.w3.org/Bugs/Public/buglist.cgi?component=Spec%20bugs&component=Spec%20proposals&product=HTML%20WG&resolution=NEEDSINFO&resolution=LATER&resolution=REMIND&resolution=---&order=bugs.resolution%2Cbugs.priority%2C%20bugs.bug_severity">a
list of all bug reports that have not yet been resolved</a>.</p><!-- UNDER NO CIRCUMSTANCES IS THE PRECEDING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- stability (required) --><p>Implementors should be aware that this specification is not
stable. <strong>Implementors who are not taking part in the
discussions are likely to find the specification changing out from
under them in incompatible ways.</strong> Vendors interested in
implementing this specification before it eventually reaches the
Candidate Recommendation stage should join the aforementioned
mailing lists and take part in the discussions.</p><!-- not everyone agrees with html5 (requested before fpwd) --><p>The publication of this document by the W3C as a W3C Working
Draft does not imply that all of the participants in the W3C HTML
working group endorse the contents of the specification. Indeed, for
any section of the specification, one can usually find many members
of the working group or of the W3C as a whole who object strongly to
the current text, the existence of the section at all, or the idea
that the working group should even spend time discussing the concept
of that section.</p><!-- UNDER NO CIRCUMSTANCES IS THE FOLLOWING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- version history or list of changes (required) --><p>The latest stable version of the editor's draft of this
specification is always available on <a href="http://dev.w3.org/html5/spec/Overview.html">the
W3C CVS server</a> and in the <a href="http://svn.whatwg.org/webapps/">WHATWG Subversion
repository</a>. The <a href="http://www.whatwg.org/specs/web-apps/current-work/">latest
editor's working copy</a> (which may contain unfinished text in
the process of being prepared) is also available.</p><!-- UNDER NO CIRCUMSTANCES IS THE PRECEDING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- UNDER NO CIRCUMSTANCES IS THE FOLLOWING LIST TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><p>There are various ways to follow the change history for the
specification:</p><dl><dt>E-mail notifications of changes</dt>
<dd>HTML-Diffs mailing list (diff-marked HTML versions for each change): <a href="http://lists.w3.org/Archives/Public/public-html-diffs/latest">http://lists.w3.org/Archives/Public/public-html-diffs/latest</a></dd>
<dd>Commit-Watchers mailing list (complete source diffs): <a href="http://lists.whatwg.org/listinfo.cgi/commit-watchers-whatwg.org">http://lists.whatwg.org/listinfo.cgi/commit-watchers-whatwg.org</a></dd>
<dt>Real-time notifications of changes:</dt>
<dd>Generated diff-marked HTML versions for each change: <a href="http://twitter.com/HTML5">http://twitter.com/HTML5</a></dd>
<dd>All (non-editorial) changes to the spec source: <a href="http://twitter.com/WHATWG">http://twitter.com/WHATWG</a></dd>
<dt>Browsable version-control record of all changes:</dt>
<dd>CVSWeb interface with side-by-side diffs: <a href="http://dev.w3.org/cvsweb/html5/spec/Overview.html">http://dev.w3.org/cvsweb/html5/spec/Overview.html</a></dd>
<dd>Annotated summary with unified diffs: <a href="http://html5.org/tools/web-apps-tracker">http://html5.org/tools/web-apps-tracker</a></dd>
<dd>Raw Subversion interface: <code>svn checkout http://svn.whatwg.org/webapps/</code></dd>
</dl><!-- UNDER NO CIRCUMSTANCES IS THE PRECEDING LIST TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- status of document, group responsible (required) --><p>The W3C <a href="http://www.w3.org/html/wg/">HTML Working
Group</a> is the W3C working group responsible for this
specification's progress along the W3C Recommendation
track.
<!--ZZZ:-->
This specification is the 25 August 2009 Working Draft.
<!--This specification is the 25 August 2009 Editor's Draft.-->
<!--:ZZZ-->
</p><!-- UNDER NO CIRCUMSTANCES IS THE PRECEDING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- relationship to other work (required) --><p>This specification is also being produced by the <a href="http://www.whatwg.org/">WHATWG</a>. The two specifications are
identical from the table of contents onwards.</p><!-- UNDER NO CIRCUMSTANCES IS THE FOLLOWING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- UNDER NO CIRCUMSTANCES IS THE PRECEDING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- context and rationale (required) --><p>This specification is intended to replace (be a new version of)
what was previously the HTML4, XHTML 1.0, and DOM2 HTML
specifications.</p><!-- UNDER NO CIRCUMSTANCES IS THE FOLLOWING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- required patent boilerplate --><p>This document was produced by a group operating under the <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5
February 2004 W3C Patent Policy</a>. W3C maintains a <a href="http://www.w3.org/2004/01/pp-impl/40318/status" rel="disclosure">public list of
any patent disclosures</a> made in connection with the deliverables
of the group; that page also includes instructions for disclosing a
patent. An individual who has actual knowledge of a patent which the
individual believes contains <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential
Claim(s)</a> must disclose the information in accordance with <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section
6 of the W3C Patent Policy</a>.</p><h3 class="no-num no-toc" id="stability-0">Stability</h3><p>Different parts of this specification are at different levels of
maturity.</p><div id="stability"></div><h2 class="no-num no-toc" id="contents">Table of contents</h2>
<!--begin-toc-->
<ol class="toc"><li><a href="introduction.html#introduction"><span class="secno">1 </span>Introduction</a>
<ol><li><a href="introduction.html#background"><span class="secno">1.1 </span>Background</a></li>
<li><a href="introduction.html#audience"><span class="secno">1.2 </span>Audience</a></li>
<li><a href="introduction.html#scope"><span class="secno">1.3 </span>Scope</a></li>
<li><a href="introduction.html#history-1"><span class="secno">1.4 </span>History</a></li>
<li><a href="introduction.html#design-notes"><span class="secno">1.5 </span>Design notes</a>
<ol><li><a href="introduction.html#serializability-of-script-execution"><span class="secno">1.5.1 </span>Serializability of script execution</a></li>
<li><a href="introduction.html#compliance-with-other-specifications"><span class="secno">1.5.2 </span>Compliance with other specifications</a></li></ol></li>
<li><a href="introduction.html#relationships-to-other-specifications"><span class="secno">1.6 </span>Relationships to other specifications</a>
<ol><li><a href="introduction.html#relationship-to-html-4.01-and-dom2-html"><span class="secno">1.6.1 </span>Relationship to HTML 4.01 and DOM2 HTML</a></li>
<li><a href="introduction.html#relationship-to-xhtml-1.x"><span class="secno">1.6.2 </span>Relationship to XHTML 1.x</a></li></ol></li>
<li><a href="introduction.html#html-vs-xhtml"><span class="secno">1.7 </span>HTML vs XHTML</a></li>
<li><a href="introduction.html#structure-of-this-specification"><span class="secno">1.8 </span>Structure of this specification</a>
<ol><li><a href="introduction.html#how-to-read-this-specification"><span class="secno">1.8.1 </span>How to read this specification</a></li>
<li><a href="introduction.html#typographic-conventions"><span class="secno">1.8.2 </span>Typographic conventions</a></li></ol></li>
<li><a href="introduction.html#a-quick-introduction-to-html"><span class="secno">1.9 </span>A quick introduction to HTML</a></li></ol></li>
<li><a href="infrastructure.html#infrastructure"><span class="secno">2 </span>Common infrastructure</a>
<ol><li><a href="infrastructure.html#terminology"><span class="secno">2.1 </span>Terminology</a>
<ol><li><a href="infrastructure.html#resources"><span class="secno">2.1.1 </span>Resources</a></li>
<li><a href="infrastructure.html#xml"><span class="secno">2.1.2 </span>XML</a></li>
<li><a href="infrastructure.html#dom-trees"><span class="secno">2.1.3 </span>DOM trees</a></li>
<li><a href="infrastructure.html#scripting-0"><span class="secno">2.1.4 </span>Scripting</a></li>
<li><a href="infrastructure.html#plugins"><span class="secno">2.1.5 </span>Plugins</a></li>
<li><a href="infrastructure.html#character-encodings"><span class="secno">2.1.6 </span>Character encodings</a></li></ol></li>
<li><a href="infrastructure.html#conformance-requirements"><span class="secno">2.2 </span>Conformance requirements</a></li>
<li><a href="infrastructure.html#case-sensitivity-and-string-comparison"><span class="secno">2.3 </span>Case-sensitivity and string comparison</a></li>
<li><a href="infrastructure.html#common-microsyntaxes"><span class="secno">2.4 </span>Common microsyntaxes</a>
<ol><li><a href="infrastructure.html#boolean-attributes"><span class="secno">2.4.1 </span>Boolean attributes</a></li>
<li><a href="infrastructure.html#keywords-and-enumerated-attributes"><span class="secno">2.4.2 </span>Keywords and enumerated attributes</a></li>
<li><a href="infrastructure.html#numbers"><span class="secno">2.4.3 </span>Numbers</a>
<ol><li><a href="infrastructure.html#non-negative-integers"><span class="secno">2.4.3.1 </span>Non-negative integers</a></li>
<li><a href="infrastructure.html#signed-integers"><span class="secno">2.4.3.2 </span>Signed integers</a></li>
<li><a href="infrastructure.html#real-numbers"><span class="secno">2.4.3.3 </span>Real numbers</a></li>
<li><a href="infrastructure.html#ratios"><span class="secno">2.4.3.4 </span>Ratios</a></li>
<li><a href="infrastructure.html#lists-of-integers"><span class="secno">2.4.3.5 </span>Lists of integers</a></li></ol></li>
<li><a href="infrastructure.html#dates-and-times"><span class="secno">2.4.4 </span>Dates and times</a>
<ol><li><a href="infrastructure.html#months"><span class="secno">2.4.4.1 </span>Months</a></li>
<li><a href="infrastructure.html#dates"><span class="secno">2.4.4.2 </span>Dates</a></li>
<li><a href="infrastructure.html#times"><span class="secno">2.4.4.3 </span>Times</a></li>
<li><a href="infrastructure.html#local-dates-and-times"><span class="secno">2.4.4.4 </span>Local dates and times</a></li>
<li><a href="infrastructure.html#global-dates-and-times"><span class="secno">2.4.4.5 </span>Global dates and times</a></li>
<li><a href="infrastructure.html#weeks"><span class="secno">2.4.4.6 </span>Weeks</a></li>
<li><a href="infrastructure.html#vaguer-moments-in-time"><span class="secno">2.4.4.7 </span>Vaguer moments in time</a></li></ol></li>
<li><a href="infrastructure.html#colors"><span class="secno">2.4.5 </span>Colors</a></li>
<li><a href="infrastructure.html#space-separated-tokens"><span class="secno">2.4.6 </span>Space-separated tokens</a></li>
<li><a href="infrastructure.html#comma-separated-tokens"><span class="secno">2.4.7 </span>Comma-separated tokens</a></li>
<li><a href="infrastructure.html#reversed-dns-identifiers"><span class="secno">2.4.8 </span>Reversed DNS identifiers</a></li>
<li><a href="infrastructure.html#syntax-references"><span class="secno">2.4.9 </span>References</a></li></ol></li>
<li><a href="infrastructure.html#urls"><span class="secno">2.5 </span>URLs</a>
<ol><li><a href="infrastructure.html#terminology-0"><span class="secno">2.5.1 </span>Terminology</a></li>
<li><a href="infrastructure.html#interfaces-for-url-manipulation"><span class="secno">2.5.2 </span>Interfaces for URL manipulation</a></li></ol></li>
<li><a href="infrastructure.html#common-dom-interfaces"><span class="secno">2.6 </span>Common DOM interfaces</a>
<ol><li><a href="infrastructure.html#reflecting-content-attributes-in-dom-attributes"><span class="secno">2.6.1 </span>Reflecting content attributes in DOM attributes</a></li>
<li><a href="infrastructure.html#collections-0"><span class="secno">2.6.2 </span>Collections</a>
<ol><li><a href="infrastructure.html#htmlcollection-0"><span class="secno">2.6.2.1 </span>HTMLCollection</a></li>
<li><a href="infrastructure.html#htmlallcollection-0"><span class="secno">2.6.2.2 </span>HTMLAllCollection</a></li>
<li><a href="infrastructure.html#htmlformcontrolscollection-0"><span class="secno">2.6.2.3 </span>HTMLFormControlsCollection</a></li>
<li><a href="infrastructure.html#htmloptionscollection-0"><span class="secno">2.6.2.4 </span>HTMLOptionsCollection</a></li>
<li><a href="infrastructure.html#htmlpropertycollection-0"><span class="secno">2.6.2.5 </span>HTMLPropertyCollection</a></li></ol></li>
<li><a href="infrastructure.html#domtokenlist-0"><span class="secno">2.6.3 </span>DOMTokenList</a></li>
<li><a href="infrastructure.html#domsettabletokenlist-0"><span class="secno">2.6.4 </span>DOMSettableTokenList</a></li>
<li><a href="infrastructure.html#domstringmap-0"><span class="secno">2.6.5 </span>DOMStringMap</a></li>
<li><a href="infrastructure.html#dom-feature-strings"><span class="secno">2.6.6 </span>DOM feature strings</a></li>
<li><a href="infrastructure.html#exceptions"><span class="secno">2.6.7 </span>Exceptions</a></li></ol></li></ol></li>
<li><a href="dom.html#dom"><span class="secno">3 </span>Semantics, structure, and APIs of HTML documents</a>
<ol><li><a href="dom.html#documents"><span class="secno">3.1 </span>Documents</a>
<ol><li><a href="dom.html#documents-in-the-dom"><span class="secno">3.1.1 </span>Documents in the DOM</a></li>
<li><a href="dom.html#security"><span class="secno">3.1.2 </span>Security</a></li>
<li><a href="dom.html#resource-metadata-management"><span class="secno">3.1.3 </span>Resource metadata management</a></li>
<li><a href="dom.html#dom-tree-accessors"><span class="secno">3.1.4 </span>DOM tree accessors</a></li></ol></li>
<li><a href="dom.html#elements"><span class="secno">3.2 </span>Elements</a>
<ol><li><a href="dom.html#semantics-0"><span class="secno">3.2.1 </span>Semantics</a></li>
<li><a href="dom.html#elements-in-the-dom"><span class="secno">3.2.2 </span>Elements in the DOM</a></li>
<li><a href="dom.html#global-attributes"><span class="secno">3.2.3 </span>Global attributes</a>
<ol><li><a href="dom.html#the-id-attribute"><span class="secno">3.2.3.1 </span>The <code>id</code> attribute</a></li>
<li><a href="dom.html#the-title-attribute"><span class="secno">3.2.3.2 </span>The <code>title</code> attribute</a></li>
<li><a href="dom.html#the-lang-and-xml:lang-attributes"><span class="secno">3.2.3.3 </span>The <code title="attr-lang">lang</code> and <code title="attr-xml-lang">xml:lang</code> attributes</a></li>
<li><a href="dom.html#the-xml:base-attribute-xml-only"><span class="secno">3.2.3.4 </span>The <code>xml:base</code>
attribute (XML only)</a></li>
<li><a href="dom.html#the-dir-attribute"><span class="secno">3.2.3.5 </span>The <code>dir</code> attribute</a></li>
<li><a href="dom.html#classes"><span class="secno">3.2.3.6 </span>The <code>class</code> attribute</a></li>
<li><a href="dom.html#the-style-attribute"><span class="secno">3.2.3.7 </span>The <code>style</code> attribute</a></li>
<li><a href="dom.html#embedding-custom-non-visible-data"><span class="secno">3.2.3.8 </span>Embedding custom non-visible data</a></li></ol></li>
<li><a href="dom.html#element-definitions"><span class="secno">3.2.4 </span>Element definitions</a></li>
<li><a href="dom.html#content-models"><span class="secno">3.2.5 </span>Content models</a>
<ol><li><a href="dom.html#kinds-of-content"><span class="secno">3.2.5.1 </span>Kinds of content</a>
<ol><li><a href="dom.html#metadata-content-0"><span class="secno">3.2.5.1.1 </span>Metadata content</a></li>
<li><a href="dom.html#flow-content-0"><span class="secno">3.2.5.1.2 </span>Flow content</a></li>
<li><a href="dom.html#sectioning-content-0"><span class="secno">3.2.5.1.3 </span>Sectioning content</a></li>
<li><a href="dom.html#heading-content-0"><span class="secno">3.2.5.1.4 </span>Heading content</a></li>
<li><a href="dom.html#phrasing-content-0"><span class="secno">3.2.5.1.5 </span>Phrasing content</a></li>
<li><a href="embedded-content-0.html#embedded-content-0"><span class="secno">3.2.5.1.6 </span>Embedded content</a></li>
<li><a href="embedded-content-0.html#interactive-content-0"><span class="secno">3.2.5.1.7 </span>Interactive content</a></li></ol></li>
<li><a href="embedded-content-0.html#transparent-content-models"><span class="secno">3.2.5.2 </span>Transparent content models</a></li>
<li><a href="embedded-content-0.html#paragraphs"><span class="secno">3.2.5.3 </span>Paragraphs</a></li></ol></li>
<li><a href="embedded-content-0.html#annotations-for-assistive-technology-products"><span class="secno">3.2.6 </span>Annotations for assistive technology products</a></li></ol></li>
<li><a href="embedded-content-0.html#apis-in-html-documents"><span class="secno">3.3 </span>APIs in HTML documents</a></li>
<li><a href="embedded-content-0.html#dynamic-markup-insertion"><span class="secno">3.4 </span>Dynamic markup insertion</a>
<ol><li><a href="embedded-content-0.html#controlling-the-input-stream"><span class="secno">3.4.1 </span>Controlling the input stream</a></li>
<li><a href="embedded-content-0.html#document.write"><span class="secno">3.4.2 </span><code title="dom-document-write">document.write()</code></a></li>
<li><a href="embedded-content-0.html#document.writeln"><span class="secno">3.4.3 </span><code title="dom-document-writeln">document.writeln()</code></a></li>
<li><a href="embedded-content-0.html#innerhtml"><span class="secno">3.4.4 </span><code title="dom-innerHTML">innerHTML</code></a></li>
<li><a href="embedded-content-0.html#outerhtml"><span class="secno">3.4.5 </span><code title="dom-outerHTML">outerHTML</code></a></li>
<li><a href="embedded-content-0.html#insertadjacenthtml"><span class="secno">3.4.6 </span><code title="dom-insertAdjacentHTML">insertAdjacentHTML()</code></a></li></ol></li></ol></li>
<li><a href="semantics.html#semantics"><span class="secno">4 </span>The elements of HTML</a>
<ol><li><a href="semantics.html#the-root-element"><span class="secno">4.1 </span>The root element</a>
<ol><li><a href="semantics.html#the-html-element-0"><span class="secno">4.1.1 </span>The <code>html</code> element</a></li></ol></li>
<li><a href="semantics.html#document-metadata"><span class="secno">4.2 </span>Document metadata</a>
<ol><li><a href="semantics.html#the-head-element-0"><span class="secno">4.2.1 </span>The <code>head</code> element</a></li>
<li><a href="semantics.html#the-title-element-0"><span class="secno">4.2.2 </span>The <code>title</code> element</a></li>
<li><a href="semantics.html#the-base-element"><span class="secno">4.2.3 </span>The <code>base</code> element</a></li>
<li><a href="semantics.html#the-link-element"><span class="secno">4.2.4 </span>The <code>link</code> element</a></li>
<li><a href="semantics.html#meta"><span class="secno">4.2.5 </span>The <code>meta</code> element</a>
<ol><li><a href="semantics.html#standard-metadata-names"><span class="secno">4.2.5.1 </span>Standard metadata names</a></li>
<li><a href="semantics.html#other-metadata-names"><span class="secno">4.2.5.2 </span>Other metadata names</a></li>
<li><a href="semantics.html#pragma-directives"><span class="secno">4.2.5.3 </span>Pragma directives</a></li>
<li><a href="semantics.html#other-pragma-directives"><span class="secno">4.2.5.4 </span>Other pragma directives</a></li>
<li><a href="semantics.html#charset"><span class="secno">4.2.5.5 </span>Specifying the document's character encoding</a></li></ol></li>
<li><a href="semantics.html#the-style-element"><span class="secno">4.2.6 </span>The <code>style</code> element</a></li>
<li><a href="semantics.html#styling"><span class="secno">4.2.7 </span>Styling</a></li></ol></li>
<li><a href="semantics.html#scripting-1"><span class="secno">4.3 </span>Scripting</a>
<ol><li><a href="semantics.html#script"><span class="secno">4.3.1 </span>The <code>script</code> element</a>
<ol><li><a href="semantics.html#scriptingLanguages"><span class="secno">4.3.1.1 </span>Scripting languages</a></li>
<li><a href="semantics.html#inline-documentation-for-external-scripts"><span class="secno">4.3.1.2 </span>Inline documentation for external scripts</a></li></ol></li>
<li><a href="semantics.html#the-noscript-element"><span class="secno">4.3.2 </span>The <code>noscript</code> element</a></li></ol></li>
<li><a href="semantics.html#sections"><span class="secno">4.4 </span>Sections</a>
<ol><li><a href="semantics.html#the-body-element-0"><span class="secno">4.4.1 </span>The <code>body</code> element</a></li>
<li><a href="semantics.html#the-section-element"><span class="secno">4.4.2 </span>The <code>section</code> element</a></li>
<li><a href="semantics.html#the-nav-element"><span class="secno">4.4.3 </span>The <code>nav</code> element</a></li>
<li><a href="semantics.html#the-article-element"><span class="secno">4.4.4 </span>The <code>article</code> element</a></li>
<li><a href="semantics.html#the-aside-element"><span class="secno">4.4.5 </span>The <code>aside</code> element</a></li>
<li><a href="semantics.html#the-h1-h2-h3-h4-h5-and-h6-elements"><span class="secno">4.4.6 </span>The <code>h1</code>, <code>h2</code>,
<code>h3</code>, <code>h4</code>,
<code>h5</code>, and <code>h6</code>
elements</a></li>
<li><a href="semantics.html#the-hgroup-element"><span class="secno">4.4.7 </span>The <code>hgroup</code> element</a></li>
<li><a href="semantics.html#the-header-element"><span class="secno">4.4.8 </span>The <code>header</code> element</a></li>
<li><a href="semantics.html#the-footer-element"><span class="secno">4.4.9 </span>The <code>footer</code> element</a></li>
<li><a href="semantics.html#the-address-element"><span class="secno">4.4.10 </span>The <code>address</code> element</a></li>
<li><a href="semantics.html#headings-and-sections"><span class="secno">4.4.11 </span>Headings and sections</a>
<ol><li><a href="semantics.html#outlines"><span class="secno">4.4.11.1 </span>Creating an outline</a></li>
<li><a href="semantics.html#distinguishing-site-wide-headings-from-page-headings"><span class="secno">4.4.11.2 </span>Distinguishing site-wide headings from page headings</a></li></ol></li></ol></li>
<li><a href="semantics.html#grouping-content"><span class="secno">4.5 </span>Grouping content</a>
<ol><li><a href="semantics.html#the-p-element"><span class="secno">4.5.1 </span>The <code>p</code> element</a></li>
<li><a href="semantics.html#the-hr-element"><span class="secno">4.5.2 </span>The <code>hr</code> element</a></li>
<li><a href="semantics.html#the-br-element"><span class="secno">4.5.3 </span>The <code>br</code> element</a></li>
<li><a href="semantics.html#the-pre-element"><span class="secno">4.5.4 </span>The <code>pre</code> element</a></li>
<li><a href="semantics.html#the-dialog-element"><span class="secno">4.5.5 </span>The <code>dialog</code> element</a></li>
<li><a href="semantics.html#the-blockquote-element"><span class="secno">4.5.6 </span>The <code>blockquote</code> element</a></li>
<li><a href="semantics.html#the-ol-element"><span class="secno">4.5.7 </span>The <code>ol</code> element</a></li>
<li><a href="semantics.html#the-ul-element"><span class="secno">4.5.8 </span>The <code>ul</code> element</a></li>
<li><a href="semantics.html#the-li-element"><span class="secno">4.5.9 </span>The <code>li</code> element</a></li>
<li><a href="semantics.html#the-dl-element"><span class="secno">4.5.10 </span>The <code>dl</code> element</a></li>
<li><a href="semantics.html#the-dt-element"><span class="secno">4.5.11 </span>The <code>dt</code> element</a></li>
<li><a href="semantics.html#the-dd-element"><span class="secno">4.5.12 </span>The <code>dd</code> element</a></li>
<li><a href="semantics.html#common-grouping-idioms"><span class="secno">4.5.13 </span>Common grouping idioms</a>
<ol><li><a href="semantics.html#tag-clouds"><span class="secno">4.5.13.1 </span>Tag clouds</a></li></ol></li></ol></li>
<li><a href="text-level-semantics.html#text-level-semantics"><span class="secno">4.6 </span>Text-level semantics</a>
<ol><li><a href="text-level-semantics.html#the-a-element"><span class="secno">4.6.1 </span>The <code>a</code> element</a></li>
<li><a href="text-level-semantics.html#the-em-element"><span class="secno">4.6.2 </span>The <code>em</code> element</a></li>
<li><a href="text-level-semantics.html#the-strong-element"><span class="secno">4.6.3 </span>The <code>strong</code> element</a></li>
<li><a href="text-level-semantics.html#the-small-element"><span class="secno">4.6.4 </span>The <code>small</code> element</a></li>
<li><a href="text-level-semantics.html#the-cite-element"><span class="secno">4.6.5 </span>The <code>cite</code> element</a></li>
<li><a href="text-level-semantics.html#the-q-element"><span class="secno">4.6.6 </span>The <code>q</code> element</a></li>
<li><a href="text-level-semantics.html#the-dfn-element"><span class="secno">4.6.7 </span>The <code>dfn</code> element</a></li>
<li><a href="text-level-semantics.html#the-abbr-element"><span class="secno">4.6.8 </span>The <code>abbr</code> element</a></li>
<li><a href="text-level-semantics.html#the-code-element"><span class="secno">4.6.9 </span>The <code>code</code> element</a></li>
<li><a href="text-level-semantics.html#the-var-element"><span class="secno">4.6.10 </span>The <code>var</code> element</a></li>
<li><a href="text-level-semantics.html#the-samp-element"><span class="secno">4.6.11 </span>The <code>samp</code> element</a></li>
<li><a href="text-level-semantics.html#the-kbd-element"><span class="secno">4.6.12 </span>The <code>kbd</code> element</a></li>
<li><a href="text-level-semantics.html#the-sub-and-sup-elements"><span class="secno">4.6.13 </span>The <code>sub</code> and <code>sup</code> elements</a></li>
<li><a href="text-level-semantics.html#the-i-element"><span class="secno">4.6.14 </span>The <code>i</code> element</a></li>
<li><a href="text-level-semantics.html#the-b-element"><span class="secno">4.6.15 </span>The <code>b</code> element</a></li>
<li><a href="text-level-semantics.html#the-mark-element"><span class="secno">4.6.16 </span>The <code>mark</code> element</a></li>
<li><a href="text-level-semantics.html#the-progress-element"><span class="secno">4.6.17 </span>The <code>progress</code> element</a></li>
<li><a href="text-level-semantics.html#the-meter-element"><span class="secno">4.6.18 </span>The <code>meter</code> element</a></li>
<li><a href="text-level-semantics.html#the-time-element"><span class="secno">4.6.19 </span>The <code>time</code> element</a></li>
<li><a href="text-level-semantics.html#the-ruby-element"><span class="secno">4.6.20 </span>The <code>ruby</code> element</a></li>
<li><a href="text-level-semantics.html#the-rt-element"><span class="secno">4.6.21 </span>The <code>rt</code> element</a></li>
<li><a href="text-level-semantics.html#the-rp-element"><span class="secno">4.6.22 </span>The <code>rp</code> element</a></li>
<li><a href="text-level-semantics.html#the-bdo-element"><span class="secno">4.6.23 </span>The <code>bdo</code> element</a></li>
<li><a href="text-level-semantics.html#the-span-element"><span class="secno">4.6.24 </span>The <code>span</code> element</a></li>
<li><a href="text-level-semantics.html#usage-summary"><span class="secno">4.6.25 </span>Usage summary</a></li>
<li><a href="text-level-semantics.html#footnotes"><span class="secno">4.6.26 </span>Footnotes</a></li></ol></li>
<li><a href="text-level-semantics.html#edits"><span class="secno">4.7 </span>Edits</a>
<ol><li><a href="text-level-semantics.html#the-ins-element"><span class="secno">4.7.1 </span>The <code>ins</code> element</a></li>
<li><a href="text-level-semantics.html#the-del-element"><span class="secno">4.7.2 </span>The <code>del</code> element</a></li>
<li><a href="text-level-semantics.html#attributes-common-to-ins-and-del-elements"><span class="secno">4.7.3 </span>Attributes common to <code>ins</code> and <code>del</code> elements</a></li>
<li><a href="text-level-semantics.html#edits-and-paragraphs"><span class="secno">4.7.4 </span>Edits and paragraphs</a></li>
<li><a href="text-level-semantics.html#edits-and-lists"><span class="secno">4.7.5 </span>Edits and lists</a></li></ol></li>
<li><a href="text-level-semantics.html#embedded-content-1"><span class="secno">4.8 </span>Embedded content</a>
<ol><li><a href="text-level-semantics.html#the-figure-element"><span class="secno">4.8.1 </span>The <code>figure</code> element</a></li>
<li><a href="text-level-semantics.html#the-img-element"><span class="secno">4.8.2 </span>The <code>img</code> element</a>
<ol><li><a href="text-level-semantics.html#alt"><span class="secno">4.8.2.1 </span>Requirements for providing text to act as an alternative for images</a>
<ol><li><a href="text-level-semantics.html#a-link-or-button-containing-nothing-but-the-image"><span class="secno">4.8.2.1.1 </span>A link or button containing nothing but the image</a></li>
<li><a href="text-level-semantics.html#a-phrase-or-paragraph-with-an-alternative-graphical-representation:-charts-diagrams-graphs-maps-illustrations"><span class="secno">4.8.2.1.2 </span>A phrase or paragraph with an alternative graphical representation: charts, diagrams, graphs, maps, illustrations</a></li>
<li><a href="text-level-semantics.html#a-short-phrase-or-label-with-an-alternative-graphical-representation:-icons-logos"><span class="secno">4.8.2.1.3 </span>A short phrase or label with an alternative graphical representation: icons, logos</a></li>
<li><a href="text-level-semantics.html#text-that-has-been-rendered-to-a-graphic-for-typographical-effect"><span class="secno">4.8.2.1.4 </span>Text that has been rendered to a graphic for typographical effect</a></li>
<li><a href="text-level-semantics.html#a-graphical-representation-of-some-of-the-surrounding-text"><span class="secno">4.8.2.1.5 </span>A graphical representation of some of the surrounding text</a></li>
<li><a href="text-level-semantics.html#a-purely-decorative-image-that-doesn-t-add-any-information"><span class="secno">4.8.2.1.6 </span>A purely decorative image that doesn't add any information</a></li>
<li><a href="text-level-semantics.html#a-group-of-images-that-form-a-single-larger-picture-with-no-links"><span class="secno">4.8.2.1.7 </span>A group of images that form a single larger picture with no links</a></li>
<li><a href="text-level-semantics.html#a-group-of-images-that-form-a-single-larger-picture-with-links"><span class="secno">4.8.2.1.8 </span>A group of images that form a single larger picture with links</a></li>
<li><a href="text-level-semantics.html#a-key-part-of-the-content"><span class="secno">4.8.2.1.9 </span>A key part of the content</a></li>
<li><a href="text-level-semantics.html#an-image-not-intended-for-the-user"><span class="secno">4.8.2.1.10 </span>An image not intended for the user</a></li>
<li><a href="text-level-semantics.html#an-image-in-an-e-mail-or-private-document-intended-for-a-specific-person-who-is-known-to-be-able-to-view-images"><span class="secno">4.8.2.1.11 </span>An image in an e-mail or private document intended for a specific person who is known to be able to view images</a></li>
<li><a href="text-level-semantics.html#general-guidelines"><span class="secno">4.8.2.1.12 </span>General guidelines</a></li></ol></li></ol></li>
<li><a href="text-level-semantics.html#the-iframe-element"><span class="secno">4.8.3 </span>The <code>iframe</code> element</a></li>
<li><a href="text-level-semantics.html#the-embed-element"><span class="secno">4.8.4 </span>The <code>embed</code> element</a></li>
<li><a href="text-level-semantics.html#the-object-element"><span class="secno">4.8.5 </span>The <code>object</code> element</a></li>
<li><a href="text-level-semantics.html#the-param-element"><span class="secno">4.8.6 </span>The <code>param</code> element</a></li>
<li><a href="video.html#video"><span class="secno">4.8.7 </span>The <code>video</code> element</a></li>
<li><a href="video.html#audio"><span class="secno">4.8.8 </span>The <code>audio</code> element</a></li>
<li><a href="video.html#the-source-element"><span class="secno">4.8.9 </span>The <code>source</code> element</a></li>
<li><a href="video.html#media-elements"><span class="secno">4.8.10 </span>Media elements</a>
<ol><li><a href="video.html#error-codes"><span class="secno">4.8.10.1 </span>Error codes</a></li>
<li><a href="video.html#location-of-the-media-resource"><span class="secno">4.8.10.2 </span>Location of the media resource</a></li>
<li><a href="video.html#mime-types"><span class="secno">4.8.10.3 </span>MIME types</a></li>
<li><a href="video.html#network-states"><span class="secno">4.8.10.4 </span>Network states</a></li>
<li><a href="video.html#loading-the-media-resource"><span class="secno">4.8.10.5 </span>Loading the media resource</a></li>
<li><a href="video.html#offsets-into-the-media-resource"><span class="secno">4.8.10.6 </span>Offsets into the media resource</a></li>
<li><a href="video.html#the-ready-states"><span class="secno">4.8.10.7 </span>The ready states</a></li>
<li><a href="video.html#playing-the-media-resource"><span class="secno">4.8.10.8 </span>Playing the media resource</a></li>
<li><a href="video.html#seeking"><span class="secno">4.8.10.9 </span>Seeking</a></li>
<li><a href="video.html#user-interface"><span class="secno">4.8.10.10 </span>User interface</a></li>
<li><a href="video.html#time-ranges"><span class="secno">4.8.10.11 </span>Time ranges</a></li>
<li><a href="video.html#mediaevents"><span class="secno">4.8.10.12 </span>Event summary</a></li></ol></li>
<li><a href="the-canvas-element.html#the-canvas-element"><span class="secno">4.8.11 </span>The <code>canvas</code> element</a>
<ol><li><a href="the-canvas-element.html#the-2d-context"><span class="secno">4.8.11.1 </span>The 2D context</a>
<ol><li><a href="the-canvas-element.html#the-canvas-state"><span class="secno">4.8.11.1.1 </span>The canvas state</a></li>
<li><a href="the-canvas-element.html#transformations"><span class="secno">4.8.11.1.2 </span>Transformations</a></li>
<li><a href="the-canvas-element.html#compositing"><span class="secno">4.8.11.1.3 </span>Compositing</a></li>
<li><a href="the-canvas-element.html#colors-and-styles"><span class="secno">4.8.11.1.4 </span>Colors and styles</a></li>
<li><a href="the-canvas-element.html#line-styles"><span class="secno">4.8.11.1.5 </span>Line styles</a></li>
<li><a href="the-canvas-element.html#shadows"><span class="secno">4.8.11.1.6 </span>Shadows</a></li>
<li><a href="the-canvas-element.html#simple-shapes-rectangles"><span class="secno">4.8.11.1.7 </span>Simple shapes (rectangles)</a></li>
<li><a href="the-canvas-element.html#complex-shapes-paths"><span class="secno">4.8.11.1.8 </span>Complex shapes (paths)</a></li>
<li><a href="the-canvas-element.html#text"><span class="secno">4.8.11.1.9 </span>Text</a></li>
<li><a href="the-canvas-element.html#images"><span class="secno">4.8.11.1.10 </span>Images</a></li>
<li><a href="the-canvas-element.html#pixel-manipulation"><span class="secno">4.8.11.1.11 </span>Pixel manipulation</a></li></ol></li></ol></li>
<li><a href="the-canvas-element.html#the-map-element"><span class="secno">4.8.12 </span>The <code>map</code> element</a></li>
<li><a href="the-canvas-element.html#the-area-element"><span class="secno">4.8.13 </span>The <code>area</code> element</a></li>
<li><a href="the-canvas-element.html#image-maps"><span class="secno">4.8.14 </span>Image maps</a></li>
<li><a href="the-canvas-element.html#mathml"><span class="secno">4.8.15 </span>MathML</a></li>
<li><a href="the-canvas-element.html#svg-0"><span class="secno">4.8.16 </span>SVG</a></li>
<li><a href="the-canvas-element.html#dimension-attributes"><span class="secno">4.8.17 </span>Dimension attributes</a></li></ol></li>
<li><a href="tabular-data.html#tabular-data"><span class="secno">4.9 </span>Tabular data</a>
<ol><li><a href="tabular-data.html#the-table-element"><span class="secno">4.9.1 </span>The <code>table</code> element</a></li>
<li><a href="tabular-data.html#the-caption-element"><span class="secno">4.9.2 </span>The <code>caption</code> element</a></li>
<li><a href="tabular-data.html#the-colgroup-element"><span class="secno">4.9.3 </span>The <code>colgroup</code> element</a></li>
<li><a href="tabular-data.html#the-col-element"><span class="secno">4.9.4 </span>The <code>col</code> element</a></li>
<li><a href="tabular-data.html#the-tbody-element"><span class="secno">4.9.5 </span>The <code>tbody</code> element</a></li>
<li><a href="tabular-data.html#the-thead-element"><span class="secno">4.9.6 </span>The <code>thead</code> element</a></li>
<li><a href="tabular-data.html#the-tfoot-element"><span class="secno">4.9.7 </span>The <code>tfoot</code> element</a></li>
<li><a href="tabular-data.html#the-tr-element"><span class="secno">4.9.8 </span>The <code>tr</code> element</a></li>
<li><a href="tabular-data.html#the-td-element"><span class="secno">4.9.9 </span>The <code>td</code> element</a></li>
<li><a href="tabular-data.html#the-th-element"><span class="secno">4.9.10 </span>The <code>th</code> element</a></li>
<li><a href="tabular-data.html#attributes-common-to-td-and-th-elements"><span class="secno">4.9.11 </span>Attributes common to <code>td</code> and <code>th</code> elements</a></li></ol></li>
<li><a href="forms.html#forms"><span class="secno">4.10 </span>Forms</a>
<ol><li><a href="forms.html#the-form-element"><span class="secno">4.10.1 </span>The <code>form</code> element</a></li>
<li><a href="forms.html#the-fieldset-element"><span class="secno">4.10.2 </span>The <code>fieldset</code> element</a></li>
<li><a href="forms.html#the-label-element"><span class="secno">4.10.3 </span>The <code>label</code> element</a></li>
<li><a href="forms.html#the-input-element"><span class="secno">4.10.4 </span>The <code>input</code> element</a>
<ol><li><a href="forms.html#states-of-the-type-attribute"><span class="secno">4.10.4.1 </span>States of the <code title="attr-input-type">type</code> attribute</a>
<ol><li><a href="forms.html#hidden-state"><span class="secno">4.10.4.1.1 </span>Hidden state</a></li>
<li><a href="forms.html#text-state-and-search-state"><span class="secno">4.10.4.1.2 </span>Text state and Search state</a></li>
<li><a href="forms.html#telephone-state"><span class="secno">4.10.4.1.3 </span>Telephone state</a></li>
<li><a href="forms.html#url-state"><span class="secno">4.10.4.1.4 </span>URL state</a></li>
<li><a href="forms.html#e-mail-state"><span class="secno">4.10.4.1.5 </span>E-mail state</a></li>
<li><a href="forms.html#password-state"><span class="secno">4.10.4.1.6 </span>Password state</a></li>
<li><a href="forms.html#date-and-time-state"><span class="secno">4.10.4.1.7 </span>Date and Time state</a></li>
<li><a href="forms.html#date-state"><span class="secno">4.10.4.1.8 </span>Date state</a></li>
<li><a href="forms.html#month-state"><span class="secno">4.10.4.1.9 </span>Month state</a></li>
<li><a href="forms.html#week-state"><span class="secno">4.10.4.1.10 </span>Week state</a></li>
<li><a href="forms.html#time-state"><span class="secno">4.10.4.1.11 </span>Time state</a></li>
<li><a href="forms.html#local-date-and-time-state"><span class="secno">4.10.4.1.12 </span>Local Date and Time state</a></li>
<li><a href="forms.html#number-state"><span class="secno">4.10.4.1.13 </span>Number state</a></li>
<li><a href="forms.html#range-state"><span class="secno">4.10.4.1.14 </span>Range state</a></li>
<li><a href="forms.html#color-state"><span class="secno">4.10.4.1.15 </span>Color state</a></li>
<li><a href="forms.html#checkbox-state"><span class="secno">4.10.4.1.16 </span>Checkbox state</a></li>
<li><a href="forms.html#radio-button-state"><span class="secno">4.10.4.1.17 </span>Radio Button state</a></li>
<li><a href="forms.html#file-upload-state"><span class="secno">4.10.4.1.18 </span>File Upload state</a></li>
<li><a href="forms.html#submit-button-state"><span class="secno">4.10.4.1.19 </span>Submit Button state</a></li>
<li><a href="forms.html#image-button-state"><span class="secno">4.10.4.1.20 </span>Image Button state</a></li>
<li><a href="forms.html#reset-button-state"><span class="secno">4.10.4.1.21 </span>Reset Button state</a></li>
<li><a href="forms.html#button-state"><span class="secno">4.10.4.1.22 </span>Button state</a></li></ol></li>
<li><a href="forms.html#common-input-element-attributes"><span class="secno">4.10.4.2 </span>Common <code>input</code> element attributes</a>
<ol><li><a href="forms.html#the-autocomplete-attribute"><span class="secno">4.10.4.2.1 </span>The <code title="attr-input-autocomplete">autocomplete</code> attribute</a></li>
<li><a href="forms.html#the-list-attribute"><span class="secno">4.10.4.2.2 </span>The <code title="attr-input-list">list</code> attribute</a></li>
<li><a href="forms.html#the-readonly-attribute"><span class="secno">4.10.4.2.3 </span>The <code title="attr-input-readonly">readonly</code> attribute</a></li>
<li><a href="forms.html#the-size-attribute"><span class="secno">4.10.4.2.4 </span>The <code title="attr-input-size">size</code> attribute</a></li>
<li><a href="forms.html#the-required-attribute"><span class="secno">4.10.4.2.5 </span>The <code title="attr-input-required">required</code> attribute</a></li>
<li><a href="forms.html#the-multiple-attribute"><span class="secno">4.10.4.2.6 </span>The <code title="attr-input-multiple">multiple</code> attribute</a></li>
<li><a href="forms.html#the-maxlength-attribute"><span class="secno">4.10.4.2.7 </span>The <code title="attr-input-maxlength">maxlength</code> attribute</a></li>
<li><a href="forms.html#the-pattern-attribute"><span class="secno">4.10.4.2.8 </span>The <code title="attr-input-pattern">pattern</code> attribute</a></li>
<li><a href="forms.html#the-min-and-max-attributes"><span class="secno">4.10.4.2.9 </span>The <code title="attr-input-min">min</code> and <code title="attr-input-max">max</code> attributes</a></li>
<li><a href="forms.html#the-step-attribute"><span class="secno">4.10.4.2.10 </span>The <code title="attr-input-step">step</code> attribute</a></li>
<li><a href="forms.html#the-placeholder-attribute"><span class="secno">4.10.4.2.11 </span>The <code title="attr-input-placeholder">placeholder</code> attribute</a></li></ol></li>
<li><a href="forms.html#common-input-element-apis"><span class="secno">4.10.4.3 </span>Common <code>input</code> element APIs</a></li></ol></li>
<li><a href="forms.html#the-button-element"><span class="secno">4.10.5 </span>The <code>button</code> element</a></li>
<li><a href="forms.html#the-select-element"><span class="secno">4.10.6 </span>The <code>select</code> element</a></li>
<li><a href="forms.html#the-datalist-element"><span class="secno">4.10.7 </span>The <code>datalist</code> element</a></li>
<li><a href="forms.html#the-optgroup-element"><span class="secno">4.10.8 </span>The <code>optgroup</code> element</a></li>
<li><a href="forms.html#the-option-element"><span class="secno">4.10.9 </span>The <code>option</code> element</a></li>
<li><a href="forms.html#the-textarea-element"><span class="secno">4.10.10 </span>The <code>textarea</code> element</a></li>
<li><a href="forms.html#the-keygen-element"><span class="secno">4.10.11 </span>The <code>keygen</code> element</a></li>
<li><a href="forms.html#the-output-element"><span class="secno">4.10.12 </span>The <code>output</code> element</a></li>
<li><a href="forms.html#association-of-controls-and-forms"><span class="secno">4.10.13 </span>Association of controls and forms</a></li>
<li><a href="forms.html#attributes-common-to-form-controls"><span class="secno">4.10.14 </span>Attributes common to form controls</a>
<ol><li><a href="forms.html#naming-form-controls"><span class="secno">4.10.14.1 </span>Naming form controls</a></li>
<li><a href="forms.html#enabling-and-disabling-form-controls"><span class="secno">4.10.14.2 </span>Enabling and disabling form controls</a></li>
<li><a href="forms.html#autofocusing-a-form-control"><span class="secno">4.10.14.3 </span>Autofocusing a form control</a></li>
<li><a href="forms.html#limiting-user-input-length"><span class="secno">4.10.14.4 </span>Limiting user input length</a></li>
<li><a href="forms.html#form-submission-0"><span class="secno">4.10.14.5 </span>Form submission</a></li></ol></li>
<li><a href="forms.html#constraints"><span class="secno">4.10.15 </span>Constraints</a>
<ol><li><a href="forms.html#definitions"><span class="secno">4.10.15.1 </span>Definitions</a></li>
<li><a href="forms.html#the-constraint-validation-api"><span class="secno">4.10.15.2 </span>The constraint validation API</a></li></ol></li>
<li><a href="forms.html#form-submission"><span class="secno">4.10.16 </span>Form submission</a></li></ol></li>
<li><a href="interactive-elements.html#interactive-elements"><span class="secno">4.11 </span>Interactive elements</a>
<ol><li><a href="interactive-elements.html#the-details-element"><span class="secno">4.11.1 </span>The <code>details</code> element</a></li>
<li><a href="interactive-elements.html#the-command"><span class="secno">4.11.2 </span>The <code>command</code> element</a></li>
<li><a href="interactive-elements.html#menus"><span class="secno">4.11.3 </span>The <code>menu</code> element</a>
<ol><li><a href="interactive-elements.html#menus-intro"><span class="secno">4.11.3.1 </span>Introduction</a></li>
<li><a href="interactive-elements.html#context-menus"><span class="secno">4.11.3.2 </span>Context menus</a></li></ol></li>
<li><a href="interactive-elements.html#commands"><span class="secno">4.11.4 </span>Commands</a></li></ol></li>
<li><a href="interactive-elements.html#miscellaneous-elements"><span class="secno">4.12 </span>Miscellaneous elements</a>
<ol><li><a href="interactive-elements.html#the-legend-element"><span class="secno">4.12.1 </span>The <code>legend</code> element</a></li>
<li><a href="interactive-elements.html#the-div-element"><span class="secno">4.12.2 </span>The <code>div</code> element</a></li></ol></li></ol></li>
<li><a href="microdata.html#microdata"><span class="secno">5 </span>Microdata</a>
<ol><li><a href="microdata.html#introduction-1"><span class="secno">5.1 </span>Introduction</a>
<ol><li><a href="microdata.html#overview"><span class="secno">5.1.1 </span>Overview</a></li>
<li><a href="microdata.html#the-basic-syntax"><span class="secno">5.1.2 </span>The basic syntax</a></li>
<li><a href="microdata.html#typed-items"><span class="secno">5.1.3 </span>Typed items</a></li>
<li><a href="microdata.html#selecting-names-when-defining-vocabularies"><span class="secno">5.1.4 </span>Selecting names when defining vocabularies</a></li>
<li><a href="microdata.html#predefined-vocabularies"><span class="secno">5.1.5 </span>Predefined vocabularies</a></li>
<li><a href="microdata.html#using-the-microdata-dom-api"><span class="secno">5.1.6 </span>Using the microdata DOM API</a></li></ol></li>
<li><a href="microdata.html#encoding-microdata"><span class="secno">5.2 </span>Encoding microdata</a>
<ol><li><a href="microdata.html#the-microdata-model"><span class="secno">5.2.1 </span>The microdata model</a></li>
<li><a href="microdata.html#items:-the-item-attribute"><span class="secno">5.2.2 </span>Items: the <code>item</code> attribute</a></li>
<li><a href="microdata.html#associating-names-with-items"><span class="secno">5.2.3 </span>Associating names with items</a></li>
<li><a href="microdata.html#names:-the-itemprop-attribute"><span class="secno">5.2.4 </span>Names: the <code>itemprop</code> attribute</a></li>
<li><a href="microdata.html#values"><span class="secno">5.2.5 </span>Values</a></li></ol></li>
<li><a href="microdata.html#microdata-dom-api"><span class="secno">5.3 </span>Microdata DOM API</a></li>
<li><a href="microdata.html#predefined-vocabularies-0"><span class="secno">5.4 </span>Predefined vocabularies</a>
<ol><li><a href="microdata.html#general"><span class="secno">5.4.1 </span>General</a></li>
<li><a href="microdata.html#vcard"><span class="secno">5.4.2 </span>vCard</a>
<ol><li><a href="microdata.html#examples"><span class="secno">5.4.2.1 </span>Examples</a></li></ol></li>
<li><a href="microdata.html#vevent"><span class="secno">5.4.3 </span>vEvent</a>
<ol><li><a href="microdata.html#examples-0"><span class="secno">5.4.3.1 </span>Examples</a></li></ol></li>
<li><a href="microdata.html#licensing-works"><span class="secno">5.4.4 </span>Licensing works</a>
<ol><li><a href="microdata.html#examples-1"><span class="secno">5.4.4.1 </span>Examples</a></li></ol></li></ol></li></ol></li>
<li><a href="browsers.html#browsers"><span class="secno">6 </span>Web browsers</a>
<ol><li><a href="browsers.html#windows"><span class="secno">6.1 </span>Browsing contexts</a>
<ol><li><a href="browsers.html#nested-browsing-contexts"><span class="secno">6.1.1 </span>Nested browsing contexts</a>
<ol><li><a href="browsers.html#navigating-nested-browsing-contexts-in-the-dom"><span class="secno">6.1.1.1 </span>Navigating nested browsing contexts in the DOM</a></li></ol></li>
<li><a href="browsers.html#auxiliary-browsing-contexts"><span class="secno">6.1.2 </span>Auxiliary browsing contexts</a>
<ol><li><a href="browsers.html#navigating-auxiliary-browsing-contexts-in-the-dom"><span class="secno">6.1.2.1 </span>Navigating auxiliary browsing contexts in the DOM</a></li></ol></li>
<li><a href="browsers.html#secondary-browsing-contexts"><span class="secno">6.1.3 </span>Secondary browsing contexts</a></li>
<li><a href="browsers.html#browsing-context-names"><span class="secno">6.1.4 </span>Browsing context names</a></li></ol></li>
<li><a href="browsers.html#the-window-object"><span class="secno">6.2 </span>The <code>Window</code> object</a>
<ol><li><a href="browsers.html#apis-for-creating-and-navigating-browsing-contexts-by-name"><span class="secno">6.2.1 </span>APIs for creating and navigating browsing contexts by name</a></li>
<li><a href="browsers.html#accessing-other-browsing-contexts"><span class="secno">6.2.2 </span>Accessing other browsing contexts</a></li>
<li><a href="browsers.html#named-access-on-the-window-object"><span class="secno">6.2.3 </span>Named access on the <code>Window</code> object</a></li>
<li><a href="browsers.html#browser-interface-elements"><span class="secno">6.2.4 </span>Browser interface elements</a></li>
<li><a href="browsers.html#relaxing-the-same-origin-restriction"><span class="secno">6.2.5 </span>Relaxing the same-origin restriction</a></li></ol></li>
<li><a href="browsers.html#scripting"><span class="secno">6.3 </span>Scripting</a>
<ol><li><a href="browsers.html#introduction-2"><span class="secno">6.3.1 </span>Introduction</a></li>
<li><a href="browsers.html#events"><span class="secno">6.3.2 </span>Events</a></li></ol></li>
<li><a href="browsers.html#timers"><span class="secno">6.4 </span>Timers</a></li>
<li><a href="browsers.html#user-prompts"><span class="secno">6.5 </span>User prompts</a>
<ol><li><a href="browsers.html#simple-dialogs"><span class="secno">6.5.1 </span>Simple dialogs</a></li>
<li><a href="browsers.html#printing"><span class="secno">6.5.2 </span>Printing</a></li>
<li><a href="browsers.html#dialogs-implemented-using-separate-documents"><span class="secno">6.5.3 </span>Dialogs implemented using separate documents</a></li></ol></li>
<li><a href="browsers.html#system-state-and-capabilities"><span class="secno">6.6 </span>System state and capabilities</a>
<ol><li><a href="browsers.html#client-identification"><span class="secno">6.6.1 </span>Client identification</a></li>
<li><a href="browsers.html#custom-handlers"><span class="secno">6.6.2 </span>Custom scheme and content handlers</a></li>
<li><a href="browsers.html#manually-releasing-the-storage-mutex"><span class="secno">6.6.3 </span>Manually releasing the storage mutex</a></li></ol></li>
<li><a href="offline.html#offline"><span class="secno">6.7 </span>Offline Web applications</a>
<ol><li><a href="offline.html#introduction-3"><span class="secno">6.7.1 </span>Introduction</a>
<ol><li><a href="offline.html#event-summary"><span class="secno">6.7.1.1 </span>Event summary</a></li></ol></li>
<li><a href="offline.html#manifests"><span class="secno">6.7.2 </span>The cache manifest syntax</a>
<ol><li><a href="offline.html#a-sample-manifest"><span class="secno">6.7.2.1 </span>A sample manifest</a></li>
<li><a href="offline.html#writing-cache-manifests"><span class="secno">6.7.2.2 </span>Writing cache manifests</a></li></ol></li>
<li><a href="offline.html#expiring-application-caches"><span class="secno">6.7.3 </span>Expiring application caches</a></li>
<li><a href="offline.html#application-cache-api"><span class="secno">6.7.4 </span>Application cache API</a></li>
<li><a href="offline.html#browser-state"><span class="secno">6.7.5 </span>Browser state</a></li></ol></li>
<li><a href="history.html#history"><span class="secno">6.8 </span>Session history and navigation</a>
<ol><li><a href="history.html#the-session-history-of-browsing-contexts"><span class="secno">6.8.1 </span>The session history of browsing contexts</a></li>
<li><a href="history.html#the-history-interface"><span class="secno">6.8.2 </span>The <code>History</code> interface</a></li>
<li><a href="history.html#activating-state-object-entries"><span class="secno">6.8.3 </span>Activating state object entries</a></li>
<li><a href="history.html#the-location-interface"><span class="secno">6.8.4 </span>The <code>Location</code> interface</a></li></ol></li>
<li><a href="history.html#browsing-the-web"><span class="secno">6.9 </span>Browsing the Web</a>
<ol><li><a href="history.html#unloading-documents"><span class="secno">6.9.1 </span>Unloading documents</a></li></ol></li>
<li><a href="history.html#links"><span class="secno">6.10 </span>Links</a>
<ol><li><a href="history.html#hyperlink-elements"><span class="secno">6.10.1 </span>Hyperlink elements</a></li>
<li><a href="history.html#linkTypes"><span class="secno">6.10.2 </span>Link types</a>
<ol><li><a href="history.html#link-type-alternate"><span class="secno">6.10.2.1 </span>Link type "<code>alternate</code>"</a></li>
<li><a href="history.html#link-type-archives"><span class="secno">6.10.2.2 </span>Link type "<code>archives</code>"</a></li>
<li><a href="history.html#link-type-author"><span class="secno">6.10.2.3 </span>Link type "<code>author</code>"</a></li>
<li><a href="history.html#link-type-bookmark"><span class="secno">6.10.2.4 </span>Link type "<code>bookmark</code>"</a></li>
<li><a href="history.html#link-type-external"><span class="secno">6.10.2.5 </span>Link type "<code>external</code>"</a></li>
<li><a href="history.html#link-type-feed"><span class="secno">6.10.2.6 </span>Link type "<code>feed</code>"</a></li>
<li><a href="history.html#link-type-help"><span class="secno">6.10.2.7 </span>Link type "<code>help</code>"</a></li>
<li><a href="history.html#rel-icon"><span class="secno">6.10.2.8 </span>Link type "<code>icon</code>"</a></li>
<li><a href="history.html#link-type-license"><span class="secno">6.10.2.9 </span>Link type "<code>license</code>"</a></li>
<li><a href="history.html#link-type-nofollow"><span class="secno">6.10.2.10 </span>Link type "<code>nofollow</code>"</a></li>
<li><a href="history.html#link-type-noreferrer"><span class="secno">6.10.2.11 </span>Link type "<code>noreferrer</code>"</a></li>
<li><a href="history.html#link-type-pingback"><span class="secno">6.10.2.12 </span>Link type "<code>pingback</code>"</a></li>
<li><a href="history.html#link-type-prefetch"><span class="secno">6.10.2.13 </span>Link type "<code>prefetch</code>"</a></li>
<li><a href="history.html#link-type-search"><span class="secno">6.10.2.14 </span>Link type "<code>search</code>"</a></li>
<li><a href="history.html#link-type-stylesheet"><span class="secno">6.10.2.15 </span>Link type "<code>stylesheet</code>"</a></li>
<li><a href="history.html#link-type-sidebar"><span class="secno">6.10.2.16 </span>Link type "<code>sidebar</code>"</a></li>
<li><a href="history.html#link-type-tag"><span class="secno">6.10.2.17 </span>Link type "<code>tag</code>"</a></li>
<li><a href="history.html#hierarchical-link-types"><span class="secno">6.10.2.18 </span>Hierarchical link types</a>
<ol><li><a href="history.html#link-type-index"><span class="secno">6.10.2.18.1 </span>Link type "<code>index</code>"</a></li>
<li><a href="history.html#link-type-up"><span class="secno">6.10.2.18.2 </span>Link type "<code>up</code>"</a></li></ol></li>
<li><a href="history.html#sequential-link-types"><span class="secno">6.10.2.19 </span>Sequential link types</a>
<ol><li><a href="history.html#link-type-first"><span class="secno">6.10.2.19.1 </span>Link type "<code>first</code>"</a></li>
<li><a href="history.html#link-type-last"><span class="secno">6.10.2.19.2 </span>Link type "<code>last</code>"</a></li>
<li><a href="history.html#link-type-next"><span class="secno">6.10.2.19.3 </span>Link type "<code>next</code>"</a></li>
<li><a href="history.html#link-type-prev"><span class="secno">6.10.2.19.4 </span>Link type "<code>prev</code>"</a></li></ol></li>
<li><a href="history.html#other-link-types"><span class="secno">6.10.2.20 </span>Other link types</a></li></ol></li></ol></li></ol></li>
<li><a href="editing.html#editing"><span class="secno">7 </span>User Interaction</a>
<ol><li><a href="editing.html#the-hidden-attribute"><span class="secno">7.1 </span>The <code>hidden</code> attribute</a></li>
<li><a href="editing.html#activation"><span class="secno">7.2 </span>Activation</a></li>
<li><a href="editing.html#scrolling-elements-into-view"><span class="secno">7.3 </span>Scrolling elements into view</a></li>
<li><a href="editing.html#focus"><span class="secno">7.4 </span>Focus</a>
<ol><li><a href="editing.html#sequential-focus-navigation"><span class="secno">7.4.1 </span>Sequential focus navigation</a></li>
<li><a href="editing.html#document-level-focus-apis"><span class="secno">7.4.2 </span>Document-level focus APIs</a></li>
<li><a href="editing.html#element-level-focus-apis"><span class="secno">7.4.3 </span>Element-level focus APIs</a></li></ol></li>
<li><a href="editing.html#the-accesskey-attribute"><span class="secno">7.5 </span>The <code>accesskey</code> attribute</a></li>
<li><a href="editing.html#selection"><span class="secno">7.6 </span>The text selection APIs</a>
<ol><li><a href="editing.html#documentSelection"><span class="secno">7.6.1 </span>APIs for the browsing context selection</a></li>
<li><a href="editing.html#textFieldSelection"><span class="secno">7.6.2 </span>APIs for the text field selections</a></li></ol></li>
<li><a href="editing.html#contenteditable"><span class="secno">7.7 </span>The <code title="attr-contenteditable">contenteditable</code> attribute</a>
<ol><li><a href="editing.html#making-entire-documents-editable"><span class="secno">7.7.1 </span>Making entire documents editable</a></li></ol></li>
<li><a href="editing.html#spelling-and-grammar-checking"><span class="secno">7.8 </span>Spelling and grammar checking</a></li>
<li><a href="editing.html#dnd"><span class="secno">7.9 </span>Drag and drop</a>
<ol><li><a href="editing.html#introduction-4"><span class="secno">7.9.1 </span>Introduction</a></li>
<li><a href="editing.html#the-dragevent-and-datatransfer-interfaces"><span class="secno">7.9.2 </span>The <code>DragEvent</code> and <code>DataTransfer</code> interfaces</a></li>
<li><a href="editing.html#events-fired-during-a-drag-and-drop-action"><span class="secno">7.9.3 </span>Events fired during a drag-and-drop action</a></li>
<li><a href="editing.html#the-draggable-attribute"><span class="secno">7.9.4 </span>The <code>draggable</code> attribute</a></li>
<li><a href="editing.html#copy-and-paste"><span class="secno">7.9.5 </span>Copy and paste</a></li></ol></li>
<li><a href="editing.html#undo"><span class="secno">7.10 </span>Undo history</a>
<ol><li><a href="editing.html#introduction-5"><span class="secno">7.10.1 </span>Introduction</a></li>
<li><a href="editing.html#the-undomanager-interface"><span class="secno">7.10.2 </span>The <code>UndoManager</code> interface</a></li>
<li><a href="editing.html#the-undomanagerevent-interface-and-the-undo-and-redo-events"><span class="secno">7.10.3 </span>The <code>UndoManagerEvent</code> interface and the <code title="event-undo">undo</code> and <code title="event-redo">redo</code> events</a></li></ol></li>
<li><a href="editing.html#editing-apis"><span class="secno">7.11 </span>Editing APIs</a></li></ol></li>
<li><a href="comms.html#comms"><span class="secno">8 </span>Communication</a>
<ol><li><a href="comms.html#event-definitions"><span class="secno">8.1 </span>Event definitions</a></li>
<li><a href="comms.html#crossDocumentMessages"><span class="secno">8.2 </span>Cross-document messaging</a>
<ol><li><a href="comms.html#introduction-6"><span class="secno">8.2.1 </span>Introduction</a></li>
<li><a href="comms.html#security-4"><span class="secno">8.2.2 </span>Security</a></li>
<li><a href="comms.html#posting-messages"><span class="secno">8.2.3 </span>Posting messages</a></li></ol></li>
<li><a href="comms.html#channel-messaging"><span class="secno">8.3 </span>Channel messaging</a>
<ol><li><a href="comms.html#introduction-7"><span class="secno">8.3.1 </span>Introduction</a></li>
<li><a href="comms.html#message-channels"><span class="secno">8.3.2 </span>Message channels</a></li>
<li><a href="comms.html#message-ports"><span class="secno">8.3.3 </span>Message ports</a>
<ol><li><a href="comms.html#ports-and-garbage-collection"><span class="secno">8.3.3.1 </span>Ports and garbage collection</a></li></ol></li></ol></li></ol></li>
<li><a href="syntax.html#syntax"><span class="secno">9 </span>The HTML syntax</a>
<ol><li><a href="syntax.html#writing"><span class="secno">9.1 </span>Writing HTML documents</a>
<ol><li><a href="syntax.html#the-doctype"><span class="secno">9.1.1 </span>The DOCTYPE</a></li>
<li><a href="syntax.html#elements-0"><span class="secno">9.1.2 </span>Elements</a>
<ol><li><a href="syntax.html#start-tags"><span class="secno">9.1.2.1 </span>Start tags</a></li>
<li><a href="syntax.html#end-tags"><span class="secno">9.1.2.2 </span>End tags</a></li>
<li><a href="syntax.html#attributes"><span class="secno">9.1.2.3 </span>Attributes</a></li>
<li><a href="syntax.html#optional-tags"><span class="secno">9.1.2.4 </span>Optional tags</a></li>
<li><a href="syntax.html#element-restrictions"><span class="secno">9.1.2.5 </span>Restrictions on content models</a></li>
<li><a href="syntax.html#cdata-rcdata-restrictions"><span class="secno">9.1.2.6 </span>Restrictions on the contents of raw text and RCDATA elements</a></li></ol></li>
<li><a href="syntax.html#text-0"><span class="secno">9.1.3 </span>Text</a>
<ol><li><a href="syntax.html#newlines"><span class="secno">9.1.3.1 </span>Newlines</a></li></ol></li>
<li><a href="syntax.html#character-references"><span class="secno">9.1.4 </span>Character references</a></li>
<li><a href="syntax.html#cdata-sections"><span class="secno">9.1.5 </span>CDATA sections</a></li>
<li><a href="syntax.html#comments"><span class="secno">9.1.6 </span>Comments</a></li></ol></li>
<li><a href="named-character-references.html#named-character-references"><span class="secno">9.2 </span>Named character references</a></li></ol></li>
<li><a href="the-xhtml-syntax.html#the-xhtml-syntax"><span class="secno">10 </span>The XHTML syntax</a>
<ol><li><a href="the-xhtml-syntax.html#selectors"><span class="secno">10.1 </span>Selectors</a></li></ol></li>
<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></li>
<li><a href="obsolete.html#non-conforming-features"><span class="secno">11.2 </span>Non-conforming features</a></li></ol></li>
<li><a href="no.html#no"><span class="secno">12 </span>Things that you can't do with this specification because
they are better handled using other technologies that are further
described herein</a>
<ol><li><a href="no.html#localization"><span class="secno">12.1 </span>Localization</a></li>
<li><a href="no.html#declarative-3d-scenes"><span class="secno">12.2 </span>Declarative 3D scenes</a></li></ol></li>
<li><a class="no-num" href="iana-considerations.html#iana-considerations">IANA considerations</a>
<ol><li><a href="iana-considerations.html#text-html"><span class="secno">12.1 </span><code>text/html</code></a></li>
<li><a href="iana-considerations.html#application-xhtml-xml"><span class="secno">12.2 </span><code>application/xhtml+xml</code></a></li>
<li><a href="iana-considerations.html#text-cache-manifest"><span class="secno">12.3 </span><code>text/cache-manifest</code></a></li>
<li><a href="iana-considerations.html#text-ping"><span class="secno">12.4 </span><code>text/ping</code></a></li>
<li><a href="iana-considerations.html#application-microdata-json"><span class="secno">12.5 </span><code>application/microdata+json</code></a></li></ol></li>
<li><a class="no-num" href="index.html#index">Index</a></li>
<li><a class="no-num" href="references.html#references">References</a></li>
<li><a class="no-num" href="acknowledgements.html#acknowledgements">Acknowledgements</a></li></ol><!--end-toc--></body></html>
--- NEW FILE: embedded-content-0.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>3.2.5.1.6 Embedded content — HTML 5</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 { border-bottom: solid; }
table tbody th:first-child { border-left: solid; }
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; }
.applies th > * { display: block; }
.applies thead code { display: block; }
.applies td { text-align: center; }
.applies .yes { background: yellow; }
.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: #EEFFEE; }
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"]), li > span:not([title=""]):not([class="XXX"]):not([class="impl"]) { 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; }
p.copyright { 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; }
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; }
.tall-and-narrow {
font-size: 0.6em;
column-width: 25em;
column-gap: 1em;
-moz-column-width: 25em;
-moz-column-gap: 1em;
-webkit-column-width: 25em;
-webkit-column-gap: 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; }
</style><link href="data:text/css," rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" rel="alternate stylesheet" title="Highlight implementation requirements"><link href="http://www.w3.org/StyleSheets/TR/W3C-WD" rel="stylesheet" type="text/css"><!-- ZZZ ED vs WD --><link href="dom.html" title="3 Semantics, structure, and APIs of HTML documents" rel="prev">
<link href="Overview.html#contents" title="Table of contents" rel="index">
<link href="semantics.html" title="4 The elements of HTML" rel="next">
</head><body onload="fixBrokenLink(); fixBrokenLink()"><div class="head">
<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>HTML 5</h1>
<h2 class="no-num no-toc" id="a-vocabulary-and-associated-apis-for-html-and-xhtml">A vocabulary and associated APIs for HTML and XHTML</h2>
</div><div>
<a href="dom.html">← 3 Semantics, structure, and APIs of HTML documents</a> –
<a href="Overview.html#contents">Table of contents</a> –
<a href="semantics.html">4 The elements of HTML →</a>
</div>
<h6 id="embedded-content-0"><span class="secno">3.2.5.1.6 </span>Embedded content</h6><p><dfn id="embedded-content">Embedded content</dfn> is content that imports another
resource into the document, or content from another vocabulary that
is inserted into the document.</p><ul class="brief category-list"><li><code><a href="video.html#audio">audio</a></code></li>
<li><code><a href="the-canvas-element.html#the-canvas-element">canvas</a></code></li>
<li><code><a href="text-level-semantics.html#the-embed-element">embed</a></code></li>
<li><code><a href="text-level-semantics.html#the-iframe-element">iframe</a></code></li>
<li><code><a href="text-level-semantics.html#the-img-element">img</a></code></li>
<li><code><a href="the-canvas-element.html#math">math</a></code></li>
<li><code><a href="text-level-semantics.html#the-object-element">object</a></code></li>
<li><code><a href="the-canvas-element.html#svg">svg</a></code></li>
<li><code><a href="video.html#video">video</a></code></li>
</ul><p>Elements that are from namespaces other than the <a href="#html-namespace-0">HTML
namespace</a> and that convey content but not metadata, are
<a href="#embedded-content">embedded content</a> for the purposes of the content models
defined in this specification. (For example, MathML, or SVG.)</p><p>Some embedded content elements can have <dfn id="fallback-content">fallback
content</dfn>: content that is to be used when the external resource
cannot be used (e.g. because it is of an unsupported format). The
element definitions state what the fallback is, if any.</p><h6 id="interactive-content-0"><span class="secno">3.2.5.1.7 </span>Interactive content</h6><!--
TESTS:
http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20html%3E%0A%3Cp%20tabindex%3D1%3Etest%20%3Ca%20href%3D%22%22%3E%20%3Cem%3Etest%3C/em%3E%20%3C/a%3E%0A%3Cscript%3E%0A%20function%20test%20%28e%29%20%7B%20w%28e.type%20+%20%27%20on%20%27%20+%20e.target.tagName%20+%20%27%20through%20%27%20+%20e.currentTarget.tagName%29%3B%20%7D%0A%20document.getElementsByTagName%28%27a%27%29%5B0%5D.addEventListener%28%27click%27%2C%20test%2C%20false%29%3B%0A%20document.getElementsByTagName%28%27a%27%29%5B0%5D.addEventListener%28%27DOMActivate%27%2C%20test%2C%20false%29%3B%0A%20document.getElementsByTagName%28%27p%27%29%5B0%5D.addEventListener%28%27click%27%2C%20test%2C%20false%29%3B%0A%20document.getElementsByTagName%28%27p%27%29%5B0%5D.addEventListener%28%27DOMActivate%27%2C%20test%2C%20false%29%3B%0A%3C/script%3E%0A
http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%0A%3Ca%20href%3Dhttp%3A//google.com/%20target%3Da%3EA%3C/a%3E%3Ca%20href%3Dhttp%3A//yahoo.com/%20target%3Db%3EB%3C/a%3E%3Cbr%3E%0A%3Ciframe%20name%3Da%3E%3C/iframe%3E%3Ciframe%20name%3Db%3E%3C/iframe%3E%0A%3Cscript%3E%0A%20var%20a%20%3D%20document.getElementsByTagName%28%27a%27%29%5B0%5D%3B%0A%20var%20b%20%3D%20document.getElementsByTagName%28%27a%27%29%5B1%5D%3B%0A%20a.appendChild%28b%29%3B%0A%3C/script%3E
http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%0A%3Cform%20action%3D%22http%3A//google.com/%22%20onsubmit%3D%22w%28%27onsubmit%27%29%22%3E%3Cem%3EA%3C/em%3E%3C/form%3E%0A%3Cscript%3E%0Adocument.getElementsByTagName%28%27form%27%29%5B0%5D.attachEvent%28%27onsubmit%27%2C%20function%20%28%29%20%7B%20w%28%27submit%20fired%27%29%20%7D%29%3B%0Adocument.getElementsByTagName%28%27form%27%29%5B0%5D.fireEvent%28%27onsubmit%27%29%3B%0A%3C/script%3E
http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%0A%3Cform%20action%3D%22http%3A//google.com/%22%3EX%3C/form%3E%0A%3Cscript%3E%0Avar%20evt%20%3D%20document.createEvent%28%22Events%22%29%3B%0Aevt.initEvent%28%22submit%22%2C%20true%2C%20true%29%3B%0Adocument.getElementsByTagName%28%27form%27%29%5B0%5D.dispatchEvent%28evt%29%3B%0A%3C/script%3E
--><p><dfn id="interactive-content">Interactive content</dfn> is content that is specifically
intended for user interaction.</p><ul class="brief category-list"><li><code><a href="text-level-semantics.html#the-a-element">a</a></code></li>
<li><code><a href="video.html#audio">audio</a></code> (if the <code title="attr-media-controls"><a href="video.html#attr-media-controls">controls</a></code> attribute is present)</li>
<li><code><a href="forms.html#the-button-element">button</a></code></li>
<!-- v2DATAGRID <li><code>datagrid</code></li> -->
<li><code><a href="interactive-elements.html#the-details-element">details</a></code></li>
<li><code><a href="text-level-semantics.html#the-embed-element">embed</a></code></li>
<li><code><a href="text-level-semantics.html#the-iframe-element">iframe</a></code></li>
<li><code><a href="text-level-semantics.html#the-img-element">img</a></code> (if the <code title="attr-hyperlink-usemap"><a href="the-canvas-element.html#attr-hyperlink-usemap">usemap</a></code> attribute is present)</li>
<li><code><a href="forms.html#the-input-element">input</a></code> (if the <code title="attr-input-type"><a href="forms.html#attr-input-type">type</a></code> attribute is <em>not</em> in the <a href="forms.html#hidden-state" title="attr-input-type-hidden">Hidden</a> state)</li>
<li><code><a href="forms.html#the-keygen-element">keygen</a></code></li>
<li><code><a href="forms.html#the-label-element">label</a></code></li>
<li><code><a href="interactive-elements.html#menus">menu</a></code> (if the <code title="attr-menu-type"><a href="interactive-elements.html#attr-menu-type">type</a></code> attribute is in the <a href="interactive-elements.html#tool-bar-state" title="tool bar state">tool bar</a> state)</li>
<li><code><a href="text-level-semantics.html#the-object-element">object</a></code> (if the <code title="attr-hyperlink-usemap"><a href="the-canvas-element.html#attr-hyperlink-usemap">usemap</a></code> attribute is present)<!-- see also comment in <object> section --></li>
<li><code><a href="forms.html#the-select-element">select</a></code></li>
<li><code><a href="forms.html#the-textarea-element">textarea</a></code></li>
<li><code><a href="video.html#video">video</a></code> (if the <code title="attr-media-controls"><a href="video.html#attr-media-controls">controls</a></code> attribute is present)</li>
</ul><p>Certain elements in HTML have an <a href="#activation-behavior">activation
behavior</a>, which means that the user can activate them. This
triggers a sequence of events dependent on the activation mechanism,
and normally culminating in a <code title="event-click">click</code>
event followed by a <code title="event-DOMActivate">DOMActivate</code> event.</p><h5 id="transparent-content-models"><span class="secno">3.2.5.2 </span>Transparent content models</h5><p>Some elements are described as <dfn id="transparent">transparent</dfn>; they have
"transparent" in the description of their content model.</p><p>When a content model includes a part that is "transparent", those
parts must not contain content that would not be conformant if all
transparent elements in the tree were replaced, in their parent
element, by the children in the "transparent" part of their content
model, retaining order.</p><p>When a transparent element has no parent, then the part of its
content model that is "transparent" must instead be treated as
accepting any <a href="dom.html#flow-content">flow content</a>.</p><h5 id="paragraphs"><span class="secno">3.2.5.3 </span>Paragraphs</h5><p class="note">The term <a href="#paragraph">paragraph</a> as defined in this
section is distinct from (though related to) the <code><a href="semantics.html#the-p-element">p</a></code>
element defined later. The <a href="#paragraph">paragraph</a> concept defined
here is used to describe how to interpret documents.</p><p>A <dfn id="paragraph">paragraph</dfn> is typically a run of <a href="dom.html#phrasing-content">phrasing
content</a> that forms a block of text with one or more sentences
that discuss a particular topic, as in typography, but can also be
used for more general thematic grouping. For instance, an address is
also a paragraph, as is a part of a form, a byline, or a stanza in a
poem.</p><div class="example">
<p>In the following example, there are two paragraphs in a
section. There is also a heading, which contains phrasing content
that is not a paragraph. Note how the comments and
<a href="dom.html#inter-element-whitespace">inter-element whitespace</a> do not form paragraphs.</p>
<pre><section>
<h1>Example of paragraphs</h1>
This is the <em>first</em> paragraph in this example.
<p>This is the second.</p>
<!-- This is not a paragraph. -->
</section></pre>
</div><p>Paragraphs in <a href="dom.html#flow-content">flow content</a> are defined relative to
what the document looks like without the <code><a href="text-level-semantics.html#the-a-element">a</a></code>,
<code><a href="text-level-semantics.html#the-ins-element">ins</a></code>, <code><a href="text-level-semantics.html#the-del-element">del</a></code>, and <code><a href="the-canvas-element.html#the-map-element">map</a></code> elements
complicating matters, since those elements, with their hybrid
content models, can straddle paragraph boundaries, as shown in the
first two examples below.</p><p class="note">Generally, having elements straddle paragraph
boundaries is best avoided. Maintaining such markup can be
difficult.</p><div class="example">
<p>The following example takes the markup from the earlier example
and puts <code><a href="text-level-semantics.html#the-ins-element">ins</a></code> and <code><a href="text-level-semantics.html#the-del-element">del</a></code> elements around some
of the markup to show that the text was changed (though in this
case, the changes admittedly don't make much sense). Notice how
this example has exactly the same paragraphs as the previous one,
despite the <code><a href="text-level-semantics.html#the-ins-element">ins</a></code> and <code><a href="text-level-semantics.html#the-del-element">del</a></code> elements —
the <code><a href="text-level-semantics.html#the-ins-element">ins</a></code> element straddles the heading and the first
paragraph, and the <code><a href="text-level-semantics.html#the-del-element">del</a></code> element straddles the boundary
between the two paragraphs.</p>
<pre><section>
<ins><h1>Example of paragraphs</h1>
This is the <em>first</em> paragraph in</ins> this example<del>.
<p>This is the second.</p></del>
<!-- This is not a paragraph. -->
</section></pre>
</div><p>A <a href="#paragraph">paragraph</a> is also formed explicitly by
<code><a href="semantics.html#the-p-element">p</a></code> elements.</p><p class="note">The <code><a href="semantics.html#the-p-element">p</a></code> element can be used to wrap
individual paragraphs when there would otherwise not be any content
other than phrasing content to separate the paragraphs from each
other.</p><div class="example">
<p>In the following example, the link spans half of the first
paragraph, all of the heading separating the two paragraphs, and
half of the second paragraph. It straddles the paragraphs and the
heading.</p>
<pre><aside>
Welcome!
<a href="about.html">
This is home of...
<h1>The Falcons!</h1>
The Lockheed Martin multirole jet fighter aircraft!
</a>
This page discusses the F-16 Fighting Falcon's innermost secrets.
</aside></pre>
<p>Here is another way of marking this up, this time showing the
paragraphs explicitly, and splitting the one link element into
three:</p>
<pre><aside>
<p>Welcome! <a href="about.html">This is home of...</a></p>
<h1><a href="about.html">The Falcons!</a></h1>
<p><a href="about.html">The Lockheed Martin multirole jet
fighter aircraft!</a> This page discusses the F-16 Fighting
Falcon's innermost secrets.</p>
</aside></pre>
</div><div class="example">
<!-- I don't know if there's a better way to deal with this, but if
there is, let me know... -->
<p>It is possible for paragraphs to overlap when using certain
elements that define fallback content. For example, in the
following section:</p>
<pre><section>
<h1>My Cats</h1>
You can play with my cat simulator.
<object data="cats.sim">
To see the cat simulator, use one of the following links:
<ul>
<li><a href="cats.sim">Download simulator file</a>
<li><a href="http://sims.example.com/watch?v=LYds5xY4INU">Use online simulator</a>
</ul>
Alternatively, upgrade to the Mellblom Browser.
</object>
I'm quite proud of it.
</section></pre>
<p>There are five paragraphs:</p>
<ol class="brief"><li>The paragraph that says "You can play with my cat
simulator. <i title="">object</i> I'm quite proud of it.", where
<i title="">object</i> is the <code><a href="text-level-semantics.html#the-object-element">object</a></code> element.</li>
<li>The paragraph that says "To see the cat simulator, use one of
the following links:".</li>
<li>The paragraph that says "Download simulator file".</li>
<li>The paragraph that says "Use online simulator".</li>
<li>The paragraph that says "Alternatively, upgrade to the Mellblom Browser.".</li>
</ol><p>The first paragraph is overlapped by the other four. A user
agent that supports the "cats.sim" resource will only show the
first one, but a user agent that shows the fallback will
confusingly show the first sentence of the first paragraph as
if it was in the same paragraph as the second one, and will show
the last paragraph as if it was at the start of the second sentence
of the first paragraph.</p>
<p>To avoid this confusion, explicit <code><a href="semantics.html#the-p-element">p</a></code> elements can be
used.</p>
</div><h4 id="annotations-for-assistive-technology-products"><span class="secno">3.2.6 </span><dfn>Annotations for assistive technology products</dfn></h4><p class="XXX annotation"><b>Status: </b><i>First draft. </i><span><a href="http://www.w3.org/html/wg/tracker/issues/35">ISSUE-35</a> (aria-processing) and <a href="http://www.w3.org/html/wg/tracker/issues/14">ISSUE-14</a> (aria-role) block progress to Last Call</span></p><p>Authors may use the ARIA <code title="attr-aria-role">role</code>
and <code title="attr-aria-*">aria-*</code> attributes on <a href="infrastructure.html#html-elements">HTML
elements</a>, in accordance with the requirements described in
the ARIA specifications, except where these conflict with the
<span>strong native semantics</span> described below. These
exceptions are intended to prevent authors from making assistive
technology products report nonsensical states that do not represent
the actual state of the document. <a href="references.html#refsARIA">[ARIA]</a></p><p>The following table defines the <span>strong native
semantics</span> that apply to <a href="infrastructure.html#html-elements">HTML
elements</a>. Each language feature (element or attribute) in a
cell in the first column implies the ARIA semantics (role, states,
and/or properties) given in the cell in the second column of the
same row. Authors must not set the ARIA <code title="attr-aria-role">role</code> and <code title="attr-aria-*">aria-*</code> attributes in a manner that
conflicts with the semantics described in the following table. </p><table><thead><tr><th>Language feature
</th><th>Strong native semantics and implied ARIA semantics</th></tr></thead><tbody><tr><td><code><a href="text-level-semantics.html#the-a-element">a</a></code> element that represents a <a href="history.html#hyperlink">hyperlink</a>
</td><td><code title="attr-aria-role-link">link</code> role
</td></tr><tr><td><code><a href="semantics.html#the-address-element">address</a></code> element
</td><td><code title="attr-aria-role-contentinfo">contentinfo</code> role
</td></tr><tr><td><code><a href="the-canvas-element.html#the-area-element">area</a></code> element that represents a <a href="history.html#hyperlink">hyperlink</a>
</td><td><code title="attr-aria-role-link">link</code> role
</td></tr><tr><td><code><a href="forms.html#the-button-element">button</a></code> element
</td><td><code title="attr-aria-role-button">button</code> role
</td></tr><tr><td><code><a href="forms.html#the-datalist-element">datalist</a></code> element
</td><td><code title="attr-aria-role-listbox">listbox</code> role, with the <code title="attr-aria-multiselectable">aria-multiselectable</code> property set to "false"
</td></tr><tr><td><code><a href="semantics.html#the-footer-element">footer</a></code> element
</td><td><code title="attr-aria-role-contentinfo">contentinfo</code> role
</td></tr><tr><td><code><a href="semantics.html#the-h1-h2-h3-h4-h5-and-h6-elements">h1</a></code> element that does not have an <code><a href="semantics.html#the-hgroup-element">hgroup</a></code> ancestor
</td><td><code title="attr-aria-role-heading">heading</code> role
</td></tr><tr><td><code><a href="semantics.html#the-h1-h2-h3-h4-h5-and-h6-elements">h2</a></code> element that does not have an <code><a href="semantics.html#the-hgroup-element">hgroup</a></code> ancestor
</td><td><code title="attr-aria-role-heading">heading</code> role
</td></tr><tr><td><code><a href="semantics.html#the-h1-h2-h3-h4-h5-and-h6-elements">h3</a></code> element that does not have an <code><a href="semantics.html#the-hgroup-element">hgroup</a></code> ancestor
</td><td><code title="attr-aria-role-heading">heading</code> role
</td></tr><tr><td><code><a href="semantics.html#the-h1-h2-h3-h4-h5-and-h6-elements">h4</a></code> element that does not have an <code><a href="semantics.html#the-hgroup-element">hgroup</a></code> ancestor
</td><td><code title="attr-aria-role-heading">heading</code> role
</td></tr><tr><td><code><a href="semantics.html#the-h1-h2-h3-h4-h5-and-h6-elements">h5</a></code> element that does not have an <code><a href="semantics.html#the-hgroup-element">hgroup</a></code> ancestor
</td><td><code title="attr-aria-role-heading">heading</code> role
</td></tr><tr><td><code><a href="semantics.html#the-h1-h2-h3-h4-h5-and-h6-elements">h6</a></code> element that does not have an <code><a href="semantics.html#the-hgroup-element">hgroup</a></code> ancestor
</td><td><code title="attr-aria-role-heading">heading</code> role
</td></tr><tr><td><code><a href="semantics.html#the-header-element">header</a></code> element
</td><td><code title="attr-aria-role-banner">banner</code> role
</td></tr><tr><td><code><a href="semantics.html#the-hgroup-element">hgroup</a></code> element
</td><td><code title="attr-aria-role-heading">heading</code> role
</td></tr><tr><td><code><a href="semantics.html#the-hr-element">hr</a></code> element
</td><td><code title="attr-aria-role-separator">separator</code> role
</td></tr><tr><td><code><a href="text-level-semantics.html#the-img-element">img</a></code> element whose <code title="attr-img-alt"><a href="text-level-semantics.html#attr-img-alt">alt</a></code> attribute's value is empty
</td><td><code title="attr-aria-role-presentation">presentation</code> role
</td></tr><tr><td><code><a href="forms.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="forms.html#attr-input-type">type</a></code> attribute in the <a href="forms.html#button-state" title="attr-input-type-button">Button</a> state
</td><td><code title="attr-aria-role-button">button</code> role
</td></tr><tr><td><code><a href="forms.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="forms.html#attr-input-type">type</a></code> attribute in the <a href="forms.html#checkbox-state" title="attr-input-type-checkbox">Checkbox</a> state
</td><td><code title="attr-aria-role-checkbox">checkbox</code> role, with the <code title="attr-aria-checked">aria-checked</code> state set to "mixed" if the element's <code title="dom-input-indeterminate"><a href="#dom-input-indeterminate">indeterminate</a></code> DOM attribute is true, or "true" if the element's <a href="#concept-fe-checked" title="concept-fe-checked">checkedness</a> is true, or "false" otherwise
</td></tr><tr><td><code><a href="forms.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="forms.html#attr-input-type">type</a></code> attribute in the <a href="forms.html#color-state" title="attr-input-type-color">Color</a> state
</td><td>No role
</td></tr><tr><td><code><a href="forms.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="forms.html#attr-input-type">type</a></code> attribute in the <a href="forms.html#date-state" title="attr-input-type-date">Date</a> state
</td><td>No role, with the <code title="title-aria-readonly">aria-readonly</code> state set to "true" if the element has a <code title="attr-input-readonly"><a href="forms.html#attr-input-readonly">readonly</a></code> attribute
</td></tr><tr><td><code><a href="forms.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="forms.html#attr-input-type">type</a></code> attribute in the <a href="forms.html#date-and-time-state" title="attr-input-type-datetime">Date and Time</a> state
</td><td>No role, with the <code title="title-aria-readonly">aria-readonly</code> state set to "true" if the element has a <code title="attr-input-readonly"><a href="forms.html#attr-input-readonly">readonly</a></code> attribute
</td></tr><tr><td><code><a href="forms.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="forms.html#attr-input-type">type</a></code> attribute in the <a href="forms.html#local-date-and-time-state" title="attr-input-type-datetime-local">Local Date and Time</a> state
</td><td>No role, with the <code title="title-aria-readonly">aria-readonly</code> state set to "true" if the element has a <code title="attr-input-readonly"><a href="forms.html#attr-input-readonly">readonly</a></code> attribute
</td></tr><tr><td><code><a href="forms.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="forms.html#attr-input-type">type</a></code> attribute in the <a href="forms.html#e-mail-state" title="attr-input-type-email">E-mail</a> state with no <a href="#concept-input-list" title="concept-input-list">suggestions source element</a>
</td><td><code title="attr-aria-role-textbox">textbox</code> role, with the <code title="title-aria-readonly">aria-readonly</code> state set to "true" if the element has a <code title="attr-input-readonly"><a href="forms.html#attr-input-readonly">readonly</a></code> attribute
</td></tr><tr><td><code><a href="forms.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="forms.html#attr-input-type">type</a></code> attribute in the <a href="forms.html#file-upload-state" title="attr-input-type-file">File Upload</a> state
</td><td><code title="attr-aria-role-button">button</code> role
</td></tr><tr><td><code><a href="forms.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="forms.html#attr-input-type">type</a></code> attribute in the <a href="forms.html#hidden-state" title="attr-input-type-hidden">Hidden</a> state
</td><td>No role
</td></tr><tr><td><code><a href="forms.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="forms.html#attr-input-type">type</a></code> attribute in the <a href="forms.html#image-button-state" title="attr-input-type-image">Image Button</a> state
</td><td><code title="attr-aria-role-button">button</code> role
</td></tr><tr><td><code><a href="forms.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="forms.html#attr-input-type">type</a></code> attribute in the <a href="forms.html#month-state" title="attr-input-type-month">Month</a> state
</td><td>No role, with the <code title="title-aria-readonly">aria-readonly</code> state set to "true" if the element has a <code title="attr-input-readonly"><a href="forms.html#attr-input-readonly">readonly</a></code> attribute
</td></tr><tr><td><code><a href="forms.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="forms.html#attr-input-type">type</a></code> attribute in the <a href="forms.html#number-state" title="attr-input-type-number">Number</a> state
</td><td><code title="attr-aria-role-spinbutton">spinbutton</code> role, with the <code title="title-aria-readonly">aria-readonly</code> state set to "true" if the element has a <code title="attr-input-readonly"><a href="forms.html#attr-input-readonly">readonly</a></code> attribute, the <code title="attr-aria-valuemax">aria-valuemax</code> property set to the element's <a href="#concept-input-max" title="concept-input-max">maximum</a>, the <code title="attr-aria-valuemin">aria-valuemin</code> property set to the element's <a href="#concept-input-min" title="concept-input-min">minimum</a>, and, if the result of applying the <a href="#rules-for-parsing-floating-point-number-values">rules for parsing floating point number values</a> to the element's <a href="#concept-fe-value" title="concept-fe-value">value</a> is a number, with the <code title="attr-aria-valuenow">aria-valuenow</code> property set to that number
</td></tr><tr><td><code><a href="forms.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="forms.html#attr-input-type">type</a></code> attribute in the <a href="forms.html#password-state" title="attr-input-type-password">Password</a> state
</td><td><code title="attr-aria-role-textbox">textbox</code> role, with the <code title="title-aria-readonly">aria-readonly</code> state set to "true" if the element has a <code title="attr-input-readonly"><a href="forms.html#attr-input-readonly">readonly</a></code> attribute
</td></tr><tr><td><code><a href="forms.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="forms.html#attr-input-type">type</a></code> attribute in the <a href="forms.html#radio-button-state" title="attr-input-type-radio">Radio Button</a> state
</td><td><code title="attr-aria-role-radio">radio</code> role, with the <code title="attr-aria-checked">aria-checked</code> state set to "true" if the element's <a href="#concept-fe-checked" title="concept-fe-checked">checkedness</a> is true, or "false" otherwise
</td></tr><tr><td><code><a href="forms.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="forms.html#attr-input-type">type</a></code> attribute in the <a href="forms.html#range-state" title="attr-input-type-range">Range</a> state
</td><td><code title="attr-aria-role-slider">slider</code> role, with the <code title="attr-aria-valuemax">aria-valuemax</code> property set to the element's <a href="#concept-input-max" title="concept-input-max">maximum</a>, the <code title="attr-aria-valuemin">aria-valuemin</code> property set to the element's <a href="#concept-input-min" title="concept-input-min">minimum</a>, and the <code title="attr-aria-valuenow">aria-valuenow</code> property set to the result of applying the <a href="#rules-for-parsing-floating-point-number-values">rules for parsing floating point number values</a> to the element's <a href="#concept-fe-value" title="concept-fe-value">value</a>, if that that results in a number, or the <a href="forms.html#concept-input-value-default-range" title="concept-input-value-default-range">default value</a> otherwise
</td></tr><tr><td><code><a href="forms.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="forms.html#attr-input-type">type</a></code> attribute in the <a href="forms.html#reset-button-state" title="attr-input-type-reset">Reset Button</a> state
</td><td><code title="attr-aria-role-button">button</code> role
</td></tr><tr><td><code><a href="forms.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="forms.html#attr-input-type">type</a></code> attribute in the <a href="forms.html#text-state-and-search-state" title="attr-input-type-search">Search</a> state with no <a href="#concept-input-list" title="concept-input-list">suggestions source element</a>
</td><td><code title="attr-aria-role-textbox">textbox</code> role, with the <code title="title-aria-readonly">aria-readonly</code> state set to "true" if the element has a <code title="attr-input-readonly"><a href="forms.html#attr-input-readonly">readonly</a></code> attribute
</td></tr><tr><td><code><a href="forms.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="forms.html#attr-input-type">type</a></code> attribute in the <a href="forms.html#submit-button-state" title="attr-input-type-submit">Submit Button</a> state
</td><td><code title="attr-aria-role-button">button</code> role
</td></tr><tr><td><code><a href="forms.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="forms.html#attr-input-type">type</a></code> attribute in the <a href="forms.html#telephone-state" title="attr-input-type-tel">Telephone</a> state with no <a href="#concept-input-list" title="concept-input-list">suggestions source element</a>
</td><td><code title="attr-aria-role-textbox">textbox</code> role, with the <code title="title-aria-readonly">aria-readonly</code> state set to "true" if the element has a <code title="attr-input-readonly"><a href="forms.html#attr-input-readonly">readonly</a></code> attribute
</td></tr><tr><td><code><a href="forms.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="forms.html#attr-input-type">type</a></code> attribute in the <a href="forms.html#text-state-and-search-state" title="attr-input-type-text">Text</a> state with no <a href="#concept-input-list" title="concept-input-list">suggestions source element</a>
</td><td><code title="attr-aria-role-textbox">textbox</code> role, with the <code title="title-aria-readonly">aria-readonly</code> state set to "true" if the element has a <code title="attr-input-readonly"><a href="forms.html#attr-input-readonly">readonly</a></code> attribute
</td></tr><tr><td><code><a href="forms.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="forms.html#attr-input-type">type</a></code> attribute in the <a href="forms.html#text-state-and-search-state" title="attr-input-type-text">Text</a>, <a href="forms.html#text-state-and-search-state" title="attr-input-type-search">Search</a>, <a href="forms.html#telephone-state" title="attr-input-type-tel">Telephone</a>, <a href="forms.html#url-state" title="attr-input-type-url">URL</a>, or <a href="forms.html#e-mail-state" title="attr-input-type-email">E-mail</a> states with a <a href="#concept-input-list" title="concept-input-list">suggestions source element</a>
</td><td><code title="attr-aria-role-combobox">combobox</code> role, with the <code title="attr-aria-owns">aria-owns</code> property set to the same value as the <code title="attr-input-list"><a href="forms.html#attr-input-list">list</a></code> attribute, and the <code title="title-aria-readonly">aria-readonly</code> state set to "true" if the element has a <code title="attr-input-readonly"><a href="forms.html#attr-input-readonly">readonly</a></code> attribute
</td></tr><tr><td><code><a href="forms.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="forms.html#attr-input-type">type</a></code> attribute in the <a href="forms.html#time-state" title="attr-input-type-time">Time</a> state
</td><td>No role, with the <code title="title-aria-readonly">aria-readonly</code> state set to "true" if the element has a <code title="attr-input-readonly"><a href="forms.html#attr-input-readonly">readonly</a></code> attribute
</td></tr><tr><td><code><a href="forms.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="forms.html#attr-input-type">type</a></code> attribute in the <a href="forms.html#url-state" title="attr-input-type-url">URL</a> state with no <a href="#concept-input-list" title="concept-input-list">suggestions source element</a>
</td><td><code title="attr-aria-role-textbox">textbox</code> role, with the <code title="title-aria-readonly">aria-readonly</code> state set to "true" if the element has a <code title="attr-input-readonly"><a href="forms.html#attr-input-readonly">readonly</a></code> attribute
</td></tr><tr><td><code><a href="forms.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="forms.html#attr-input-type">type</a></code> attribute in the <a href="forms.html#week-state" title="attr-input-type-week">Week</a> state
</td><td>No role, with the <code title="title-aria-readonly">aria-readonly</code> state set to "true" if the element has a <code title="attr-input-readonly"><a href="forms.html#attr-input-readonly">readonly</a></code> attribute
</td></tr><tr><td><code><a href="semantics.html#the-link-element">link</a></code> element that represents a <a href="history.html#hyperlink">hyperlink</a>
</td><td><code title="attr-aria-role-link">link</code> role
</td></tr><tr><td><code><a href="interactive-elements.html#menus">menu</a></code> element with a <code title="attr-menu-type"><a href="interactive-elements.html#attr-menu-type">type</a></code> attribute in the <a href="interactive-elements.html#context-menu-state" title="context menu state">context menu</a> state
</td><td>No role
</td></tr><tr><td><code><a href="interactive-elements.html#menus">menu</a></code> element with a <code title="attr-menu-type"><a href="interactive-elements.html#attr-menu-type">type</a></code> attribute in the <a href="interactive-elements.html#list-state" title="list state">list</a> state
</td><td><code title="attr-aria-role-menu">menu</code> role
</td></tr><tr><td><code><a href="interactive-elements.html#menus">menu</a></code> element with a <code title="attr-menu-type"><a href="interactive-elements.html#attr-menu-type">type</a></code> attribute in the <a href="interactive-elements.html#tool-bar-state" title="tool bar state">tool bar</a> state
</td><td><code title="attr-aria-role-toolbar">toolbar</code> role
</td></tr><tr><td><code><a href="semantics.html#the-nav-element">nav</a></code> element
</td><td><code title="attr-aria-role-navigation">navigation</code> role
</td></tr><tr><td><code><a href="forms.html#the-option-element">option</a></code> element that is in a <a href="forms.html#concept-select-option-list" title="concept-select-option-list">list of options</a> or that represents a suggestion in a <code><a href="forms.html#the-datalist-element">datalist</a></code> element
</td><td><code title="attr-aria-role-option">option</code> role, with the <code title="attr-aria-selected">aria-selected</code> state set to "true" if the element's <a href="#concept-option-selectedness" title="concept-option-selectedness">selectedness</a> is true, or "false" otherwise.
</td></tr><tr><td><code><a href="text-level-semantics.html#the-progress-element">progress</a></code> element
</td><td><code title="attr-aria-role-progressbar">progressbar</code> role, with, if the progress bar is determinate, the <code title="attr-aria-valuemax">aria-valuemax</code> property set to the maximum value of the progress bar, the <code title="attr-aria-valuemin">aria-valuemin</code> property set to zero, and the <code title="attr-aria-valuenow">aria-valuenow</code> property set to the current value of the progress bar
</td></tr><tr><td><code><a href="forms.html#the-select-element">select</a></code> element with a <code title="attr-select-multiple"><a href="forms.html#attr-select-multiple">multiple</a></code> attribute
</td><td><code title="attr-aria-role-listbox">listbox</code> role, with the <code title="attr-aria-multiselectable">aria-multiselectable</code> property set to "true"
</td></tr><tr><td><code><a href="forms.html#the-select-element">select</a></code> element with no <code title="attr-select-multiple"><a href="forms.html#attr-select-multiple">multiple</a></code> attribute
</td><td><code title="attr-aria-role-listbox">listbox</code> role, with the <code title="attr-aria-multiselectable">aria-multiselectable</code> property set to "false"
</td></tr><tr><td><code><a href="tabular-data.html#the-td-element">td</a></code> element
</td><td><code title="attr-aria-role-gridcell">gridcell</code> role, with the <code title="attr-aria-labelledby">aria-labelledby</code> property set to the value of the <code title="attr-tdth-headers"><a href="tabular-data.html#attr-tdth-headers">headers</a></code> attribute, if any
</td></tr><tr><td><code><a href="forms.html#the-textarea-element">textarea</a></code> element
</td><td><code title="attr-aria-role-textbox">textbox</code> role, with the <code title="attr-aria-multiline">aria-multiline</code> property set to "true", and the <code title="title-aria-readonly">aria-readonly</code> state set to "true" if the element has a <code title="attr-textarea-readonly"><a href="forms.html#attr-textarea-readonly">readonly</a></code> attribute
</td></tr><tr><td><code><a href="tabular-data.html#the-th-element">th</a></code> elemen that is neither a <a href="#column-header">column header</a> nor a <a href="#row-header">row header</a>
</td><td><code title="attr-aria-role-gridcell">gridcell</code> role, with the <code title="attr-aria-labelledby">aria-labelledby</code> property set to the value of the <code title="attr-tdth-headers"><a href="tabular-data.html#attr-tdth-headers">headers</a></code> attribute, if any
</td></tr><tr><td><code><a href="tabular-data.html#the-th-element">th</a></code> element that is a <a href="#column-header">column header</a>
</td><td><code title="attr-aria-role-columnheader">columnheader</code> role, with the <code title="attr-aria-labelledby">aria-labelledby</code> property set to the value of the <code title="attr-tdth-headers"><a href="tabular-data.html#attr-tdth-headers">headers</a></code> attribute, if any
</td></tr><tr><td><code><a href="tabular-data.html#the-th-element">th</a></code> element that is a <a href="#row-header">row header</a>
</td><td><code title="attr-aria-role-rowheader">rowheader</code> role, with the <code title="attr-aria-labelledby">aria-labelledby</code> property set to the value of the <code title="attr-tdth-headers"><a href="tabular-data.html#attr-tdth-headers">headers</a></code> attribute, if any
</td></tr><tr><td><code><a href="tabular-data.html#the-tr-element">tr</a></code> element
</td><td><code title="attr-aria-role-row">row</code> role
</td></tr><tr><td>An element that <a href="interactive-elements.html#concept-command" title="concept-command">defines a command</a>, whose <a href="interactive-elements.html#command-facet-type" title="command-facet-type">Type</a> facet is "checkbox", and that is a descendant of a <code><a href="interactive-elements.html#menus">menu</a></code> element whose <code title="attr-menu-type"><a href="interactive-elements.html#attr-menu-type">type</a></code> attribute in the <a href="interactive-elements.html#list-state" title="list state">list</a> state
</td><td><code title="attr-aria-role-menuitemcheckbox">menuitemcheckbox</code> role, with the <code title="attr-aria-checked">aria-checked</code> state set to "true" if the command's <a href="interactive-elements.html#command-facet-checkedstate" title="command-facet-checkedstate">Checked State</a> facet is true, and "false" otherwise
</td></tr><tr><td>An element that <a href="interactive-elements.html#concept-command" title="concept-command">defines a command</a>, whose <a href="interactive-elements.html#command-facet-type" title="command-facet-type">Type</a> facet is "command", and that is a descendant of a <code><a href="interactive-elements.html#menus">menu</a></code> element whose <code title="attr-menu-type"><a href="interactive-elements.html#attr-menu-type">type</a></code> attribute in the <a href="interactive-elements.html#list-state" title="list state">list</a> state
</td><td><code title="attr-aria-role-menuitem">menuitem</code> role
</td></tr><tr><td>An element that <a href="interactive-elements.html#concept-command" title="concept-command">defines a command</a>, whose <a href="interactive-elements.html#command-facet-type" title="command-facet-type">Type</a> facet is "radio", and that is a descendant of a <code><a href="interactive-elements.html#menus">menu</a></code> element whose <code title="attr-menu-type"><a href="interactive-elements.html#attr-menu-type">type</a></code> attribute in the <a href="interactive-elements.html#list-state" title="list state">list</a> state
</td><td><code title="attr-aria-role-menuitemradio">menuitemradio</code> role, with the <code title="attr-aria-checked">aria-checked</code> state set to "true" if the command's <a href="interactive-elements.html#command-facet-checkedstate" title="command-facet-checkedstate">Checked State</a> facet is true, and "false" otherwise
</td></tr><tr><td>Elements that are <a href="forms.html#concept-fe-disabled" title="concept-fe-disabled">disabled</a>
</td><td>The <code title="title-aria-disabled">aria-disabled</code> state set to "true"
</td></tr><tr><td>Elements that are <a href="forms.html#concept-input-required" title="concept-input-required">required</a>
</td><td>The <code title="title-aria-required">aria-required</code> state set to "true"
</td></tr></tbody></table><p>Some <a href="infrastructure.html#html-elements">HTML elements</a> have native semantics that can be
overridden. The following table lists these elements,
along with the restrictions that apply to those elements. Each
language feature (element or attribute) in a cell in the first
column implies, unless otherwise overriden, the ARIA semantic (role,
state, or property) given in the cell in the second column of the
same row, but this semantic may be overridden under the conditions
listed in the cell in the third column of that row.</p><table><thead><tr><th>Language feature
</th><th>Default implied ARIA semantic
</th><th>Restrictions
</th></tr></thead><tbody><tr><td><code><a href="semantics.html#the-article-element">article</a></code> element
</td><td><code title="attr-aria-role-article">article</code> role
</td><td>Role must be either <code title="attr-aria-role-article">article</code>, <code title="attr-aria-role-document">document</code>, <code title="attr-aria-role-application">application</code>, or <code title="attr-aria-role-main">main</code>
</td></tr><tr><td><code><a href="semantics.html#the-aside-element">aside</a></code> element
</td><td><code title="attr-aria-role-note">note</code> role
</td><td>Role must be either <code title="attr-aria-role-note">note</code>, <code title="attr-aria-role-complementary">complementary</code>, or <code title="attr-aria-role-search">search</code>
</td></tr><tr><td><code><a href="semantics.html#the-html-element-0">html</a></code> element
</td><td><code title="attr-aria-role-document">document</code> role
</td><td>Role must be either <code title="attr-aria-role-document">document</code> or <code title="attr-aria-role-application">application</code>
</td></tr><tr><td><code><a href="semantics.html#the-li-element">li</a></code> element whose parent is an <code><a href="semantics.html#the-ol-element">ol</a></code> or <code><a href="semantics.html#the-ul-element">ul</a></code> element
</td><td><code title="attr-aria-role-listitem">listitem</code> role
</td><td>Role must be either <code title="attr-aria-role-listitem">listitem</code> or <code title="attr-aria-role-treeitem">treeitem</code>
</td></tr><tr><td><code><a href="semantics.html#the-ol-element">ol</a></code> element
</td><td><code title="attr-aria-role-list">list</code> role
</td><td>Role must be either <code title="attr-aria-role-list">list</code>, <code title="attr-aria-role-tree">tree</code>, or <code title="attr-aria-role-directory">directory</code>
</td></tr><tr><td><code><a href="forms.html#the-output-element">output</a></code> element
</td><td><code title="attr-aria-role-status">status</code> role
</td><td>No restrictions
</td></tr><tr><td><code><a href="semantics.html#the-section-element">section</a></code> element
</td><td><code title="attr-aria-role-region">region</code> role
</td><td>Role must be either <code title="attr-aria-role-region">region</code>, <code title="attr-aria-role-document">document</code>, <code title="attr-aria-role-application">application</code>, <code title="attr-aria-role-contentinfo">contentinfo</code>, <code title="attr-aria-role-main">main</code>, <code title="attr-aria-role-search">search</code>, <code title="attr-aria-role-alert">alert</code>, <code title="attr-aria-role-dialog">dialog</code>, <code title="attr-aria-role-alertdialog">alertdialog</code>, <code title="attr-aria-role-status">status</code>, or <code title="attr-aria-role-log">log</code>
</td></tr><tr><td><code><a href="tabular-data.html#the-table-element">table</a></code> element
</td><td><code title="attr-aria-role-grid">grid</code> role
</td><td>Role must be either <code title="attr-aria-role-grid">grid</code> or <code title="attr-aria-role-treegrid">treegrid</code>
</td></tr><tr><td><code><a href="semantics.html#the-ul-element">ul</a></code> element
</td><td><code title="attr-aria-role-list">list</code> role
</td><td>Role must be either <code title="attr-aria-role-list">list</code> or <code title="attr-aria-role-tree">tree</code>, or <code title="attr-aria-role-directory">directory</code>
</td></tr></tbody></table><h3 id="apis-in-html-documents"><span class="secno">3.3 </span>APIs in HTML documents</h3><p class="XXX annotation"><b>Status: </b><i>Awaiting implementation feedback</i></p><p>For <a href="dom.html#html-documents">HTML documents</a>, and for <a href="infrastructure.html#html-elements">HTML
elements</a> in <a href="dom.html#html-documents">HTML documents</a>, certain APIs defined
in DOM Core become case-insensitive or case-changing, as sometimes
defined in DOM Core, and as summarized below. <a href="references.html#refsDOMCORE">[DOMCORE]</a>.</p><p>This does not apply to <a href="dom.html#xml-documents">XML documents</a> or to elements
that are not in the <a href="#html-namespace-0">HTML namespace</a> despite being in
<a href="dom.html#html-documents">HTML documents</a>.</p><dl><dt><code title="">Element.tagName</code> and <code title="">Node.nodeName</code></dt>
<dd>
<p>These attributes must<a href="#converted-to-ascii-uppercase">converted to ASCII uppercase</a>, regardless of the case
with which they were created.</p>
</dd>
<dt><code title="">Document.createElement()</code></dt>
<dd>
<p>The canonical form of HTML markup is all-lowercase; thus, this
method will <a href="#converted-to-ascii-lowercase" title="converted to ASCII lowercase">lowercase</a>
the argument before creating the requisite element. .</p>
<p class="note">This doesn't apply to <code title="">Document.createElementNS()</code>. Thus, it is possible,
by passing this last method a tag name in the wrong case, to
create an element that claims to have the tag name of an element
defined in this specification, but doesn't support its interfaces,
because it really has another tag name not accessible from the DOM
APIs.</p>
</dd>
<dt><code title="">Element.setAttribute()</code></dt>
<dt><code title="">Element.setAttributeNode()</code></dt>
<dd>
<p>Attribute names are <a href="#converted-to-ascii-lowercase">converted to ASCII lowercase</a>.</p>
<p class="note">This doesn't apply to <code title="">Document.setAttributeNS()</code> and <code title="">Document.setAttributeNodeNS()</code>.</p>
</dd>
<dt><code title="">Element.getAttribute()</code></dt>
<dt><code title="">Element.getAttributeNode()</code></dt>
<dd>
<p>Attribute names are <a href="#converted-to-ascii-lowercase">converted to ASCII lowercase</a>.</p>
<p class="note">This doesn't apply to <code title="">Document.getAttributeNS()</code> and <code title="">Document.getAttributeNodeNS()</code>.</p>
</dd>
<dt><code title="">Document.getElementsByTagName()</code></dt>
<dt><code title="">Element.getElementsByTagName()</code></dt>
<dd>
<p>HTML elements match by lower-casing the argument before
comparison, elements from other namespaces are treated as in XML
(case-sensitively).</p>
<p class="note">Thus, in an <a href="dom.html#html-documents" title="HTML documents">HTML
document</a> with nodes in multiple namespaces, these methods
will effectively be both case-sensitive and case-insensitive at
the same time.</p>
</dd>
</dl><h3 id="dynamic-markup-insertion"><span class="secno">3.4 </span><dfn>Dynamic markup insertion</dfn></h3><p class="note">APIs for dynamically inserting markup into the
document interact with the parser, and thus their behavior, varies
depending on whether they are used with <a href="dom.html#html-documents">HTML documents</a>
(and the <a href="#html-parser">HTML parser</a>) or XHTML in <a href="dom.html#xml-documents">XML
documents</a> (and the <a href="#xml-parser">XML parser</a>).</p><h4 id="controlling-the-input-stream"><span class="secno">3.4.1 </span>Controlling the input stream</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <dfn id="dom-document-open" title="dom-document-open"><code>open()</code></dfn>
method comes in several variants with different numbers of
arguments.</p><dl class="domintro"><dt><var title="">document</var> = <var title="">document</var> . <code title="dom-document-open"><a href="#dom-document-open">open</a></code>( [ <var title="">type</var> [, <var title="">replace</var> ] ] )</dt>
<dd>
<p>Causes the <code>Document</code> to be replaced in-place, as if
it was a new <code>Document</code> object, but reusing the
previous object, which is then returned.</p>
<p>If the <var title="">type</var> argument is omitted or has the
value "<code><a href="iana-considerations.html#text-html">text/html</a></code>", then the resulting
<code>Document</code> has an HTML parser associated with it, which
can be given data to parse using <code title="dom-document-write"><a href="#dom-document-write">document.write()</a></code>. Otherwise, all
content passed to <code title="dom-document-write"><a href="#dom-document-write">document.write()</a></code> will be parsed
as plain text.</p>
<p>If the <var title="">replace</var> argument is absent or false,
a new entry is added to the session history to represent this
entry, and the previous entries for this <code>Document</code> are
all collapsed into one entry with a new <code>Document</code>
object.</p>
<p>The method has no effect if the <code>Document</code> is still
being parsed.</p>
</dd>
<dt><var title="">window</var> = <var title="">document</var> . <code title="dom-document-open"><a href="#dom-document-open">open</a></code>( <var title="">url</var>, <var title="">name</var>, <var title="">features</var> [, <var title="">replace</var> ] )</dt>
<dd>
<p>Works like the <code title="dom-open"><a href="#dom-open">window.open()</a></code>
method.</p>
</dd>
<dt><var title="">document</var> . <code title="dom-document-close"><a href="#dom-document-close">close</a></code>()</dt>
<dd>
<p>Closes the input stream that was opened by the <code title="dom-document-open"><a href="#dom-document-open">document.open()</a></code> method.</p>
</dd>
</dl><h4 id="document.write"><span class="secno">3.4.2 </span><code title="dom-document-write"><a href="#dom-document-write">document.write()</a></code></h4><dl class="domintro"><dt><var title="">document</var> . <code title="dom-document-write"><a href="#dom-document-write">write</a></code>(<var title="">text</var>...)</dt>
<dd>
<p>Adds the given string(s) to the <code>Document</code>'s input
stream. If necessary, calls the <code title="dom-document-open"><a href="#dom-document-open">open()</a></code> method implicitly
first.</p>
<p>This method throws an <code><a href="infrastructure.html#invalid_access_err">INVALID_ACCESS_ERR</a></code> exception
when invoked on <a href="dom.html#xml-documents">XML documents</a>.</p>
</dd>
</dl><h4 id="document.writeln"><span class="secno">3.4.3 </span><code title="dom-document-writeln"><a href="#dom-document-writeln">document.writeln()</a></code></h4><dl class="domintro"><dt><var title="">document</var> . <code title="dom-document-writeln"><a href="#dom-document-writeln">writeln</a></code>(<var title="">text</var>...)</dt>
<dd>
<p>Adds the given string(s) to the <code>Document</code>'s input
stream, followed by a newline character. If necessary, calls the
<code title="dom-document-open"><a href="#dom-document-open">open()</a></code> method implicitly
first.</p>
<p>This method throws an <code><a href="infrastructure.html#invalid_access_err">INVALID_ACCESS_ERR</a></code> exception
when invoked on <a href="dom.html#xml-documents">XML documents</a>.</p>
</dd>
</dl><h4 id="innerhtml"><span class="secno">3.4.4 </span><code title="dom-innerHTML"><a href="#dom-innerhtml">innerHTML</a></code></h4><p class="XXX annotation"><b>Status: </b><i>Implemented and widely deployed</i></p><p>The <dfn id="dom-innerhtml" title="dom-innerHTML"><code>innerHTML</code></dfn> DOM
attribute represents the markup of the node's contents.</p><dl class="domintro"><dt><var title="">document</var> . <code title="dom-innerHTML"><a href="#dom-innerhtml">innerHTML</a></code> [ = <var title="">value</var> ]</dt>
<dd>
<p>Returns a fragment of HTML or XML that represents the
<code>Document</code>.</p>
<p>Can be set, to replace the <code>Document</code>'s contents
with the result of parsing the given string.</p>
<p>In the case of <a href="dom.html#xml-documents">XML documents</a>, will throw a
<code><a href="infrastructure.html#syntax_err">SYNTAX_ERR</a></code> if the <code>Document</code> cannot be
serialized to XML, or if the given string is not well-formed.</p>
</dd>
<dt><var title="">element</var> . <code title="dom-innerHTML"><a href="#dom-innerhtml">innerHTML</a></code> [ = <var title="">value</var> ]</dt>
<dd>
<p>Returns a fragment of HTML or XML that represents the element's
contents.</p>
<p>Can be set, to replace the contents of the element with nodes
parsed from the given string.</p>
<p>In the case of <a href="dom.html#xml-documents">XML documents</a>, will throw a
<code><a href="infrastructure.html#syntax_err">SYNTAX_ERR</a></code> if the element cannot be serialized to
XML, or if the given string is not well-formed.</p>
</dd>
</dl><h4 id="outerhtml"><span class="secno">3.4.5 </span><code title="dom-outerHTML"><a href="#dom-outerhtml">outerHTML</a></code></h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <dfn id="dom-outerhtml" title="dom-outerHTML"><code>outerHTML</code></dfn> DOM
attribute represents the markup of the element and its contents.</p><dl class="domintro"><dt><var title="">element</var> . <code title="dom-outerHTML"><a href="#dom-outerhtml">outerHTML</a></code> [ = <var title="">value</var> ]</dt>
<dd>
<p>Returns a fragment of HTML or XML that represents the element
and its contents.</p>
<p>Can be set, to replace the element with nodes parsed from the
given string.</p>
<p>In the case of <a href="dom.html#xml-documents">XML documents</a>, will throw a
<code><a href="infrastructure.html#syntax_err">SYNTAX_ERR</a></code> if the element cannot be serialized to
XML, or if the given string is not well-formed.</p>
</dd>
</dl><h4 id="insertadjacenthtml"><span class="secno">3.4.6 </span><code title="dom-insertAdjacentHTML"><a href="#dom-insertadjacenthtml">insertAdjacentHTML()</a></code></h4><dl class="domintro"><dt><var title="">element</var> . <code title="dom-insertAdjacentHTML"><a href="#dom-insertadjacenthtml">insertAdjacentHTML</a></code>(<var title="">position</var>, <var title="">text</var>)</dt>
<dd>
<p>Parsed the given string <var title="">text</var> as HTML or XML
and inserts the resulting nodes into the tree in the position
given by the <var title="">position</var> argument, as
follows:</p>
<dl><dt>"beforebegin"</dt>
<dd>Before the element itself.</dd>
<dt>"afterbegin"</dt>
<dd>Just inside the element, before its first child.</dd>
<dt>"beforeend"</dt>
<dd>Just inside the element, after its last child.</dd>
<dt>"afterend"</dt>
<dd>After the element itself.</dd>
</dl><p>Throws a <code><a href="infrastructure.html#syntax_err">SYNTAX_ERR</a></code> exception the arguments have
invalid values (e.g., in the case of <a href="dom.html#xml-documents">XML documents</a>,
if the given string is not well-formed).</p>
<p>Throws a <code><a href="infrastructure.html#no_modification_allowed_err">NO_MODIFICATION_ALLOWED_ERR</a></code> exception if
the given position isn't possible (e.g. inserting elements after
the root element of a <code>Document</code>).</p>
</dd>
</dl></body></html>
--- NEW FILE: dom.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>3 Semantics, structure, and APIs of HTML documents — HTML 5</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; }
[...1268 lines suppressed...]
<li><code><a href="forms.html#the-textarea-element">textarea</a></code></li>
<li><code><a href="text-level-semantics.html#the-time-element">time</a></code></li>
<li><code><a href="text-level-semantics.html#the-var-element">var</a></code></li>
<li><code><a href="video.html#video">video</a></code></li>
<li><a href="#text-content" title="text content">Text</a></li>
</ul><p>As a general rule, elements whose content model allows any
<a href="#phrasing-content">phrasing content</a> should have either at least one
descendant <a href="infrastructure.html#text-node">text node</a> that is not <a href="#inter-element-whitespace">inter-element
whitespace</a>, or at least one descendant element node that is
<a href="embedded-content-0.html#embedded-content">embedded content</a>. For the purposes of this requirement,
nodes that are descendants of <code><a href="text-level-semantics.html#the-del-element">del</a></code> elements must not be
counted as contributing to the ancestors of the <code><a href="text-level-semantics.html#the-del-element">del</a></code>
element.</p><p class="note">Most elements that are categorized as phrasing
content can only contain elements that are themselves categorized as
phrasing content, not any flow content.</p><p><dfn id="text-content" title="text content">Text</dfn>, in the context of content
models, means <a href="infrastructure.html#text-node" title="text node">text nodes</a>. <a href="#text-content" title="text content">Text</a> is sometimes used as a content
model on its own, but is also <a href="#phrasing-content">phrasing content</a>, and can
be <a href="#inter-element-whitespace">inter-element whitespace</a> (if the <a href="infrastructure.html#text-node" title="text
node">text nodes</a> are empty or contain just <a href="#space-character" title="space
character">space characters</a>).</p></body></html>
--- NEW FILE: acknowledgements.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>Acknowledgements — HTML 5</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 { border-bottom: solid; }
table tbody th:first-child { border-left: solid; }
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; }
.applies th > * { display: block; }
.applies thead code { display: block; }
.applies td { text-align: center; }
.applies .yes { background: yellow; }
.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: #EEFFEE; }
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"]), li > span:not([title=""]):not([class="XXX"]):not([class="impl"]) { 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; }
p.copyright { 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; }
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; }
.tall-and-narrow {
font-size: 0.6em;
column-width: 25em;
column-gap: 1em;
-moz-column-width: 25em;
-moz-column-gap: 1em;
-webkit-column-width: 25em;
-webkit-column-gap: 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; }
</style><link href="data:text/css," rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" rel="alternate stylesheet" title="Highlight implementation requirements"><link href="http://www.w3.org/StyleSheets/TR/W3C-WD" rel="stylesheet" type="text/css"><!-- ZZZ ED vs WD --><link href="references.html" title="References" rel="prev">
<link href="Overview.html#contents" title="Table of contents" rel="index">
</head><body onload="fixBrokenLink(); fixBrokenLink()"><div class="head">
<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>HTML 5</h1>
<h2 class="no-num no-toc" id="a-vocabulary-and-associated-apis-for-html-and-xhtml">A vocabulary and associated APIs for HTML and XHTML</h2>
</div><div>
<a href="references.html">← References</a> –
<a href="Overview.html#contents">Table of contents</a>
</div>
<h2 class="no-num" id="acknowledgements">Acknowledgements</h2><p class="XXX annotation"><b>Status: </b><i>Being edited right now</i></p><!-- ACKS --><p>Thanks to
Aankhen,
Aaron Boodman,
Aaron Leventhal,
Adam Barth,
Adam Roben,
Addison Phillips,
Adele Peterson,
Adrian Bateman,
Adrian Sutton,
Agustín Fernández,
Ajai Tirumali,
Alan Plum,
Alastair Campbell,
Alex Bishop,
Alex Nicolaou,
Alex Rousskov,
Alexander J. Vincent,
Alexey Feldgendler,
Алексей Проскуряков (Alexey Proskuryakov),
Alexis Deveria,
Allan Clements,
Anders Carlsson,
Andreas<!-- mqmq87 -->,
Andrei Popescu,
André E. Veltstra,
Andrew Clover,
Andrew Gove,
Andrew Grieve,
Andrew Oakley,
Andrew Sidwell,
Andrew Smith,
Andrew W. Hagen,
Andy Heydon,
Andy Palay,
Anne van Kesteren,
Anthony Boyd,
Anthony Bryan,
Anthony Hickson,
Anthony Ricaud,
Antti Koivisto,
Aron Spohr,
Arphen Lin,
Aryeh Gregor,
Asbjørn Ulsberg,
Ashley Sheridan,
Aurelien Levy,
Ave Wrigley,
Ben Boyle,
Ben Godfrey,
Ben Leslie,
Ben Meadowcroft,
Ben Millard,
Benjamin Hawkes-Lewis,
Bert Bos,
Bijan Parsia,
Bil Corry,
Bill Mason,
Bill McCoy,
Billy Wong,
Björn Höhrmann,
Blake Frantz,
Boris Zbarsky,
Brad Fults,
Brad Neuberg,
Brady Eidson,
Brendan Eich,
Brenton Simpson,
Brett Wilson,
Brett Zamir,
Brian Campbell,
Brian Korver,
Brian Ryner,
Brian Smith,
Brian Wilson,
Bruce D'Arcus,
Bruce Lawson,
Bruce Miller,
C. Williams,
Cameron McCormack,
Cao Yipeng,
Carlos Perelló Marín,
Chao Cai,
윤석찬 (Channy Yun),
Charl van Niekerk,
Charles Iliya Krempeaux,
Charles McCathieNevile,
Chris Cressman,
Chris Morris,
Chris Pearce,
Christian Biesinger,
Christian Johansen,
Christian Schmidt,
Christopher Aillon,
Chriswa,
Cole Robison,
Colin Fine,
Collin Jackson,
Corprew Reed,
Craig Cockburn,
Csaba Gabor,
Daniel Barclay,
Daniel Bratell,
Daniel Brooks,
Daniel Brumbaugh Keeney,
Daniel Davis,
Daniel Glazman,
Daniel Peng,
Daniel Schattenkirchner,
Daniel Spång,
Daniel Steinberg,
Danny Sullivan,
Darin Adler,
Darin Fisher,
Darxus,
Dave Camp,
Dave Hodder,
Dave Lampton,
Dave Singer,
Dave Townsend<!-- Mossop on moz irc -->,
David Baron,
David Bloom,
David Carlisle,
David E. Cleary,
David Egan Evans,
David Flanagan,
David Gerard,
David Håsäther,
David Hyatt,
David I. Lehn,
David Matja,
David Remahl,
David Smith,
David Woolley,
DeWitt Clinton,
Dean Edridge,
Dean Edwards,
Debi Orton,
Derek Featherstone,
Dimitri Glazkov,
Dimitry Golubovsky,
dolphinling,
Dominique Hazaël-Massieux,
Doron Rosenberg,
Doug Kramer,
Drew Wilson,
Edmund Lai,
Eduard Pascual,
Edward O'Connor,
Edward Welbourne,
Edward Z. Yang,
Eira Monstad,
Elliotte Harold,
Eric Carlson,
Eric Law,
Eric Rescorla,
Erik Arvidsson,
Evan Martin,
Evan Prodromou,
fantasai,
Felix Sasaki,
Francesco Schwarz,
Franck 'Shift' Quélain,
Frank Barchard,
鵜飼文敏 (Fumitoshi Ukai),
Garrett Smith,
Geoffrey Garen,
Geoffrey Sneddon,
George Lund,
Giovanni Campagna,
Greg Botten,
Greg Houston,
Gregg Tavares,
Grey,
Gytis Jakutonis,
Håkon Wium Lie,
Hallvord Reiar Michaelsen Steen,
Hans S. Tømmerhalt,
Henri Sivonen,
Henrik Lied,
Henry Mason,
Hugh Winkler,
Ian Bicking,
Ian Davis,
Ignacio Javier,
Ivan Enderlin,
Ivo Emanuel Gonçalves,
J. King,
Jacques Distler,
James Craig,
James Graham,
James Justin Harrell,
James M Snell,
James Perrett,
James Robinson,
Jan-Klaas Kollhof,
Jason Kersey,
Jason Lustig,
Jason White,
Jasper Bryant-Greene,
Jed Hartman,
Jeff Balogh,
Jeff Cutsinger,
Jeff Schiller,
Jeff Walden,
胡慧鋒 (Jennifer Braithwaite),
Jens Bannmann,
Jens Fendler,
Jens Lindström,
Jens Meiert,
Jeremy Orlow,
Jeroen van der Meer,
Jian Li,
Jim Jewett,
Jim Ley,
Jim Meehan,
Jjgod Jiang,
João Eiras,
Joe Clark,
Joe Gregorio,
Joel Spolsky,
Johan Herland,
John Boyer,
John Bussjaeger,
John Carpenter,
John Fallows,
John Foliot,
John Harding,
John Keiser,
John-Mark Bell,
Johnny Stenback,
Jon Ferraiolo,
Jon Gibbins,
Jon Perlow,
Jonas Sicking,
Jonathan Worent,
Jonny Axelsson,
Jorgen Horstink,
Jorunn Danielsen Newth,
Joseph Kesselman,
Josh Aas,
Josh Levenberg,
Joshua Randall,
Jukka K. Korpela,
Jules Clément-Ripoche,
Julian Reschke,
Justin Sinclair,
Kai Hendry,
Kartikaya Gupta,
Kelly Norton,
Kevin Benson,
Kornél Pál,
Kristof Zelechovski,
黒澤剛志 (KUROSAWA Takeshi),
Kyle Hofmann<!-- Ozob -->,
Léonard Bouchet,
Lachlan Hunt,
Larry Masinter,
Larry Page,
Lars Gunther<!-- Keryx Web -->,
Lars Solberg,
Laura L. Carlson,
Laura Wisewell,
Laurens Holst,
Lee Kowalkowski,
Leif Halvard Silli,
Lenny Domnitser,
Leons Petrazickis,
Logan<!-- on moz irc -->,
Loune,
Luke Kenneth Casson Leighton,
Maciej Stachowiak,
Magnus Kristiansen<!-- Dashiva -->,
Maik Merten,
Malcolm Rowe,
Mark Birbeck,
Mark Miller,
Mark Nottingham,
Mark Rowe<!--bdash-->,
Mark Schenk,
Mark Wilton-Jones,
Martijn Wargers,
Martin Atkins,
Martin Dürst,
Martin Honnen,
Martin Kutschker,
Masataka Yakura,
Mathieu Henri,
Matt Schmidt,
Matt Wright,
Matthew Gregan,
Matthew Mastracci,
Matthew Raymond,
Matthew Thomas,
Mattias Waldau,
Max Romantschuk,
Menno van Slooten,
Micah Dubinko,
Michael 'Ratt' Iannarelli,
Michael A. Nachbaur,
Michael A. Puls II<!--Shadow2531-->,
Michael Carter,
Michael Daskalov,
Michael Enright,
Michael Gratton,
Michael Nordman,
Michael Powers,
Michael(tm) Smith,
Michel Fortin,
Michelangelo De Simone,
Michiel van der Blonk,
Mihai Şucan<!-- from ROBO Design -->,
Mike Brown,
Mike Dierken<!-- S. Mike Dierken -->,
Mike Dixon,
Mike Schinkel,
Mike Shaver,
Mikko Rantalainen,
Mohamed Zergaoui<!-- Innovimax SARL -->,
Ms2ger,
Neil Deakin,
Neil Rashbrook,
Neil Soiffer,
Nicholas Shanks,
Nicolas Gallagher,
Noah Mendelsohn,
Noah Slater,
Ojan Vafai,
Olaf Hoffmann,
Olav Junker Kjær,
Oldřich Vetešník,
Oliver Hunt,
Oliver Rigby,
Olivier Gendrin,
Olli Pettay,
Patrick H. Lauke,
Paul Norman,
Peter Karlsson,
Peter Kasting,
Peter Stark,
Peter-Paul Koch,
Philip Jägenstedt,
Philip Taylor,
Philip TAYLOR<!-- a different one -->,
Prateek Rungta,
Rachid Finge,
Rajas Moonka,
Ralf Stoltze,
Ralph Giles,
Raphael Champeimont,
Remco,
Remy Sharp,
Rene Saarsoo,
Rene Stach,
Rich Doughty,
Richard Ishida,
Rigo Wenning,
Rikkert Koppes,
Rimantas Liubertas,
Robert Blaut,
Robert Collins,
Robert O'Callahan,
Robert Sayre,
Robin Berjon,
Roland Steiner,
Roman Ivanov,
Ryan King,
S. Mike Dierken,
Sam Dutton,
Sam Kuper,
Sam Ruby,
Sam Weinig,
Sander van Lambalgen,
Sarven Capadisli,
Scott Hess,
Sean Fraser,
Sean Hogan,
Sean Knapp,
Sebastian Markbåge,
Sebastian Schnitzenbaumer,
Seth Call,
Shanti Rao,
Shaun Inman,
Shiki Okasaka,
Sierk Bornemann,
Sigbjørn Vik,
Silvia Pfeiffer,
Simon Montagu,
Simon Pieters,
Simon Spiegel,
skeww, <!-- on reddit -->
Stefan Haustein,
Stefan Santesson,
Steffen Meschkat,
Stephen Ma,
Steve Faulkner,
Steve Runyon,
Steven Bennett,
Steven Garrity,
Stewart Brodie,
Stuart Ballard,
Stuart Parmenter,
Subramanian Peruvemba,
Sunava Dutta,
Susan Borgrink,
Susan <!--G.--> Lesch,
Sylvain Pasche,
<span lang="tr" title="">Tantek Çelik</span>,
田村健人 (TAMURA Kent),
Ted Mielczarek,
Terrence Wood,
Thomas Broyer,
Thomas O'Connor,
Tim Altman,
Tim Johansson,
Toby Inkster,
Todd Moody,
Tom Pike,
Tommy Thorsen,
Travis Leithead,
Tyler Close,
Vladimir Vukićević,
voracity,
Wakaba,
Wayne Pollock,
Wellington Fernando de Macedo,
Will Levine,
William Swanson,
Wladimir Palant,
Wojciech Mach,
Wolfram Kriesing,
Yi-An Huang,
Yngve Nysaeter Pettersen,
Zhenbin Xu,
and
Øistein E. Andersen,
for their useful comments, both large and small, that have led to
changes to this specification over the years.</p><p>Thanks also to everyone who has ever posted about HTML 5 to
their blogs, public mailing lists, or forums, including the <a href="http://lists.w3.org/Archives/Public/public-html/">W3C
public-html list</a> and the <a href="http://www.whatwg.org/mailing-list">various WHATWG lists</a>.
</p><p>Special thanks to Richard Williamson for creating the first
implementation of <code><a href="the-canvas-element.html#the-canvas-element">canvas</a></code> in Safari, from which the
canvas feature was designed.</p><p>Special thanks also to the Microsoft employees who first
implemented the event-based drag-and-drop mechanism, <code title="attr-contenteditable"><a href="editing.html#attr-contenteditable">contenteditable</a></code>, and other
features first widely deployed by the Windows Internet Explorer
browser.</p><p>Thanks to the many sources that provided inspiration for the
examples used in the specification.</p><p>Thanks also to the Microsoft blogging community for some ideas,
to the attendees of the W3C Workshop on Web Applications and
Compound Documents for inspiration, to the #mrt crew, the #mrt.no
crew, and the #whatwg crew, and to Pillar and Hedral for their ideas
and support.</p><!-- Hopefully Kam won't notice he's covered by these
acknowledgements three times! --><!--
TODO (or delay):
XXX * we should fix The Great Key Problem
XXX * library of resources:
var library = new ZipFile("data.zip");
library.onload = function() {
var sound1 = library.getAudio("sound1.wav"); // returns an Audio object
var image1 = library.getImage("image1.png"); // returns an HTMLImageElement
var doc1 = library.getXMLDocument("doc1.xml"); // returns a Document
var doc2 = library.getHTMLDocument("doc1.html"); // returns an HTMLDocument
}
or:
var library = new ResourceLoader("data.zip");
library.add("moredata.zip");
library.onload = function() { ... }
library.onloading = function() {
reportLoadProgress(library.progress); // 0.0 .. 1.0
}
or:
var library = new AudioZip("sounds.zip");
library.onload = function() {
var sound1 = library["sound1.wav"];
sound.play();
}
XXX * ability for a web app to save a file to the local disk:
var file = window.openFile(); // throws up UI
file.read();
var file = window.saveAsFile(); // throws up UI
file.write();
...or something? (<input type=file>?)
XXX * http://lxr.mozilla.org/mozilla/source/dom/public/idl/html/nsIDOMNSHTMLDocument.idl
XXX * define how to handle APNGs that have out-of-order aDATs and other
errors in image formats, since pav and vlad refuse to define it for APNG:
<Hixie> vlad: you should define what the UA should do with out-of-order aDATs
<pav> its an error
<pav> pretty sure we say that somewhere
<Hixie> yes i know it's an error
<Hixie> but that doesn't say what the UA should do
<pav> error == image is invalid
<vlad> yep
<vlad> either broken image icon
<vlad> or display first frame (fall back to normal PNG)
<vlad> up to the UA
<Hixie> right
<Hixie> you should say which one
<pav> its up to the UA
<Hixie> why?
<vlad> "SHOULD display the first frame, but MAY display broken image icon if that's not convenient", in rfc parlance
<vlad> because it's not useful to specify that, IMO
<Hixie> up to the UA means one UA will implement something, it'll become a popular UA, then all the others will have to copy it.
<vlad> how a UA wants to handle image errors is up to the UA
<pav> we're designing an image format, not the html image tag
<pav> the html spec should say what to do with it
XXX * <title site="" publisher="" author="">Page Title</title> ?
XXX * [onclick] should make element focusable; enter should send onclick ?
XXX * should have some text talking about the fact that it's ok if your
page passes through a period of non-conformance while script is
running, but that in between scripts it should be compliant.
XXX * mousedown's default action is focus, so canceling mousedown stops
focus transference. http://www.mozilla.org/editor/midasdemo/
XXX * <select><option><hr> support?
XXX * need explanation of when to use undo/redo, and when to use
back/forward
XXX * need to become consistent about whether or not to quote keyword
("<code title="">foo</code>" vs <code>foo</code>)
XXX * need to properly xref events throughout
XXX * onclick="" only fires if it is a MouseEvent ?
XXX * hsivonen makes the following suggestions:
> To make document conformance a more useful concept for the purpose of catching
> author errors, I suggest that the following attributes be made required:
> href and rel on link
> href on base
> name and content on meta (other than the encoding decl)
> src on img
> code, height and width on applet
> name and value on param
XXX * DOM0 quirks that Mozilla knows about:
http://lxr.mozilla.org/seamonkey/source/dom/src/base/nsDOMClassInfo.cpp
XXX * make the spec consistent about whether the word "algorithm" is part of
an algorithm's name or not ("</dfn> algorithm", "</span> algorithm")
XXX * make a consistent decision of which of the following formats to use:
U+1234 FOO BAR character ("foo")
U+1234 FOO BAR character ('foo')
U+1234 FOO BAR character (foo)
U+1234 FOO BAR ("foo") character
U+1234 FOO BAR ('foo') character
U+1234 FOO BAR (foo) character
U+1234 FOO BAR character ("<code title="">foo</code>")
U+1234 FOO BAR character ('<code title="">foo</code>')
U+1234 FOO BAR character (<code title="">foo</code>)
U+1234 FOO BAR ("<code title="">foo</code>") character
U+1234 FOO BAR ('<code title="">foo</code>') character
U+1234 FOO BAR (<code title="">foo</code>) character
...and make these match:
0x12 (ASCII FOO)
0x12 (ASCII "foo")
0x12 (ASCII 'foo')
0x12 ("foo")
0x12 ('foo')
0x12 (ASCII "<code title="">foo</code>")
0x12 (ASCII '<code title="">foo</code>')
0x12 ("<code title="">foo</code>")
0x12 ('<code title="">foo</code>')
XXX * check case of hex characters in the ASCII cases.
XXX * trim function in JS for strings to remove spaces
XXX * date checking functions in JS (.isValidDate?)
XXX * a fairly common situation for web authors is to have two lists, where
the contents of the second depends on the value of the first. Is there
any way we could extend the current model to include this functionality?
(e.g. bugzilla product/component ui)
XXX * quick-searchable select
XXX * fallback that will only appear in non-webforms clients (e.g. for
formats for date fields)
XXX * include/exclude selectors (two multi-select columns with arrows to
move selected items) and that sort of thing.
http://slashdot.org/comments.pl?sid=110240&cid=9357022
XXX * Oh, and forms need a standardized Help widget/icon. I know I can
turn my cursor into a question mark, but I'm looking for something
simple and pervasive. Maybe you can wrap fields in a help tag, just
as you do for fieldsets. And in that help tag, attributes are
available that allow for a nice, formatted, clean, full help text
popup/area/thing.
http://slashdot.org/comments.pl?sid=110240&cid=9359006
XXX * Validating only part of a form. - Anja Lehmann
XXX * Reminder to add a way to expose access keys in buttons, i.e.
Sub&mit where & signifies the m is the access key to use. Possibly
automatic? <input accesskey="m" value="Submit"> browser would be
smart enough to underline the first instance of the access key if
it exists (case insensitive)? - kerz
[or deprecate the lot (->web apps)]
XXX * option.text should do the same as option.textContent
XXX * need an attribute that says "the children of this element are in
their own tabbing universe, tabindex should be relative to each
other, not to the document"
-> web apps?
XXX * make select widgets have multiple columns
or ->web apps with list view
XXX * required as a group (one of the following must be available):
+ i propose something like the following:
<input type="text" group="contact" name="voicephone"> Voice phone
<input type="text" group="contact" name="fax"> Fax
<input type="text" group="contact" name="mobile"> Mobile phone
<input type="text" group="contact" name="email"> E-mail
if the user fills out none of the form fields in the "contact"
group, an error message is shown and the form is not submitted.
- Peter-Paul Koch
XXX * use the sample widgets:
<li><img alt="A text field with editable sections for each
value, with a button to pop up a dialog showing a calendar or
clock." src="sample-datetime-ui-2"></li>
<li><img alt="A calendar grid with a clock in the upper right
hand corner." src="sample-datetime-ui-3"></li>
XXX * formatting of number fields, text fields, etc, so that when the
field is not focused, the value is displayed differently. Seems
like this would also be useful e.g. for <output> or something so
you can display localised dates, etc.
XXX * password and confirm password: can we have a way to do client-side
validation of this?
XXX * <input type="search">
http://weblogs.mozillazine.org/hyatt/archives/2004_07.html#005890
XXX * would be nice to say how to handle duplicate IDs once and for all
instead of spreading it all over the spec.
XXX * being able to select date range (from day x to day y)
XXX * ways of visualizing a linefeed in a <textarea> so it looks different
from wrapping text
XXX * all login systems have
1. enter username and password
2. create new account
3. lost password
some way of integrating this into one system, since it's so common
XXX * way of identifying different sorts of mailadresses
a) mailing-list
b) person
c) department in a company ("support", "marketing" and such)
d) general mail (like "info", "mail", "contact" and such)
e) other sorts of groupings
(or ->web apps; this is talking about in mailto: links, I think)
XXX * hotswapping login identities like in windows xp
you are logged in on operamail.com, and you want to check the mail
of another user. somehow, combined with the wand or whatever,
the browser will remember the login page, and it can re-submit it
without having to load the initial page (saving time)
XXX * provide different measuring systems, like having the html indicate
fluid in both fluid ounces and liters, and the browser can display
one or the other based on regional settings in the browser or ui,
display conversions in a tooltip, or let the user decide which
format to display.
XXX * indicate "x days ago" or "y days into the future" rather than date
XXX * input control for anniversaries
XXX * only submit fields that have changed, or a way to include in the
submission a list of which form controls were changed from their
default value
XXX * have a way of marking the first option of a <select> as the default
but have it not satisfy a new required="" attribute on <select> so
that you can have selects that require a valid value.
XXX * Dave Raggett inadvertently suggested there should be a way to submit
canvas elements.
XXX * type="time" value="now"
XXX * should "mixed fractional number" be used instead of "fractional"?
XXX * terse BNF to define the allowed values of the various attributes
instead of, or in addition to, the prose. [or not, it wouldn't be terse]
XXX * add something to type="number" to support basic currency and unit
formatting of input
XXX * <fieldset enabled-if-checked="myCheckboxOrRadioButton">
...to allow sections to only be enabled if a radio button makes it
relevant, for instance.
XXX * Yan Morin proposed a multi-column dropdown <select> or <datalist>:
_________________
|_New_York______|V|_________________ <- input with a table link and a down arrow
|_City__________|_State_|_Country_|_| <- header of the table
| Montreal | QC | Canada |A| <- top arrow of the scroll
|>New York <| NY | US | | <- selected row
| Washington | DC | US |X| <- cursor scroll
| San Francisco | CA | US | |
|_Toronto_______|__ON___|_Canada__|V| <- bottom arrow of the scroll
XXX * add for="" attribute to <input type="password"> so that you can
link usernames and passwords. (Jonas Sicking)
XXX * value for unchecked checkbox?
XXX * A way to specify the default button - Michael Gratton
XXX * <fieldset readonly>?
XXX * action="" should be defined as not being relative to base URI
see https://bugzilla.mozilla.org/show_bug.cgi?id=297761
XXX * rephrase things so that an enumerated attribute puts the _element_ into
various states, instead of the attribute
XXX * dolphinling suggests having a way to mark certain parts of a
form as being dependent on another (mutually exclusive parts of
a form)
XXX * make the spec more consistent about its use of "hexadecimal"
and "base-sixteen", the order that 0-9 A-Z a-z is mentioned,
and the detail to which the spec explains how to interpret a
string as a hexadecimal number.
XXX * expose the form data set, either as an object (on which one can
invoke the JSON serialiser), or in the form of a method on
HTMLFormElement that returns the form data set serialised
according to a particular encoding (defaulting to the form's
enctype="" one, probably). This would allow forms to be used
with XHR-like systems without having to manually construct the
form data set the way that is done today.
XXX * become more consistent about what markup we use to mark up
productions (nothing? <i>? <code>?)
XXX * should check all cases of 'active document' and change the
relevant ones to 'fully active document'.
XXX * use <code>Document</code> consistently instead of 'document'.
XXX * s/raise/throw/g
XXX * be clearer about arrays/lists/collections being zero-based
despite using the term "/index/th".
--></body></html>
--- NEW FILE: the-canvas-element.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>4.8.11 The canvas element — HTML 5</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; }
[...1406 lines suppressed...]
resolution that differs from the CSS pixel resolution. (On screens,
CSS pixels have a resolution of 96ppi, but in general the CSS pixel
resolution depends on the reading distance.) If both attributes are
specified, then one of the following statements must be true:</p><ul><li><span title=""><var title="">specified width</var> - 0.5 ≤
<var title="">specified height</var> * <var title="">target ratio</var> ≤
<var title="">specified width</var> + 0.5</span></li>
<li><span title=""><var title="">specified height</var> - 0.5 ≤
<var title="">specified width</var> / <var title="">target ratio</var> ≤
<var title="">specified height</var> + 0.5</span></li>
<li><span title=""><var title="">specified height</var> = <var title="">specified width</var> = 0</span></li>
</ul><p>The <var title="">target ratio</var> is the ratio of the
intrinsic width to the intrinsic height in the resource. The <var title="">specified width</var> and <var title="">specified
height</var> are the values of the <code title="attr-dim-width"><a href="#attr-dim-width">width</a></code> and <code title="attr-dim-height"><a href="#attr-dim-height">height</a></code> attributes respectively.</p><p>The two attributes must be omitted if the resource in question
does not have both an intrinsic width and an intrinsic height.</p><p>If the two attributes are both zero, it indicates that the
element is not intended for the user (e.g. it might be a part of a
service to count page views).</p><p class="note">The dimension attributes are not intended to be used
to stretch the image.</p></body></html>
--- NEW FILE: iana-considerations.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>IANA considerations — HTML 5</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 { border-bottom: solid; }
table tbody th:first-child { border-left: solid; }
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; }
.applies th > * { display: block; }
.applies thead code { display: block; }
.applies td { text-align: center; }
.applies .yes { background: yellow; }
.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: #EEFFEE; }
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"]), li > span:not([title=""]):not([class="XXX"]):not([class="impl"]) { 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; }
p.copyright { 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; }
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; }
.tall-and-narrow {
font-size: 0.6em;
column-width: 25em;
column-gap: 1em;
-moz-column-width: 25em;
-moz-column-gap: 1em;
-webkit-column-width: 25em;
-webkit-column-gap: 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; }
</style><link href="data:text/css," rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" rel="alternate stylesheet" title="Highlight implementation requirements"><link href="http://www.w3.org/StyleSheets/TR/W3C-WD" rel="stylesheet" type="text/css"><!-- ZZZ ED vs WD --><link href="no.html" title="12 Things that you can't do with this specification because they are better handled using other technologies that are further described herein" rel="prev">
<link href="Overview.html#contents" title="Table of contents" rel="index">
<link href="index.html" title="Index" rel="next">
</head><body onload="fixBrokenLink(); fixBrokenLink()"><div class="head">
<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>HTML 5</h1>
<h2 class="no-num no-toc" id="a-vocabulary-and-associated-apis-for-html-and-xhtml">A vocabulary and associated APIs for HTML and XHTML</h2>
</div><div>
<a href="no.html">← 12 Things that you can't do with this specification because they are better handled using other technologies that are further described herein</a> –
<a href="Overview.html#contents">Table of contents</a> –
<a href="index.html">Index →</a>
</div>
<h2 class="no-num" id="iana-considerations">IANA considerations</h2><p class="XXX annotation"><b>Status: </b><i>First draft</i></p><!-- http://www.w3.org/2002/06/registering-mediatype.html --><p>This registration is for community review and will be submitted
to the IESG for review, approval, and registration with IANA.</p><h3 id="text-html"><span class="secno">12.1 </span><dfn><code>text/html</code></dfn></h3><!--
To: ietf-types@iana.org
Subject: Registration of media type text/html
--><!--
Obsoletes:
http://www.ietf.org/rfc/rfc2854
--><dl><dt>Type name:</dt>
<dd>text</dd>
<dt>Subtype name:</dt>
<dd>html</dd>
<dt>Required parameters:</dt>
<dd>No required parameters</dd>
<dt>Optional parameters:</dt>
<dd>
<dl><dt><code title="">charset</code></dt>
<dd>
<p>The <code title="">charset</code> parameter may be provided
to definitively specify the <a href="#document-s-character-encoding">document's character
encoding</a>, overriding any <a href="semantics.html#character-encoding-declaration" title="character encoding
declaration">character encoding declarations</a> in the
document. The parameter's value must be the name of the
character encoding used to serialize the file, must be a valid
character encoding name, and must be the preferred name for that
encoding. <a href="references.html#refsIANACHARSET">[IANACHARSET]</a></p>
</dd>
</dl></dd>
<dt>Encoding considerations:</dt>
<dd>See the section on <a href="semantics.html#character-encoding-declaration" title="character encoding
declaration">character encoding declarations</a>.</dd>
<dt>Security considerations:</dt>
<dd>
<p>Entire novels have been written about the security
considerations that apply to HTML documents. Many are listed in
this document, to which the reader is referred for more
details. Some general concerns bear mentioning here, however:</p>
<p>HTML is scripted language, and has a large number of APIs (some
of which are described in this document). Script can expose the
user to potential risks of information leakage, credential
leakage, cross-site scripting attacks, cross-site request
forgeries, and a host of other problems. While the designs in this
specification are intended to be safe if implemented correctly, a
full implementation is a massive undertaking and, as with any
software, user agents are likely to have security bugs.</p>
<p>Even without scripting, there are specific features in HTML
which, for historical reasons, are required for broad
compatibility with legacy content but that expose the user to
unfortunate security problems. In particular, the <code><a href="text-level-semantics.html#the-img-element">img</a></code>
element can be used in conjunction with some other features as a
way to effect a port scan from the user's location on the
Internet. This can expose local network topologies that the
attacker would otherwise not be able to determine.</p>
</dd>
<dt>Interoperability considerations:</dt>
<dd>
Rules for processing both conforming and non-conforming content
are defined in this specification.
</dd>
<dt>Published specification:</dt>
<dd>
This document is the relevant specification. Labeling a resource
with the <code><a href="#text-html">text/html</a></code> type asserts that the resource is
an <a href="dom.html#html-documents" title="HTML documents">HTML document</a> using
<a href="syntax.html#syntax">the HTML syntax</a>.
</dd>
<dt>Applications that use this media type:</dt>
<dd>
Web browsers, tools for processing Web content, HTML authoring
tools, search engines, validators.
</dd>
<dt>Additional information:</dt>
<dd>
<dl><dt>Magic number(s):</dt>
<dd>No sequence of bytes can uniquely identify an HTML
document. More information on detecting HTML documents is
available in the Content-Type Processing Model specification. <a href="references.html#refsMIMESNIFF">[MIMESNIFF]</a></dd>
<dt>File extension(s):</dt>
<dd>"<code title="">html</code>" and "<code title="">htm</code>"
are commonly, but certainly not exclusively, used as the
extension for HTML documents.</dd>
<dt>Macintosh file type code(s):</dt>
<dd><code title="">TEXT</code></dd>
</dl></dd>
<dt>Person & email address to contact for further information:</dt>
<dd>Ian Hickson <ian@hixie.ch></dd>
<dt>Intended usage:</dt>
<dd>Common</dd>
<dt>Restrictions on usage:</dt>
<dd>No restrictions apply.</dd>
<dt>Author:</dt>
<dd>Ian Hickson <ian@hixie.ch></dd>
<dt>Change controller:</dt>
<dd>W3C and WHATWG</dd>
</dl><p>Fragment identifiers used with <code><a href="#text-html">text/html</a></code> resources
refer to <a href="#the-indicated-part-of-the-document">the indicated part of the document</a>.</p><h3 id="application-xhtml-xml"><span class="secno">12.2 </span><dfn><code>application/xhtml+xml</code></dfn></h3><!--
To: ietf-types@iana.org
Subject: Registration of media type application/xhtml+xml
--><!--
Obsoletes:
http://www.ietf.org/rfc/rfc3236.txt
--><dl><dt>Type name:</dt>
<dd>application</dd>
<dt>Subtype name:</dt>
<dd>xhtml+xml</dd>
<dt>Required parameters:</dt>
<dd>Same as for <code>application/xml</code> <a href="references.html#refsRFC3023">[RFC3023]</a></dd>
<dt>Optional parameters:</dt>
<dd>Same as for <code>application/xml</code> <a href="references.html#refsRFC3023">[RFC3023]</a></dd>
<dt>Encoding considerations:</dt>
<dd>Same as for <code>application/xml</code> <a href="references.html#refsRFC3023">[RFC3023]</a></dd>
<dt>Security considerations:</dt>
<dd>Same as for <code>application/xml</code> <a href="references.html#refsRFC3023">[RFC3023]</a></dd>
<dt>Interoperability considerations:</dt>
<dd>Same as for <code>application/xml</code> <a href="references.html#refsRFC3023">[RFC3023]</a></dd>
<dt>Published specification:</dt>
<dd>
Labeling a resource with the <code><a href="#application-xhtml-xml">application/xhtml+xml</a></code>
type asserts that the resource is an XML document that likely has
a root element from the <a href="#html-namespace-0">HTML namespace</a>. As such, the
relevant specifications are the XML specification, the Namespaces
in XML specification, and this specification. <a href="references.html#refsXML">[XML]</a> <a href="references.html#refsXMLNS">[XMLNS]</a>
</dd>
<dt>Applications that use this media type:</dt>
<dd>Same as for <code>application/xml</code> <a href="references.html#refsRFC3023">[RFC3023]</a></dd>
<dt>Additional information:</dt>
<dd>
<dl><dt>Magic number(s):</dt>
<dd>Same as for <code>application/xml</code> <a href="references.html#refsRFC3023">[RFC3023]</a></dd>
<dt>File extension(s):</dt>
<dd>"<code title="">xhtml</code>" and "<code title="">xht</code>"
are sometimes used as extensions for XML resources that have a
root element from the <a href="#html-namespace-0">HTML namespace</a>.</dd>
<dt>Macintosh file type code(s):</dt>
<dd><code title="">TEXT</code></dd>
</dl></dd>
<dt>Person & email address to contact for further information:</dt>
<dd>Ian Hickson <ian@hixie.ch></dd>
<dt>Intended usage:</dt>
<dd>Common</dd>
<dt>Restrictions on usage:</dt>
<dd>No restrictions apply.</dd>
<dt>Author:</dt>
<dd>Ian Hickson <ian@hixie.ch></dd>
<dt>Change controller:</dt>
<dd>W3C and WHATWG</dd>
</dl><p>Fragment identifiers used with <code><a href="#application-xhtml-xml">application/xhtml+xml</a></code>
resources have the same semantics as with any <a href="infrastructure.html#xml-mime-type">XML MIME
type</a>. <a href="references.html#refsRFC3023">[RFC3023]</a></p><h3 id="text-cache-manifest"><span class="secno">12.3 </span><dfn><code>text/cache-manifest</code></dfn></h3><!--
To: ietf-types@iana.org
Subject: Registration of media type text/cache-manifest
--><dl><dt>Type name:</dt>
<dd>text</dd>
<dt>Subtype name:</dt>
<dd>cache-manifest</dd>
<dt>Required parameters:</dt>
<dd>No parameters</dd>
<dt>Optional parameters:</dt>
<dd>No parameters</dd>
<dt>Encoding considerations:</dt>
<dd>Always UTF-8.</dd>
<dt>Security considerations:</dt>
<dd>
<p>Cache manifests themselves pose no immediate risk unless
sensitive information is included within the
manifest. Implementations, however, are required to follow
specific rules when populating a cache based on a cache manifest,
to ensure that certain origin-based restrictions are
honored. Failure to correctly implement these rules can result in
information leakage, cross-site scripting attacks, and the
like.</p>
</dd>
<dt>Interoperability considerations:</dt>
<dd>
Rules for processing both conforming and non-conforming content
are defined in this specification.
</dd>
<dt>Published specification:</dt>
<dd>
This document is the relevant specification.
</dd>
<dt>Applications that use this media type:</dt>
<dd>
Web browsers.
</dd>
<dt>Additional information:</dt>
<dd>
<dl><dt>Magic number(s):</dt>
<dd>Cache manifests begin with the string "<code title="">CACHE
MANIFEST</code>", followed by either a U+0020 SPACE character, a
U+0009 CHARACTER TABULATION (tab) character, a U+000A LINE FEED
(LF) character, or a U+000D CARRIAGE RETURN (CR) character.</dd>
<dt>File extension(s):</dt>
<dd>"<code title="">manifest</code>"</dd>
<dt>Macintosh file type code(s):</dt>
<dd>No specific Macintosh file type codes are recommended for this type.</dd>
</dl></dd>
<dt>Person & email address to contact for further information:</dt>
<dd>Ian Hickson <ian@hixie.ch></dd>
<dt>Intended usage:</dt>
<dd>Common</dd>
<dt>Restrictions on usage:</dt>
<dd>No restrictions apply.</dd>
<dt>Author:</dt>
<dd>Ian Hickson <ian@hixie.ch></dd>
<dt>Change controller:</dt>
<dd>W3C and WHATWG</dd>
</dl><p>Fragment identifiers have no meaning with
<code><a href="#text-cache-manifest">text/cache-manifest</a></code> resources.</p><h3 id="text-ping"><span class="secno">12.4 </span><dfn><code>text/ping</code></dfn></h3><!--
To: ietf-types@iana.org
Subject: Registration of media type text/ping
--><dl><dt>Type name:</dt>
<dd>text</dd>
<dt>Subtype name:</dt>
<dd>ping</dd>
<dt>Required parameters:</dt>
<dd>No parameters</dd>
<dt>Optional parameters:</dt>
<dd>No parameters</dd>
<dt>Encoding considerations:</dt>
<dd>Not applicable.</dd>
<dt>Security considerations:</dt>
<dd>
<p>If used exclusively in the fashion described in the context of
<a href="#hyperlink-auditing">hyperlink auditing</a>, this type introduces no new
security concerns.</p>
</dd>
<dt>Interoperability considerations:</dt>
<dd>
Rules applicable to this type are defined in this specification.
</dd>
<dt>Published specification:</dt>
<dd>
This document is the relevant specification.
</dd>
<dt>Applications that use this media type:</dt>
<dd>
Web browsers.
</dd>
<dt>Additional information:</dt>
<dd>
<dl><dt>Magic number(s):</dt>
<dd><code><a href="#text-ping">text/ping</a></code> resources always consist of the four
bytes 0x50 0x49 0x4E 0x47 (ASCII "PING").</dd>
<dt>File extension(s):</dt>
<dd>No specific file extension is recommended for this type.</dd>
<dt>Macintosh file type code(s):</dt>
<dd>No specific Macintosh file type codes are recommended for this type.</dd>
</dl></dd>
<dt>Person & email address to contact for further information:</dt>
<dd>Ian Hickson <ian@hixie.ch></dd>
<dt>Intended usage:</dt>
<dd>Common</dd>
<dt>Restrictions on usage:</dt>
<dd>Only intended for use with HTTP POST requests generated as part
of a Web browser's processing of the <code title="attr-hyperlink-ping"><a href="history.html#ping">ping</a></code> attribute.</dd>
<dt>Author:</dt>
<dd>Ian Hickson <ian@hixie.ch></dd>
<dt>Change controller:</dt>
<dd>W3C and WHATWG</dd>
</dl><p>Fragment identifiers have no meaning with
<code><a href="#text-ping">text/ping</a></code> resources.</p><h3 id="application-microdata-json"><span class="secno">12.5 </span><dfn><code>application/microdata+json</code></dfn></h3><!--
To: ietf-types@iana.org
Subject: Registration of media type application/microdata+json
--><dl><dt>Type name:</dt>
<dd>application</dd>
<dt>Subtype name:</dt>
<dd>microdata+json</dd>
<dt>Required parameters:</dt>
<dd>Same as for <code>application/json</code> <a href="references.html#refsJSON">[JSON]</a></dd>
<dt>Optional parameters:</dt>
<dd>Same as for <code>application/json</code> <a href="references.html#refsJSON">[JSON]</a></dd>
<dt>Encoding considerations:</dt>
<dd>Always UTF-8.</dd>
<dt>Security considerations:</dt>
<dd>Same as for <code>application/json</code> <a href="references.html#refsJSON">[JSON]</a></dd>
<dt>Interoperability considerations:</dt>
<dd>Same as for <code>application/json</code> <a href="references.html#refsJSON">[JSON]</a></dd>
<dt>Published specification:</dt>
<dd>
Labeling a resource with the
<code><a href="#application-microdata-json">application/microdata+json</a></code> type asserts that the
resource is a JSON text that consists of an object with a single
entry called "<code title="">items</code>" consisting of an array
of entries, each of which consists of an object with two entries,
one called "<code title="">type</code>" whose value is an array of
strings, and one called "<code title="">properties</code>" whose
value is an object whose entries each have a value consisting of
an array of either objects or strings, the objects being of the
same form as the objects in the aforementioned "<code title="">items</code>" entry. As such, the relevant specifications
are the JSON specification and this specification. <a href="references.html#refsJSON">[JSON]</a>
</dd>
<dt>Applications that use this media type:</dt>
<dd>Same as for <code>application/json</code> <a href="references.html#refsJSON">[JSON]</a></dd>
<dt>Additional information:</dt>
<dd>
<dl><dt>Magic number(s):</dt>
<dd>Same as for <code>application/json</code> <a href="references.html#refsJSON">[JSON]</a></dd>
<dt>File extension(s):</dt>
<dd>Same as for <code>application/json</code> <a href="references.html#refsJSON">[JSON]</a></dd>
<dt>Macintosh file type code(s):</dt>
<dd>Same as for <code>application/json</code> <a href="references.html#refsJSON">[JSON]</a></dd>
</dl></dd>
<dt>Person & email address to contact for further information:</dt>
<dd>Ian Hickson <ian@hixie.ch></dd>
<dt>Intended usage:</dt>
<dd>Common</dd>
<dt>Restrictions on usage:</dt>
<dd>No restrictions apply.</dd>
<dt>Author:</dt>
<dd>Ian Hickson <ian@hixie.ch></dd>
<dt>Change controller:</dt>
<dd>W3C and WHATWG</dd>
</dl><p>Fragment identifiers used with
<code><a href="#application-microdata-json">application/microdata+json</a></code> resources have the same
semantics as when used with <code>application/json</code>. <a href="references.html#refsJSON">[JSON]</a></p></body></html>
--- NEW FILE: forms.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>4.10 Forms — HTML 5</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; }
[...3021 lines suppressed...]
<input type=text name=t>
<input type=search name=q>
<input type=submit>
</form></pre><p>If the user types in "cats" in the first field and "fur" in the
second, and then hits the submit button, then the user agent will
load <code title="">.../find.cgi?t=cats&q=fur</code>.</p><p>On the other hand, consider this form:</p><pre><form action="/find.cgi" method=post enctype="multipart/form-data">
<input type=text name=t>
<input type=search name=q>
<input type=submit>
</form></pre><p>Given the same user input, the result on submission is quite
different: the user agent instead does an HTTP POST to the given
URL, with as the entity body something like the following text:</p><pre>------kYFrd4jNJEgCervE
Content-Disposition: form-data; name="t"
cats
------kYFrd4jNJEgCervE
Content-Disposition: form-data; name="q"
fur
------kYFrd4jNJEgCervE--</pre></body></html>
--- NEW FILE: interactive-elements.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>4.11 Interactive elements — HTML 5</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; }
[...3206 lines suppressed...]
on the two paragraph elements separately:</p>
<pre><article lang="en-US">
<h1>My use of language and my cats</h1>
<p>My cat's behavior hasn't changed much since her absence, except
that she plays her new physique to the neighbors regularly, in an
attempt to get pets.</p>
<div lang="en-GB">
<p>My other cat, coloured black and white, is a sweetie. He followed
us to the pool today, walking down the pavement with us. Yesterday
he apparently visited our neighbours. I wonder if he recognises that
their flat is a mirror image of ours.</p>
<p>Hm, I just noticed that in the last paragraph I used British
English. But I'm supposed to write in American English. So I
shouldn't say "pavement" or "flat" or "colour"...</p>
</div>
<p>I should say "sidewalk" and "apartment" and "color"!</p>
</article></pre>
</div></body></html>
--- NEW FILE: editing.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>7 User Interaction — HTML 5</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; }
[...1294 lines suppressed...]
</dl><!--
XXX Once we resolve the style="" issue, address these:
"forecolor", "hilitecolor", "fontname", "fontsize", "justifyleft",
"justifycenter", "justifyright", "justifyfull", "indent", "outdent"
--></body></html>
--- NEW FILE: video.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>4.8.7 The video element — HTML 5</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; }
[...1213 lines suppressed...]
</td><td>The <a href="#current-playback-position">current playback position</a> changed as part of normal playback or in an especially interesting way, for example discontinuously.
</td><td>
</td></tr><tr><td><dfn id="event-ended" title="event-ended"><code>ended</code></dfn>
</td><td><code>Event</code>
</td><td>Playback has stopped because the end of the <a href="#media-resource">media resource</a> was reached.
</td><td><code title="dom-media-currentTime"><a href="#dom-media-currenttime">currentTime</a></code> equals the end of the <a href="#media-resource">media resource</a>; <code title="dom-media-ended"><a href="#dom-media-ended">ended</a></code> is true.
</td></tr></tbody><tbody><tr><td><dfn id="event-ratechange" title="event-ratechange"><code>ratechange</code></dfn>
</td><td><code>Event</code>
</td><td>Either the <code title="dom-media-defaultPlaybackRate"><a href="#dom-media-defaultplaybackrate">defaultPlaybackRate</a></code> or the <code title="dom-media-playbackRate"><a href="#dom-media-playbackrate">playbackRate</a></code> attribute has just been updated.
</td><td>
</td></tr><tr><td><dfn id="event-durationchange" title="event-durationchange"><code>durationchange</code></dfn>
</td><td><code>Event</code>
</td><td>The <code title="dom-media-duration"><a href="#dom-media-duration">duration</a></code> attribute has just been updated.
</td><td>
</td></tr><tr><td><dfn id="event-volumechange" title="event-volumechange"><code>volumechange</code></dfn>
</td><td><code>Event</code>
</td><td>Either the <code title="dom-media-volume"><a href="#dom-media-volume">volume</a></code> attribute or the <code title="dom-media-muted"><a href="#dom-media-muted">muted</a></code> attribute has changed. Fired after the relevant attribute's setter has returned.
</td><td>
</td></tr></tbody></table></body></html>
--- NEW FILE: browsers.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>6 Web browsers — HTML 5</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 { border-bottom: solid; }
table tbody th:first-child { border-left: solid; }
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; }
.applies th > * { display: block; }
.applies thead code { display: block; }
.applies td { text-align: center; }
.applies .yes { background: yellow; }
.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: #EEFFEE; }
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"]), li > span:not([title=""]):not([class="XXX"]):not([class="impl"]) { 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; }
p.copyright { 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; }
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; }
.tall-and-narrow {
font-size: 0.6em;
column-width: 25em;
column-gap: 1em;
-moz-column-width: 25em;
-moz-column-gap: 1em;
-webkit-column-width: 25em;
-webkit-column-gap: 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; }
</style><link href="data:text/css," rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" rel="alternate stylesheet" title="Highlight implementation requirements"><link href="http://www.w3.org/StyleSheets/TR/W3C-WD" rel="stylesheet" type="text/css"><!-- ZZZ ED vs WD --><link href="microdata.html" title="5 Microdata" rel="prev">
<link href="Overview.html#contents" title="Table of contents" rel="index">
<link href="offline.html" title="6.7 Offline Web applications" rel="next">
</head><body onload="fixBrokenLink(); fixBrokenLink()"><div class="head">
<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>HTML 5</h1>
<h2 class="no-num no-toc" id="a-vocabulary-and-associated-apis-for-html-and-xhtml">A vocabulary and associated APIs for HTML and XHTML</h2>
</div><div>
<a href="microdata.html">← 5 Microdata</a> –
<a href="Overview.html#contents">Table of contents</a> –
<a href="offline.html">6.7 Offline Web applications →</a>
</div>
<h2 id="browsers"><span class="secno">6 </span>Web browsers</h2><h3 id="windows"><span class="secno">6.1 </span>Browsing contexts</h3><p>A <dfn id="browsing-context">browsing context</dfn> is an environment in which
<code>Document</code> objects are presented to the user.</p><p class="note">A tab or window in a Web browser typically contains
a <a href="#browsing-context">browsing context</a>, as does an <code><a href="text-level-semantics.html#the-iframe-element">iframe</a></code>.</p><p>Each <a href="#browsing-context">browsing context</a> has a corresponding
<code><a href="#windowproxy">WindowProxy</a></code> object.</p><p>The collection of <code>Document</code>s is the <a href="#browsing-context">browsing
context</a>'s <a href="history.html#session-history">session history</a>. At any time, one
<code>Document</code> in each <a href="#browsing-context">browsing context</a> is
designated the <dfn id="active-document">active document</dfn>.</p><p>Each <code>Document</code> has a collection of one or more <a href="#view" title="view">views</a>.</p><p>A <dfn id="view">view</dfn> is a user agent interface tied to a particular
media used for the presentation of a particular
<code>Document</code> object in some media. A view may be
interactive. Each view is represented by an
<code>AbstractView</code> object. <a href="references.html#refsDOMVIEWS">[DOMVIEWS]</a></p><p>The main <a href="#view">view</a> through which a user primarily
interacts with a user agent is the <dfn id="default-view">default view</dfn>. The
<code>AbstractView</code> object that represents this view is referred to as the <code>Document</code>'s
<code><a href="#window">Window</a></code> object. <code><a href="#windowproxy">WindowProxy</a></code> objects forward
everything to the <a href="#active-document">active document</a>'s <a href="#default-view">default
view</a>'s <code><a href="#window">Window</a></code> object.</p><p class="note">The <code title="dom-document">document</code>
attribute of an <code>AbstractView</code> object representing a
<a href="#view">view</a> gives the view's corresponding
<code>Document</code> object. <a href="references.html#refsDOMVIEWS">[DOMVIEWS]</a></p><p class="note">In general, there is a 1-to-1 mapping from the
<code><a href="#window">Window</a></code> object to the <code>Document</code> object. In
one particular case, a set of <a href="#view" title="view">views</a> can be
reused for the presentation of a second <code>Document</code> in the
same <a href="#browsing-context">browsing context</a>, such that the mapping is then
2:1. This occurs when a <a href="#browsing-context">browsing context</a> is <a href="#navigate" title="navigate">navigated</a> from the initial
<code><a href="#about:blank">about:blank</a></code> <code>Document</code> to another, with
<a href="#replacement-enabled">replacement enabled</a>.</p><p class="note">A typical Web browser has one obvious
<a href="#view">view</a> per <code>Document</code>: the browser's window
(screen media). This is typically the <a href="#default-view">default view</a>. If
a page is printed, however, a second view becomes evident, that of
the print media. The two views always share the same underlying
<code>Document</code> object, but they have a different presentation
of that object. A speech browser might have a different
<a href="#default-view">default view</a>, using the speech media.</p><p class="note">A <code>Document</code> does not necessarily have a
<a href="#browsing-context">browsing context</a> associated with it. In particular,
data mining tools are likely to never instantiate browsing
contexts.</p><hr><p>A <a href="#browsing-context">browsing context</a> can have a <dfn id="creator-browsing-context">creator browsing
context</dfn>, the <a href="#browsing-context">browsing context</a> that was
responsible for its creation. </p><p>If a <a href="#browsing-context">browsing context</a> <var title="">A</var> has a
<a href="#creator-browsing-context">creator browsing context</a>, then the
<code>Document</code> that was the <a href="#active-document">active document</a> of
that <a href="#creator-browsing-context">creator browsing context</a> at the time <var title="">A</var> was created is the <dfn id="creator-document">creator
<code>Document</code></dfn>.</p><h4 id="nested-browsing-contexts"><span class="secno">6.1.1 </span>Nested browsing contexts</h4><p>Certain elements (for example, <code><a href="text-level-semantics.html#the-iframe-element">iframe</a></code> elements) can
instantiate further <a href="#browsing-context" title="browsing context">browsing
contexts</a>. These are called <dfn id="nested-browsing-context" title="nested browsing
context">nested browsing contexts</dfn>. If a browsing context <var title="">P</var> has an element <var title="">E</var> in one of its
<code>Document</code>s <var title="">D</var> that nests another
browsing context <var title="">C</var> inside it, then <var title="">P</var> is said to be the <dfn id="parent-browsing-context">parent browsing
context</dfn> of <var title="">C</var>, <var title="">C</var> is
said to be a <dfn id="child-browsing-context">child browsing context</dfn> of <var title="">P</var>, <var title="">C</var> is said to be <dfn id="browsing-context-nested-through" title="browsing context nested through">nested through</dfn> <var title="">D</var>, and <var title="">E</var> is said to be the
<dfn id="browsing-context-container">browsing context container</dfn> of <var title="">C</var>.</p><p>A browsing context <var title="">A</var> is said to be an
ancestor of a browsing context <var title="">B</var> if there exists
a browsing context <var title="">A'</var> that is a <a href="#child-browsing-context">child
browsing context</a> of <var title="">A</var> and that is itself
an ancestor of <var title="">B</var>, or if there is a browsing
context <var title="">P</var> that is a <a href="#child-browsing-context">child browsing
context</a> of <var title="">A</var> and that is the <a href="#parent-browsing-context">parent
browsing context</a> of <var title="">B</var>.</p><p>The browsing context with no <a href="#parent-browsing-context">parent browsing context</a>
is the <dfn id="top-level-browsing-context">top-level browsing context</dfn> of all the browsing
contexts <a href="#nested-browsing-context" title="nested browsing context">nested</a> within
it (either directly or indirectly through other nested browsing
contexts).</p><p>The transitive closure of <a href="#parent-browsing-context" title="parent browsing
context">parent browsing contexts</a> for a <a href="#nested-browsing-context">nested browsing
context</a> gives the list of <dfn id="ancestor-browsing-context" title="ancestor browsing
context">ancestor browsing contexts</dfn>.</p><p>A <code>Document</code> is said to be <dfn id="fully-active">fully active</dfn>
when it is the <a href="#active-document">active document</a> of its <a href="#browsing-context">browsing
context</a>, and either its browsing context is a <a href="#top-level-browsing-context">top-level
browsing context</a>, or the <code>Document</code> <a href="#browsing-context-nested-through" title="browsing context nested through">through which</a> that
browsing context is <a href="#nested-browsing-context" title="nested browsing
context">nested</a> is itself <a href="#fully-active">fully active</a>.</p><p>Because they are nested through an element, <a href="#child-browsing-context" title="child
browsing context">child browsing contexts</a> are always tied to
a specific <code>Document</code> in their <a href="#parent-browsing-context">parent browsing
context</a>. User agents must not allow the user to interact with
<a href="#child-browsing-context" title="child browsing context">child browsing contexts</a>
of elements that are in <code>Document</code>s that are not
themselves <a href="#fully-active">fully active</a>.</p><p>A <a href="#nested-browsing-context">nested browsing context</a> can have a <a href="#seamless-browsing-context-flag">seamless
browsing context flag</a> set, if it is embedded through an
<code><a href="text-level-semantics.html#the-iframe-element">iframe</a></code> element with a <code title="attr-iframe-seamless"><a href="text-level-semantics.html#attr-iframe-seamless">seamless</a></code> attribute.</p><h5 id="navigating-nested-browsing-contexts-in-the-dom"><span class="secno">6.1.1.1 </span>Navigating nested browsing contexts in the DOM</h5><dl class="domintro"><dt><var title="">window</var> . <code title="dom-top"><a href="#dom-top">top</a></code></dt>
<dd>
<p>Returns the <code><a href="#windowproxy">WindowProxy</a></code> for the <a href="#top-level-browsing-context">top-level browsing context</a>.</p>
</dd>
<dt><var title="">window</var> . <code title="dom-parent"><a href="#dom-parent">parent</a></code></dt>
<dd>
<p>Returns the <code><a href="#windowproxy">WindowProxy</a></code> for the <a href="#parent-browsing-context">parent browsing context</a>.</p>
</dd>
<dt><var title="">window</var> . <code title="dom-frameElement"><a href="#dom-frameelement">frameElement</a></code></dt>
<dd>
<p>Returns the <code>Element</code> for the <a href="#browsing-context-container">browsing context container</a>.</p>
<p>Returns null if there isn't one.</p>
<p>Throws a <code><a href="infrastructure.html#security_err">SECURITY_ERR</a></code> exception in cross-origin situations.</p>
</dd>
</dl><h4 id="auxiliary-browsing-contexts"><span class="secno">6.1.2 </span>Auxiliary browsing contexts</h4><p>It is possible to create new browsing contexts that are related
to a <span>top level browsing context</span> without being nested
through an element. Such browsing contexts are called <dfn id="auxiliary-browsing-context" title="auxiliary browsing context">auxiliary browsing
contexts</dfn>. Auxiliary browsing contexts are always <a href="#top-level-browsing-context" title="top-level browsing context">top-level browsing
contexts</a>.</p><p>An <a href="#auxiliary-browsing-context">auxiliary browsing context</a> has an <dfn id="opener-browsing-context">opener
browsing context</dfn>, which is the <a href="#browsing-context">browsing context</a>
from which the <a href="#auxiliary-browsing-context">auxiliary browsing context</a> was created,
and it has a <dfn id="furthest-ancestor-browsing-context">furthest ancestor browsing context</dfn>, which is
the <a href="#top-level-browsing-context">top-level browsing context</a> of the <a href="#opener-browsing-context">opener
browsing context</a> when the <a href="#auxiliary-browsing-context">auxiliary browsing
context</a> was created.</p><h5 id="navigating-auxiliary-browsing-contexts-in-the-dom"><span class="secno">6.1.2.1 </span>Navigating auxiliary browsing contexts in the DOM</h5><p>The <dfn id="dom-opener" title="dom-opener"><code>opener</code></dfn> DOM
attribute on the <code><a href="#window">Window</a></code> object must return the
<code><a href="#windowproxy">WindowProxy</a></code> object of the <a href="#browsing-context">browsing context</a>
from which the current <a href="#browsing-context">browsing context</a> was created
(its <a href="#opener-browsing-context">opener browsing context</a>), if there is one and it
is still available.</p><h4 id="secondary-browsing-contexts"><span class="secno">6.1.3 </span>Secondary browsing contexts</h4><p>User agents may support <dfn id="secondary-browsing-context" title="secondary browsing
context">secondary browsing contexts</dfn>, which are <a href="#browsing-context" title="browsing context">browsing contexts</a> that form part of
the user agent's interface, apart from the main content area.</p><h4 id="browsing-context-names"><span class="secno">6.1.4 </span>Browsing context names</h4><p>Browsing contexts can have a <dfn id="browsing-context-name">browsing context name</dfn>. By
default, a browsing context has no name (its name is not set).</p><p>A <dfn id="valid-browsing-context-name">valid browsing context name</dfn> is any string with at
least one character that does not start with a U+005F LOW LINE
character. (Names starting with an underscore are reserved for
special keywords.)</p><p>A <dfn id="valid-browsing-context-name-or-keyword">valid browsing context name or keyword</dfn> is any string
that is either a <a href="#valid-browsing-context-name">valid browsing context name</a> or that is
an <a href="infrastructure.html#ascii-case-insensitive">ASCII case-insensitive</a> match for one of: <code title="">_blank</code>, <code title="">_self</code>, <code title="">_parent</code>, or <code title="">_top</code>.</p><h3 id="the-window-object"><span class="secno">6.2 </span>The <code><a href="#window">Window</a></code> object</h3><pre class="idl">[OverrideBuiltins]
interface <dfn id="window">Window</dfn> {
// the current browsing context
readonly attribute <a href="#windowproxy">WindowProxy</a> <a href="#dom-window" title="dom-window">window</a>;
readonly attribute <a href="#windowproxy">WindowProxy</a> <a href="#dom-self" title="dom-self">self</a>;
attribute DOMString <a href="#dom-name" title="dom-name">name</a>;
[PutForwards=href] readonly attribute <a href="history.html#location">Location</a> <a href="#dom-location" title="dom-location">location</a>;
readonly attribute <a href="history.html#history-0">History</a> <a href="#dom-history" title="dom-history">history</a>;
readonly attribute <a href="editing.html#undomanager">UndoManager</a> <a href="#dom-undomanager" title="dom-undoManager">undoManager</a>;
<a href="editing.html#selection-0">Selection</a> <a href="#dom-getselection" title="dom-getSelection">getSelection</a>();
[Replaceable] readonly attribute <a href="#barprop">BarProp</a> <a href="#dom-window-locationbar" title="dom-window-locationbar">locationbar</a>;
[Replaceable] readonly attribute <a href="#barprop">BarProp</a> <a href="#dom-window-menubar" title="dom-window-menubar">menubar</a>;
[Replaceable] readonly attribute <a href="#barprop">BarProp</a> <a href="#dom-window-personalbar" title="dom-window-personalbar">personalbar</a>;
[Replaceable] readonly attribute <a href="#barprop">BarProp</a> <a href="#dom-window-scrollbars" title="dom-window-scrollbars">scrollbars</a>;
[Replaceable] readonly attribute <a href="#barprop">BarProp</a> <a href="#dom-window-statusbar" title="dom-window-statusbar">statusbar</a>;
[Replaceable] readonly attribute <a href="#barprop">BarProp</a> <a href="#dom-window-toolbar" title="dom-window-toolbar">toolbar</a>;<!--
[Replaceable] readonly attribute <span>BarProp</span> <span title="dom-window-directories">directories</span>; // legacy (Gecko-only) -->
void <a href="#dom-window-close" title="dom-window-close">close</a>();
void <a href="#dom-window-focus" title="dom-window-focus">focus</a>();
void <a href="#dom-window-blur" title="dom-window-blur">blur</a>();
// other browsing contexts
readonly attribute <a href="#windowproxy">WindowProxy</a> <a href="#dom-frames" title="dom-frames">frames</a>;
readonly attribute unsigned long <a href="#dom-length" title="dom-length">length</a>;
readonly attribute <a href="#windowproxy">WindowProxy</a> <a href="#dom-top" title="dom-top">top</a>;
[Replaceable] readonly attribute <a href="#windowproxy">WindowProxy</a> <a href="#dom-opener" title="dom-opener">opener</a>;
readonly attribute <a href="#windowproxy">WindowProxy</a> <a href="#dom-parent" title="dom-parent">parent</a>;
readonly attribute <span>Element</span> <a href="#dom-frameelement" title="dom-frameElement">frameElement</a>;
<a href="#windowproxy">WindowProxy</a> <a href="#dom-open" title="dom-open">open</a>(optional in DOMString url, optional in DOMString target, optional in DOMString features, optional in DOMString replace);
<a href="#dom-window-item" title="dom-window-item">getter</a> <a href="#windowproxy">WindowProxy</a> (in unsigned long index);
<a href="#dom-window-nameditem" title="dom-window-namedItem">getter</a> <a href="#windowproxy">WindowProxy</a> (in DOMString name);
// the user agent
readonly attribute <a href="#navigator">Navigator</a> <a href="#dom-navigator" title="dom-navigator">navigator</a>; <!-- IE also has window.clientInformation === window.navigator -->
readonly attribute <a href="offline.html#applicationcache">ApplicationCache</a> <a href="#dom-applicationcache" title="dom-applicationCache">applicationCache</a>;
// user prompts
void <a href="#dom-alert" title="dom-alert">alert</a>(in DOMString message);
boolean <a href="#dom-confirm" title="dom-confirm">confirm</a>(in DOMString message);
DOMString <a href="#dom-prompt" title="dom-prompt">prompt</a>(in DOMString message, optional in DOMString default);
void <a href="#dom-print" title="dom-print">print</a>();
any <a href="#dom-showmodaldialog" title="dom-showModalDialog">showModalDialog</a>(in DOMString url, optional in any argument<!--, optional in DOMString features-->);
// <a href="comms.html#crossDocumentMessages">cross-document messaging</a>
void <a href="#dom-window-postmessage-2" title="dom-window-postMessage-2">postMessage</a>(in any message, in DOMString targetOrigin);
void <a href="#dom-window-postmessage-3" title="dom-window-postMessage-3">postMessage</a>(in any message, in <a href="comms.html#messageportarray">MessagePortArray</a> ports, in DOMString targetOrigin);
// <a href="#event-handler-dom-attributes">event handler DOM attributes</a>
attribute <a href="#function">Function</a> <a href="#handler-onabort" title="handler-onabort">onabort</a>;
attribute <a href="#function">Function</a> <a href="#handler-window-onafterprint" title="handler-window-onafterprint">onafterprint</a>;
attribute <a href="#function">Function</a> <a href="#handler-window-onbeforeprint" title="handler-window-onbeforeprint">onbeforeprint</a>;
attribute <a href="#function">Function</a> <a href="#handler-window-onbeforeunload" title="handler-window-onbeforeunload">onbeforeunload</a>;
attribute <a href="#function">Function</a> <a href="#handler-window-onblur" title="handler-window-onblur">onblur</a>;
attribute <a href="#function">Function</a> <a href="#handler-oncanplay" title="handler-oncanplay">oncanplay</a>;
attribute <a href="#function">Function</a> <a href="#handler-oncanplaythrough" title="handler-oncanplaythrough">oncanplaythrough</a>;
attribute <a href="#function">Function</a> <a href="#handler-onchange" title="handler-onchange">onchange</a>;
attribute <a href="#function">Function</a> <a href="#handler-onclick" title="handler-onclick">onclick</a>;
attribute <a href="#function">Function</a> <a href="#handler-oncontextmenu" title="handler-oncontextmenu">oncontextmenu</a>;
attribute <a href="#function">Function</a> <a href="#handler-ondblclick" title="handler-ondblclick">ondblclick</a>;
attribute <a href="#function">Function</a> <a href="#handler-ondrag" title="handler-ondrag">ondrag</a>;
attribute <a href="#function">Function</a> <a href="#handler-ondragend" title="handler-ondragend">ondragend</a>;
attribute <a href="#function">Function</a> <a href="#handler-ondragenter" title="handler-ondragenter">ondragenter</a>;
attribute <a href="#function">Function</a> <a href="#handler-ondragleave" title="handler-ondragleave">ondragleave</a>;
attribute <a href="#function">Function</a> <a href="#handler-ondragover" title="handler-ondragover">ondragover</a>;
attribute <a href="#function">Function</a> <a href="#handler-ondragstart" title="handler-ondragstart">ondragstart</a>;
attribute <a href="#function">Function</a> <a href="#handler-ondrop" title="handler-ondrop">ondrop</a>;
attribute <a href="#function">Function</a> <a href="#handler-ondurationchange" title="handler-ondurationchange">ondurationchange</a>;
attribute <a href="#function">Function</a> <a href="#handler-onemptied" title="handler-onemptied">onemptied</a>;
attribute <a href="#function">Function</a> <a href="#handler-onended" title="handler-onended">onended</a>;
attribute <a href="#function">Function</a> <a href="#handler-window-onerror" title="handler-window-onerror">onerror</a>;
attribute <a href="#function">Function</a> <a href="#handler-window-onfocus" title="handler-window-onfocus">onfocus</a>;
attribute <a href="#function">Function</a> <a href="#handler-onformchange" title="handler-onformchange">onformchange</a>;
attribute <a href="#function">Function</a> <a href="#handler-onforminput" title="handler-onforminput">onforminput</a>;
attribute <a href="#function">Function</a> <a href="#handler-window-onhashchange" title="handler-window-onhashchange">onhashchange</a>;
attribute <a href="#function">Function</a> <a href="#handler-oninput" title="handler-oninput">oninput</a>;
attribute <a href="#function">Function</a> <a href="#handler-oninvalid" title="handler-oninvalid">oninvalid</a>;
attribute <a href="#function">Function</a> <a href="#handler-onkeydown" title="handler-onkeydown">onkeydown</a>;
attribute <a href="#function">Function</a> <a href="#handler-onkeypress" title="handler-onkeypress">onkeypress</a>;
attribute <a href="#function">Function</a> <a href="#handler-onkeyup" title="handler-onkeyup">onkeyup</a>;
attribute <a href="#function">Function</a> <a href="#handler-window-onload" title="handler-window-onload">onload</a>;
attribute <a href="#function">Function</a> <a href="#handler-onloadeddata" title="handler-onloadeddata">onloadeddata</a>;
attribute <a href="#function">Function</a> <a href="#handler-onloadedmetadata" title="handler-onloadedmetadata">onloadedmetadata</a>;
attribute <a href="#function">Function</a> <a href="#handler-onloadstart" title="handler-onloadstart">onloadstart</a>;
attribute <a href="#function">Function</a> <a href="#handler-window-onmessage" title="handler-window-onmessage">onmessage</a>;
attribute <a href="#function">Function</a> <a href="#handler-onmousedown" title="handler-onmousedown">onmousedown</a>;
attribute <a href="#function">Function</a> <a href="#handler-onmousemove" title="handler-onmousemove">onmousemove</a>;
attribute <a href="#function">Function</a> <a href="#handler-onmouseout" title="handler-onmouseout">onmouseout</a>;
attribute <a href="#function">Function</a> <a href="#handler-onmouseover" title="handler-onmouseover">onmouseover</a>;
attribute <a href="#function">Function</a> <a href="#handler-onmouseup" title="handler-onmouseup">onmouseup</a>;
attribute <a href="#function">Function</a> <a href="#handler-onmousewheel" title="handler-onmousewheel">onmousewheel</a>;
attribute <a href="#function">Function</a> <a href="#handler-window-onoffline" title="handler-window-onoffline">onoffline</a>;
attribute <a href="#function">Function</a> <a href="#handler-window-ononline" title="handler-window-ononline">ononline</a>;
attribute <a href="#function">Function</a> <a href="#handler-onpause" title="handler-onpause">onpause</a>;
attribute <a href="#function">Function</a> <a href="#handler-onplay" title="handler-onplay">onplay</a>;
attribute <a href="#function">Function</a> <a href="#handler-onplaying" title="handler-onplaying">onplaying</a>;
attribute <a href="#function">Function</a> <a href="#handler-window-onpopstate" title="handler-window-onpopstate">onpopstate</a>;
attribute <a href="#function">Function</a> <a href="#handler-onprogress" title="handler-onprogress">onprogress</a>;
attribute <a href="#function">Function</a> <a href="#handler-onratechange" title="handler-onratechange">onratechange</a>;
attribute <a href="#function">Function</a> <a href="#handler-onreadystatechange" title="handler-onreadystatechange">onreadystatechange</a>;
attribute <a href="#function">Function</a> <a href="#handler-window-onredo" title="handler-window-onredo">onredo</a>;
attribute <a href="#function">Function</a> <a href="#handler-window-onresize" title="handler-window-onresize">onresize</a>;
attribute <a href="#function">Function</a> <a href="#handler-onscroll" title="handler-onscroll">onscroll</a>;
attribute <a href="#function">Function</a> <a href="#handler-onseeked" title="handler-onseeked">onseeked</a>;
attribute <a href="#function">Function</a> <a href="#handler-onseeking" title="handler-onseeking">onseeking</a>;
attribute <a href="#function">Function</a> <a href="#handler-onselect" title="handler-onselect">onselect</a>;
attribute <a href="#function">Function</a> <a href="#handler-onshow" title="handler-onshow">onshow</a>;
attribute <a href="#function">Function</a> <a href="#handler-onstalled" title="handler-onstalled">onstalled</a>;
attribute <a href="#function">Function</a> <a href="#handler-window-onstorage" title="handler-window-onstorage">onstorage</a>;
attribute <a href="#function">Function</a> <a href="#handler-onsubmit" title="handler-onsubmit">onsubmit</a>;
attribute <a href="#function">Function</a> <a href="#handler-onsuspend" title="handler-onsuspend">onsuspend</a>;
attribute <a href="#function">Function</a> <a href="#handler-ontimeupdate" title="handler-ontimeupdate">ontimeupdate</a>;
attribute <a href="#function">Function</a> <a href="#handler-window-onundo" title="handler-window-onundo">onundo</a>;
attribute <a href="#function">Function</a> <a href="#handler-window-onunload" title="handler-window-onunload">onunload</a>;
attribute <a href="#function">Function</a> <a href="#handler-onvolumechange" title="handler-onvolumechange">onvolumechange</a>;
attribute <a href="#function">Function</a> <a href="#handler-onwaiting" title="handler-onwaiting">onwaiting</a>;
};</pre><!-- for more features to add here, look here:
http://msdn.microsoft.com/workshop/author/dhtml/reference/objects/obj_window.asp
http://www.mozilla.org/docs/dom/domref/dom_window_ref.html
http://lxr.mozilla.org/mozilla/source/dom/public/idl/base/nsIDOMWindow.idl - scrollBy, etc
http://lxr.mozilla.org/mozilla/source/dom/public/idl/base/nsIDOMWindowInternal.idl - DOM level 0
--><dl class="domintro"><dt><var title="">window</var> . <code title="dom-window"><a href="#dom-window">window</a></code></dt>
<dt><var title="">window</var> . <code title="dom-frames"><a href="#dom-frames">frames</a></code></dt>
<dt><var title="">window</var> . <code title="dom-self"><a href="#dom-self">self</a></code></dt>
<dd>
<p>These attributes all return <var title="">window</var>.</p>
</dd>
</dl><h4 id="apis-for-creating-and-navigating-browsing-contexts-by-name"><span class="secno">6.2.1 </span>APIs for creating and navigating browsing contexts by name</h4><dl class="domintro"><dt><var title="">window</var> = <var title="">window</var> . <code title="dom-open"><a href="#dom-open">open</a></code>( [ <var title="">url</var> [, <var title="">target</var> [, <var title="">features</var> [, <var title="">replace</var> ] ] ] ] )</dt>
<dd>
<p>Opens a window to show <var title="">url</var> (defaults to
<code><a href="#about:blank">about:blank</a></code>), and returns it. The <var title="">target</var> argument gives the name of the new
window. If a window exists with that name already, it is
reused. The <var title="">replace</var> attribute, if true, means
that whatever page is currently open in that window will be
removed from the window's session history. The <var title="">features</var> argument is ignored.</p>
</dd>
<dt><var title="">window</var> . <code title="dom-name"><a href="#dom-name">name</a></code> [ = <var title="">value</var> ]</dt>
<dd>
<p>Returns the name of the window.</p>
<p>Can be set, to change the name.</p>
</dd>
<dt><var title="">window</var> . <code title="dom-close">close</code>()</dt>
<dd>
<p>Closes the window.</p>
</dd>
</dl><h4 id="accessing-other-browsing-contexts"><span class="secno">6.2.2 </span>Accessing other browsing contexts</h4><dl class="domintro"><dt><var title="">window</var> . <code title="dom-length"><a href="#dom-length">length</a></code></dt>
<dd>
<p>Returns the number of <a href="#child-browsing-context" title="child browsing
context">child browsing contexts</a>.</p>
</dd>
<dt><var title="">window</var>[<var title="">index</var>]</dt>
<dd>
<p>Returns the indicated <a href="#child-browsing-context">child browsing context</a>.</p>
</dd>
</dl><h4 id="named-access-on-the-window-object"><span class="secno">6.2.3 </span>Named access on the <code><a href="#window">Window</a></code> object</h4><dl class="domintro"><dt><var title="">window</var>[<var title="">name</var>]</dt>
<dd>
<p>Returns the indicated <a href="#child-browsing-context">child browsing context</a>.</p>
</dd>
</dl><h4 id="browser-interface-elements"><span class="secno">6.2.4 </span>Browser interface elements</h4><p>To allow Web pages to integrate with Web browsers, certain Web
browser interface elements are exposed in a limited way to scripts
in Web pages.</p><p>Each interface element is represented by a <code><a href="#barprop">BarProp</a></code>
object:</p><pre class="idl">interface <dfn id="barprop">BarProp</dfn> {
attribute boolean <a href="#dom-barprop-visible" title="dom-BarProp-visible">visible</a>;
};</pre><dl class="domintro"><dt><var title="">window</var> . <code title="dom-window-locationbar"><a href="#dom-window-locationbar">locationbar</a></code> . <code title="dom-BarProp-visible"><a href="#dom-barprop-visible">visible</a></code></dt>
<dd>
<p>Returns true if the location bar is visible; otherwise, returns false.</p>
</dd>
<dt><var title="">window</var> . <code title="dom-window-menubar"><a href="#dom-window-menubar">menubar</a></code> . <code title="dom-BarProp-visible"><a href="#dom-barprop-visible">visible</a></code></dt>
<dd>
<p>Returns true if the menu bar is visible; otherwise, returns false.</p>
</dd>
<dt><var title="">window</var> . <code title="dom-window-personalbar"><a href="#dom-window-personalbar">personalbar</a></code> . <code title="dom-BarProp-visible"><a href="#dom-barprop-visible">visible</a></code></dt>
<!--<dt><var title="">window</var> . <code title="dom-window-directories">directories</code> . <code title="dom-BarProp-visible">visible</code></dt>-->
<dd>
<p>Returns true if the personal bar is visible; otherwise, returns false.</p>
</dd>
<dt><var title="">window</var> . <code title="dom-window-scrollbars"><a href="#dom-window-scrollbars">scrollbars</a></code> . <code title="dom-BarProp-visible"><a href="#dom-barprop-visible">visible</a></code></dt>
<dd>
<p>Returns true if the scroll bars are visible; otherwise, returns false.</p>
</dd>
<dt><var title="">window</var> . <code title="dom-window-statusbar"><a href="#dom-window-statusbar">statusbar</a></code> . <code title="dom-BarProp-visible"><a href="#dom-barprop-visible">visible</a></code></dt>
<dd>
<p>Returns true if the status bar is visible; otherwise, returns false.</p>
</dd>
<dt><var title="">window</var> . <code title="dom-window-toolbar"><a href="#dom-window-toolbar">toolbar</a></code> . <code title="dom-BarProp-visible"><a href="#dom-barprop-visible">visible</a></code></dt>
<dd>
<p>Returns true if the tool bar is visible; otherwise, returns false.</p>
</dd>
</dl><h4 id="relaxing-the-same-origin-restriction"><span class="secno">6.2.5 </span>Relaxing the same-origin restriction</h4><dl class="domintro"><dt><var title="">document</var> . <code title="dom-document-domain"><a href="#dom-document-domain">domain</a></code> [ = <var title="">domain</var> ]</dt>
<dd>
<p>Returns the current domain used for security checks.</p>
<p>Can be set to a value that removes subdomains, to allow pages
on other subdomains of the same domain (if they do the same thing)
to access each other.</p>
</dd>
</dl><p class="note">The <code title="dom-document-domain"><a href="#dom-document-domain">domain</a></code>
attribute is used to enable pages on different hosts of a domain to
access each others' DOMs.</p><h3 id="scripting"><span class="secno">6.3 </span>Scripting</h3><h4 id="introduction-2"><span class="secno">6.3.1 </span>Introduction</h4><p>Various mechanisms can cause author-provided executable code to
run in the context of a document. These mechanisms include, but are
probably not limited to:</p><ul><li>Processing of <code><a href="semantics.html#script">script</a></code> elements.</li>
<li>Processing of inline <code title="javascript
protocol"><a href="#javascript-protocol">javascript:</a></code> URLs (e.g. the <code title="attr-img-src"><a href="text-level-semantics.html#attr-img-src">src</a></code> attribute of <code><a href="text-level-semantics.html#the-img-element">img</a></code>
elements, or an <code title="">@import</code> rule in a CSS
<code><a href="semantics.html#the-style-element">style</a></code> element block).</li>
<li>Event handlers, whether registered through the DOM using <code title="">addEventListener()</code>, by explicit <a href="#event-handler-content-attributes">event handler
content attributes</a>, by <a href="#event-handler-dom-attributes">event handler DOM
attributes</a>, or otherwise.</li>
<li>Processing of technologies like XBL or SVG that have their own
scripting features.</li>
</ul><h4 id="events"><span class="secno">6.3.2 </span>Events</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><!--test: <a href="http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0A...%3Cscript%3E%0Aw(a%3Ddocument.implementation.createDocument(null%2C%20null%2C%20null))%3B%0Aw(a.appendChild(a.createElementNS('http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml'%2C%20'html')))%3B%0Aw(b%3Da.firstChild.appendChild(a.createElementNS('http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml'%2C%20'body')))%3B%0Aw(b.test%20%3D%20w)%3B%0Aw(b.setAttribute('onclick'%2C%20'test(%22fire%3A%20%22%20%2B%20event)'))%3B%0Aw(b.onclick)%3B%0Aw(e%3Da.createEvent('Event'))%3B%0Aw(e.initEvent('click'%2C%20false%2C%20false))%3B%0Aw(b.dispatchEvent(e))%3B%0A%3C%2Fscript%3E">test</a>--><p>Many objects can have <dfn id="event-handler-attributes-0">event handler attributes</dfn>
specified. These act as bubbling event listeners for the object on
which they are specified.</p><p>An <a href="#event-handler-attributes-0" title="event handler attributes">event handler
attribute</a>, unless otherwise specified, can either have the
value null or be set to a <code><a href="#function">Function</a></code> object. </p><p>Event handler attributes are exposed in one or two ways.</p><p>The first way, common to all event handler attributes, is as an
<a href="#event-handler-dom-attributes" title="event handler DOM attributes">event handler DOM
attribute</a>.</p><p>The second way is as an <a href="#event-handler-content-attributes" title="event handler content
attributes">event handler content attribute</a>. Event handlers on
<a href="infrastructure.html#html-elements">HTML elements</a> and some of the event handlers on
<code><a href="#window">Window</a></code> objects are exposed in this way.</p><p><dfn id="event-handler-content-attributes">Event handler content attributes</dfn>, when specified, must
contain valid JavaScript code matching the <code title="">FunctionBody</code> production. <a href="references.html#refsECMA262">[ECMA262]</a></p><p class="note">When an <a href="#event-handler-content-attributes" title="event handler content
attributes">event handler content attribute</a> is set on an
element owned by a <code>Document</code> that is not in a
<a href="#browsing-context">browsing context</a>, the corresponding event handler
attribute is not changed.</p><p class="note">Removing an <a href="#event-handler-content-attributes" title="event handler content
attributes">event handler content attribute</a> does not reset
the corresponding <a href="#event-handler-attributes-0" title="event handler attributes">event
handler attribute</a>.</p><!--
http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0A...%3Cbody%20onload%3D%22w(%27pass%27)%22%3E%0A%3Cscript%3Edocument.body.removeAttribute(%27onload%27)%3B%3C%2Fscript%3E
--><!-- v2: we should probably support HTML4's Content-Script-Type header here. --><h3 id="timers"><span class="secno">6.4 </span>Timers</h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code title="dom-windowtimers-setTimeout"><a href="#dom-windowtimers-settimeout">setTimeout()</a></code>
and <code title="dom-windowtimers-setInterval"><a href="#dom-windowtimers-setinterval">setInterval()</a></code>
methods allow authors to schedule timer-based callbacks.</p><pre class="idl">[Supplemental, NoInterfaceObject]
interface <dfn id="windowtimers">WindowTimers</dfn> {
long <a href="#dom-windowtimers-settimeout" title="dom-windowtimers-setTimeout">setTimeout</a>(in any handler, optional in any timeout, in any... args);
void <a href="#dom-windowtimers-cleartimeout" title="dom-windowtimers-clearTimeout">clearTimeout</a>(in long handle);
long <a href="#dom-windowtimers-setinterval" title="dom-windowtimers-setInterval">setInterval</a>(in any handler, optional in any timeout, in any... args);
void <a href="#dom-windowtimers-clearinterval" title="dom-windowtimers-clearInterval">clearInterval</a>(in long handle);
};
<a href="#window">Window</a> implements <a href="#windowtimers">WindowTimers</a>;</pre><dl class="domintro"><dt><var title="">handle</var> = <var title="">window</var> . <code title="dom-windowtimers-setTimeout"><a href="#dom-windowtimers-settimeout">setTimeout</a></code>( <var title="">handler</var> [, <var title="">timeout</var> [, <var title="">arguments</var> ] ] )</dt>
<dd>
<p>Schedules a timeout to run <var title="">handler</var> after
<var title="">timeout</var> milliseconds. Any <var title="">arguments</var> are passed straight through to the <var title="">handler</var>.</p>
</dd>
<dt><var title="">handle</var> = <var title="">window</var> . <code title="dom-windowtimers-setTimeout"><a href="#dom-windowtimers-settimeout">setTimeout</a></code>( <var title="">code</var> [, <var title="">timeout</var> ] )</dt>
<dd>
<p>Schedules a timeout to compile and run <var title="">code</var>
after <var title="">timeout</var> milliseconds.</p>
</dd>
<dt><var title="">window</var> . <code title="dom-windowtimers-clearTimeout"><a href="#dom-windowtimers-cleartimeout">clearTimeout</a></code>( <var title="">handle</var> )</dt>
<dd>
<p>Cancels the timeout set with <code title="dom-windowtimers-setTimeout"><a href="#dom-windowtimers-settimeout">setTimeout()</a></code> identified by <var title="">handle</var>.</p>
</dd>
<dt><var title="">handle</var> = <var title="">window</var> . <code title="dom-windowtimers-setInterval"><a href="#dom-windowtimers-setinterval">setInterval</a></code>( <var title="">handler</var> [, <var title="">timeout</var> [, <var title="">arguments</var> ] ] )</dt>
<dd>
<p>Schedules a timeout to run <var title="">handler</var> every
<var title="">timeout</var> milliseconds. Any <var title="">arguments</var> are passed straight through to the <var title="">handler</var>.</p>
</dd>
<dt><var title="">handle</var> = <var title="">window</var> . <code title="dom-windowtimers-setInterval"><a href="#dom-windowtimers-setinterval">setInterval</a></code>( <var title="">code</var> [, <var title="">timeout</var> ] )</dt>
<dd>
<p>Schedules a timeout to compile and run <var title="">code</var>
every <var title="">timeout</var> milliseconds.</p>
</dd>
<dt><var title="">window</var> . <code title="dom-windowtimers-clearInterval"><a href="#dom-windowtimers-clearinterval">clearInterval</a></code>( <var title="">handle</var> )</dt>
<dd>
<p>Cancels the timeout set with <code title="dom-windowtimers-setInterval"><a href="#dom-windowtimers-setinterval">setInterval()</a></code> identified by <var title="">handle</var>.</p>
</dd>
</dl><p class="note">This API does not guarantee that timers will fire
exactly on schedule. Delays due to CPU load, other tasks, etc, are
to be expected.</p><h3 id="user-prompts"><span class="secno">6.5 </span>User prompts</h3><!--
v2 ideas:
* in-window modal dialogs
- escape/enter handling
- dragging the window out of the tab
* in-window non-modal palettes
- with a solution for the mobile space
--><h4 id="simple-dialogs"><span class="secno">6.5.1 </span>Simple dialogs</h4><dl class="domintro"><dt><var title="">window</var> . <code title="dom-alert"><a href="#dom-alert">alert</a></code>(<var title="">message</var>)</dt>
<dd>
<p>Displays a modal alert with the given message, and waits for the user to dismiss it.</p>
<p>A call to the <code title="dom-navigator-getStorageUpdates"><a href="#dom-navigator-getstorageupdates">navigator.getStorageUpdates()</a></code>
method is implied when this method is invoked.</p>
</dd>
<dt><var title="">result</var> = <var title="">window</var> . <code title="dom-confirm"><a href="#dom-confirm">confirm</a></code>(<var title="">message</var>)</dt>
<dd>
<p>Displays a modal OK/Cancel prompt with the given message, waits
for the user to dismiss it, and returns true if the user clicks OK
and false if the user clicks Cancel.</p>
<p>A call to the <code title="dom-navigator-getStorageUpdates"><a href="#dom-navigator-getstorageupdates">navigator.getStorageUpdates()</a></code>
method is implied when this method is invoked.</p>
</dd>
<dt><var title="">result</var> = <var title="">window</var> . <code title="dom-prompt"><a href="#dom-prompt">prompt</a></code>(<var title="">message</var> [, <var title="">default</var>] )</dt>
<dd>
<p>Displays a modal text field prompt with the given message,
waits for the user to dismiss it, and returns the value that the
user entered. If the user cancels the prompt, then returns null
instead. If the second argument is present, then the given value
is used as a default.</p>
<p>A call to the <code title="dom-navigator-getStorageUpdates"><a href="#dom-navigator-getstorageupdates">navigator.getStorageUpdates()</a></code>
method is implied when this method is invoked.</p>
</dd>
</dl><h4 id="printing"><span class="secno">6.5.2 </span>Printing</h4><p class="XXX annotation"><b>Status: </b><i>First draft</i></p><dl class="domintro"><dt><var title="">window</var> . <code title="dom-print"><a href="#dom-print">print</a></code>()</dt>
<dd>
<p>Prompts the user to print the page.</p>
<p>A call to the <code title="dom-navigator-getStorageUpdates"><a href="#dom-navigator-getstorageupdates">navigator.getStorageUpdates()</a></code>
method is implied when this method is invoked.</p>
</dd>
</dl><h4 id="dialogs-implemented-using-separate-documents"><span class="secno">6.5.3 </span>Dialogs implemented using separate documents</h4><dl class="domintro"><dt><var title="">result</var> = <var title="">window</var> . <code title="dom-showModalDialog"><a href="#dom-showmodaldialog">showModalDialog</a></code>(<var title="">url</var> [, <var title="">argument</var>] )</dt>
<dd>
<p>Prompts the user with the given page, waits for that page to
close, and returns the return value.</p>
<p>A call to the <code title="dom-navigator-getStorageUpdates"><a href="#dom-navigator-getstorageupdates">navigator.getStorageUpdates()</a></code>
method is implied when this method is invoked.</p>
</dd>
</dl><pre class="idl">[Supplemental, NoInterfaceObject] interface <dfn id="windowmodal">WindowModal</dfn> {
readonly attribute any <a href="#dom-windowmodal-dialogarguments" title="dom-WindowModal-dialogArguments">dialogArguments</a>;
attribute DOMString <a href="#dom-windowmodal-returnvalue" title="dom-WindowModal-returnValue">returnValue</a>;
};
<a href="#window">Window</a> implements <a href="#windowmodal">WindowModal</a>; /* sometimes */</pre><dl class="domintro"><dt><var title="">window</var> . <code title="dom-WindowModal-dialogArguments"><a href="#dom-windowmodal-dialogarguments">dialogArguments</a></code></dt>
<dd>
<p>Returns the <var title="">argument</var> argument that was
passed to the <code title="dom-showModalDialog"><a href="#dom-showmodaldialog">showModalDialog()</a></code> method.</p>
</dd>
<dt><var title="">window</var> . <code title="dom-WindowModal-returnValue"><a href="#dom-windowmodal-returnvalue">returnValue</a></code> [ = <var title="">value</var> ]</dt>
<dd>
<p>Returns the current return value for the window.</p>
<p>Can be set, to change the value that will be returned by the
<code title="dom-showModalDialog"><a href="#dom-showmodaldialog">showModalDialog()</a></code>
method.</p>
</dd>
</dl><p class="note">The <code title="dom-window-close"><a href="#dom-window-close">window.close()</a></code> method can be used to
close the browsing context.</p><h3 id="system-state-and-capabilities"><span class="secno">6.6 </span>System state and capabilities</h3><pre class="idl">interface <dfn id="navigator">Navigator</dfn> {
// objects implementing this interface also implement the interfaces given below
};
<a href="#navigator">Navigator</a> implements <a href="#navigatorid">NavigatorID</a>;
<a href="#navigator">Navigator</a> implements <a href="#navigatoronline">NavigatorOnLine</a>;
<a href="#navigator">Navigator</a> implements <a href="#navigatorabilities">NavigatorAbilities</a>;
[Supplemental, NoInterfaceObject]
interface <dfn id="navigatorid">NavigatorID</dfn> {<!--
readonly attribute DOMString <span title="dom-navigator-appCodeName">appCodeName</span>;-->
readonly attribute DOMString <a href="#dom-navigator-appname" title="dom-navigator-appName">appName</a>;
readonly attribute DOMString <a href="#dom-navigator-appversion" title="dom-navigator-appVersion">appVersion</a>;
readonly attribute DOMString <a href="#dom-navigator-platform" title="dom-navigator-platform">platform</a>;
readonly attribute DOMString <a href="#dom-navigator-useragent" title="dom-navigator-userAgent">userAgent</a>;
};
[Supplemental, NoInterfaceObject]
interface <dfn id="navigatoronline">NavigatorOnLine</dfn> {
readonly attribute boolean <a href="#dom-navigator-online" title="dom-navigator-onLine">onLine</a>;
};
[Supplemental, NoInterfaceObject]
interface <dfn id="navigatorabilities">NavigatorAbilities</dfn> {
// content handler registration
void <a href="#dom-navigator-registerprotocolhandler" title="dom-navigator-registerProtocolHandler">registerProtocolHandler</a>(in DOMString scheme, in DOMString url, in DOMString title);
void <a href="#dom-navigator-registercontenthandler" title="dom-navigator-registerContentHandler">registerContentHandler</a>(in DOMString mimeType, in DOMString url, in DOMString title);
void <a href="#dom-navigator-getstorageupdates" title="dom-navigator-getStorageUpdates">getStorageUpdates</a>();
<!-- v2: cookieEnabled geolocator javaEnabled mozIsLocallyAvailable preference
readonly attribute <span>MimeTypeArray</span> <span title="dom-navigator-mimeTypes">mimeTypes</span>;
readonly attribute <span>PluginArray</span> <span title="dom-navigator-plugins">plugins</span>;
(the latter is used in a <video> element demo now, so we might need to pull this forward from v2!)
-->};</pre><h4 id="client-identification"><span class="secno">6.6.1 </span>Client identification</h4><p>In certain cases, despite the best efforts of the entire
industry, Web browsers have bugs and limitations that Web authors
are forced to work around.</p><p>This section defines a collection of attributes that can be used
to determine, from script, the kind of user agent in use, in order
to work around these issues.</p><p>Client detection should always be limited to detecting known
current versions; future versions and unknown versions should always
be assumed to be fully compliant.</p><dl class="domintro"><dt><var title="">window</var> . <code title="dom-navigator"><a href="#dom-navigator">navigator</a></code> . <code title="dom-navigator-appName"><a href="#dom-navigator-appname">appName</a></code></dt>
<dd>
<p>Returns the name of the browser.</p>
</dd>
<dt><var title="">window</var> . <code title="dom-navigator"><a href="#dom-navigator">navigator</a></code> . <code title="dom-navigator-appVersion"><a href="#dom-navigator-appversion">appVersion</a></code></dt>
<dd>
<p>Returns the version of the browser.</p>
</dd>
<dt><var title="">window</var> . <code title="dom-navigator"><a href="#dom-navigator">navigator</a></code> . <code title="dom-navigator-platform"><a href="#dom-navigator-platform">platform</a></code></dt>
<dd>
<p>Returns the name of the platform.</p>
</dd>
<dt><var title="">window</var> . <code title="dom-navigator"><a href="#dom-navigator">navigator</a></code> . <code title="dom-navigator-userAgent"><a href="#dom-navigator-useragent">userAgent</a></code></dt>
<dd>
<p>Returns the complete User-Agent header.</p>
</dd>
</dl><h4 id="custom-handlers"><span class="secno">6.6.2 </span>Custom scheme and content handlers</h4><p class="XXX annotation"><b>Status: </b><i>Working draft</i></p><p>The <dfn id="dom-navigator-registerprotocolhandler" title="dom-navigator-registerProtocolHandler"><code>registerProtocolHandler()</code></dfn>
method allows Web sites to register themselves as possible handlers
for particular schemes. For example, an online fax service could
register itself as a handler of the <code>fax:</code> scheme (<a href="references.html#refsRFC2806">[RFC2806]</a>), so that if the user clicks on
such a link, he is given the opportunity to use that Web
site. Analogously, the <dfn id="dom-navigator-registercontenthandler" title="dom-navigator-registerContentHandler"><code>registerContentHandler()</code></dfn>
method allows Web sites to register themselves as possible handlers
for content in a particular <a href="infrastructure.html#mime-type">MIME type</a>. For example, the same online
fax service could register itself as a handler for
<code>image/g3fax</code> files (<a href="references.html#refsRFC1494">[RFC1494]</a>), so that if the user has no
native application capable of handling G3 Facsimile byte streams,
his Web browser can instead suggest he use that site to view the
image.</p><dl class="domintro"><dt><var title="">window</var> . <code title="dom-navigator"><a href="#dom-navigator">navigator</a></code> . <code title="dom-navigator-registerProtocolHandler"><a href="#dom-navigator-registerprotocolhandler">registerProtocolHandler</a></code>(<var title="">scheme</var>, <var title="">url</var>, <var title="">title</var>)</dt>
<dt><var title="">window</var> . <code title="dom-navigator"><a href="#dom-navigator">navigator</a></code> . <code title="dom-navigator-registerContentHandler"><a href="#dom-navigator-registercontenthandler">registerContentHandler</a></code>(<var title="">mimeType</var>, <var title="">url</var>, <var title="">title</var>)</dt>
<dd>
<p>Registers a handler for the given scheme or content type, at
the given URL, with the given title.</p>
<p>The string "<code title="">%s</code>" in the URL is used as a
placeholder for where to put the URL of the content to be
handled.</p>
<p>Throws a <code><a href="infrastructure.html#security_err">SECURITY_ERR</a></code> exception if the user agent
blocks the registration (this might happen if trying to register
as a handler for "http", for instance).</p>
<p>Throws a <code><a href="infrastructure.html#syntax_err">SYNTAX_ERR</a></code> if the "<code title="">%s</code>" string is missing in the URL.</p>
</dd>
</dl><h4 id="manually-releasing-the-storage-mutex"><span class="secno">6.6.3 </span>Manually releasing the storage mutex</h4><dl class="domintro"><dt><var title="">window</var> . <code title="dom-navigator"><a href="#dom-navigator">navigator</a></code> . <code title="dom-navigator-getStorageUpdates"><a href="#dom-navigator-getstorageupdates">getStorageUpdates</a></code>()</dt>
<dd>
<p>If a script uses the <code title="dom-document-cookie"><a href="#dom-document-cookie">document.cookie</a></code> API, or the
<code title="dom-localStorage">localStorage</code> API, the
browser will block other scripts from accessing cookies or storage
until the first script finishes.</p>
<p>Calling the <code title="dom-navigator-getStorageUpdates"><a href="#dom-navigator-getstorageupdates">navigator.getStorageUpdates()</a></code>
method tells the user agent to unblock any other scripts that may
be blocked, even though the script hasn't returned.</p>
<p>Values of cookies and items in the <code>Storage</code> objects
of <code title="dom-localStorage">localStorage</code> attributes
can change after calling this method, whence its name.</p>
</dd>
</dl></body></html>
--- NEW FILE: the-xhtml-syntax.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>10 The XHTML syntax — HTML 5</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 { border-bottom: solid; }
table tbody th:first-child { border-left: solid; }
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; }
.applies th > * { display: block; }
.applies thead code { display: block; }
.applies td { text-align: center; }
.applies .yes { background: yellow; }
.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: #EEFFEE; }
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"]), li > span:not([title=""]):not([class="XXX"]):not([class="impl"]) { 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; }
p.copyright { 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; }
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; }
.tall-and-narrow {
font-size: 0.6em;
column-width: 25em;
column-gap: 1em;
-moz-column-width: 25em;
-moz-column-gap: 1em;
-webkit-column-width: 25em;
-webkit-column-gap: 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; }
</style><link href="data:text/css," rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" rel="alternate stylesheet" title="Highlight implementation requirements"><link href="http://www.w3.org/StyleSheets/TR/W3C-WD" rel="stylesheet" type="text/css"><!-- ZZZ ED vs WD --><link href="named-character-references.html" title="9.2 Named character references" rel="prev">
<link href="Overview.html#contents" title="Table of contents" rel="index">
<link href="obsolete.html" title="11 Obsolete features" rel="next">
</head><body onload="fixBrokenLink(); fixBrokenLink()"><div class="head">
<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>HTML 5</h1>
<h2 class="no-num no-toc" id="a-vocabulary-and-associated-apis-for-html-and-xhtml">A vocabulary and associated APIs for HTML and XHTML</h2>
</div><div>
<a href="named-character-references.html">← 9.2 Named character references</a> –
<a href="Overview.html#contents">Table of contents</a> –
<a href="obsolete.html">11 Obsolete features →</a>
</div>
<h2 id="the-xhtml-syntax"><span class="secno">10 </span><dfn id="xhtml">The XHTML syntax</dfn></h2><p class="note">This section only describes the rules for XML
resources. Rules for <code><a href="iana-considerations.html#text-html">text/html</a></code> resources are discussed
in the section above entitled "<a href="syntax.html#syntax">The HTML syntax</a>".</p><p>The syntax for using HTML with XML, whether in XHTML documents or
embedded in other XML documents, is defined in the XML and
Namespaces in XML specifications. <a href="references.html#refsXML">[XML]</a> <a href="references.html#refsXMLNS">[XMLNS]</a></p><p>This specification does not define any syntax-level requirements
beyond those defined for XML proper.</p><p>XML documents may contain a <code>DOCTYPE</code> if desired, but
this is not required to conform to this specification. This
specification does not define a public or system identifier, nor
provide a format DTD.</p><p class="note">According to the XML specification, XML processors
are not guaranteed to process the external DTD subset referenced in
the DOCTYPE. This means, for example, that using entity references
for characters in XHTML documents is unsafe if they are defined in
an external file (except for <code title="">&lt;</code>, <code title="">&gt;</code>, <code title="">&amp;</code>, <code title="">&quot;</code> and <code title="">&apos;</code>).</p><h4 id="selectors"><span class="secno">10.1 </span>Selectors</h4><p>Attribute and element <em>names</em> of <a href="infrastructure.html#html-elements">HTML
elements</a> in <a href="dom.html#html-documents">HTML documents</a> must be treated as
<a href="infrastructure.html#ascii-case-insensitive">ASCII case-insensitive</a>.</p><p>Classes from the <code title="attr-class"><a href="dom.html#classes">class</a></code> attribute
of <a href="infrastructure.html#html-elements">HTML elements</a> in documents that are in <a href="#quirks-mode">quirks
mode</a> must be treated as <a href="infrastructure.html#ascii-case-insensitive">ASCII
case-insensitive</a>.</p><p>Attribute selectors on an <a href="infrastructure.html#html-elements" title="HTML elements">HTML
element</a> in an <a href="dom.html#html-documents" title="HTML documents">HTML
document</a> must treat the <em>values</em> of attributes with
the following names as <a href="infrastructure.html#ascii-case-insensitive">ASCII case-insensitive</a>:</p><!-- based on Mozilla's list, which was itself based on HTML4 --><!-- WebKit's was identical at the time of writing except as noted below --><ul class="brief"><li><code title="">accept</code>
</li><li><code title="">accept-charset</code>
</li><li><code title="">align</code>
</li><li><code title="">alink</code>
</li><li><code title="">axis</code>
</li><li><code title="">bgcolor</code>
</li><li><code title="">charset</code>
</li><li><code title="">checked</code>
</li><li><code title="">clear</code>
</li><li><code title="">codetype</code>
</li><li><code title="">color</code>
</li><li><code title="">compact</code>
</li><li><code title="">declare</code>
</li><li><code title="">defer</code>
</li><li><code title="">dir</code>
</li><li><code title="">direction</code> <!-- not in webkit -->
</li><li><code title="">disabled</code>
</li><li><code title="">enctype</code>
</li><li><code title="">face</code>
</li><li><code title="">frame</code>
</li><li><code title="">hreflang</code>
</li><li><code title="">http-equiv</code>
</li><li><code title="">lang</code>
</li><li><code title="">language</code>
</li><li><code title="">link</code>
</li><li><code title="">media</code>
</li><li><code title="">method</code>
</li><li><code title="">multiple</code>
</li><li><code title="">nohref</code>
</li><li><code title="">noresize</code>
</li><li><code title="">noshade</code>
</li><li><code title="">nowrap</code>
</li><li><code title="">readonly</code>
</li><li><code title="">rel</code>
</li><li><code title="">rev</code>
</li><li><code title="">rules</code>
</li><li><code title="">scope</code>
</li><li><code title="">scrolling</code>
</li><li><code title="">selected</code>
</li><li><code title="">shape</code>
</li><li><code title="">target</code>
</li><li><code title="">text</code>
</li><li><code title="">type</code>
</li><li><code title="">valign</code>
</li><li><code title="">valuetype</code>
</li><li><code title="">vlink</code>
</li></ul><p>All other <a href="infrastructure.html#html-elements">HTML elements</a> and all attribute names and
values on <a href="infrastructure.html#html-elements">HTML elements</a> must be treated as
<a href="infrastructure.html#case-sensitive">case-sensitive</a>.</p></body></html>
--- NEW FILE: offline.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>6.7 Offline Web applications — HTML 5</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 { border-bottom: solid; }
table tbody th:first-child { border-left: solid; }
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; }
.applies th > * { display: block; }
.applies thead code { display: block; }
.applies td { text-align: center; }
.applies .yes { background: yellow; }
.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: #EEFFEE; }
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"]), li > span:not([title=""]):not([class="XXX"]):not([class="impl"]) { 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; }
p.copyright { 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; }
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; }
.tall-and-narrow {
font-size: 0.6em;
column-width: 25em;
column-gap: 1em;
-moz-column-width: 25em;
-moz-column-gap: 1em;
-webkit-column-width: 25em;
-webkit-column-gap: 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; }
</style><link href="data:text/css," rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" rel="alternate stylesheet" title="Highlight implementation requirements"><link href="http://www.w3.org/StyleSheets/TR/W3C-WD" rel="stylesheet" type="text/css"><!-- ZZZ ED vs WD --><link href="browsers.html" title="6 Web browsers" rel="prev">
<link href="Overview.html#contents" title="Table of contents" rel="index">
<link href="history.html" title="6.8 Session history and navigation" rel="next">
</head><body onload="fixBrokenLink(); fixBrokenLink()"><div class="head">
<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>HTML 5</h1>
<h2 class="no-num no-toc" id="a-vocabulary-and-associated-apis-for-html-and-xhtml">A vocabulary and associated APIs for HTML and XHTML</h2>
</div><div>
<a href="browsers.html">← 6 Web browsers</a> –
<a href="Overview.html#contents">Table of contents</a> –
<a href="history.html">6.8 Session history and navigation →</a>
</div>
<h3 id="offline"><span class="secno">6.7 </span>Offline Web applications</h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><!-- v2 ideas for appcache:
* A way to limit what gets download when the user agent is
updating the application cache and it turns out the server has
changed EVERY page because every page has a dynamic "site last
modified" date on it.
http://groups.google.com/group/gears-users/browse_thread/thread/efbd808325df607a/c73adb34f9b63cf7?hl=en&q=whatwg#c73adb34f9b63cf7
* Multiuser appcaches.
If the application code (HTML, JS, CSS) is all the same for two
users, then appcache works for multiple users by just having
the data for the users separate from the logic.
This is the expected model for most apps. For example, your
typical blog has just one set of CSS for all users.
For systems where the user affects what HTML, JS, and CSS is
served back, the spec as written pretty much requires that
there be one app per user, and one generic "login" app that
then redirects to one of those other apps - and where each app
has a different base URL, separate manifest, etc.
An alternative that we could explore in a future version is to
have the manifest include a manifest name, and then have script
that allows you to "activate" a particular manifest name for a
given appcache.
So each appcache group would be futher subdivided into named
subgroups, and for a given manifest URL with such a group of
subgroups, one subgroup would be the default one at a time. The
inactive ones would just lie dormant, but and the active ones
would act like now, but there'd be a scripted way to change the
default (and maybe query what available variants exist for the
current appcache), so that you could log back in as someone
else by just making the script pick the other user's variant,
and then reloading.
--><h4 id="introduction-3"><span class="secno">6.7.1 </span>Introduction</h4><p><i>This section is non-normative.</i></p><p>In order to enable users to continue interacting with Web
applications and documents even when their network connection is
unavailable — for instance, because they are traveling outside
of their ISP's coverage area — authors can provide a manifest
which lists the files that are needed for the Web application to
work offline and which causes the user's browser to keep a copy of
the files for use offline.</p><p>To illustrate this, consider a simple clock applet consisting of
an HTML page "<code title="">clock.html</code>", a CSS style sheet
"<code title="">clock.css</code>", and a JavaScript script "<code title="">clock.js</code>".</p><p>Before adding the manifest, these three files might look like
this:</p><pre><!-- clock.html -->
<!DOCTYPE HTML>
<html>
<head>
<title>Clock</title>
<script src="clock.js"></script>
<link rel="stylesheet" href="clock.css">
</head>
<body>
<p>The time is: <output id="clock"></output></p>
</body>
</html></pre><pre>/* clock.css */
output { font: 2em sans-serif; }</pre><pre>/* clock.js */
setTimeout(function () {
document.getElementById('clock').value = new Date();
}, 1000);</pre><p>If the user tries to open the "<code title="">clock.html</code>"
page while offline, though, the user agent (unless it happens to
have it still in the local cache) will fail with an error.</p><p>The author can instead provide a manifest of the three files:</p><pre>CACHE MANIFEST
clock.html
clock.css
clock.js</pre><p>With a small change to the HTML file, the manifest (served as
<code><a href="iana-considerations.html#text-cache-manifest">text/cache-manifest</a></code>) is linked to the application:</p><pre><!-- clock.html -->
<!DOCTYPE HTML>
<html manifest="clock.manifest">
<head>
<title>Clock</title>
<script src="clock.js"></script>
<link rel="stylesheet" href="clock.css">
</head>
<body>
<p>The time is: <output id="clock"></output></p>
</body>
</html></pre><p>Now, if the user goes to the page, the browser will cache the
files and make them available even when the user is offline.</p><h5 id="event-summary"><span class="secno">6.7.1.1 </span>Event summary</h5><p>When the user visits a page that declares a manifest, the browser
will try to update the cache. It does this by fetching a copy of the
manifest and, if the manifest has changed since the user agent last
saw it, redownloading all the resources it mentions and caching them
anew.</p><p>As this is going on, a number of events get fired to keep the
script updated as to the state of the cache update, so that the user
can be notified appropriately. The events are as follows:</p><table><thead><tr><th> Event name
</th><th> Occasion
</th><th> Next events
</th></tr></thead><tbody><tr><td> <dfn id="event-appcache-checking" title="event-appcache-checking"><code>checking</code></dfn>
</td><td> The user agent is checking for an update, or attempting to download the manifest for the first time.
</td><td> <code title="event-appcache-noupdate"><a href="#event-appcache-noupdate">noupdate</a></code>, <code title="event-appcache-downloading"><a href="#event-appcache-downloading">downloading</a></code>, <code title="event-appcache-obsolete"><a href="#event-appcache-obsolete">obsolete</a></code>, <code title="event-appcache-error"><a href="#event-appcache-error">error</a></code>
</td></tr><tr><td> <dfn id="event-appcache-noupdate" title="event-appcache-noupdate"><code>noupdate</code></dfn>
</td><td> The manifest hadn't changed.
</td><td> (Last event in sequence.)
</td></tr><tr><td> <dfn id="event-appcache-downloading" title="event-appcache-downloading"><code>downloading</code></dfn>
</td><td> The user agent has found an update and is fetching it, or is downloading the resources listed by the manifest for the first time.
</td><td> <code title="event-appcache-progress"><a href="#event-appcache-progress">progress</a></code>, <code title="event-appcache-error"><a href="#event-appcache-error">error</a></code>, <code title="event-appcache-cached"><a href="#event-appcache-cached">cached</a></code>, <code title="event-appcache-updateready"><a href="#event-appcache-updateready">updateready</a></code>
</td></tr><tr><td> <dfn id="event-appcache-progress" title="event-appcache-progress"><code>progress</code></dfn>
</td><td> The user agent is downloading resources listed by the manifest.
</td><td> <code title="event-appcache-progress"><a href="#event-appcache-progress">progress</a></code>, <code title="event-appcache-error"><a href="#event-appcache-error">error</a></code>, <code title="event-appcache-cached"><a href="#event-appcache-cached">cached</a></code>, <code title="event-appcache-updateready"><a href="#event-appcache-updateready">updateready</a></code>
</td></tr><tr><td> <dfn id="event-appcache-cached" title="event-appcache-cached"><code>cached</code></dfn>
</td><td> The resources listed in the manifest have been downloaded, and the application is now cached.
</td><td> Last event in sequence.
</td></tr><tr><td> <dfn id="event-appcache-updateready" title="event-appcache-updateready"><code>updateready</code></dfn>
</td><td> The resources listed in the manifest have been newly redownloaded, and the script can use <code title="dom-appcache-swapCache"><a href="#dom-appcache-swapcache">swapCache()</a></code> to switch to the new cache.
</td><td> Last event in sequence.
</td></tr><tr><td> <dfn id="event-appcache-obsolete" title="event-appcache-obsolete"><code>obsolete</code></dfn>
</td><td> The manifest was found to have become a 404 or 410 page, so the application cache is being deleted.
</td><td> Last event in sequence.
</td></tr><tr><td rowspan="4"> <dfn id="event-appcache-error" title="event-appcache-error"><code>error</code></dfn>
</td><td> The manifest was a 404 or 410 page, so the attempt to cache the application has been aborted.
</td><td rowspan="3"> Last event in sequence.
</td></tr><tr><td> The manifest hadn't changed, but the page referencing the manifest failed to download properly.
</td></tr><tr><td> A fatal error occurred while fetching the resources listed in the manifest.
</td></tr><tr><td> The manifest changed while the update was being run.
</td><td> The user agent will try fetching the files again momentarily.
</td></tr></tbody></table><h4 id="manifests"><span class="secno">6.7.2 </span>The cache manifest syntax</h4><h5 id="a-sample-manifest"><span class="secno">6.7.2.1 </span>A sample manifest</h5><p><i>This section is non-normative.</i></p><p>This example manifest requires two images and a style sheet to be
cached and whitelists a CGI script.</p><pre>CACHE MANIFEST
# the above line is required
# this is a comment
# there can be as many of these anywhere in the file
# they are all ignored
# comments can have spaces before them
# but must be alone on the line
# blank lines are ignored too
# these are files that need to be cached they can either be listed
# first, or a "CACHE:" header could be put before them, as is done
# lower down.
images/sound-icon.png
images/background.png
# note that each file has to be put on its own line
# here is a file for the online whitelist -- it isn't cached, and
# references to this file will bypass the cache, always hitting the
# network (or trying to, if the user is offline).
NETWORK:
comm.cgi
# here is another set of files to cache, this time just the CSS file.
CACHE:
style/default.css</pre><h5 id="writing-cache-manifests"><span class="secno">6.7.2.2 </span>Writing cache manifests</h5><p>Manifests must be served using the
<code><a href="iana-considerations.html#text-cache-manifest">text/cache-manifest</a></code> <a href="infrastructure.html#mime-type">MIME type</a>. All
resources served using the <code><a href="iana-considerations.html#text-cache-manifest">text/cache-manifest</a></code>
<a href="infrastructure.html#mime-type">MIME type</a> must follow the syntax of application cache
manifests, as described in this section.</p><p>An application cache manifest is a text file, whose text is
encoded using UTF-8. Data in application cache manifests is
line-based. Newlines must be represented by U+000A LINE FEED (LF)
characters, U+000D CARRIAGE RETURN (CR) characters, or U+000D
CARRIAGE RETURN (CR) U+000A LINE FEED (LF) pairs.</p><p class="note">This is a <a href="introduction.html#willful-violation" title="willful violation">willful
double violation</a> of RFC 2046, which requires all <code title="">text/*</code> types to support an open-ended set of
character encodings and only allows CRLF line breaks. These
requirements, however, are outdated; UTF-8 is now widely used, such
that supporting other encodings is no longer necessary, and use of
CR, LF, and CRLF line breaks is commonly supported and indeed
sometimes CRLF is <em>not</em> supported by text editors. <a href="references.html#refsRFC2046">[RFC2046]</a></p><!-- also RFC 2045 for charset
--><p>The first line of an application cache manifest must consist of
the string "CACHE", a single U+0020 SPACE character, the string
"MANIFEST", and either a U+0020 SPACE character, a U+0009 CHARACTER
TABULATION (tab) character, a U+000A LINE FEED (LF) character, or a
U+000D CARRIAGE RETURN (CR) character. The first line may optionally
be preceded by a U+FEFF BYTE ORDER MARK (BOM) character. If any
other text is found on the first line, it is ignored.</p><p>Subsequent lines, if any, must all be one of the following:</p><dl><dt>A blank line
</dt><dd>
<p>Blank lines must consist of zero or more U+0020 SPACE and
U+0009 CHARACTER TABULATION (tab) characters only.</p>
</dd><dt>A comment
</dt><dd>
<p>Comment lines must consist of zero or more U+0020 SPACE and
U+0009 CHARACTER TABULATION (tab) characters, followed by a single
U+0023 NUMBER SIGN (#) character, followed by zero or more
characters other than U+000A LINE FEED (LF) and U+000D CARRIAGE
RETURN (CR) characters.</p>
<p class="note">Comments must be on a line on their own. If they
were to be included on a line with a URL, the "#" would be
mistaken for part of a fragment identifier.</p>
</dd><dt>A section header
</dt><dd>
<p>Section headers change the current section. There are three
possible section headers:
</p><dl><dt><code>CACHE:</code>
</dt><dd>Switches to the explicit section.
</dd><dt><code>FALLBACK:</code>
</dt><dd>Switches to the fallback section.
</dd><dt><code>NETWORK:</code>
</dt><dd>Switches to the online whitelist section.
</dd></dl><p>Section header lines must consist of zero or more U+0020 SPACE
and U+0009 CHARACTER TABULATION (tab) characters, followed by one
of the names above (including the U+003A COLON (:) character)
followed by zero or more U+0020 SPACE and U+0009 CHARACTER
TABULATION (tab) characters.</p>
<p>Ironically, by default, the current section is the explicit
section.</p>
</dd><dt>Data for the current section
</dt><dd>
<p>The format that data lines must take depends on the current
section.</p>
<p>When the current section is the explicit section, data lines
must consist of zero or more U+0020 SPACE and U+0009 CHARACTER
TABULATION (tab) characters, a <a href="infrastructure.html#valid-url">valid URL</a> identifying
a resource other than the manifest itself, and then zero or more
U+0020 SPACE and U+0009 CHARACTER TABULATION (tab) characters.</p>
<p>When the current section is the online whitelist section, data
lines must consist of zero or more U+0020 SPACE and U+0009
CHARACTER TABULATION (tab) characters, either a single U+002A
ASTERISK character (*) <!--
concept-appcache-onlinewhitelist-wildcard --> or a <a href="infrastructure.html#valid-url">valid
URL</a> identifying a resource other than the manifest itself,
and then zero or more U+0020 SPACE and U+0009 CHARACTER TABULATION
(tab) characters.</p>
<p>When the current section is the fallback section, data lines
must consist of zero or more U+0020 SPACE and U+0009 CHARACTER
TABULATION (tab) characters, a <a href="infrastructure.html#valid-url">valid URL</a> identifying
a resource other than the manifest itself, one or more U+0020
SPACE and U+0009 CHARACTER TABULATION (tab) characters, another
<a href="infrastructure.html#valid-url">valid URL</a> identifying a resource other than the
manifest itself, and then zero or more U+0020 SPACE and U+0009
CHARACTER TABULATION (tab) characters.</p>
<p class="note">The URLs in data lines can't be empty strings,
since those would be relative URLs to the manifest itself. Such
lines would be confused with blank or invalid lines, anyway.</p>
</dd></dl><p>Manifests may contain sections more than once. Sections may be
empty.</p><p>URLs that are to be fallback pages associated with <a href="#concept-appcache-fallback-ns" title="concept-appcache-fallback-ns">fallback namespaces</a>, and
those namespaces themselves, must be given in fallback sections,
with the namespace being the first URL of the data line, and the
corresponding fallback page being the second URL. All the other
pages to be cached must be listed in explicit sections.</p><p><a href="#concept-appcache-fallback-ns" title="concept-appcache-fallback-ns">Fallback
namespaces</a> and <a href="#concept-appcache-fallback" title="concept-appcache-fallback">fallback entries</a> must have
the <a href="#same-origin">same origin</a> as the manifest itself.</p><p>A <a href="#concept-appcache-fallback-ns" title="concept-appcache-fallback-ns">fallback
namespace</a> must not be listed more than once.</p><p>URLs that the user agent is to put into the <a href="#concept-appcache-onlinewhitelist" title="concept-appcache-onlinewhitelist">online whitelist</a>
must all be specified in online whitelist sections. (This is needed
for any URL that the page is intending to use to communicate back to
the server.) To specify that all URLs are automatically whitelisted
in this way, a U+002A ASTERISK character (*) character may be
specified as one of the URLs. <!--
concept-appcache-onlinewhitelist-wildcard --></p><p>Relative URLs must be given relative to the manifest's own
URL. All URLs in the manifest must have the same <a href="#url-scheme" title="url-scheme"><scheme></a> as the manifest itself
(either explicitly or implicitly, through the use of relative
URLs).</p><p>URLs in manifests must not have fragment identifiers (i.e. the
U+0023 NUMBER SIGN character isn't allowed in URLs in
manifests).</p><h4 id="expiring-application-caches"><span class="secno">6.7.3 </span>Expiring application caches</h4><p>As a general rule, user agents should not expire application
caches, except on request from the user, or after having been left
unused for an extended period of time.</p><p>Implementors are encouraged to expose application caches in a
manner related to HTTP cookies, allowing caches to be expired
together with cookies and other origin-specific data. Application
caches and cookies have similar implications with respect to privacy
(e.g. if the site can identify the user when providing the cache, it
can store data in the cache that can be used for cookie
resurrection).</p><h4 id="application-cache-api"><span class="secno">6.7.4 </span>Application cache API</h4><pre class="idl">interface <dfn id="applicationcache">ApplicationCache</dfn> {
// <a href="#concept-appcache-status" title="concept-appcache-status">update status</a>
const unsigned short <a href="#dom-appcache-uncached" title="dom-appcache-UNCACHED">UNCACHED</a> = 0;
const unsigned short <a href="#dom-appcache-idle" title="dom-appcache-IDLE">IDLE</a> = 1;
const unsigned short <a href="#dom-appcache-checking" title="dom-appcache-CHECKING">CHECKING</a> = 2;
const unsigned short <a href="#dom-appcache-downloading" title="dom-appcache-DOWNLOADING">DOWNLOADING</a> = 3;
const unsigned short <a href="#dom-appcache-updateready" title="dom-appcache-UPDATEREADY">UPDATEREADY</a> = 4;
const unsigned short <a href="#dom-appcache-obsolete" title="dom-appcache-OBSOLETE">OBSOLETE</a> = 5;
readonly attribute unsigned short <a href="#dom-appcache-status" title="dom-appcache-status">status</a>;
// updates
void <a href="#dom-appcache-update" title="dom-appcache-update">update</a>();
void <a href="#dom-appcache-swapcache" title="dom-appcache-swapCache">swapCache</a>();
// events
attribute <a href="#function">Function</a> <a href="#handler-appcache-onchecking" title="handler-appcache-onchecking">onchecking</a>;
attribute <a href="#function">Function</a> <a href="#handler-appcache-onerror" title="handler-appcache-onerror">onerror</a>;
attribute <a href="#function">Function</a> <a href="#handler-appcache-onnoupdate" title="handler-appcache-onnoupdate">onnoupdate</a>;
attribute <a href="#function">Function</a> <a href="#handler-appcache-ondownloading" title="handler-appcache-ondownloading">ondownloading</a>;
attribute <a href="#function">Function</a> <a href="#handler-appcache-onprogress" title="handler-appcache-onprogress">onprogress</a>;
attribute <a href="#function">Function</a> <a href="#handler-appcache-onupdateready" title="handler-appcache-onupdateready">onupdateready</a>;
attribute <a href="#function">Function</a> <a href="#handler-appcache-oncached" title="handler-appcache-oncached">oncached</a>;
attribute <a href="#function">Function</a> <a href="#handler-appcache-onobsolete" title="handler-appcache-onobsolete">onobsolete</a>;
};</pre><dl class="domintro"><dt><var title="">cache</var> = <var title="">window</var> . <code title="dom-applicationCache"><a href="#dom-applicationcache">applicationCache</a></code></dt>
<dd>
<p>(In a window.) Returns the <code><a href="#applicationcache">ApplicationCache</a></code> object that applies to the <a href="browsers.html#active-document">active document</a> of that <code><a href="browsers.html#window">Window</a></code>.</p>
</dd>
<dt><var title="">cache</var> = <var title="">self</var> . <code title="dom-applicationCache"><a href="#dom-applicationcache">applicationCache</a></code></dt>
<dd>
<p>(In a shared worker.) Returns the <code><a href="#applicationcache">ApplicationCache</a></code> object that applies to the current shared worker.</p>
</dd>
<dt><var title="">cache</var> . <code title="dom-appcache-status"><a href="#dom-appcache-status">status</a></code></dt>
<dd>
<p>Returns the current status of the application cache, as given by the constants defined below.</p>
</dd>
<dt><var title="">cache</var> . <code title="dom-appcache-update"><a href="#dom-appcache-update">update</a></code>()</dt>
<dd>
<p>Invokes the application cache update process.</p>
<p>Throws an <code><a href="infrastructure.html#invalid_access_err">INVALID_ACCESS_ERR</a></code> exception if there is no application cache to update.</p>
</dd>
<dt><var title="">cache</var> . <code title="dom-appcache-swapCache"><a href="#dom-appcache-swapcache">swapCache</a></code>()</dt>
<dd>
<p>Switches to the most recent application cache, if there is a newer one. If there isn't, throws an <code><a href="infrastructure.html#invalid_access_err">INVALID_ACCESS_ERR</a></code> exception.</p>
</dd>
</dl><dl><dt><dfn id="dom-appcache-uncached" title="dom-appcache-UNCACHED"><code>UNCACHED</code></dfn>
(numeric value 0)</dt>
<dd><p>The <code><a href="#applicationcache">ApplicationCache</a></code> object's <a href="#cache-host">cache
host</a> is not associated with an <a href="#application-cache">application
cache</a> at this time.</p></dd>
<dt><dfn id="dom-appcache-idle" title="dom-appcache-IDLE"><code>IDLE</code></dfn>
(numeric value 1)</dt>
<dd><p>The <code><a href="#applicationcache">ApplicationCache</a></code> object's <a href="#cache-host">cache
host</a> is associated with an <a href="#application-cache">application cache</a>
whose <a href="#application-cache-group">application cache group</a>'s <a href="#concept-appcache-status" title="concept-appcache-status">update status</a> is
<i>idle</i>, and that <a href="#application-cache">application cache</a> is the <a href="#concept-appcache-newer" title="concept-appcache-newer">newest</a> cache in its
<a href="#application-cache-group">application cache group</a>, and the <a href="#application-cache-group">application
cache group</a> is not marked as <a href="#concept-appcache-obsolete" title="concept-appcache-obsolete">obsolete</a>.</p></dd>
<dt><dfn id="dom-appcache-checking" title="dom-appcache-CHECKING"><code>CHECKING</code></dfn>
(numeric value 2)</dt>
<dd><p>The <code><a href="#applicationcache">ApplicationCache</a></code> object's <a href="#cache-host">cache
host</a> is associated with an <a href="#application-cache">application cache</a>
whose <a href="#application-cache-group">application cache group</a>'s <a href="#concept-appcache-status" title="concept-appcache-status">update status</a> is
<i>checking</i>.</p></dd>
<dt><dfn id="dom-appcache-downloading" title="dom-appcache-DOWNLOADING"><code>DOWNLOADING</code></dfn>
(numeric value 3)</dt>
<dd><p>The <code><a href="#applicationcache">ApplicationCache</a></code> object's <a href="#cache-host">cache
host</a> is associated with an <a href="#application-cache">application cache</a>
whose <a href="#application-cache-group">application cache group</a>'s <a href="#concept-appcache-status" title="concept-appcache-status">update status</a> is
<i>downloading</i>.</p></dd>
<dt><dfn id="dom-appcache-updateready" title="dom-appcache-UPDATEREADY"><code>UPDATEREADY</code></dfn>
(numeric value 4)</dt>
<dd><p>The <code><a href="#applicationcache">ApplicationCache</a></code> object's <a href="#cache-host">cache
host</a> is associated with an <a href="#application-cache">application cache</a>
whose <a href="#application-cache-group">application cache group</a>'s <a href="#concept-appcache-status" title="concept-appcache-status">update status</a> is
<i>idle</i>, and whose <a href="#application-cache-group">application cache group</a> is not
marked as <a href="#concept-appcache-obsolete" title="concept-appcache-obsolete">obsolete</a>,
but that <a href="#application-cache">application cache</a> is <em>not</em> the <a href="#concept-appcache-newer" title="concept-appcache-newer">newest</a> cache in its
group.</p></dd>
<dt><dfn id="dom-appcache-obsolete" title="dom-appcache-OBSOLETE"><code>OBSOLETE</code></dfn>
(numeric value 5)</dt>
<dd><p>The <code><a href="#applicationcache">ApplicationCache</a></code> object's <a href="#cache-host">cache
host</a> is associated with an <a href="#application-cache">application cache</a>
whose <a href="#application-cache-group">application cache group</a> is marked as <a href="#concept-appcache-obsolete" title="concept-appcache-obsolete">obsolete</a>.</p></dd>
</dl><h4 id="browser-state"><span class="secno">6.7.5 </span>Browser state</h4><dl class="domintro"><dt><var title="">window</var> . <code title="dom-navigator"><a href="#dom-navigator">navigator</a></code> . <code title="dom-navigator-onLine"><a href="#dom-navigator-online">onLine</a></code></dt>
<dd>
<p>Returns false if the user agent is definitely offline
(disconnected from the network). Returns true if the user agent
might be online.</p>
</dd>
</dl><p class="note">This attribute is inherently unreliable. A computer
can be connected to a network without having Internet access.</p></body></html>
--- NEW FILE: syntax.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>9 The HTML syntax — HTML 5</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 { border-bottom: solid; }
table tbody th:first-child { border-left: solid; }
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; }
.applies th > * { display: block; }
.applies thead code { display: block; }
.applies td { text-align: center; }
.applies .yes { background: yellow; }
.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: #EEFFEE; }
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"]), li > span:not([title=""]):not([class="XXX"]):not([class="impl"]) { 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; }
p.copyright { 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; }
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; }
.tall-and-narrow {
font-size: 0.6em;
column-width: 25em;
column-gap: 1em;
-moz-column-width: 25em;
-moz-column-gap: 1em;
-webkit-column-width: 25em;
-webkit-column-gap: 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; }
</style><link href="data:text/css," rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" rel="alternate stylesheet" title="Highlight implementation requirements"><link href="http://www.w3.org/StyleSheets/TR/W3C-WD" rel="stylesheet" type="text/css"><!-- ZZZ ED vs WD --><link href="comms.html" title="8 Communication" rel="prev">
<link href="Overview.html#contents" title="Table of contents" rel="index">
<link href="named-character-references.html" title="9.2 Named character references" rel="next">
</head><body onload="fixBrokenLink(); fixBrokenLink()"><div class="head">
<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>HTML 5</h1>
<h2 class="no-num no-toc" id="a-vocabulary-and-associated-apis-for-html-and-xhtml">A vocabulary and associated APIs for HTML and XHTML</h2>
</div><div>
<a href="comms.html">← 8 Communication</a> –
<a href="Overview.html#contents">Table of contents</a> –
<a href="named-character-references.html">9.2 Named character references →</a>
</div>
<h2 id="syntax"><span class="secno">9 </span><dfn>The HTML syntax</dfn></h2><p class="note">This section only describes the rules for
<code><a href="iana-considerations.html#text-html">text/html</a></code> resources. Rules for XML resources are
discussed in the section below entitled "<a href="the-xhtml-syntax.html#the-xhtml-syntax">The XHTML
syntax</a>".</p><h3 id="writing"><span class="secno">9.1 </span>Writing HTML documents</h3><p class="XXX annotation"><b>Status: </b><i>Working draft</i></p><p>Documents must consist of the following parts, in the given
order:</p><ol><li>Optionally, a single U+FEFF BYTE ORDER MARK (BOM) character.</li>
<li>Any number of <a href="#syntax-comments" title="syntax-comments">comments</a> and
<a href="#space-character" title="space character">space characters</a>.</li>
<li>A <a href="#syntax-doctype" title="syntax-doctype">DOCTYPE</a>.
</li><li>Any number of <a href="#syntax-comments" title="syntax-comments">comments</a> and
<a href="#space-character" title="space character">space characters</a>.</li>
<li>The root element, in the form of an <code><a href="semantics.html#the-html-element-0">html</a></code> <a href="#syntax-elements" title="syntax-elements">element</a>.</li>
<li>Any number of <a href="#syntax-comments" title="syntax-comments">comments</a> and
<a href="#space-character" title="space character">space characters</a>.</li>
</ol><p>The various types of content mentioned above are described in the
next few sections.</p><p>In addition, there are some restrictions on how <a href="semantics.html#character-encoding-declaration" title="character encoding declaration">character encoding
declarations</a> are to be serialized, as discussed in the
section on that topic.</p><div class="note">
<p>Space characters before the root <code><a href="semantics.html#the-html-element-0">html</a></code> element, and
space characters at the start of the <code><a href="semantics.html#the-html-element-0">html</a></code> element and
before the <code><a href="semantics.html#the-head-element-0">head</a></code> element, will be dropped when the
document is parsed; space characters <em>after</em> the root
<code><a href="semantics.html#the-html-element-0">html</a></code> element will be parsed as if they were at the end
of the <code><a href="semantics.html#the-body-element-0">body</a></code> element. Thus, space characters around the
root element do not round-trip.</p>
<p>It is suggested that newlines be inserted after the DOCTYPE,
after any comments that are before the root element, after the
<code><a href="semantics.html#the-html-element-0">html</a></code> element's start tag (if it is not <a href="#syntax-tag-omission" title="syntax-tag-omission">omitted</a>), and after any comments
that are inside the <code><a href="semantics.html#the-html-element-0">html</a></code> element but before the
<code><a href="semantics.html#the-head-element-0">head</a></code> element.</p>
</div><p>Many strings in the HTML syntax (e.g. the names of elements and
their attributes) are case-insensitive, but only for characters in
the ranges U+0041 .. U+005A (LATIN CAPITAL LETTER A to LATIN CAPITAL
LETTER Z) and U+0061 .. U+007A (LATIN SMALL LETTER A to LATIN SMALL
LETTER Z). For convenience, in this section this is just referred to
as "case-insensitive".</p><h4 id="the-doctype"><span class="secno">9.1.1 </span>The DOCTYPE</h4><p class="XXX annotation"><span><a href="http://www.w3.org/html/wg/tracker/issues/4">ISSUE-4</a> (html-versioning) and <a href="http://www.w3.org/html/wg/tracker/issues/54">ISSUE-54</a> (doctype-legacy-compat) block progress to Last Call</span></p><p>A <dfn id="syntax-doctype" title="syntax-doctype">DOCTYPE</dfn> is a mostly useless,
but required, header.</p><p class="note">DOCTYPEs are required for legacy reasons. When
omitted, browsers tend to use a different rendering mode that is
incompatible with some specifications. Including the DOCTYPE in a
document ensures that the browser makes a best-effort attempt at
following the relevant specifications.</p><p>A DOCTYPE must consist of the following characters, in this
order:</p><ol class="brief"><li>A U+003C LESS-THAN SIGN (<code><</code>) character.</li>
<li>A U+0021 EXCLAMATION MARK (<code>!</code>) character.</li>
<li>A string that is an <a href="infrastructure.html#ascii-case-insensitive">ASCII case-insensitive</a> match for the string "<code title="">DOCTYPE</code>".</li>
<li>One or more <a href="#space-character" title="space character">space characters</a>.</li>
<li>A string that is an <a href="infrastructure.html#ascii-case-insensitive">ASCII case-insensitive</a> match for the string "<code title="">HTML</code>".</li>
<li>Optionally, a <a href="#doctype-legacy-string">DOCTYPE legacy string</a> (defined below).</li>
<li>Zero or more <a href="#space-character" title="space character">space characters</a>.</li>
<li>A U+003E GREATER-THAN SIGN (<code>></code>) character.</li>
</ol><p class="note">In other words, <code><!DOCTYPE HTML></code>,
case-insensitively.</p><p>For the purposes of HTML generators that cannot output HTML
markup with the short DOCTYPE "<code title=""><!DOCTYPE
HTML></code>", a <dfn id="doctype-legacy-string">DOCTYPE legacy string</dfn> may be inserted
into the DOCTYPE (in the position defined above). This string must
consist of:</p><ol class="brief"><li>One or more <a href="#space-character" title="space character">space characters</a>.</li>
<li>A string that is an <a href="infrastructure.html#ascii-case-insensitive">ASCII case-insensitive</a> match for the string "<code title="">SYSTEM</code>".</li>
<li>One or more <a href="#space-character" title="space character">space characters</a>.</li>
<li>A U+0022 QUOTATION MARK or U+0027 APOSTROPHE character (the <i>quote mark</i>).</li>
<li>The literal string "<code title="">about:legacy-compat</code>".</li>
<li>A matching U+0022 QUOTATION MARK or U+0027 APOSTROPHE character (i.e. the same character as in the earlier step marked <i>quote mark</i>).</li>
</ol><p class="note">In other words, <code><!DOCTYPE HTML SYSTEM
"about:legacy-compat"></code> or <code><!DOCTYPE HTML SYSTEM
'about:legacy-compat'></code>, case-insensitively except for the bit
in quotes.</p><p>The <a href="#doctype-legacy-string">DOCTYPE legacy string</a> should not be used unless
the document is generated from a system that cannot output the
shorter string.</p><h4 id="elements-0"><span class="secno">9.1.2 </span>Elements</h4><p>There are five different kinds of <dfn id="syntax-elements" title="syntax-elements">elements</dfn>: void elements, raw text
elements, RCDATA elements, foreign elements, and normal
elements.</p><dl><dt><dfn id="void-elements">Void elements</dfn></dt>
<dd><code><a href="the-canvas-element.html#the-area-element">area</a></code>, <code><a href="semantics.html#the-base-element">base</a></code>, <code><a href="semantics.html#the-br-element">br</a></code>,
<code><a href="tabular-data.html#the-col-element">col</a></code>, <code><a href="interactive-elements.html#the-command">command</a></code>, <code><a href="text-level-semantics.html#the-embed-element">embed</a></code>,
<code><a href="semantics.html#the-hr-element">hr</a></code>, <code><a href="text-level-semantics.html#the-img-element">img</a></code>, <code><a href="forms.html#the-input-element">input</a></code>,
<code><a href="forms.html#the-keygen-element">keygen</a></code>, <code><a href="semantics.html#the-link-element">link</a></code>, <code><a href="semantics.html#meta">meta</a></code>,
<code><a href="text-level-semantics.html#the-param-element">param</a></code>, <code><a href="video.html#the-source-element">source</a></code></dd>
<dt>Raw text elements</dt>
<dd><code><a href="semantics.html#script">script</a></code>, <code><a href="semantics.html#the-style-element">style</a></code></dd> <!-- iframe and
noscript don't count as raw text for syntax purposes -->
<dt>RCDATA elements</dt>
<dd><code><a href="forms.html#the-textarea-element">textarea</a></code>, <code><a href="semantics.html#the-title-element-0">title</a></code></dd>
<dt>Foreign elements</dt>
<dd>Elements from the <a href="#mathml-namespace">MathML namespace</a>
and the <a href="#svg-namespace">SVG namespace</a>.</dd>
<dt>Normal elements</dt>
<dd>All other allowed <a href="infrastructure.html#html-elements">HTML elements</a> are normal
elements.</dd>
</dl><p><dfn id="syntax-tags" title="syntax-tags">Tags</dfn> are used to delimit the start
and end of elements in the markup. Raw text, RCDATA, and normal
elements have a <a href="#syntax-start-tag" title="syntax-start-tag">start tag</a> to
indicate where they begin, and an <a href="#syntax-end-tag" title="syntax-end-tag">end
tag</a> to indicate where they end. The start and end tags of
certain normal elements can be <a href="#syntax-tag-omission" title="syntax-tag-omission">omitted</a>, as described
later. Those that cannot be omitted must not be omitted. <a href="#void-elements">Void
elements</a> only have a start tag; end tags must not be
specified for void elements. Foreign elements must either have a
start tag and an end tag, or a start tag that is marked as
self-closing, in which case they must not have an end tag.</p><p>The contents of the element must be placed between just after the
start tag (which <a href="#syntax-tag-omission" title="syntax-tag-omission">might be implied,
in certain cases</a>) and just before the end tag (which again,
<a href="#syntax-tag-omission" title="syntax-tag-omission">might be implied in certain
cases</a>). The exact allowed contents of each individual element
depends on the content model of that element, as described earlier
in this specification. Elements must not contain content that their
content model disallows. In addition to the restrictions placed on
the contents by those content models, however, the five types of
elements have additional <em>syntactic</em> requirements.</p><p><a href="#void-elements">Void elements</a> can't have any contents (since there's
no end tag, no content can be put between the start tag and the end
tag).</p><p>Raw text elements can have <a href="#syntax-text" title="syntax-text">text</a>,
though it has <a href="#cdata-rcdata-restrictions">restrictions</a>
described below.</p><p>RCDATA elements can have <a href="#syntax-text" title="syntax-text">text</a>
and <a href="#syntax-charref" title="syntax-charref">character references</a>, but
the text must not contain an <a href="#syntax-ambiguous-ampersand" title="syntax-ambiguous-ampersand">ambiguous ampersand</a>.
There are also <a href="#cdata-rcdata-restrictions">further
restrictions</a> described below.</p><p>Foreign elements whose start tag is marked as self-closing can't
have any contents (since, again, as there's no end tag, no content
can be put between the start tag and the end tag). Foreign elements
whose start tag is <em>not</em> marked as self-closing can have
<a href="#syntax-text" title="syntax-text">text</a>, <a href="#syntax-charref" title="syntax-charref">character references</a>, <a href="#syntax-cdata" title="syntax-cdata">CDATA sections</a>, other <a href="#syntax-elements" title="syntax-elements">elements</a>, and <a href="#syntax-comments" title="syntax-comments">comments</a>, but the text must not
contain the character U+003C LESS-THAN SIGN (<code><</code>) or
an <a href="#syntax-ambiguous-ampersand" title="syntax-ambiguous-ampersand">ambiguous
ampersand</a>.</p><p>Normal elements can have <a href="#syntax-text" title="syntax-text">text</a>,
<a href="#syntax-charref" title="syntax-charref">character references</a>, other
<a href="#syntax-elements" title="syntax-elements">elements</a>, and <a href="#syntax-comments" title="syntax-comments">comments</a>, but the text must not
contain the character U+003C LESS-THAN SIGN (<code><</code>) or
an <a href="#syntax-ambiguous-ampersand" title="syntax-ambiguous-ampersand">ambiguous
ampersand</a>. Some normal elements also have <a href="#element-restrictions">yet more restrictions</a> on what
content they are allowed to hold, beyond the restrictions imposed by
the content model and those described in this paragraph. Those
restrictions are described below.</p><p>Tags contain a <dfn id="syntax-tag-name" title="syntax-tag-name">tag name</dfn>,
giving the element's name. HTML elements all have names that only
use characters in the range U+0030 DIGIT ZERO .. U+0039 DIGIT NINE,
U+0061 LATIN SMALL LETTER A .. U+007A LATIN SMALL LETTER Z, U+0041
LATIN CAPITAL LETTER A .. U+005A LATIN CAPITAL LETTER Z, and U+002D
HYPHEN-MINUS (<code>-</code>). In the HTML syntax, tag names may be
written with any mix of lower- and uppercase letters that, when
converted to all-lowercase, matches the element's tag name; tag
names are case-insensitive.</p><h5 id="start-tags"><span class="secno">9.1.2.1 </span>Start tags</h5><p><dfn id="syntax-start-tag" title="syntax-start-tag">Start tags</dfn> must have the
following format:</p><ol><li>The first character of a start tag must be a U+003C LESS-THAN
SIGN (<code><</code>).</li>
<li>The next few characters of a start tag must be the element's
<a href="#syntax-tag-name" title="syntax-tag-name">tag name</a>.</li>
<li>If there are to be any attributes in the next step, there must
first be one or more <a href="#space-character" title="space character">space
characters</a>.</li>
<li>Then, the start tag may have a number of attributes, the <a href="#syntax-attributes" title="syntax-attributes">syntax for which</a> is described
below. Attributes may be separated from each other by one or more
<a href="#space-character" title="space character">space characters</a>.</li>
<li>After the attributes, there may be one or more <a href="#space-character" title="space character">space characters</a>. (Some attributes
are required to be followed by a space. See the <a href="#syntax-attributes" title="syntax-attributes">attributes section</a> below.)</li>
<li>Then, if the element is one of the <a href="#void-elements">void elements</a>,
or if the element is a foreign element, then there may be a single
U+002F SOLIDUS (<code>/</code>) character. This character has no
effect on void elements, but on foreign elements it marks the start
tag as self-closing.</li>
<li>Finally, start tags must be closed by a U+003E GREATER-THAN
SIGN (<code>></code>) character.</li>
</ol><h5 id="end-tags"><span class="secno">9.1.2.2 </span>End tags</h5><p><dfn id="syntax-end-tag" title="syntax-end-tag">End tags</dfn> must have the
following format:</p><ol><li>The first character of an end tag must be a U+003C LESS-THAN
SIGN (<code><</code>).</li>
<li>The second character of an end tag must be a U+002F SOLIDUS
(<code>/</code>).</li>
<li>The next few characters of an end tag must be the element's
<a href="#syntax-tag-name" title="syntax-tag-name">tag name</a>.</li>
<li>After the tag name, there may be one or more <a href="#space-character" title="space
character">space characters</a>.</li>
<li>Finally, end tags must be closed by a U+003E GREATER-THAN
SIGN (<code>></code>) character.</li>
</ol><h5 id="attributes"><span class="secno">9.1.2.3 </span>Attributes</h5><p><dfn id="syntax-attributes" title="syntax-attributes">Attributes</dfn> for an element
are expressed inside the element's start tag.</p><p>Attributes have a name and a value. <dfn id="syntax-attribute-name" title="syntax-attribute-name">Attribute names</dfn> must consist of
one or more characters other than the <a href="#space-character" title="space
character">space characters</a>, U+0000 NULL, U+0022 QUOTATION
MARK ("), U+0027 APOSTROPHE ('), U+003E GREATER-THAN SIGN
(>), U+002F SOLIDUS (/), and U+003D EQUALS SIGN (=) characters,
the control characters, and any characters that are not defined by
Unicode. In the HTML syntax, attribute names may be written with any
mix of lower- and uppercase letters that are an <a href="infrastructure.html#ascii-case-insensitive">ASCII
case-insensitive</a> match for the attribute's name.</p><p><dfn id="syntax-attribute-value" title="syntax-attribute-value">Attribute values</dfn> are a
mixture of <a href="#syntax-text" title="syntax-text">text</a> and <a href="#syntax-charref" title="syntax-charref">character references</a>, except with the
additional restriction that the text cannot contain an <a href="#syntax-ambiguous-ampersand" title="syntax-ambiguous-ampersand">ambiguous ampersand</a>.</p><p>Attributes can be specified in four different ways:</p><dl><dt>Empty attribute syntax</dt>
<dd>
<p>Just the <a href="#syntax-attribute-name" title="syntax-attribute-name">attribute
name</a>.</p>
<div class="example">
<p>In the following example, the <code title="attr-fe-disabled"><a href="forms.html#attr-fe-disabled">disabled</a></code> attribute is given with
the empty attribute syntax:</p>
<pre><input <em>disabled</em>></pre>
</div>
<p>If an attribute using the empty attribute syntax is to be
followed by another attribute, then there must be a <a href="#space-character">space
character</a> separating the two.</p>
</dd>
<dt id="unquoted">Unquoted attribute value syntax</dt>
<dd>
<p>The <a href="#syntax-attribute-name" title="syntax-attribute-name">attribute name</a>,
followed by zero or more <a href="#space-character" title="space character">space
characters</a>, followed by a single U+003D EQUALS SIGN
character, followed by zero or more <a href="#space-character" title="space
character">space characters</a>, followed by the <a href="#syntax-attribute-value" title="syntax-attribute-value">attribute value</a>, which, in
addition to the requirements given above for attribute values,
must not contain any literal <a href="#space-character" title="space character">space
characters</a>, any U+0022 QUOTATION MARK (<code>"</code>)
characters, U+0027 APOSTROPHE (<code>'</code>) characters,
U+003D EQUALS SIGN (<code>=</code>) characters, U+003C LESS-THAN
SIGN (<code><</code>) characters, or U+003E GREATER-THAN SIGN
(<code>></code>) characters, and must not be the empty
string.</p>
<div class="example">
<p>In the following example, the <code title="attr-input-value"><a href="forms.html#attr-input-value">value</a></code> attribute is given
with the unquoted attribute value syntax:</p>
<pre><input <em>value=yes</em>></pre>
</div>
<p>If an attribute using the unquoted attribute syntax is to be
followed by another attribute or by the optional U+002F SOLIDUS
(<code>/</code>) character allowed in step 6 of the <a href="#syntax-start-tag" title="syntax-start-tag">start tag</a> syntax above, then there
must be a <a href="#space-character">space character</a> separating the two.</p>
</dd>
<dt>Single-quoted attribute value syntax</dt>
<dd>
<p>The <a href="#syntax-attribute-name" title="syntax-attribute-name">attribute name</a>,
followed by zero or more <a href="#space-character" title="space character">space
characters</a>, followed by a single U+003D EQUALS SIGN
character, followed by zero or more <a href="#space-character" title="space
character">space characters</a>, followed by a single U+0027
APOSTROPHE (<code>'</code>) character, followed by the <a href="#syntax-attribute-value" title="syntax-attribute-value">attribute value</a>, which, in
addition to the requirements given above for attribute values,
must not contain any literal U+0027 APOSTROPHE (<code>'</code>)
characters, and finally followed by a second single U+0027
APOSTROPHE (<code>'</code>) character.</p>
<div class="example">
<p>In the following example, the <code title="attr-input-type"><a href="forms.html#attr-input-type">type</a></code> attribute is given with the
single-quoted attribute value syntax:</p>
<pre><input <em>type='checkbox'</em>></pre>
</div>
<p>If an attribute using the single-quoted attribute syntax is to
be followed by another attribute, then there must be a <a href="#space-character">space
character</a> separating the two.</p>
</dd>
<dt>Double-quoted attribute value syntax</dt>
<dd>
<p>The <a href="#syntax-attribute-name" title="syntax-attribute-name">attribute name</a>,
followed by zero or more <a href="#space-character" title="space character">space
characters</a>, followed by a single U+003D EQUALS SIGN
character, followed by zero or more <a href="#space-character" title="space
character">space characters</a>, followed by a single U+0022
QUOTATION MARK (<code>"</code>) character, followed by the <a href="#syntax-attribute-value" title="syntax-attribute-value">attribute value</a>, which, in
addition to the requirements given above for attribute values,
must not contain any literal U+0022 QUOTATION MARK
(<code>"</code>) characters, and finally followed by a second
single U+0022 QUOTATION MARK (<code>"</code>) character.</p>
<div class="example">
<p>In the following example, the <code title="attr-fe-name"><a href="forms.html#attr-fe-name">name</a></code> attribute is given with the
double-quoted attribute value syntax:</p>
<pre><input <em>name="be evil"</em>></pre>
</div>
<p>If an attribute using the double-quoted attribute syntax is to
be followed by another attribute, then there must be a <a href="#space-character">space
character</a> separating the two.</p>
</dd>
</dl><p>There must never be two or more attributes on the same start tag
whose names are an <a href="infrastructure.html#ascii-case-insensitive">ASCII case-insensitive</a> match for
each other.</p><h5 id="optional-tags"><span class="secno">9.1.2.4 </span>Optional tags</h5><p>Certain tags can be <dfn id="syntax-tag-omission" title="syntax-tag-omission">omitted</dfn>.</p><p class="note">Omitting an element's <a href="#syntax-start-tag" title="syntax-start-tag">start tag</a> does not mean the element
is not present; it is implied, but it is still there. An HTML
document always has a root <code><a href="semantics.html#the-html-element-0">html</a></code> element, even if the
string <code title=""><html></code> doesn't appear anywhere in
the markup.</p><!-- <html> --><p>An <code><a href="semantics.html#the-html-element-0">html</a></code> element's <a href="#syntax-start-tag" title="syntax-start-tag">start tag</a> may be omitted if the
first thing inside the <code><a href="semantics.html#the-html-element-0">html</a></code> element is not a <a href="#syntax-comments" title="syntax-comments">comment</a>.</p><!-- </html> --><p>An <code><a href="semantics.html#the-html-element-0">html</a></code> element's <a href="#syntax-end-tag" title="syntax-end-tag">end
tag</a> may be omitted if the <code><a href="semantics.html#the-html-element-0">html</a></code> element is not
immediately followed by a <a href="#syntax-comments" title="syntax-comments">comment</a>.</p><!-- <head> --><p>A <code><a href="semantics.html#the-head-element-0">head</a></code> element's <a href="#syntax-start-tag" title="syntax-start-tag">start tag</a> may be omitted <!--if the
element is empty, or--> if the first thing inside the
<code><a href="semantics.html#the-head-element-0">head</a></code> element is an element.</p><!-- </head> --><p>A <code><a href="semantics.html#the-head-element-0">head</a></code> element's <a href="#syntax-end-tag" title="syntax-end-tag">end
tag</a> may be omitted if the <code><a href="semantics.html#the-head-element-0">head</a></code> element is not
immediately followed by a <a href="#space-character">space character</a> or a <a href="#syntax-comments" title="syntax-comments">comment</a>.</p><!-- <body> --><p>A <code><a href="semantics.html#the-body-element-0">body</a></code> element's <a href="#syntax-start-tag" title="syntax-start-tag">start tag</a> may be omitted if the
element is empty, or if the first thing inside the <code><a href="semantics.html#the-body-element-0">body</a></code>
element is not a <a href="#space-character">space character</a> or a <a href="#syntax-comments" title="syntax-comments">comment</a>, except if the first thing
inside the <code><a href="semantics.html#the-body-element-0">body</a></code> element is a <code><a href="semantics.html#script">script</a></code> or
<code><a href="semantics.html#the-style-element">style</a></code> element. <!-- Note that even if the </head> end
tag is present, the parser makes <style> and <script> elements
between </head> and <body> end up in the <head> instead of implying
the <body> --></p><!-- </body> --><p>A <code><a href="semantics.html#the-body-element-0">body</a></code> element's <a href="#syntax-end-tag" title="syntax-end-tag">end
tag</a> may be omitted if the <code><a href="semantics.html#the-body-element-0">body</a></code> element is not
immediately followed by a <a href="#syntax-comments" title="syntax-comments">comment</a>.</p><!-- </li> --><p>A <code><a href="semantics.html#the-li-element">li</a></code> element's <a href="#syntax-end-tag" title="syntax-end-tag">end
tag</a> may be omitted if the <code><a href="semantics.html#the-li-element">li</a></code> element is
immediately followed by another <code><a href="semantics.html#the-li-element">li</a></code> element or if there
is no more content in the parent element.</p><!-- </dt> --><p>A <code><a href="semantics.html#the-dt-element">dt</a></code> element's <a href="#syntax-end-tag" title="syntax-end-tag">end
tag</a> may be omitted if the <code><a href="semantics.html#the-dt-element">dt</a></code> element is
immediately followed by another <code><a href="semantics.html#the-dt-element">dt</a></code> element or a
<code><a href="semantics.html#the-dd-element">dd</a></code> element.</p><!-- </dd> --><p>A <code><a href="semantics.html#the-dd-element">dd</a></code> element's <a href="#syntax-end-tag" title="syntax-end-tag">end
tag</a> may be omitted if the <code><a href="semantics.html#the-dd-element">dd</a></code> element is
immediately followed by another <code><a href="semantics.html#the-dd-element">dd</a></code> element or a
<code><a href="semantics.html#the-dt-element">dt</a></code> element, or if there is no more content in the
parent element.</p><!-- </p> --><p>A <code><a href="semantics.html#the-p-element">p</a></code> element's <a href="#syntax-end-tag" title="syntax-end-tag">end
tag</a> may be omitted if the <code><a href="semantics.html#the-p-element">p</a></code> element is
immediately followed by an <code><a href="semantics.html#the-address-element">address</a></code>,
<code><a href="semantics.html#the-article-element">article</a></code>, <code><a href="semantics.html#the-aside-element">aside</a></code>, <code><a href="semantics.html#the-blockquote-element">blockquote</a></code>,
<!--v2DATAGRID <code>datagrid</code>,--> <code><a href="semantics.html#the-dialog-element">dialog</a></code>,
<code><a href="obsolete.html#dir">dir</a></code>, <code><a href="interactive-elements.html#the-div-element">div</a></code>, <code><a href="semantics.html#the-dl-element">dl</a></code>,
<code><a href="forms.html#the-fieldset-element">fieldset</a></code>, <code><a href="semantics.html#the-footer-element">footer</a></code>, <code><a href="forms.html#the-form-element">form</a></code>,
<code><a href="semantics.html#the-h1-h2-h3-h4-h5-and-h6-elements">h1</a></code>, <code><a href="semantics.html#the-h1-h2-h3-h4-h5-and-h6-elements">h2</a></code>, <code><a href="semantics.html#the-h1-h2-h3-h4-h5-and-h6-elements">h3</a></code>, <code><a href="semantics.html#the-h1-h2-h3-h4-h5-and-h6-elements">h4</a></code>,
<code><a href="semantics.html#the-h1-h2-h3-h4-h5-and-h6-elements">h5</a></code>, <code><a href="semantics.html#the-h1-h2-h3-h4-h5-and-h6-elements">h6</a></code>, <code><a href="semantics.html#the-header-element">header</a></code>,
<code><a href="semantics.html#the-hgroup-element">hgroup</a></code>, <code><a href="semantics.html#the-hr-element">hr</a></code>, <code><a href="interactive-elements.html#menus">menu</a></code>,
<code><a href="semantics.html#the-nav-element">nav</a></code>, <code><a href="semantics.html#the-ol-element">ol</a></code>, <code><a href="semantics.html#the-p-element">p</a></code>, <code><a href="semantics.html#the-pre-element">pre</a></code>,
<code><a href="semantics.html#the-section-element">section</a></code>, <code><a href="tabular-data.html#the-table-element">table</a></code>, or <code><a href="semantics.html#the-ul-element">ul</a></code>,
element, or if there is no more content in the parent element and
the parent element is not an <code><a href="text-level-semantics.html#the-a-element">a</a></code> element.</p><!-- </rt> --><p>An <code><a href="text-level-semantics.html#the-rt-element">rt</a></code> element's <a href="#syntax-end-tag" title="syntax-end-tag">end
tag</a> may be omitted if the <code><a href="text-level-semantics.html#the-rt-element">rt</a></code> element is
immediately followed by an <code><a href="text-level-semantics.html#the-rt-element">rt</a></code> or <code><a href="text-level-semantics.html#the-rp-element">rp</a></code>
element, or if there is no more content in the parent element.</p><!-- </rp> --><p>An <code><a href="text-level-semantics.html#the-rp-element">rp</a></code> element's <a href="#syntax-end-tag" title="syntax-end-tag">end
tag</a> may be omitted if the <code><a href="text-level-semantics.html#the-rp-element">rp</a></code> element is
immediately followed by an <code><a href="text-level-semantics.html#the-rt-element">rt</a></code> or <code><a href="text-level-semantics.html#the-rp-element">rp</a></code>
element, or if there is no more content in the parent element.</p><!-- </optgroup> (the text assumes <optgroup> can only be inside a
<select>; commented out text below can handle the non-<select> case
if we ever allow it) --><p>An <code><a href="forms.html#the-optgroup-element">optgroup</a></code> element's <a href="#syntax-end-tag" title="syntax-end-tag">end tag</a> may be omitted if the
<code><a href="forms.html#the-optgroup-element">optgroup</a></code> element <!--has an ancestor
<code>select</code> element and--> is immediately followed by
another <code><a href="forms.html#the-optgroup-element">optgroup</a></code> element, or if <!--all of the elements
that are ancestors of the <code>optgroup</code> element, up to and
including the first ancestor element that is not an
<code>optgroup</code> element, have no more content--> there is no
more content in the parent element.</p><!-- so e.g. the max number of </optgroup>s are omitted here:
<select><optgroup></select>
<p id=x><optgroup></optgroup>x</p>
<p id=x><optgroup><optgroup></optgroup></optgroup>x</p>
<p><optgroup id=x><optgroup></optgroup>x</p>
<p><optgroup><optgroup id=x>x</p>
--><!-- </option> --><p>An <code><a href="forms.html#the-option-element">option</a></code> element's <a href="#syntax-end-tag" title="syntax-end-tag">end
tag</a> may be omitted if the <code><a href="forms.html#the-option-element">option</a></code> element is
immediately followed by another <code><a href="forms.html#the-option-element">option</a></code> element, or if
it is immediately followed by an <code><a href="forms.html#the-optgroup-element">optgroup</a></code> element, or
if there is no more content in the parent element.</p><!-- <colgroup> --><p>A <code><a href="tabular-data.html#the-colgroup-element">colgroup</a></code> element's <a href="#syntax-start-tag" title="syntax-start-tag">start tag</a> may be omitted if the
first thing inside the <code><a href="tabular-data.html#the-colgroup-element">colgroup</a></code> element is a
<code><a href="tabular-data.html#the-col-element">col</a></code> element, and if the element is not immediately
preceded by another <code><a href="tabular-data.html#the-colgroup-element">colgroup</a></code> element whose <a href="#syntax-end-tag" title="syntax-end-tag">end tag</a> has been omitted. (It can't be
omitted if the element is empty.)</p><!-- </colgroup> --><p>A <code><a href="tabular-data.html#the-colgroup-element">colgroup</a></code> element's <a href="#syntax-end-tag" title="syntax-end-tag">end tag</a> may be omitted if the
<code><a href="tabular-data.html#the-colgroup-element">colgroup</a></code> element is not immediately followed by a
<a href="#space-character">space character</a> or a <a href="#syntax-comments" title="syntax-comments">comment</a>.</p><!-- </thead> --><p>A <code><a href="tabular-data.html#the-thead-element">thead</a></code> element's <a href="#syntax-end-tag" title="syntax-end-tag">end
tag</a> may be omitted if the <code><a href="tabular-data.html#the-thead-element">thead</a></code> element is
immediately followed by a <code><a href="tabular-data.html#the-tbody-element">tbody</a></code> or <code><a href="tabular-data.html#the-tfoot-element">tfoot</a></code>
element.</p><!-- <tbody> --><p>A <code><a href="tabular-data.html#the-tbody-element">tbody</a></code> element's <a href="#syntax-start-tag" title="syntax-start-tag">start tag</a> may be omitted if the
first thing inside the <code><a href="tabular-data.html#the-tbody-element">tbody</a></code> element is a
<code><a href="tabular-data.html#the-tr-element">tr</a></code> element, and if the element is not immediately
preceded by a <code><a href="tabular-data.html#the-tbody-element">tbody</a></code>, <code><a href="tabular-data.html#the-thead-element">thead</a></code>, or
<code><a href="tabular-data.html#the-tfoot-element">tfoot</a></code> element whose <a href="#syntax-end-tag" title="syntax-end-tag">end
tag</a> has been omitted. (It can't be omitted if the element is
empty.)</p><!-- </tbody> --><p>A <code><a href="tabular-data.html#the-tbody-element">tbody</a></code> element's <a href="#syntax-end-tag" title="syntax-end-tag">end
tag</a> may be omitted if the <code><a href="tabular-data.html#the-tbody-element">tbody</a></code> element is
immediately followed by a <code><a href="tabular-data.html#the-tbody-element">tbody</a></code> or <code><a href="tabular-data.html#the-tfoot-element">tfoot</a></code>
element, or if there is no more content in the parent element.</p><!-- </tfoot> --><p>A <code><a href="tabular-data.html#the-tfoot-element">tfoot</a></code> element's <a href="#syntax-end-tag" title="syntax-end-tag">end
tag</a> may be omitted if the <code><a href="tabular-data.html#the-tfoot-element">tfoot</a></code> element is
immediately followed by a <code><a href="tabular-data.html#the-tbody-element">tbody</a></code> element, or if there is
no more content in the parent element.</p><!-- </tr> --><p>A <code><a href="tabular-data.html#the-tr-element">tr</a></code> element's <a href="#syntax-end-tag" title="syntax-end-tag">end
tag</a> may be omitted if the <code><a href="tabular-data.html#the-tr-element">tr</a></code> element is
immediately followed by another <code><a href="tabular-data.html#the-tr-element">tr</a></code> element, or if there
is no more content in the parent element.</p><!-- </td> --><p>A <code><a href="tabular-data.html#the-td-element">td</a></code> element's <a href="#syntax-end-tag" title="syntax-end-tag">end
tag</a> may be omitted if the <code><a href="tabular-data.html#the-td-element">td</a></code> element is
immediately followed by a <code><a href="tabular-data.html#the-td-element">td</a></code> or <code><a href="tabular-data.html#the-th-element">th</a></code>
element, or if there is no more content in the parent element.</p><!-- </th> --><p>A <code><a href="tabular-data.html#the-th-element">th</a></code> element's <a href="#syntax-end-tag" title="syntax-end-tag">end
tag</a> may be omitted if the <code><a href="tabular-data.html#the-th-element">th</a></code> element is
immediately followed by a <code><a href="tabular-data.html#the-td-element">td</a></code> or <code><a href="tabular-data.html#the-th-element">th</a></code>
element, or if there is no more content in the parent element.</p><p><strong>However</strong>, a <a href="#syntax-start-tag" title="syntax-start-tag">start
tag</a> must never be omitted if it has any attributes.</p><h5 id="element-restrictions"><span class="secno">9.1.2.5 </span>Restrictions on content models</h5><p>For historical reasons, certain elements have extra restrictions
beyond even the restrictions given by their content model.</p><p>A <code><a href="tabular-data.html#the-table-element">table</a></code> element must not contain <code><a href="tabular-data.html#the-tr-element">tr</a></code>
elements, even though these elements are technically allowed inside
<code><a href="tabular-data.html#the-table-element">table</a></code> elements according to the content models
described in this specification. (If a <code><a href="tabular-data.html#the-tr-element">tr</a></code> element is
put inside a <code><a href="tabular-data.html#the-table-element">table</a></code> in the markup, it will in fact imply
a <code><a href="tabular-data.html#the-tbody-element">tbody</a></code> start tag before it.)</p><p>A single U+000A LINE FEED (LF) character may be placed
immediately after the <a href="#syntax-start-tag" title="syntax-start-tag">start
tag</a> of <code><a href="semantics.html#the-pre-element">pre</a></code> and <code><a href="forms.html#the-textarea-element">textarea</a></code>
elements. This does not affect the processing of the element. The
otherwise optional U+000A LINE FEED (LF) character <em>must</em> be
included if the element's contents start with that character
(because otherwise the leading newline in the contents would be
treated like the optional newline, and ignored).</p><div class="example">
<p>The following two <code><a href="semantics.html#the-pre-element">pre</a></code> blocks are equivalent:</p>
<pre><pre>Hello</pre></pre>
<pre><pre><br>Hello</pre></pre>
</div><h5 id="cdata-rcdata-restrictions"><span class="secno">9.1.2.6 </span>Restrictions on the contents of raw text and RCDATA elements</h5><p>The text in raw text and RCDATA elements must not contain any
occurrences of the string "<code title=""></</code>" (U+003C
LESS-THAN SIGN, U+002F SOLIDUS) followed by characters that
case-insensitively match the tag name of the element followed by one
of U+0009 CHARACTER TABULATION, U+000A LINE FEED (LF), U+000C FORM
FEED (FF), U+0020 SPACE, U+003E GREATER-THAN SIGN (>), or U+002F
SOLIDUS (/), unless that string is part of an <a href="#syntax-escape" title="syntax-escape">escaping text span</a>.</p><p>An <dfn id="syntax-escape" title="syntax-escape">escaping text span</dfn> is a span
of <a href="#syntax-text" title="syntax-text">text</a> that starts with an <a href="#syntax-escape-start" title="syntax-escape-start">escaping text span start</a> that is
not itself in an <a href="#syntax-escape" title="syntax-escape">escaping text
span</a>, and ends at the next <a href="#syntax-escape-end" title="syntax-escape-end">escaping text span end</a>. There
cannot be any <a href="#syntax-charref" title="syntax-charref">character
references</a> inside an <a href="#syntax-escape" title="syntax-escape">escaping
text span</a> — sequences of characters that would look
like <a href="#syntax-charref" title="syntax-charref">character references</a> do not
have special meaning.</p><p>An <dfn id="syntax-escape-start" title="syntax-escape-start">escaping text span
start</dfn> is a part of <a href="#syntax-text" title="syntax-text">text</a> that
consists of the four character sequence "<code title=""><!--</code>" (U+003C LESS-THAN SIGN, U+0021 EXCLAMATION
MARK, U+002D HYPHEN-MINUS, U+002D HYPHEN-MINUS).</p><p>An <dfn id="syntax-escape-end" title="syntax-escape-end">escaping text span end</dfn> is
a part of <a href="#syntax-text" title="syntax-text">text</a> that consists of the
three character sequence "<code title="">--></code>" (U+002D
HYPHEN-MINUS, U+002D HYPHEN-MINUS, U+003E GREATER-THAN SIGN).</p><p>An <a href="#syntax-escape-start" title="syntax-escape-start">escaping text span
start</a> may share its U+002D HYPHEN-MINUS characters with its
corresponding <a href="#syntax-escape-end" title="syntax-escape-end">escaping text span
end</a>.</p><p>The text in raw text elements and RCDATA elements must not have
an <a href="#syntax-escape-start" title="syntax-escape-start">escaping text span start</a>
that is not followed by an <a href="#syntax-escape-end" title="syntax-escape-end">escaping
text span end</a>.</p><h4 id="text-0"><span class="secno">9.1.3 </span>Text</h4><p><dfn id="syntax-text" title="syntax-text">Text</dfn> is allowed inside elements,
attributes, and comments. Text must consist of Unicode characters.
Text must not contain U+0000 characters. Text must not contain
permanently undefined Unicode characters. Text must not contain
control characters other than <a href="#space-character" title="space character">space
characters</a>. Extra constraints are placed on what is and what
is not allowed in text based on where the text is to be put, as
described in the other sections.</p><h5 id="newlines"><span class="secno">9.1.3.1 </span>Newlines</h5><p><dfn id="syntax-newlines" title="syntax-newlines">Newlines</dfn> in HTML may be
represented either as U+000D CARRIAGE RETURN (CR) characters, U+000A
LINE FEED (LF) characters, or pairs of U+000D CARRIAGE RETURN (CR),
U+000A LINE FEED (LF) characters in that order.</p><h4 id="character-references"><span class="secno">9.1.4 </span>Character references</h4><p>In certain cases described in other sections, <a href="#syntax-text" title="syntax-text">text</a> may be mixed with <dfn id="syntax-charref" title="syntax-charref">character references</dfn>. These can be used
to escape characters that couldn't otherwise legally be included in
<a href="#syntax-text" title="syntax-text">text</a>.</p><p>Character references must start with a U+0026 AMPERSAND
(<code>&</code>). Following this, there are three possible kinds
of character references:</p><dl><dt>Named character references</dt>
<dd>The ampersand must be followed by one of the names given in the
<a href="named-character-references.html#named-character-references">named character references</a> section, using the same
case. The name must be one that is terminated by a U+003B SEMICOLON
(<code title="">;</code>) character.</dd>
<dt>Decimal numeric character reference</dt>
<dd>The ampersand must be followed by a U+0023 NUMBER SIGN
(<code>#</code>) character, followed by one or more digits in the
range U+0030 DIGIT ZERO .. U+0039 DIGIT NINE, representing a
base-ten integer that itself is a Unicode code point that is
not U+0000, U+000D, in the range U+0080 .. U+009F, or in the range
0xD800 .. 0xDFFF (surrogates). The digits must then be followed by
a U+003B SEMICOLON character (<code title="">;</code>).</dd>
<dt>Hexadecimal numeric character reference</dt>
<dd>The ampersand must be followed by a U+0023 NUMBER SIGN
(<code>#</code>) character, which must be followed by either a
U+0078 LATIN SMALL LETTER X or a U+0058 LATIN CAPITAL LETTER X
character, which must then be followed by one or more digits in the
range U+0030 DIGIT ZERO .. U+0039 DIGIT NINE, U+0061 LATIN SMALL
LETTER A .. U+0066 LATIN SMALL LETTER F, and U+0041 LATIN CAPITAL
LETTER A .. U+0046 LATIN CAPITAL LETTER F, representing a
base-sixteen integer that itself is a Unicode code point that is
not U+0000, U+000D, in the range U+0080 .. U+009F, or in the range
0xD800 .. 0xDFFF (surrogates). The digits must then be followed by
a U+003B SEMICOLON character (<code title="">;</code>).</dd>
</dl><p>An <dfn id="syntax-ambiguous-ampersand" title="syntax-ambiguous-ampersand">ambiguous
ampersand</dfn> is a U+0026 AMPERSAND (<code>&</code>) character
that is followed by some <a href="#syntax-text" title="syntax-text">text</a> other
than a <a href="#space-character">space character</a>, a U+003C LESS-THAN SIGN
character ('<'), or another U+0026 AMPERSAND (<code>&</code>)
character.</p><h4 id="cdata-sections"><span class="secno">9.1.5 </span>CDATA sections</h4><p><dfn id="syntax-cdata" title="syntax-cdata">CDATA sections</dfn> must start with
the character sequence U+003C LESS-THAN SIGN, U+0021 EXCLAMATION
MARK, U+005B LEFT SQUARE BRACKET, U+0043 LATIN CAPITAL LETTER C,
U+0044 LATIN CAPITAL LETTER D, U+0041 LATIN CAPITAL LETTER A, U+0054
LATIN CAPITAL LETTER T, U+0041 LATIN CAPITAL LETTER A, U+005B LEFT
SQUARE BRACKET (<code title=""><![CDATA[</code>). Following this
sequence, the CDATA section may have <a href="#syntax-text" title="syntax-text">text</a>, with the additional restriction
that the text must not contain the three character sequence U+005D
RIGHT SQUARE BRACKET, U+005D RIGHT SQUARE BRACKET, U+003E
GREATER-THAN SIGN (<code title="">]]></code>). Finally, the CDATA
section must be ended by the three character sequence U+005D RIGHT
SQUARE BRACKET, U+005D RIGHT SQUARE BRACKET, U+003E GREATER-THAN
SIGN (<code title="">]]></code>).</p><h4 id="comments"><span class="secno">9.1.6 </span>Comments</h4><p class="XXX annotation"><b>Status: </b><i>Working draft</i></p><p><dfn id="syntax-comments" title="syntax-comments">Comments</dfn> must start with the
four character sequence U+003C LESS-THAN SIGN, U+0021 EXCLAMATION
MARK, U+002D HYPHEN-MINUS, U+002D HYPHEN-MINUS (<code title=""><!--</code>). Following this sequence, the comment may
have <a href="#syntax-text" title="syntax-text">text</a>, with the additional
restriction that the text must not start with a single U+003E
GREATER-THAN SIGN ('>') character, nor start with a U+002D
HYPHEN-MINUS (<code title="">-</code>) character followed by a
U+003E GREATER-THAN SIGN ('>') character, nor contain two
consecutive U+002D HYPHEN-MINUS (<code title="">-</code>)
characters, nor end with a U+002D HYPHEN-MINUS (<code title="">-</code>) character. Finally, the comment must be ended by
the three character sequence U+002D HYPHEN-MINUS, U+002D
HYPHEN-MINUS, U+003E GREATER-THAN SIGN (<code title="">--></code>).</p></body></html>
--- NEW FILE: obsolete.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>11 Obsolete features — HTML 5</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 { border-bottom: solid; }
table tbody th:first-child { border-left: solid; }
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; }
.applies th > * { display: block; }
.applies thead code { display: block; }
.applies td { text-align: center; }
.applies .yes { background: yellow; }
.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: #EEFFEE; }
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"]), li > span:not([title=""]):not([class="XXX"]):not([class="impl"]) { 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; }
p.copyright { 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; }
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; }
.tall-and-narrow {
font-size: 0.6em;
column-width: 25em;
column-gap: 1em;
-moz-column-width: 25em;
-moz-column-gap: 1em;
-webkit-column-width: 25em;
-webkit-column-gap: 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; }
</style><link href="data:text/css," rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" rel="alternate stylesheet" title="Highlight implementation requirements"><link href="http://www.w3.org/StyleSheets/TR/W3C-WD" rel="stylesheet" type="text/css"><!-- ZZZ ED vs WD --><link href="the-xhtml-syntax.html" title="10 The XHTML syntax" rel="prev">
<link href="Overview.html#contents" title="Table of contents" rel="index">
<link href="no.html" title="12 Things that you can't do with this specification because they are better handled using other technologies that are further described herein" rel="next">
</head><body onload="fixBrokenLink(); fixBrokenLink()"><div class="head">
<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>HTML 5</h1>
<h2 class="no-num no-toc" id="a-vocabulary-and-associated-apis-for-html-and-xhtml">A vocabulary and associated APIs for HTML and XHTML</h2>
</div><div>
<a href="the-xhtml-syntax.html">← 10 The XHTML syntax</a> –
<a href="Overview.html#contents">Table of contents</a> –
<a href="no.html">12 Things that you can't do with this specification because they are better handled using other technologies that are further described herein →</a>
</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>In <a href="syntax.html#syntax">the HTML syntax</a>, authors should not specify <a href="syntax.html#syntax-doctype" title="syntax-DOCTYPE">DOCTYPE</a>s that get parsed as <a href="#obsolete-permitted-doctype" title="obsolete permitted DOCTYPE">obsolete permitted
DOCTYPEs</a>.</p><!-- this is poor form; we really should define
this in the syntax section somehow --><p>Authors should not specify an <code title="attr-meta-http-equiv"><a href="semantics.html#attr-meta-http-equiv">http-equiv</a></code> attribute in the
<a href="semantics.html#attr-meta-http-equiv-content-language" title="attr-meta-http-equiv-content-language">Content
Language</a> state on a <code><a href="semantics.html#meta">meta</a></code> element. The <code title="attr-lang"><a href="dom.html#attr-lang">lang</a></code> attribute should be used instead.</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="text-level-semantics.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="semantics.html#script">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="semantics.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="semantics.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. In earlier versions of the language, this attribute
served a similar role as the <code title="attr-id"><a href="dom.html#the-id-attribute">id</a></code>
attribute. The <code title="attr-id"><a href="dom.html#the-id-attribute">id</a></code> attribute should be
used instead.</p><p class="note">The <code title="attr-table-summary"><a href="tabular-data.html#attr-table-summary">summary</a></code>
attribute, defined in the <code><a href="tabular-data.html#the-table-element">table</a></code> section, will also
trigger a warning.</p><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><!-- alphabetical by first element in the group, except CSS goes last --><dt><code><a href="#the-applet-element">applet</a></code></dt>
<dd><p>Use <code><a href="text-level-semantics.html#the-embed-element">embed</a></code> or <code><a href="text-level-semantics.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="dir"><code>dir</code></dfn></dt>
<dd><p>Use <code><a href="semantics.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="text-level-semantics.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="forms.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>
<dt><dfn id="xmp"><code>xmp</code></dfn></dt>
<dd><p>Use <code><a href="semantics.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="noembed"><code>noembed</code></dfn></dt>
<dd><p>Use <code><a href="text-level-semantics.html#the-object-element">object</a></code> instead of <code><a href="text-level-semantics.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="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="s"><code>s</code></dfn></dt>
<dt><dfn id="spacer"><code>spacer</code></dfn></dt>
<dt><dfn id="strike"><code>strike</code></dfn></dt>
<dt><dfn id="tt"><code>tt</code></dfn></dt>
<dt><dfn id="u"><code>u</code></dfn></dt>
<dd><p>Use CSS instead.</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><!-- alphabetical by element then attribute of first item in group, except CSS goes last --><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-canvas-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-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="history.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-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-img-name" title="attr-img-name"><code>name</code></dfn> on <code><a href="text-level-semantics.html#the-img-element">img</a></code> elements</dt>
<dd><p>Use the <code title="attr-id"><a href="dom.html#the-id-attribute">id</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-canvas-element.html#the-area-element">area</a></code> elements</dt>
<dd><p>Omitting the <code title="attr-hyperlink-href"><a href="history.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-0">head</a></code> elements</dt>
<dd><p>When used for declaring which <code><a href="semantics.html#meta">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-0">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="forms.html#the-input-element">input</a></code> elements</dt>
<dd><p>Use <code><a href="text-level-semantics.html#the-img-element">img</a></code> instead of <code><a href="forms.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="text-level-semantics.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="text-level-semantics.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.</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#meta">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="text-level-semantics.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="text-level-semantics.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="text-level-semantics.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="text-level-semantics.html#the-object-element">object</a></code> elements</dt>
<dd><p>Use the <code title="attr-object-data"><a href="text-level-semantics.html#attr-object-data">data</a></code> and <code title="attr-object-type"><a href="text-level-semantics.html#attr-object-type">type</a></code> attributes to invoke
<a href="infrastructure.html#plugin" title="plugin">plugins</a>.</p></dd>
<dt><dfn id="attr-object-declare" title="attr-object-declare"><code>declare</code></dfn> on <code><a href="text-level-semantics.html#the-object-element">object</a></code> elements</dt>
<dd><p>Repeat the <code><a href="text-level-semantics.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="text-level-semantics.html#the-object-element">object</a></code> elements</dt>
<dd><p>Optimise 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="text-level-semantics.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="text-level-semantics.html#the-param-element">param</a></code> elements</dt>
<dd><p>Use the <code title="attr-param-name"><a href="text-level-semantics.html#attr-param-name">name</a></code> and <code title="attr-param-value"><a href="text-level-semantics.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="semantics.html#script">script</a></code> elements (except as noted in the previous section)</dt>
<dd><p>Use the <code title="attr-script-type"><a href="semantics.html#attr-script-type">type</a></code> attribute
instead.</p></dd>
<dt><dfn id="attr-td-th-abbr" title="attr-td/th-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.</p>
</dd><dt><dfn id="attr-td-th-axis" title="attr-td/th-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.</p>
</dd><dt><dfn id="attr-body-alink" title="attr-body-alink"><code>alink</code></dfn> on <code><a href="semantics.html#the-body-element-0">body</a></code> elements</dt>
<dt><dfn id="attr-body-background" title="attr-body-background"><code>background</code></dfn> on <code><a href="semantics.html#the-body-element-0">body</a></code> elements</dt>
<dt><dfn id="attr-body-bgcolor" title="attr-body-bgcolor"><code>bgcolor</code></dfn> on <code><a href="semantics.html#the-body-element-0">body</a></code> elements</dt>
<dt><dfn id="attr-body-link" title="attr-body-link"><code>link</code></dfn> on <code><a href="semantics.html#the-body-element-0">body</a></code> elements</dt>
<dt><dfn id="attr-body-text" title="attr-body-text"><code>text</code></dfn> on <code><a href="semantics.html#the-body-element-0">body</a></code> elements</dt>
<dt><dfn id="attr-body-vlink" title="attr-body-vlink"><code>vlink</code></dfn> on <code><a href="semantics.html#the-body-element-0">body</a></code> elements</dt>
<dt><dfn id="attr-br-clear" title="attr-br-clear"><code>clear</code></dfn> on <code><a href="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="interactive-elements.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="semantics.html#the-dl-element">dl</a></code> elements</dt>
<dt><dfn id="attr-hr-align" title="attr-hr-align"><code>align</code></dfn> on <code><a href="semantics.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="semantics.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="semantics.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="semantics.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="semantics.html#the-h1-h2-h3-h4-h5-and-h6-elements">h1</a></code>—<code><a href="semantics.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="text-level-semantics.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="text-level-semantics.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="text-level-semantics.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="text-level-semantics.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="text-level-semantics.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="forms.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="text-level-semantics.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="text-level-semantics.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="text-level-semantics.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="text-level-semantics.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="interactive-elements.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="semantics.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#menus">menu</a></code> elements</dt>
<dt><dfn id="attr-object-align" title="attr-object-align"><code>align</code></dfn> on <code><a href="text-level-semantics.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="text-level-semantics.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="text-level-semantics.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="text-level-semantics.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="semantics.html#the-ol-element">ol</a></code> elements</dt>
<dt><dfn id="attr-ol-type" title="attr-ol-type"><code>type</code></dfn> on <code><a href="semantics.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="semantics.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="semantics.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-border" title="attr-table-border"><code>border</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-td-th-align" title="attr-td/th-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-td-th-bgcolor" title="attr-td/th-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-td-th-char" title="attr-td/th-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-td-th-charoff" title="attr-td/th-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-td-th-height" title="attr-td/th-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-td-th-nowrap" title="attr-td/th-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-td-th-valign" title="attr-td/th-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-td-th-width" title="attr-td/th-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="semantics.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="semantics.html#the-ul-element">ul</a></code> elements</dt>
<dd><p>Use CSS instead.</p></dd>
</dl></body></html>
--- NEW FILE: named-character-references.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>9.2 Named character references — HTML 5</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 { border-bottom: solid; }
table tbody th:first-child { border-left: solid; }
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; }
.applies th > * { display: block; }
.applies thead code { display: block; }
.applies td { text-align: center; }
.applies .yes { background: yellow; }
.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: #EEFFEE; }
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"]), li > span:not([title=""]):not([class="XXX"]):not([class="impl"]) { 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; }
p.copyright { 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; }
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; }
.tall-and-narrow {
font-size: 0.6em;
column-width: 25em;
column-gap: 1em;
-moz-column-width: 25em;
-moz-column-gap: 1em;
-webkit-column-width: 25em;
-webkit-column-gap: 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; }
</style><link href="data:text/css," rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" rel="alternate stylesheet" title="Highlight implementation requirements"><link href="http://www.w3.org/StyleSheets/TR/W3C-WD" rel="stylesheet" type="text/css"><!-- ZZZ ED vs WD --><link href="syntax.html" title="9 The HTML syntax" rel="prev">
<link href="Overview.html#contents" title="Table of contents" rel="index">
<link href="the-xhtml-syntax.html" title="10 The XHTML syntax" rel="next">
</head><body onload="fixBrokenLink(); fixBrokenLink()"><div class="head">
<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>HTML 5</h1>
<h2 class="no-num no-toc" id="a-vocabulary-and-associated-apis-for-html-and-xhtml">A vocabulary and associated APIs for HTML and XHTML</h2>
</div><div>
<a href="syntax.html">← 9 The HTML syntax</a> –
<a href="Overview.html#contents">Table of contents</a> –
<a href="the-xhtml-syntax.html">10 The XHTML syntax →</a>
</div>
<h3 id="named-character-references"><span class="secno">9.2 </span><dfn>Named character references</dfn></h3><p>This table lists the character reference names that are supported
by HTML, and the code points to which they refer. It is referenced
by the previous sections.</p><div class="tall-and-narrow">
<table><thead><tr><th> Name </th> <th> Character </th> </tr></thead><tbody><tr><td> <code title="">AElig;</code> </td> <td> U+000C6 </td> </tr><tr><td> <code title="">AElig</code> </td> <td> U+000C6 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">AMP;</code> </td> <td> U+00026 </td> </tr><tr><td> <code title="">AMP</code> </td> <td> U+00026 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Aacute;</code> </td> <td> U+000C1 </td> </tr><tr><td> <code title="">Aacute</code> </td> <td> U+000C1 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Abreve;</code> </td> <td> U+00102 </td> </tr><tr><td> <code title="">Acirc;</code> </td> <td> U+000C2 </td> </tr><tr><td> <code title="">Acirc</code> </td> <td> U+000C2 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Acy;</code> </td> <td> U+0410 </td> </tr><tr><td> <code title="">Afr;</code> </td> <td> U+1D504 </td> </tr><tr><td> <code title="">Agrave;</code> </td> <td> U+000C0 </td> </tr><tr><td> <code title="">Agrave</code> </td> <td> U+000C0 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Alpha;</code> </td> <td> U+00391 </td> </tr><tr><td> <code title="">Amacr;</code> </td> <td> U+00100 </td> </tr><tr><td> <code title="">And;</code> </td> <td> U+02A53 </td> </tr><tr><td> <code title="">Aogon;</code> </td> <td> U+00104 </td> </tr><tr><td> <code title="">Aopf;</code> </td> <td> U+1D538 </td> </tr><tr><td> <code title="">ApplyFunction;</code> </td> <td> U+02061 </td> </tr><tr><td> <code title="">Aring;</code> </td> <td> U+000C5 </td> </tr><tr><td> <code title="">Aring</code> </td> <td> U+000C5 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Ascr;</code> </td> <td> U+1D49C </td> </tr><tr><td> <code title="">Assign;</code> </td><td> U+02254 </td> </tr><tr><td> <code title="">Atilde;</code> </td> <td> U+000C3 </td> </tr><tr><td> <code title="">Atilde</code> </td> <td> U+000C3 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Auml;</code> </td> <td> U+000C4 </td> </tr><tr><td> <code title="">Auml</code> </td> <td> U+000C4 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Backslash;</code> </td> <td> U+02216 </td> </tr><tr><td> <code title="">Barv;</code> </td> <td> U+02AE7 </td> </tr><tr><td> <code title="">Barwed;</code> </td> <td> U+02306 </td> </tr><tr><td> <code title="">Bcy;</code> </td> <td> U+00411 </td> </tr><tr><td> <code title="">Because;</code> </td> <td> U+02235 </td> </tr><tr><td> <code title="">Bernoullis;</code> </td> <td> U+0212C </td> </tr><tr><td> <code title="">Beta;</code> </td> <td> U+00392 </td> </tr><tr><td> <code title="">Bfr;</code> </td> <td> U+1D505 </td> </tr><tr><td> <code title="">Bopf;</cod> </td> <td> U+1D539 </td> </tr><tr><td> <code title="">Breve;</code> </td> <td> U+002D8 </td> </tr><tr><td> <code title="">Bscr;</code> </td> <td> U+0212C </td> </tr><tr><td> <code title="">Bumpeq;</code> </td> <td> U+0224E </td> </tr><tr><td> <code title="">CHcy;</code> </td> <td> U+00427 </td> </tr><tr><td> <code title="">COPY;</code> </td> <td> U+000A9 </td> </tr><tr><td> <code title="">COPY</code> </td> <td> U+000A9 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Cacute;</code> </td> <td> U+00106 </td> </tr><tr><td> <code title="">Cap;</code> </td> <td> U+022D2 </td> </tr><tr><td> <code title="">CapitalDifferentialD;</code> </td> <td> U+02145 </td> </tr><tr><td> <code title="">Cayleys;</code> </td> <td> U+0212D </td> </tr><tr><td> <code title="">Ccaron;</code> </td> <td> U+0010C </td> </tr><tr><td> <code title="">Ccedil;</code> </td> <td> U+000C7 </td> </tr><tr><td> <code title="">Ccedil</code> </td> <td> U+000C7 </td> </tr><!-- (invalid entitywith missing semicolon for legacy support only) --><tr><td> <code title="">Ccirc;</code> </td> <td> U+00108 </td> </tr><tr><td> <code title="">Cconint;</code> </td> <td> U+02230 </td> </tr><tr><td> <code title="">Cdot;</code> </td> <td> U+0010A </td> </tr><tr><td> <code title="">Cedilla;</code> </td> <td> U+000B8 </td> </tr><tr><td> <code title="">CenterDot;</code> </td> <td> U+000B7 </td> </tr><tr><td> <code title="">Cfr;</code> </td> <td> U+0212D </td> </tr><tr><td> <code title="">Chi;</code> </td> <td> U+003A7 </td> </tr><tr><td> <code title="">CircleDot;</code> </td> <td> U+02299 </td> </tr><tr><td> <code title="">CircleMinus;</code> </td> <td> U+02296 </td> </tr><tr><td> <code title="">CirclePlus;</code> </td> <td> U+02295 </td> </tr><tr><td> <code title="">CircleTimes;</code> </td> <td> U+02297 </td> </tr><tr><td> <code title="">ClockwiseContourIntegral;</code> </td> <td> U+02232 </td> </tr><tr><td> <code title="">CloseCurlyDoubleQuote;</code> </td> <td> U+0201D </td> </tr><tr><td> <code title="">ClosCurlyQuote;</code> </td> <td> U+02019 </td> </tr><tr><td> <code title="">Colon;</code> </td> <td> U+02237 </td> </tr><tr><td> <code title="">Colone;</code> </td> <td> U+02A74 </td> </tr><tr><td> <code title="">Congruent;</code> </td> <td> U+02261 </td> </tr><tr><td> <code title="">Conint;</code> </td> <td> U+0222F </td> </tr><tr><td> <code title="">ContourIntegral;</code> </td> <td> U+0222E </td> </tr><tr><td> <code title="">Copf;</code> </td> <td> U+02102 </td> </tr><tr><td> <code title="">Coproduct;</code> </td> <td> U+02210 </td> </tr><tr><td> <code title="">CounterClockwiseContourIntegral;</code> </td> <td> U+02233 </td> </tr><tr><td> <code title="">Cross;</code> </td> <td> U+02A2F </td> </tr><tr><td> <code title="">Cscr;</code> </td> <td> U+1D49E </td> </tr><tr><td> <code title="">Cup;</code> </td> <td> U+022D3 </td> </tr><tr><td> <code title="">CupCap;</code> </td> <td> U+0224D </td> </tr><tr><td> <code title="">DD;</code> </td> <td> U+02145 </td> </tr><tr><td> <code title="">DDotrahd;</code> </td> <t> U+02911 </td> </tr><tr><td> <code title="">DJcy;</code> </td> <td> U+00402 </td> </tr><tr><td> <code title="">DScy;</code> </td> <td> U+00405 </td> </tr><tr><td> <code title="">DZcy;</code> </td> <td> U+0040F </td> </tr><tr><td> <code title="">Dagger;</code> </td> <td> U+02021 </td> </tr><tr><td> <code title="">Darr;</code> </td> <td> U+021A1 </td> </tr><tr><td> <code title="">Dashv;</code> </td> <td> U+02AE4 </td> </tr><tr><td> <code title="">Dcaron;</code> </td> <td> U+0010E </td> </tr><tr><td> <code title="">Dcy;</code> </td> <td> U+00414 </td> </tr><tr><td> <code title="">Del;</code> </td> <td> U+02207 </td> </tr><tr><td> <code title="">Delta;</code> </td> <td> U+00394 </td> </tr><tr><td> <code title="">Dfr;</code> </td> <td> U+1D507 </td> </tr><tr><td> <code title="">DiacriticalAcute;</code> </td> <td> U+000B4 </td> </tr><tr><td> <code title="">DiacriticalDot;</code> </td> <td> U+002D9 </td> </tr><tr><td> <code title="">DiacriticalDoubleAcute;</code> </td> <td> U+002DD </td> </tr><tr><td> <code title"">DiacriticalGrave;</code> </td> <td> U+00060 </td> </tr><tr><td> <code title="">DiacriticalTilde;</code> </td> <td> U+002DC </td> </tr><tr><td> <code title="">Diamond;</code> </td> <td> U+022C4 </td> </tr><tr><td> <code title="">DifferentialD;</code> </td> <td> U+02146 </td> </tr><tr><td> <code title="">Dopf;</code> </td> <td> U+1D53B </td> </tr><tr><td> <code title="">Dot;</code> </td> <td> U+000A8 </td> </tr><tr><td> <code title="">DotDot;</code> </td> <td> U+020DC </td> </tr><tr><td> <code title="">DotEqual;</code> </td> <td> U+02250 </td> </tr><tr><td> <code title="">DoubleContourIntegral;</code> </td> <td> U+0222F </td> </tr><tr><td> <code title="">DoubleDot;</code> </td> <td> U+000A8 </td> </tr><tr><td> <code title="">DoubleDownArrow;</code> </td> <td> U+021D3 </td> </tr><tr><td> <code title="">DoubleLeftArrow;</code> </td> <td> U+021D0 </td> </tr><tr><td> <code title="">DoubleLeftRightArrow;</code> </td> <td> U+021D4 </td> </tr><tr><td> <code title="">DoubleLeftTee;</code> </td> <td> U+02AE4 </td> /tr><tr><td> <code title="">DoubleLongLeftArrow;</code> </td> <td> U+027F8 </td> </tr><tr><td> <code title="">DoubleLongLeftRightArrow;</code> </td> <td> U+027FA </td> </tr><tr><td> <code title="">DoubleLongRightArrow;</code> </td> <td> U+027F9 </td> </tr><tr><td> <code title="">DoubleRightArrow;</code> </td> <td> U+021D2 </td> </tr><tr><td> <code title="">DoubleRightTee;</code> </td> <td> U+022A8 </td> </tr><tr><td> <code title="">DoubleUpArrow;</code> </td> <td> U+021D1 </td> </tr><tr><td> <code title="">DoubleUpDownArrow;</code> </td> <td> U+021D5 </td> </tr><tr><td> <code title="">DoubleVerticalBar;</code> </td> <td> U+02225 </td> </tr><tr><td> <code title="">DownArrow;</code> </td> <td> U+02193 </td> </tr><tr><td> <code title="">DownArrowBar;</code> </td> <td> U+02913 </td> </tr><tr><td> <code title="">DownArrowUpArrow;</code> </td> <td> U+021F5 </td> </tr><tr><td> <code title="">DownBreve;</code> </td> <td> U+00311 </td> </tr><tr><td> <code title="">DownLeftRightVector;</code> </td> <td> U+02950 </td></tr><tr><td> <code title="">DownLeftTeeVector;</code> </td> <td> U+0295E </td> </tr><tr><td> <code title="">DownLeftVector;</code> </td> <td> U+021BD </td> </tr><tr><td> <code title="">DownLeftVectorBar;</code> </td> <td> U+02956 </td> </tr><tr><td> <code title="">DownRightTeeVector;</code> </td> <td> U+0295F </td> </tr><tr><td> <code title="">DownRightVector;</code> </td> <td> U+021C1 </td> </tr><tr><td> <code title="">DownRightVectorBar;</code> </td> <td> U+02957 </td> </tr><tr><td> <code title="">DownTee;</code> </td> <td> U+022A4 </td> </tr><tr><td> <code title="">DownTeeArrow;</code> </td> <td> U+021A7 </td> </tr><tr><td> <code title="">Downarrow;</code> </td> <td> U+021D3 </td> </tr><tr><td> <code title="">Dscr;</code> </td> <td> U+1D49F </td> </tr><tr><td> <code title="">Dstrok;</code> </td> <td> U+00110 </td> </tr><tr><td> <code title="">ENG;</code> </td> <td> U+0014A </td> </tr><tr><td> <code title="">ETH;</code> </td> <td> U+000D0 </td> </tr><tr><td> <code title="">ETH</code> </td> <td> U+000D0 <td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Eacute;</code> </td> <td> U+000C9 </td> </tr><tr><td> <code title="">Eacute</code> </td> <td> U+000C9 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Ecaron;</code> </td> <td> U+0011A </td> </tr><tr><td> <code title="">Ecirc;</code> </td> <td> U+000CA </td> </tr><tr><td> <code title="">Ecirc</code> </td> <td> U+000CA </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Ecy;</code> </td> <td> U+0042D </td> </tr><tr><td> <code title="">Edot;</code> </td> <td> U+00116 </td> </tr><tr><td> <code title="">Efr;</code> </td> <td> U+1D508 </td> </tr><tr><td> <code title="">Egrave;</code> </td> <td> U+000C8 </td> </tr><tr><td> <code title="">Egrave</code> </td> <td> U+000C8 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Element;</code> </td> <t> U+02208 </td> </tr><tr><td> <code title="">Emacr;</code> </td> <td> U+00112 </td> </tr><tr><td> <code title="">EmptySmallSquare;</code> </td> <td> U+025FB </td> </tr><tr><td> <code title="">EmptyVerySmallSquare;</code> </td> <td> U+025AB </td> </tr><tr><td> <code title="">Eogon;</code> </td> <td> U+00118 </td> </tr><tr><td> <code title="">Eopf;</code> </td> <td> U+1D53C </td> </tr><tr><td> <code title="">Epsilon;</code> </td> <td> U+00395 </td> </tr><tr><td> <code title="">Equal;</code> </td> <td> U+02A75 </td> </tr><tr><td> <code title="">EqualTilde;</code> </td> <td> U+02242 </td> </tr><tr><td> <code title="">Equilibrium;</code> </td> <td> U+021CC </td> </tr><tr><td> <code title="">Escr;</code> </td> <td> U+02130 </td> </tr><tr><td> <code title="">Esim;</code> </td> <td> U+02A73 </td> </tr><tr><td> <code title="">Eta;</code> </td> <td> U+00397 </td> </tr><tr><td> <code title="">Euml;</code> </td> <td> U+000CB </td> </tr><tr><td> <code title="">Euml</code> </td> <td> U+000CB </td> </tr><!-- (invalid entiy with missing semicolon for legacy support only) --><tr><td> <code title="">Exists;</code> </td> <td> U+02203 </td> </tr><tr><td> <code title="">ExponentialE;</code> </td> <td> U+02147 </td> </tr><tr><td> <code title="">Fcy;</code> </td> <td> U+00424 </td> </tr><tr><td> <code title="">Ffr;</code> </td> <td> U+1D509 </td> </tr><tr><td> <code title="">FilledSmallSquare;</code> </td> <td> U+025FC </td> </tr><tr><td> <code title="">FilledVerySmallSquare;</code> </td> <td> U+025AA </td> </tr><tr><td> <code title="">Fopf;</code> </td> <td> U+1D53D </td> </tr><tr><td> <code title="">ForAll;</code> </td> <td> U+02200 </td> </tr><tr><td> <code title="">Fouriertrf;</code> </td> <td> U+02131 </td> </tr><tr><td> <code title="">Fscr;</code> </td> <td> U+02131 </td> </tr><tr><td> <code title="">GJcy;</code> </td> <td> U+00403 </td> </tr><tr><td> <code title="">GT;</code> </td> <td> U+0003E </td> </tr><tr><td> <code title="">GT</code> </td> <td> U+0003E </td> </tr><!-- (invalid entity with missing semicolon for legacy suport only) --><tr><td> <code title="">Gamma;</code> </td> <td> U+00393 </td> </tr><tr><td> <code title="">Gammad;</code> </td> <td> U+003DC </td> </tr><tr><td> <code title="">Gbreve;</code> </td> <td> U+0011E </td> </tr><tr><td> <code title="">Gcedil;</code> </td> <td> U+00122 </td> </tr><tr><td> <code title="">Gcirc;</code> </td> <td> U+0011C </td> </tr><tr><td> <code title="">Gcy;</code> </td> <td> U+00413 </td> </tr><tr><td> <code title="">Gdot;</code> </td> <td> U+00120 </td> </tr><tr><td> <code title="">Gfr;</code> </td> <td> U+1D50A </td> </tr><tr><td> <code title="">Gg;</code> </td> <td> U+022D9 </td> </tr><tr><td> <code title="">Gopf;</code> </td> <td> U+1D53E </td> </tr><tr><td> <code title="">GreaterEqual;</code> </td> <td> U+02265 </td> </tr><tr><td> <code title="">GreaterEqualLess;</code> </td> <td> U+022DB </td> </tr><tr><td> <code title="">GreaterFullEqual;</code> </td> <td> U+02267 </td> </tr><tr><td> <code title="">GreaterGreater;</code> </td> <td> U+02AA2 </td> </tr><tr><td> <code title="">reaterLess;</code> </td> <td> U+02277 </td> </tr><tr><td> <code title="">GreaterSlantEqual;</code> </td> <td> U+02A7E </td> </tr><tr><td> <code title="">GreaterTilde;</code> </td> <td> U+02273 </td> </tr><tr><td> <code title="">Gscr;</code> </td> <td> U+1D4A2 </td> </tr><tr><td> <code title="">Gt;</code> </td> <td> U+0226B </td> </tr><tr><td> <code title="">HARDcy;</code> </td> <td> U+0042A </td> </tr><tr><td> <code title="">Hacek;</code> </td> <td> U+002C7 </td> </tr><tr><td> <code title="">Hat;</code> </td> <td> U+0005E </td> </tr><tr><td> <code title="">Hcirc;</code> </td> <td> U+00124 </td> </tr><tr><td> <code title="">Hfr;</code> </td> <td> U+0210C </td> </tr><tr><td> <code title="">HilbertSpace;</code> </td> <td> U+0210B </td> </tr><tr><td> <code title="">Hopf;</code> </td> <td> U+0210D </td> </tr><tr><td> <code title="">HorizontalLine;</code> </td> <td> U+02500 </td> </tr><tr><td> <code title="">Hscr;</code> </td> <td> U+0210B </td> </tr><tr><td> <code title="">Hstrok;</code> </td> <td> U+00126 </td></tr><tr><td> <code title="">HumpDownHump;</code> </td> <td> U+0224E </td> </tr><tr><td> <code title="">HumpEqual;</code> </td> <td> U+0224F </td> </tr><tr><td> <code title="">IEcy;</code> </td> <td> U+00415 </td> </tr><tr><td> <code title="">IJlig;</code> </td> <td> U+00132 </td> </tr><tr><td> <code title="">IOcy;</code> </td> <td> U+00401 </td> </tr><tr><td> <code title="">Iacute;</code> </td> <td> U+000CD </td> </tr><tr><td> <code title="">Iacute</code> </td> <td> U+000CD </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Icirc;</code> </td> <td> U+000CE </td> </tr><tr><td> <code title="">Icirc</code> </td> <td> U+000CE </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Icy;</code> </td> <td> U+00418 </td> </tr><tr><td> <code title="">Idot;</code> </td> <td> U+00130 </td> </tr><tr><td> <code title="">Ifr;</code> </td> <td> U+02111 </td> </tr><tr><td> <code title="">Igrave;</code> </td> <td> U+00CC </td> </tr><tr><td> <code title="">Igrave</code> </td> <td> U+000CC </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Im;</code> </td> <td> U+02111 </td> </tr><tr><td> <code title="">Imacr;</code> </td> <td> U+0012A </td> </tr><tr><td> <code title="">ImaginaryI;</code> </td> <td> U+02148 </td> </tr><tr><td> <code title="">Implies;</code> </td> <td> U+021D2 </td> </tr><tr><td> <code title="">Int;</code> </td> <td> U+0222C </td> </tr><tr><td> <code title="">Integral;</code> </td> <td> U+0222B </td> </tr><tr><td> <code title="">Intersection;</code> </td> <td> U+022C2 </td> </tr><tr><td> <code title="">InvisibleComma;</code> </td> <td> U+02063 </td> </tr><tr><td> <code title="">InvisibleTimes;</code> </td> <td> U+02062 </td> </tr><tr><td> <code title="">Iogon;</code> </td> <td> U+0012E </td> </tr><tr><td> <code title="">Iopf;</code> </td> <td> U+1D540 </td> </tr><tr><td> <code title="">Iota;</code> </td> <td> U+00399 </td> </tr><tr><td> <code title=""Iscr;</code> </td> <td> U+02110 </td> </tr><tr><td> <code title="">Itilde;</code> </td> <td> U+00128 </td> </tr><tr><td> <code title="">Iukcy;</code> </td> <td> U+00406 </td> </tr><tr><td> <code title="">Iuml;</code> </td> <td> U+000CF </td> </tr><tr><td> <code title="">Iuml</code> </td> <td> U+000CF </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Jcirc;</code> </td> <td> U+00134 </td> </tr><tr><td> <code title="">Jcy;</code> </td> <td> U+00419 </td> </tr><tr><td> <code title="">Jfr;</code> </td> <td> U+1D50D </td> </tr><tr><td> <code title="">Jopf;</code> </td> <td> U+1D541 </td> </tr><tr><td> <code title="">Jscr;</code> </td> <td> U+1D4A5 </td> </tr><tr><td> <code title="">Jsercy;</code> </td> <td> U+00408 </td> </tr><tr><td> <code title="">Jukcy;</code> </td> <td> U+00404 </td> </tr><tr><td> <code title="">KHcy;</code> </td> <td> U+00425 </td> </tr><tr><td> <code title="">KJcy;</code> </td> <td> U+0040C </td> </tr><tr><td> <code title="">Kappa;</ode> </td> <td> U+0039A </td> </tr><tr><td> <code title="">Kcedil;</code> </td> <td> U+00136 </td> </tr><tr><td> <code title="">Kcy;</code> </td> <td> U+0041A </td> </tr><tr><td> <code title="">Kfr;</code> </td> <td> U+1D50E </td> </tr><tr><td> <code title="">Kopf;</code> </td> <td> U+1D542 </td> </tr><tr><td> <code title="">Kscr;</code> </td> <td> U+1D4A6 </td> </tr><tr><td> <code title="">LJcy;</code> </td> <td> U+00409 </td> </tr><tr><td> <code title="">LT;</code> </td> <td> U+0003C </td> </tr><tr><td> <code title="">LT</code> </td> <td> U+0003C </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Lacute;</code> </td> <td> U+00139 </td> </tr><tr><td> <code title="">Lambda;</code> </td> <td> U+0039B </td> </tr><tr><td> <code title="">Lang;</code> </td> <td> U+027EA </td> </tr><tr><td> <code title="">Laplacetrf;</code> </td> <td> U+02112 </td> </tr><tr><td> <code title="">Larr;</code> </td> <td> U+0219E </td> </tr><tr><td> <code title="">Lcaron;</code> /td> <td> U+0013D </td> </tr><tr><td> <code title="">Lcedil;</code> </td> <td> U+0013B </td> </tr><tr><td> <code title="">Lcy;</code> </td> <td> U+0041B </td> </tr><tr><td> <code title="">LeftAngleBracket;</code> </td> <td> U+027E8 </td> </tr><tr><td> <code title="">LeftArrow;</code> </td> <td> U+02190 </td> </tr><tr><td> <code title="">LeftArrowBar;</code> </td> <td> U+021E4 </td> </tr><tr><td> <code title="">LeftArrowRightArrow;</code> </td> <td> U+021C6 </td> </tr><tr><td> <code title="">LeftCeiling;</code> </td> <td> U+02308 </td> </tr><tr><td> <code title="">LeftDoubleBracket;</code> </td> <td> U+027E6 </td> </tr><tr><td> <code title="">LeftDownTeeVector;</code> </td> <td> U+02961 </td> </tr><tr><td> <code title="">LeftDownVector;</code> </td> <td> U+021C3 </td> </tr><tr><td> <code title="">LeftDownVectorBar;</code> </td> <td> U+02959 </td> </tr><tr><td> <code title="">LeftFloor;</code> </td> <td> U+0230A </td> </tr><tr><td> <code title="">LeftRightArrow;</code> </td> <td> U+02194 </td> </tr><tr><td> <ode title="">LeftRightVector;</code> </td> <td> U+0294E </td> </tr><tr><td> <code title="">LeftTee;</code> </td> <td> U+022A3 </td> </tr><tr><td> <code title="">LeftTeeArrow;</code> </td> <td> U+021A4 </td> </tr><tr><td> <code title="">LeftTeeVector;</code> </td> <td> U+0295A </td> </tr><tr><td> <code title="">LeftTriangle;</code> </td> <td> U+022B2 </td> </tr><tr><td> <code title="">LeftTriangleBar;</code> </td> <td> U+029CF </td> </tr><tr><td> <code title="">LeftTriangleEqual;</code> </td> <td> U+022B4 </td> </tr><tr><td> <code title="">LeftUpDownVector;</code> </td> <td> U+02951 </td> </tr><tr><td> <code title="">LeftUpTeeVector;</code> </td> <td> U+02960 </td> </tr><tr><td> <code title="">LeftUpVector;</code> </td> <td> U+021BF </td> </tr><tr><td> <code title="">LeftUpVectorBar;</code> </td> <td> U+02958 </td> </tr><tr><td> <code title="">LeftVector;</code> </td> <td> U+021BC </td> </tr><tr><td> <code title="">LeftVectorBar;</code> </td> <td> U+02952 </td> </tr><tr><td> <code title="">Leftarrow;</code> /td> <td> U+021D0 </td> </tr><tr><td> <code title="">Leftrightarrow;</code> </td> <td> U+021D4 </td> </tr><tr><td> <code title="">LessEqualGreater;</code> </td> <td> U+022DA </td> </tr><tr><td> <code title="">LessFullEqual;</code> </td> <td> U+02266 </td> </tr><tr><td> <code title="">LessGreater;</code> </td> <td> U+02276 </td> </tr><tr><td> <code title="">LessLess;</code> </td> <td> U+02AA1 </td> </tr><tr><td> <code title="">LessSlantEqual;</code> </td> <td> U+02A7D </td> </tr><tr><td> <code title="">LessTilde;</code> </td> <td> U+02272 </td> </tr><tr><td> <code title="">Lfr;</code> </td> <td> U+1D50F </td> </tr><tr><td> <code title="">Ll;</code> </td> <td> U+022D8 </td> </tr><tr><td> <code title="">Lleftarrow;</code> </td> <td> U+021DA </td> </tr><tr><td> <code title="">Lmidot;</code> </td> <td> U+0013F </td> </tr><tr><td> <code title="">LongLeftArrow;</code> </td> <td> U+027F5 </td> </tr><tr><td> <code title="">LongLeftRightArrow;</code> </td> <td> U+027F7 </td> </tr><tr><td> <code title="">LongRightArro;</code> </td> <td> U+027F6 </td> </tr><tr><td> <code title="">Longleftarrow;</code> </td> <td> U+027F8 </td> </tr><tr><td> <code title="">Longleftrightarrow;</code> </td> <td> U+027FA </td> </tr><tr><td> <code title="">Longrightarrow;</code> </td> <td> U+027F9 </td> </tr><tr><td> <code title="">Lopf;</code> </td> <td> U+1D543 </td> </tr><tr><td> <code title="">LowerLeftArrow;</code> </td> <td> U+02199 </td> </tr><tr><td> <code title="">LowerRightArrow;</code> </td> <td> U+02198 </td> </tr><tr><td> <code title="">Lscr;</code> </td> <td> U+02112 </td> </tr><tr><td> <code title="">Lsh;</code> </td> <td> U+021B0 </td> </tr><tr><td> <code title="">Lstrok;</code> </td> <td> U+00141 </td> </tr><tr><td> <code title="">Lt;</code> </td> <td> U+0226A </td> </tr><tr><td> <code title="">Map;</code> </td> <td> U+02905 </td> </tr><tr><td> <code title="">Mcy;</code> </td> <td> U+0041C </td> </tr><tr><td> <code title="">MediumSpace;</code> </td> <td> U+0205F </td> </tr><tr><td> <code title="">Mellintrf;</code> </td> <td> U02133 </td> </tr><tr><td> <code title="">Mfr;</code> </td> <td> U+1D510 </td> </tr><tr><td> <code title="">MinusPlus;</code> </td> <td> U+02213 </td> </tr><tr><td> <code title="">Mopf;</code> </td> <td> U+1D544 </td> </tr><tr><td> <code title="">Mscr;</code> </td> <td> U+02133 </td> </tr><tr><td> <code title="">Mu;</code> </td> <td> U+0039C </td> </tr><tr><td> <code title="">NJcy;</code> </td> <td> U+0040A </td> </tr><tr><td> <code title="">Nacute;</code> </td> <td> U+00143 </td> </tr><tr><td> <code title="">Ncaron;</code> </td> <td> U+00147 </td> </tr><tr><td> <code title="">Ncedil;</code> </td> <td> U+00145 </td> </tr><tr><td> <code title="">Ncy;</code> </td> <td> U+0041D </td> </tr><tr><td> <code title="">NegativeMediumSpace;</code> </td> <td> U+0200B </td> </tr><tr><td> <code title="">NegativeThickSpace;</code> </td> <td> U+0200B </td> </tr><tr><td> <code title="">NegativeThinSpace;</code> </td> <td> U+0200B </td> </tr><tr><td> <code title="">NegativeVeryThinSpace;</code> </td> <td> U+0200B </td> </tr><r><td> <code title="">NestedGreaterGreater;</code> </td> <td> U+0226B </td> </tr><tr><td> <code title="">NestedLessLess;</code> </td> <td> U+0226A </td> </tr><tr><td> <code title="">NewLine;</code> </td> <td> U+0000A </td> </tr><tr><td> <code title="">Nfr;</code> </td> <td> U+1D511 </td> </tr><tr><td> <code title="">NoBreak;</code> </td> <td> U+02060 </td> </tr><tr><td> <code title="">NonBreakingSpace;</code> </td> <td> U+000A0 </td> </tr><tr><td> <code title="">Nopf;</code> </td> <td> U+02115 </td> </tr><tr><td> <code title="">Not;</code> </td> <td> U+02AEC </td> </tr><tr><td> <code title="">NotCongruent;</code> </td> <td> U+02262 </td> </tr><tr><td> <code title="">NotCupCap;</code> </td> <td> U+0226D </td> </tr><tr><td> <code title="">NotDoubleVerticalBar;</code> </td> <td> U+02226 </td> </tr><tr><td> <code title="">NotElement;</code> </td> <td> U+02209 </td> </tr><tr><td> <code title="">NotEqual;</code> </td> <td> U+02260 </td> </tr><tr><td> <code title="">NotExists;</code> </td> <td> U+02204 </td> </tr>tr><td> <code title="">NotGreater;</code> </td> <td> U+0226F </td> </tr><tr><td> <code title="">NotGreaterEqual;</code> </td> <td> U+02271 </td> </tr><tr><td> <code title="">NotGreaterLess;</code> </td> <td> U+02279 </td> </tr><tr><td> <code title="">NotGreaterTilde;</code> </td> <td> U+02275 </td> </tr><tr><td> <code title="">NotLeftTriangle;</code> </td> <td> U+022EA </td> </tr><tr><td> <code title="">NotLeftTriangleEqual;</code> </td> <td> U+022EC </td> </tr><tr><td> <code title="">NotLess;</code> </td> <td> U+0226E </td> </tr><tr><td> <code title="">NotLessEqual;</code> </td> <td> U+02270 </td> </tr><tr><td> <code title="">NotLessGreater;</code> </td> <td> U+02278 </td> </tr><tr><td> <code title="">NotLessTilde;</code> </td> <td> U+02274 </td> </tr><tr><td> <code title="">NotPrecedes;</code> </td> <td> U+02280 </td> </tr><tr><td> <code title="">NotPrecedesSlantEqual;</code> </td> <td> U+022E0 </td> </tr><tr><td> <code title="">NotReverseElement;</code> </td> <td> U+0220C </td> </tr><tr><td> <code title=">NotRightTriangle;</code> </td> <td> U+022EB </td> </tr><tr><td> <code title="">NotRightTriangleEqual;</code> </td> <td> U+022ED </td> </tr><tr><td> <code title="">NotSquareSubsetEqual;</code> </td> <td> U+022E2 </td> </tr><tr><td> <code title="">NotSquareSupersetEqual;</code> </td> <td> U+022E3 </td> </tr><tr><td> <code title="">NotSubsetEqual;</code> </td> <td> U+02288 </td> </tr><tr><td> <code title="">NotSucceeds;</code> </td> <td> U+02281 </td> </tr><tr><td> <code title="">NotSucceedsSlantEqual;</code> </td> <td> U+022E1 </td> </tr><tr><td> <code title="">NotSupersetEqual;</code> </td> <td> U+02289 </td> </tr><tr><td> <code title="">NotTilde;</code> </td> <td> U+02241 </td> </tr><tr><td> <code title="">NotTildeEqual;</code> </td> <td> U+02244 </td> </tr><tr><td> <code title="">NotTildeFullEqual;</code> </td> <td> U+02247 </td> </tr><tr><td> <code title="">NotTildeTilde;</code> </td> <td> U+02249 </td> </tr><tr><td> <code title="">NotVerticalBar;</code> </td> <td> U+02224 </td> </tr><tr><td> <code titl="">Nscr;</code> </td> <td> U+1D4A9 </td> </tr><tr><td> <code title="">Ntilde;</code> </td> <td> U+000D1 </td> </tr><tr><td> <code title="">Ntilde</code> </td> <td> U+000D1 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Nu;</code> </td> <td> U+0039D </td> </tr><tr><td> <code title="">OElig;</code> </td> <td> U+00152 </td> </tr><tr><td> <code title="">Oacute;</code> </td> <td> U+000D3 </td> </tr><tr><td> <code title="">Oacute</code> </td> <td> U+000D3 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Ocirc;</code> </td> <td> U+000D4 </td> </tr><tr><td> <code title="">Ocirc</code> </td> <td> U+000D4 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Ocy;</code> </td> <td> U+0041E </td> </tr><tr><td> <code title="">Odblac;</code> </td> <td> U+00150 </td> </tr><tr><td> <code title="">Ofr;</code> </td> <td> U+1D512 </td> </tr><tr><td> <code ttle="">Ograve;</code> </td> <td> U+000D2 </td> </tr><tr><td> <code title="">Ograve</code> </td> <td> U+000D2 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Omacr;</code> </td> <td> U+0014C </td> </tr><tr><td> <code title="">Omega;</code> </td> <td> U+003A9 </td> </tr><tr><td> <code title="">Omicron;</code> </td> <td> U+0039F </td> </tr><tr><td> <code title="">Oopf;</code> </td> <td> U+1D546 </td> </tr><tr><td> <code title="">OpenCurlyDoubleQuote;</code> </td> <td> U+0201C </td> </tr><tr><td> <code title="">OpenCurlyQuote;</code> </td> <td> U+02018 </td> </tr><tr><td> <code title="">Or;</code> </td> <td> U+02A54 </td> </tr><tr><td> <code title="">Oscr;</code> </td> <td> U+1D4AA </td> </tr><tr><td> <code title="">Oslash;</code> </td> <td> U+000D8 </td> </tr><tr><td> <code title="">Oslash</code> </td> <td> U+000D8 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Otilde;</code> </td> <td> U+000D </td> </tr><tr><td> <code title="">Otilde</code> </td> <td> U+000D5 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Otimes;</code> </td> <td> U+02A37 </td> </tr><tr><td> <code title="">Ouml;</code> </td> <td> U+000D6 </td> </tr><tr><td> <code title="">Ouml</code> </td> <td> U+000D6 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">OverBar;</code> </td> <td> U+000AF </td> </tr><tr><td> <code title="">OverBrace;</code> </td> <td> U+023DE </td> </tr><tr><td> <code title="">OverBracket;</code> </td> <td> U+023B4 </td> </tr><tr><td> <code title="">OverParenthesis;</code> </td> <td> U+023DC </td> </tr><tr><td> <code title="">PartialD;</code> </td> <td> U+02202 </td> </tr><tr><td> <code title="">Pcy;</code> </td> <td> U+0041F </td> </tr><tr><td> <code title="">Pfr;</code> </td> <td> U+1D513 </td> </tr><tr><td> <code title="">Phi;</code> </td> <td> U+003A6 </td> </tr><tr><td> <code title="">Pi;</code </td> <td> U+003A0 </td> </tr><tr><td> <code title="">PlusMinus;</code> </td> <td> U+000B1 </td> </tr><tr><td> <code title="">Poincareplane;</code> </td> <td> U+0210C </td> </tr><tr><td> <code title="">Popf;</code> </td> <td> U+02119 </td> </tr><tr><td> <code title="">Pr;</code> </td> <td> U+02ABB </td> </tr><tr><td> <code title="">Precedes;</code> </td> <td> U+0227A </td> </tr><tr><td> <code title="">PrecedesEqual;</code> </td> <td> U+02AAF </td> </tr><tr><td> <code title="">PrecedesSlantEqual;</code> </td> <td> U+0227C </td> </tr><tr><td> <code title="">PrecedesTilde;</code> </td> <td> U+0227E </td> </tr><tr><td> <code title="">Prime;</code> </td> <td> U+02033 </td> </tr><tr><td> <code title="">Product;</code> </td> <td> U+0220F </td> </tr><tr><td> <code title="">Proportion;</code> </td> <td> U+02237 </td> </tr><tr><td> <code title="">Proportional;</code> </td> <td> U+0221D </td> </tr><tr><td> <code title="">Pscr;</code> </td> <td> U+1D4AB </td> </tr><tr><td> <code title="">Psi;</code> </td> <td> U+003A8</td> </tr><tr><td> <code title="">QUOT;</code> </td> <td> U+00022 </td> </tr><tr><td> <code title="">QUOT</code> </td> <td> U+00022 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Qfr;</code> </td> <td> U+1D514 </td> </tr><tr><td> <code title="">Qopf;</code> </td> <td> U+0211A </td> </tr><tr><td> <code title="">Qscr;</code> </td> <td> U+1D4AC </td> </tr><tr><td> <code title="">RBarr;</code> </td> <td> U+02910 </td> </tr><tr><td> <code title="">REG;</code> </td> <td> U+000AE </td> </tr><tr><td> <code title="">REG</code> </td> <td> U+000AE </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Racute;</code> </td> <td> U+00154 </td> </tr><tr><td> <code title="">Rang;</code> </td> <td> U+027EB </td> </tr><tr><td> <code title="">Rarr;</code> </td> <td> U+021A0 </td> </tr><tr><td> <code title="">Rarrtl;</code> </td> <td> U+02916 </td> </tr><tr><td> <code title="">Rcaron;</code> </td> <td> U+00158 </td></tr><tr><td> <code title="">Rcedil;</code> </td> <td> U+00156 </td> </tr><tr><td> <code title="">Rcy;</code> </td> <td> U+00420 </td> </tr><tr><td> <code title="">Re;</code> </td> <td> U+0211C </td> </tr><tr><td> <code title="">ReverseElement;</code> </td> <td> U+0220B </td> </tr><tr><td> <code title="">ReverseEquilibrium;</code> </td> <td> U+021CB </td> </tr><tr><td> <code title="">ReverseUpEquilibrium;</code> </td> <td> U+0296F </td> </tr><tr><td> <code title="">Rfr;</code> </td> <td> U+0211C </td> </tr><tr><td> <code title="">Rho;</code> </td> <td> U+003A1 </td> </tr><tr><td> <code title="">RightAngleBracket;</code> </td> <td> U+027E9 </td> </tr><tr><td> <code title="">RightArrow;</code> </td> <td> U+02192 </td> </tr><tr><td> <code title="">RightArrowBar;</code> </td> <td> U+021E5 </td> </tr><tr><td> <code title="">RightArrowLeftArrow;</code> </td> <td> U+021C4 </td> </tr><tr><td> <code title="">RightCeiling;</code> </td> <td> U+02309 </td> </tr><tr><td> <code title="">RightDoubleBracket;</code> </td> <d> U+027E7 </td> </tr><tr><td> <code title="">RightDownTeeVector;</code> </td> <td> U+0295D </td> </tr><tr><td> <code title="">RightDownVector;</code> </td> <td> U+021C2 </td> </tr><tr><td> <code title="">RightDownVectorBar;</code> </td> <td> U+02955 </td> </tr><tr><td> <code title="">RightFloor;</code> </td> <td> U+0230B </td> </tr><tr><td> <code title="">RightTee;</code> </td> <td> U+022A2 </td> </tr><tr><td> <code title="">RightTeeArrow;</code> </td> <td> U+021A6 </td> </tr><tr><td> <code title="">RightTeeVector;</code> </td> <td> U+0295B </td> </tr><tr><td> <code title="">RightTriangle;</code> </td> <td> U+022B3 </td> </tr><tr><td> <code title="">RightTriangleBar;</code> </td> <td> U+029D0 </td> </tr><tr><td> <code title="">RightTriangleEqual;</code> </td> <td> U+022B5 </td> </tr><tr><td> <code title="">RightUpDownVector;</code> </td> <td> U+0294F </td> </tr><tr><td> <code title="">RightUpTeeVector;</code> </td> <td> U+0295C </td> </tr><tr><td> <code title="">RightUpVector;</code> </td> <td> U+021BE </t> </tr><tr><td> <code title="">RightUpVectorBar;</code> </td> <td> U+02954 </td> </tr><tr><td> <code title="">RightVector;</code> </td> <td> U+021C0 </td> </tr><tr><td> <code title="">RightVectorBar;</code> </td> <td> U+02953 </td> </tr><tr><td> <code title="">Rightarrow;</code> </td> <td> U+021D2 </td> </tr><tr><td> <code title="">Ropf;</code> </td> <td> U+0211D </td> </tr><tr><td> <code title="">RoundImplies;</code> </td> <td> U+02970 </td> </tr><tr><td> <code title="">Rrightarrow;</code> </td> <td> U+021DB </td> </tr><tr><td> <code title="">Rscr;</code> </td> <td> U+0211B </td> </tr><tr><td> <code title="">Rsh;</code> </td> <td> U+021B1 </td> </tr><tr><td> <code title="">RuleDelayed;</code> </td> <td> U+029F4 </td> </tr><tr><td> <code title="">SHCHcy;</code> </td> <td> U+00429 </td> </tr><tr><td> <code title="">SHcy;</code> </td> <td> U+00428 </td> </tr><tr><td> <code title="">SOFTcy;</code> </td> <td> U+0042C </td> </tr><tr><td> <code title="">Sacute;</code> </td> <td> U+0015A </td> </tr><tr><td> <code itle="">Sc;</code> </td> <td> U+02ABC </td> </tr><tr><td> <code title="">Scaron;</code> </td> <td> U+00160 </td> </tr><tr><td> <code title="">Scedil;</code> </td> <td> U+0015E </td> </tr><tr><td> <code title="">Scirc;</code> </td> <td> U+0015C </td> </tr><tr><td> <code title="">Scy;</code> </td> <td> U+00421 </td> </tr><tr><td> <code title="">Sfr;</code> </td> <td> U+1D516 </td> </tr><tr><td> <code title="">ShortDownArrow;</code> </td> <td> U+02193 </td> </tr><tr><td> <code title="">ShortLeftArrow;</code> </td> <td> U+02190 </td> </tr><tr><td> <code title="">ShortRightArrow;</code> </td> <td> U+02192 </td> </tr><tr><td> <code title="">ShortUpArrow;</code> </td> <td> U+02191 </td> </tr><tr><td> <code title="">Sigma;</code> </td> <td> U+003A3 </td> </tr><tr><td> <code title="">SmallCircle;</code> </td> <td> U+02218 </td> </tr><tr><td> <code title="">Sopf;</code> </td> <td> U+1D54A </td> </tr><tr><td> <code title="">Sqrt;</code> </td> <td> U+0221A </td> </tr><tr><td> <code title="">Square;</code> </td> <td> U+25A1 </td> </tr><tr><td> <code title="">SquareIntersection;</code> </td> <td> U+02293 </td> </tr><tr><td> <code title="">SquareSubset;</code> </td> <td> U+0228F </td> </tr><tr><td> <code title="">SquareSubsetEqual;</code> </td> <td> U+02291 </td> </tr><tr><td> <code title="">SquareSuperset;</code> </td> <td> U+02290 </td> </tr><tr><td> <code title="">SquareSupersetEqual;</code> </td> <td> U+02292 </td> </tr><tr><td> <code title="">SquareUnion;</code> </td> <td> U+02294 </td> </tr><tr><td> <code title="">Sscr;</code> </td> <td> U+1D4AE </td> </tr><tr><td> <code title="">Star;</code> </td> <td> U+022C6 </td> </tr><tr><td> <code title="">Sub;</code> </td> <td> U+022D0 </td> </tr><tr><td> <code title="">Subset;</code> </td> <td> U+022D0 </td> </tr><tr><td> <code title="">SubsetEqual;</code> </td> <td> U+02286 </td> </tr><tr><td> <code title="">Succeeds;</code> </td> <td> U+0227B </td> </tr><tr><td> <code title="">SucceedsEqual;</code> </td> <td> U+02AB0 </td> </tr><tr><td> <code title="">SucceedsSlantEqual;</coe> </td> <td> U+0227D </td> </tr><tr><td> <code title="">SucceedsTilde;</code> </td> <td> U+0227F </td> </tr><tr><td> <code title="">SuchThat;</code> </td> <td> U+0220B </td> </tr><tr><td> <code title="">Sum;</code> </td> <td> U+02211 </td> </tr><tr><td> <code title="">Sup;</code> </td> <td> U+022D1 </td> </tr><tr><td> <code title="">Superset;</code> </td> <td> U+02283 </td> </tr><tr><td> <code title="">SupersetEqual;</code> </td> <td> U+02287 </td> </tr><tr><td> <code title="">Supset;</code> </td> <td> U+022D1 </td> </tr><tr><td> <code title="">THORN;</code> </td> <td> U+000DE </td> </tr><tr><td> <code title="">THORN</code> </td> <td> U+000DE </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">TRADE;</code> </td> <td> U+02122 </td> </tr><tr><td> <code title="">TSHcy;</code> </td> <td> U+0040B </td> </tr><tr><td> <code title="">TScy;</code> </td> <td> U+00426 </td> </tr><tr><td> <code title="">Tab;</code> </td> <td> U+00009 </td> </tr><tr><td> <code tite="">Tau;</code> </td> <td> U+003A4 </td> </tr><tr><td> <code title="">Tcaron;</code> </td> <td> U+00164 </td> </tr><tr><td> <code title="">Tcedil;</code> </td> <td> U+00162 </td> </tr><tr><td> <code title="">Tcy;</code> </td> <td> U+00422 </td> </tr><tr><td> <code title="">Tfr;</code> </td> <td> U+1D517 </td> </tr><tr><td> <code title="">Therefore;</code> </td> <td> U+02234 </td> </tr><tr><td> <code title="">Theta;</code> </td> <td> U+00398 </td> </tr><tr><td> <code title="">ThinSpace;</code> </td> <td> U+02009 </td> </tr><tr><td> <code title="">Tilde;</code> </td> <td> U+0223C </td> </tr><tr><td> <code title="">TildeEqual;</code> </td> <td> U+02243 </td> </tr><tr><td> <code title="">TildeFullEqual;</code> </td> <td> U+02245 </td> </tr><tr><td> <code title="">TildeTilde;</code> </td> <td> U+02248 </td> </tr><tr><td> <code title="">Topf;</code> </td> <td> U+1D54B </td> </tr><tr><td> <code title="">TripleDot;</code> </td> <td> U+020DB </td> </tr><tr><td> <code title="">Tscr;</code> </td> <td> U+1D4AF </td> <tr><tr><td> <code title="">Tstrok;</code> </td> <td> U+00166 </td> </tr><tr><td> <code title="">Uacute;</code> </td> <td> U+000DA </td> </tr><tr><td> <code title="">Uacute</code> </td> <td> U+000DA </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Uarr;</code> </td> <td> U+0219F </td> </tr><tr><td> <code title="">Uarrocir;</code> </td> <td> U+02949 </td> </tr><tr><td> <code title="">Ubrcy;</code> </td> <td> U+0040E </td> </tr><tr><td> <code title="">Ubreve;</code> </td> <td> U+0016C </td> </tr><tr><td> <code title="">Ucirc;</code> </td> <td> U+000DB </td> </tr><tr><td> <code title="">Ucirc</code> </td> <td> U+000DB </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Ucy;</code> </td> <td> U+00423 </td> </tr><tr><td> <code title="">Udblac;</code> </td> <td> U+00170 </td> </tr><tr><td> <code title="">Ufr;</code> </td> <td> U+1D518 </td> </tr><tr><td> <code title="">Ugrave;</code> </td> <td> U+000D9 /td> </tr><tr><td> <code title="">Ugrave</code> </td> <td> U+000D9 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Umacr;</code> </td> <td> U+0016A </td> </tr><tr><td> <code title="">UnderBar;</code> </td> <td> U+00332 </td> </tr><tr><td> <code title="">UnderBrace;</code> </td> <td> U+023DF </td> </tr><tr><td> <code title="">UnderBracket;</code> </td> <td> U+023B5 </td> </tr><tr><td> <code title="">UnderParenthesis;</code> </td> <td> U+023DD </td> </tr><tr><td> <code title="">Union;</code> </td> <td> U+022C3 </td> </tr><tr><td> <code title="">UnionPlus;</code> </td> <td> U+0228E </td> </tr><tr><td> <code title="">Uogon;</code> </td> <td> U+00172 </td> </tr><tr><td> <code title="">Uopf;</code> </td> <td> U+1D54C </td> </tr><tr><td> <code title="">UpArrow;</code> </td> <td> U+02191 </td> </tr><tr><td> <code title="">UpArrowBar;</code> </td> <td> U+02912 </td> </tr><tr><td> <code title="">UpArrowDownArrow;</code> </td> <td> U+021C5 </td> </tr><tr><td> code title="">UpDownArrow;</code> </td> <td> U+02195 </td> </tr><tr><td> <code title="">UpEquilibrium;</code> </td> <td> U+0296E </td> </tr><tr><td> <code title="">UpTee;</code> </td> <td> U+022A5 </td> </tr><tr><td> <code title="">UpTeeArrow;</code> </td> <td> U+021A5 </td> </tr><tr><td> <code title="">Uparrow;</code> </td> <td> U+021D1 </td> </tr><tr><td> <code title="">Updownarrow;</code> </td> <td> U+021D5 </td> </tr><tr><td> <code title="">UpperLeftArrow;</code> </td> <td> U+02196 </td> </tr><tr><td> <code title="">UpperRightArrow;</code> </td> <td> U+02197 </td> </tr><tr><td> <code title="">Upsi;</code> </td> <td> U+003D2 </td> </tr><tr><td> <code title="">Upsilon;</code> </td> <td> U+003A5 </td> </tr><tr><td> <code title="">Uring;</code> </td> <td> U+0016E </td> </tr><tr><td> <code title="">Uscr;</code> </td> <td> U+1D4B0 </td> </tr><tr><td> <code title="">Utilde;</code> </td> <td> U+00168 </td> </tr><tr><td> <code title="">Uuml;</code> </td> <td> U+000DC </td> </tr><tr><td> <code title="">Uuml</code </td> <td> U+000DC </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">VDash;</code> </td> <td> U+022AB </td> </tr><tr><td> <code title="">Vbar;</code> </td> <td> U+02AEB </td> </tr><tr><td> <code title="">Vcy;</code> </td> <td> U+00412 </td> </tr><tr><td> <code title="">Vdash;</code> </td> <td> U+022A9 </td> </tr><tr><td> <code title="">Vdashl;</code> </td> <td> U+02AE6 </td> </tr><tr><td> <code title="">Vee;</code> </td> <td> U+022C1 </td> </tr><tr><td> <code title="">Verbar;</code> </td> <td> U+02016 </td> </tr><tr><td> <code title="">Vert;</code> </td> <td> U+02016 </td> </tr><tr><td> <code title="">VerticalBar;</code> </td> <td> U+02223 </td> </tr><tr><td> <code title="">VerticalLine;</code> </td> <td> U+0007C </td> </tr><tr><td> <code title="">VerticalSeparator;</code> </td> <td> U+02758 </td> </tr><tr><td> <code title="">VerticalTilde;</code> </td> <td> U+02240 </td> </tr><tr><td> <code title="">VeryThinSpace;</code> </td> <td> U+0200A </td> </t><tr><td> <code title="">Vfr;</code> </td> <td> U+1D519 </td> </tr><tr><td> <code title="">Vopf;</code> </td> <td> U+1D54D </td> </tr><tr><td> <code title="">Vscr;</code> </td> <td> U+1D4B1 </td> </tr><tr><td> <code title="">Vvdash;</code> </td> <td> U+022AA </td> </tr><tr><td> <code title="">Wcirc;</code> </td> <td> U+00174 </td> </tr><tr><td> <code title="">Wedge;</code> </td> <td> U+022C0 </td> </tr><tr><td> <code title="">Wfr;</code> </td> <td> U+1D51A </td> </tr><tr><td> <code title="">Wopf;</code> </td> <td> U+1D54E </td> </tr><tr><td> <code title="">Wscr;</code> </td> <td> U+1D4B2 </td> </tr><tr><td> <code title="">Xfr;</code> </td> <td> U+1D51B </td> </tr><tr><td> <code title="">Xi;</code> </td> <td> U+0039E </td> </tr><tr><td> <code title="">Xopf;</code> </td> <td> U+1D54F </td> </tr><tr><td> <code title="">Xscr;</code> </td> <td> U+1D4B3 </td> </tr><tr><td> <code title="">YAcy;</code> </td> <td> U+0042F </td> </tr><tr><td> <code title="">YIcy;</code> </td> <td> U+00407 </td> </tr><tr><td> <code tile="">YUcy;</code> </td> <td> U+0042E </td> </tr><tr><td> <code title="">Yacute;</code> </td> <td> U+000DD </td> </tr><tr><td> <code title="">Yacute</code> </td> <td> U+000DD </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Ycirc;</code> </td> <td> U+00176 </td> </tr><tr><td> <code title="">Ycy;</code> </td> <td> U+0042B </td> </tr><tr><td> <code title="">Yfr;</code> </td> <td> U+1D51C </td> </tr><tr><td> <code title="">Yopf;</code> </td> <td> U+1D550 </td> </tr><tr><td> <code title="">Yscr;</code> </td> <td> U+1D4B4 </td> </tr><tr><td> <code title="">Yuml;</code> </td> <td> U+00178 </td> </tr><tr><td> <code title="">ZHcy;</code> </td> <td> U+00416 </td> </tr><tr><td> <code title="">Zacute;</code> </td> <td> U+00179 </td> </tr><tr><td> <code title="">Zcaron;</code> </td> <td> U+0017D </td> </tr><tr><td> <code title="">Zcy;</code> </td> <td> U+00417 </td> </tr><tr><td> <code title="">Zdot;</code> </td> <td> U+0017B </td> </tr><tr><td> <code title="">ZroWidthSpace;</code> </td> <td> U+0200B </td> </tr><tr><td> <code title="">Zeta;</code> </td> <td> U+00396 </td> </tr><tr><td> <code title="">Zfr;</code> </td> <td> U+02128 </td> </tr><tr><td> <code title="">Zopf;</code> </td> <td> U+02124 </td> </tr><tr><td> <code title="">Zscr;</code> </td> <td> U+1D4B5 </td> </tr><tr><td> <code title="">aacute;</code> </td> <td> U+000E1 </td> </tr><tr><td> <code title="">aacute</code> </td> <td> U+000E1 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">abreve;</code> </td> <td> U+00103 </td> </tr><tr><td> <code title="">ac;</code> </td> <td> U+0223E </td> </tr><tr><td> <code title="">acd;</code> </td> <td> U+0223F </td> </tr><tr><td> <code title="">acirc;</code> </td> <td> U+000E2 </td> </tr><tr><td> <code title="">acirc</code> </td> <td> U+000E2 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">acute;</code> </td> <td> U+000B4 </td> </tr><tr><td> <code title"">acute</code> </td> <td> U+000B4 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">acy;</code> </td> <td> U+00430 </td> </tr><tr><td> <code title="">aelig;</code> </td> <td> U+000E6 </td> </tr><tr><td> <code title="">aelig</code> </td> <td> U+000E6 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">af;</code> </td> <td> U+02061 </td> </tr><tr><td> <code title="">afr;</code> </td> <td> U+1D51E </td> </tr><tr><td> <code title="">agrave;</code> </td> <td> U+000E0 </td> </tr><tr><td> <code title="">agrave</code> </td> <td> U+000E0 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">alefsym;</code> </td> <td> U+02135 </td> </tr><tr><td> <code title="">aleph;</code> </td> <td> U+02135 </td> </tr><tr><td> <code title="">alpha;</code> </td> <td> U+003B1 </td> </tr><tr><td> <code title="">amacr;</code> </td> <td> U+00101 </td> </tr><tr><td> <code tile="">amalg;</code> </td> <td> U+02A3F </td> </tr><tr><td> <code title="">amp;</code> </td> <td> U+00026 </td> </tr><tr><td> <code title="">amp</code> </td> <td> U+00026 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">and;</code> </td> <td> U+02227 </td> </tr><tr><td> <code title="">andand;</code> </td> <td> U+02A55 </td> </tr><tr><td> <code title="">andd;</code> </td> <td> U+02A5C </td> </tr><tr><td> <code title="">andslope;</code> </td> <td> U+02A58 </td> </tr><tr><td> <code title="">andv;</code> </td> <td> U+02A5A </td> </tr><tr><td> <code title="">ang;</code> </td> <td> U+02220 </td> </tr><tr><td> <code title="">ange;</code> </td> <td> U+029A4 </td> </tr><tr><td> <code title="">angle;</code> </td> <td> U+02220 </td> </tr><tr><td> <code title="">angmsd;</code> </td> <td> U+02221 </td> </tr><tr><td> <code title="">angmsdaa;</code> </td> <td> U+029A8 </td> </tr><tr><td> <code title="">angmsdab;</code> </td> <td> U+029A9 </td> </tr><tr><td> <code tile="">angmsdac;</code> </td> <td> U+029AA </td> </tr><tr><td> <code title="">angmsdad;</code> </td> <td> U+029AB </td> </tr><tr><td> <code title="">angmsdae;</code> </td> <td> U+029AC </td> </tr><tr><td> <code title="">angmsdaf;</code> </td> <td> U+029AD </td> </tr><tr><td> <code title="">angmsdag;</code> </td> <td> U+029AE </td> </tr><tr><td> <code title="">angmsdah;</code> </td> <td> U+029AF </td> </tr><tr><td> <code title="">angrt;</code> </td> <td> U+0221F </td> </tr><tr><td> <code title="">angrtvb;</code> </td> <td> U+022BE </td> </tr><tr><td> <code title="">angrtvbd;</code> </td> <td> U+0299D </td> </tr><tr><td> <code title="">angsph;</code> </td> <td> U+02222 </td> </tr><tr><td> <code title="">angst;</code> </td> <td> U+0212B </td> </tr><tr><td> <code title="">angzarr;</code> </td> <td> U+0237C </td> </tr><tr><td> <code title="">aogon;</code> </td> <td> U+00105 </td> </tr><tr><td> <code title="">aopf;</code> </td> <td> U+1D552 </td> </tr><tr><td> <code title="">ap;</code> </td> <td> U+02248 </td> </t><tr><td> <code title="">apE;</code> </td> <td> U+02A70 </td> </tr><tr><td> <code title="">apacir;</code> </td> <td> U+02A6F </td> </tr><tr><td> <code title="">ape;</code> </td> <td> U+0224A </td> </tr><tr><td> <code title="">apid;</code> </td> <td> U+0224B </td> </tr><tr><td> <code title="">apos;</code> </td> <td> U+00027 </td> </tr><tr><td> <code title="">approx;</code> </td> <td> U+02248 </td> </tr><tr><td> <code title="">approxeq;</code> </td> <td> U+0224A </td> </tr><tr><td> <code title="">aring;</code> </td> <td> U+000E5 </td> </tr><tr><td> <code title="">aring</code> </td> <td> U+000E5 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ascr;</code> </td> <td> U+1D4B6 </td> </tr><tr><td> <code title="">ast;</code> </td> <td> U+0002A </td> </tr><tr><td> <code title="">asymp;</code> </td> <td> U+02248 </td> </tr><tr><td> <code title="">asympeq;</code> </td> <td> U+0224D </td> </tr><tr><td> <code title="">atilde;</code> </td> <td> U+000E3 </td> </tr<tr><td> <code title="">atilde</code> </td> <td> U+000E3 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">auml;</code> </td> <td> U+000E4 </td> </tr><tr><td> <code title="">auml</code> </td> <td> U+000E4 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">awconint;</code> </td> <td> U+02233 </td> </tr><tr><td> <code title="">awint;</code> </td> <td> U+02A11 </td> </tr><tr><td> <code title="">bNot;</code> </td> <td> U+02AED </td> </tr><tr><td> <code title="">backcong;</code> </td> <td> U+0224C </td> </tr><tr><td> <code title="">backepsilon;</code> </td> <td> U+003F6 </td> </tr><tr><td> <code title="">backprime;</code> </td> <td> U+02035 </td> </tr><tr><td> <code title="">backsim;</code> </td> <td> U+0223D </td> </tr><tr><td> <code title="">backsimeq;</code> </td> <td> U+022CD </td> </tr><tr><td> <code title="">barvee;</code> </td> <td> U+022BD </td> </tr><tr><td> <code title="">barwed;</code> </td <td> U+02305 </td> </tr><tr><td> <code title="">barwedge;</code> </td> <td> U+02305 </td> </tr><tr><td> <code title="">bbrk;</code> </td> <td> U+023B5 </td> </tr><tr><td> <code title="">bbrktbrk;</code> </td> <td> U+023B6 </td> </tr><tr><td> <code title="">bcong;</code> </td> <td> U+0224C </td> </tr><tr><td> <code title="">bcy;</code> </td> <td> U+00431 </td> </tr><tr><td> <code title="">bdquo;</code> </td> <td> U+0201E </td> </tr><tr><td> <code title="">becaus;</code> </td> <td> U+02235 </td> </tr><tr><td> <code title="">because;</code> </td> <td> U+02235 </td> </tr><tr><td> <code title="">bemptyv;</code> </td> <td> U+029B0 </td> </tr><tr><td> <code title="">bepsi;</code> </td> <td> U+003F6 </td> </tr><tr><td> <code title="">bernou;</code> </td> <td> U+0212C </td> </tr><tr><td> <code title="">beta;</code> </td> <td> U+003B2 </td> </tr><tr><td> <code title="">beth;</code> </td> <td> U+02136 </td> </tr><tr><td> <code title="">between;</code> </td> <td> U+0226C </td> </tr><tr><td> <code title="">bfr;</code> /td> <td> U+1D51F </td> </tr><tr><td> <code title="">bigcap;</code> </td> <td> U+022C2 </td> </tr><tr><td> <code title="">bigcirc;</code> </td> <td> U+025EF </td> </tr><tr><td> <code title="">bigcup;</code> </td> <td> U+022C3 </td> </tr><tr><td> <code title="">bigodot;</code> </td> <td> U+02A00 </td> </tr><tr><td> <code title="">bigoplus;</code> </td> <td> U+02A01 </td> </tr><tr><td> <code title="">bigotimes;</code> </td> <td> U+02A02 </td> </tr><tr><td> <code title="">bigsqcup;</code> </td> <td> U+02A06 </td> </tr><tr><td> <code title="">bigstar;</code> </td> <td> U+02605 </td> </tr><tr><td> <code title="">bigtriangledown;</code> </td> <td> U+025BD </td> </tr><tr><td> <code title="">bigtriangleup;</code> </td> <td> U+025B3 </td> </tr><tr><td> <code title="">biguplus;</code> </td> <td> U+02A04 </td> </tr><tr><td> <code title="">bigvee;</code> </td> <td> U+022C1 </td> </tr><tr><td> <code title="">bigwedge;</code> </td> <td> U+022C0 </td> </tr><tr><td> <code title="">bkarow;</code> </td> <td> U+0290D </td> </r><tr><td> <code title="">blacklozenge;</code> </td> <td> U+029EB </td> </tr><tr><td> <code title="">blacksquare;</code> </td> <td> U+025AA </td> </tr><tr><td> <code title="">blacktriangle;</code> </td> <td> U+025B4 </td> </tr><tr><td> <code title="">blacktriangledown;</code> </td> <td> U+025BE </td> </tr><tr><td> <code title="">blacktriangleleft;</code> </td> <td> U+025C2 </td> </tr><tr><td> <code title="">blacktriangleright;</code> </td> <td> U+025B8 </td> </tr><tr><td> <code title="">blank;</code> </td> <td> U+02423 </td> </tr><tr><td> <code title="">blk12;</code> </td> <td> U+02592 </td> </tr><tr><td> <code title="">blk14;</code> </td> <td> U+02591 </td> </tr><tr><td> <code title="">blk34;</code> </td> <td> U+02593 </td> </tr><tr><td> <code title="">block;</code> </td> <td> U+02588 </td> </tr><tr><td> <code title="">bnot;</code> </td> <td> U+02310 </td> </tr><tr><td> <code title="">bopf;</code> </td> <td> U+1D553 </td> </tr><tr><td> <code title="">bot;</code> </td> <td> U+022A5 </td> </tr><tr><td> <codetitle="">bottom;</code> </td> <td> U+022A5 </td> </tr><tr><td> <code title="">bowtie;</code> </td> <td> U+022C8 </td> </tr><tr><td> <code title="">boxDL;</code> </td> <td> U+02557 </td> </tr><tr><td> <code title="">boxDR;</code> </td> <td> U+02554 </td> </tr><tr><td> <code title="">boxDl;</code> </td> <td> U+02556 </td> </tr><tr><td> <code title="">boxDr;</code> </td> <td> U+02553 </td> </tr><tr><td> <code title="">boxH;</code> </td> <td> U+02550 </td> </tr><tr><td> <code title="">boxHD;</code> </td> <td> U+02566 </td> </tr><tr><td> <code title="">boxHU;</code> </td> <td> U+02569 </td> </tr><tr><td> <code title="">boxHd;</code> </td> <td> U+02564 </td> </tr><tr><td> <code title="">boxHu;</code> </td> <td> U+02567 </td> </tr><tr><td> <code title="">boxUL;</code> </td> <td> U+0255D </td> </tr><tr><td> <code title="">boxUR;</code> </td> <td> U+0255A </td> </tr><tr><td> <code title="">boxUl;</code> </td> <td> U+0255C </td> </tr><tr><td> <code title="">boxUr;</code> </td> <td> U+02559 </td> </tr><tr><td> <code ttle="">boxV;</code> </td> <td> U+02551 </td> </tr><tr><td> <code title="">boxVH;</code> </td> <td> U+0256C </td> </tr><tr><td> <code title="">boxVL;</code> </td> <td> U+02563 </td> </tr><tr><td> <code title="">boxVR;</code> </td> <td> U+02560 </td> </tr><tr><td> <code title="">boxVh;</code> </td> <td> U+0256B </td> </tr><tr><td> <code title="">boxVl;</code> </td> <td> U+02562 </td> </tr><tr><td> <code title="">boxVr;</code> </td> <td> U+0255F </td> </tr><tr><td> <code title="">boxbox;</code> </td> <td> U+029C9 </td> </tr><tr><td> <code title="">boxdL;</code> </td> <td> U+02555 </td> </tr><tr><td> <code title="">boxdR;</code> </td> <td> U+02552 </td> </tr><tr><td> <code title="">boxdl;</code> </td> <td> U+02510 </td> </tr><tr><td> <code title="">boxdr;</code> </td> <td> U+0250C </td> </tr><tr><td> <code title="">boxh;</code> </td> <td> U+02500 </td> </tr><tr><td> <code title="">boxhD;</code> </td> <td> U+02565 </td> </tr><tr><td> <code title="">boxhU;</code> </td> <td> U+02568 </td> </tr><tr><td> <code title"">boxhd;</code> </td> <td> U+0252C </td> </tr><tr><td> <code title="">boxhu;</code> </td> <td> U+02534 </td> </tr><tr><td> <code title="">boxminus;</code> </td> <td> U+0229F </td> </tr><tr><td> <code title="">boxplus;</code> </td> <td> U+0229E </td> </tr><tr><td> <code title="">boxtimes;</code> </td> <td> U+022A0 </td> </tr><tr><td> <code title="">boxuL;</code> </td> <td> U+0255B </td> </tr><tr><td> <code title="">boxuR;</code> </td> <td> U+02558 </td> </tr><tr><td> <code title="">boxul;</code> </td> <td> U+02518 </td> </tr><tr><td> <code title="">boxur;</code> </td> <td> U+02514 </td> </tr><tr><td> <code title="">boxv;</code> </td> <td> U+02502 </td> </tr><tr><td> <code title="">boxvH;</code> </td> <td> U+0256A </td> </tr><tr><td> <code title="">boxvL;</code> </td> <td> U+02561 </td> </tr><tr><td> <code title="">boxvR;</code> </td> <td> U+0255E </td> </tr><tr><td> <code title="">boxvh;</code> </td> <td> U+0253C </td> </tr><tr><td> <code title="">boxvl;</code> </td> <td> U+02524 </td> </tr><tr><td> <code ttle="">boxvr;</code> </td> <td> U+0251C </td> </tr><tr><td> <code title="">bprime;</code> </td> <td> U+02035 </td> </tr><tr><td> <code title="">breve;</code> </td> <td> U+002D8 </td> </tr><tr><td> <code title="">brvbar;</code> </td> <td> U+000A6 </td> </tr><tr><td> <code title="">brvbar</code> </td> <td> U+000A6 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">bscr;</code> </td> <td> U+1D4B7 </td> </tr><tr><td> <code title="">bsemi;</code> </td> <td> U+0204F </td> </tr><tr><td> <code title="">bsim;</code> </td> <td> U+0223D </td> </tr><tr><td> <code title="">bsime;</code> </td> <td> U+022CD </td> </tr><tr><td> <code title="">bsol;</code> </td> <td> U+0005C </td> </tr><tr><td> <code title="">bsolb;</code> </td> <td> U+029C5 </td> </tr><tr><td> <code title="">bull;</code> </td> <td> U+02022 </td> </tr><tr><td> <code title="">bullet;</code> </td> <td> U+02022 </td> </tr><tr><td> <code title="">bump;</code> </td> <td> U+0224E </td> </tr><tr><td> <code tile="">bumpE;</code> </td> <td> U+02AAE </td> </tr><tr><td> <code title="">bumpe;</code> </td> <td> U+0224F </td> </tr><tr><td> <code title="">bumpeq;</code> </td> <td> U+0224F </td> </tr><tr><td> <code title="">cacute;</code> </td> <td> U+00107 </td> </tr><tr><td> <code title="">cap;</code> </td> <td> U+02229 </td> </tr><tr><td> <code title="">capand;</code> </td> <td> U+02A44 </td> </tr><tr><td> <code title="">capbrcup;</code> </td> <td> U+02A49 </td> </tr><tr><td> <code title="">capcap;</code> </td> <td> U+02A4B </td> </tr><tr><td> <code title="">capcup;</code> </td> <td> U+02A47 </td> </tr><tr><td> <code title="">capdot;</code> </td> <td> U+02A40 </td> </tr><tr><td> <code title="">caret;</code> </td> <td> U+02041 </td> </tr><tr><td> <code title="">caron;</code> </td> <td> U+002C7 </td> </tr><tr><td> <code title="">ccaps;</code> </td> <td> U+02A4D </td> </tr><tr><td> <code title="">ccaron;</code> </td> <td> U+0010D </td> </tr><tr><td> <code title="">ccedil;</code> </td> <td> U+000E7 </td> </tr><tr><td> <cde title="">ccedil</code> </td> <td> U+000E7 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ccirc;</code> </td> <td> U+00109 </td> </tr><tr><td> <code title="">ccups;</code> </td> <td> U+02A4C </td> </tr><tr><td> <code title="">ccupssm;</code> </td> <td> U+02A50 </td> </tr><tr><td> <code title="">cdot;</code> </td> <td> U+0010B </td> </tr><tr><td> <code title="">cedil;</code> </td> <td> U+000B8 </td> </tr><tr><td> <code title="">cedil</code> </td> <td> U+000B8 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">cemptyv;</code> </td> <td> U+029B2 </td> </tr><tr><td> <code title="">cent;</code> </td> <td> U+000A2 </td> </tr><tr><td> <code title="">cent</code> </td> <td> U+000A2 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">centerdot;</code> </td> <td> U+000B7 </td> </tr><tr><td> <code title="">cfr;</code> </td> <td> U+1D520 </td> </tr><r><td> <code title="">chcy;</code> </td> <td> U+00447 </td> </tr><tr><td> <code title="">check;</code> </td> <td> U+02713 </td> </tr><tr><td> <code title="">checkmark;</code> </td> <td> U+02713 </td> </tr><tr><td> <code title="">chi;</code> </td> <td> U+003C7 </td> </tr><tr><td> <code title="">cir;</code> </td> <td> U+025CB </td> </tr><tr><td> <code title="">cirE;</code> </td> <td> U+029C3 </td> </tr><tr><td> <code title="">circ;</code> </td> <td> U+002C6 </td> </tr><tr><td> <code title="">circeq;</code> </td> <td> U+02257 </td> </tr><tr><td> <code title="">circlearrowleft;</code> </td> <td> U+021BA </td> </tr><tr><td> <code title="">circlearrowright;</code> </td> <td> U+021BB </td> </tr><tr><td> <code title="">circledR;</code> </td> <td> U+000AE </td> </tr><tr><td> <code title="">circledS;</code> </td> <td> U+024C8 </td> </tr><tr><td> <code title="">circledast;</code> </td> <td> U+0229B </td> </tr><tr><td> <code title="">circledcirc;</code> </td> <td> U+0229A </td> </tr><tr><td> <code title="">circleddash;/code> </td> <td> U+0229D </td> </tr><tr><td> <code title="">cire;</code> </td> <td> U+02257 </td> </tr><tr><td> <code title="">cirfnint;</code> </td> <td> U+02A10 </td> </tr><tr><td> <code title="">cirmid;</code> </td> <td> U+02AEF </td> </tr><tr><td> <code title="">cirscir;</code> </td> <td> U+029C2 </td> </tr><tr><td> <code title="">clubs;</code> </td> <td> U+02663 </td> </tr><tr><td> <code title="">clubsuit;</code> </td> <td> U+02663 </td> </tr><tr><td> <code title="">colon;</code> </td> <td> U+0003A </td> </tr><tr><td> <code title="">colone;</code> </td> <td> U+02254 </td> </tr><tr><td> <code title="">coloneq;</code> </td> <td> U+02254 </td> </tr><tr><td> <code title="">comma;</code> </td> <td> U+0002C </td> </tr><tr><td> <code title="">commat;</code> </td> <td> U+00040 </td> </tr><tr><td> <code title="">comp;</code> </td> <td> U+02201 </td> </tr><tr><td> <code title="">compfn;</code> </td> <td> U+02218 </td> </tr><tr><td> <code title="">complement;</code> </td> <td> U+02201 </td> </tr><tr><td> <code ttle="">complexes;</code> </td> <td> U+02102 </td> </tr><tr><td> <code title="">cong;</code> </td> <td> U+02245 </td> </tr><tr><td> <code title="">congdot;</code> </td> <td> U+02A6D </td> </tr><tr><td> <code title="">conint;</code> </td> <td> U+0222E </td> </tr><tr><td> <code title="">copf;</code> </td> <td> U+1D554 </td> </tr><tr><td> <code title="">coprod;</code> </td> <td> U+02210 </td> </tr><tr><td> <code title="">copy;</code> </td> <td> U+000A9 </td> </tr><tr><td> <code title="">copy</code> </td> <td> U+000A9 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">copysr;</code> </td> <td> U+02117 </td> </tr><tr><td> <code title="">crarr;</code> </td> <td> U+021B5 </td> </tr><tr><td> <code title="">cross;</code> </td> <td> U+02717 </td> </tr><tr><td> <code title="">cscr;</code> </td> <td> U+1D4B8 </td> </tr><tr><td> <code title="">csub;</code> </td> <td> U+02ACF </td> </tr><tr><td> <code title="">csube;</code> </td> <td> U+02AD1 </td> </tr><tr><td> <cod title="">csup;</code> </td> <td> U+02AD0 </td> </tr><tr><td> <code title="">csupe;</code> </td> <td> U+02AD2 </td> </tr><tr><td> <code title="">ctdot;</code> </td> <td> U+022EF </td> </tr><tr><td> <code title="">cudarrl;</code> </td> <td> U+02938 </td> </tr><tr><td> <code title="">cudarrr;</code> </td> <td> U+02935 </td> </tr><tr><td> <code title="">cuepr;</code> </td> <td> U+022DE </td> </tr><tr><td> <code title="">cuesc;</code> </td> <td> U+022DF </td> </tr><tr><td> <code title="">cularr;</code> </td> <td> U+021B6 </td> </tr><tr><td> <code title="">cularrp;</code> </td> <td> U+0293D </td> </tr><tr><td> <code title="">cup;</code> </td> <td> U+0222A </td> </tr><tr><td> <code title="">cupbrcap;</code> </td> <td> U+02A48 </td> </tr><tr><td> <code title="">cupcap;</code> </td> <td> U+02A46 </td> </tr><tr><td> <code title="">cupcup;</code> </td> <td> U+02A4A </td> </tr><tr><td> <code title="">cupdot;</code> </td> <td> U+0228D </td> </tr><tr><td> <code title="">cupor;</code> </td> <td> U+02A45 </td> </tr><tr><t> <code title="">curarr;</code> </td> <td> U+021B7 </td> </tr><tr><td> <code title="">curarrm;</code> </td> <td> U+0293C </td> </tr><tr><td> <code title="">curlyeqprec;</code> </td> <td> U+022DE </td> </tr><tr><td> <code title="">curlyeqsucc;</code> </td> <td> U+022DF </td> </tr><tr><td> <code title="">curlyvee;</code> </td> <td> U+022CE </td> </tr><tr><td> <code title="">curlywedge;</code> </td> <td> U+022CF </td> </tr><tr><td> <code title="">curren;</code> </td> <td> U+000A4 </td> </tr><tr><td> <code title="">curren</code> </td> <td> U+000A4 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">curvearrowleft;</code> </td> <td> U+021B6 </td> </tr><tr><td> <code title="">curvearrowright;</code> </td> <td> U+021B7 </td> </tr><tr><td> <code title="">cuvee;</code> </td> <td> U+022CE </td> </tr><tr><td> <code title="">cuwed;</code> </td> <td> U+022CF </td> </tr><tr><td> <code title="">cwconint;</code> </td> <td> U+02232 </td> </tr><tr><td> <code title="">cwit;</code> </td> <td> U+02231 </td> </tr><tr><td> <code title="">cylcty;</code> </td> <td> U+0232D </td> </tr><tr><td> <code title="">dArr;</code> </td> <td> U+021D3 </td> </tr><tr><td> <code title="">dHar;</code> </td> <td> U+02965 </td> </tr><tr><td> <code title="">dagger;</code> </td> <td> U+02020 </td> </tr><tr><td> <code title="">daleth;</code> </td> <td> U+02138 </td> </tr><tr><td> <code title="">darr;</code> </td> <td> U+02193 </td> </tr><tr><td> <code title="">dash;</code> </td> <td> U+02010 </td> </tr><tr><td> <code title="">dashv;</code> </td> <td> U+022A3 </td> </tr><tr><td> <code title="">dbkarow;</code> </td> <td> U+0290F </td> </tr><tr><td> <code title="">dblac;</code> </td> <td> U+002DD </td> </tr><tr><td> <code title="">dcaron;</code> </td> <td> U+0010F </td> </tr><tr><td> <code title="">dcy;</code> </td> <td> U+00434 </td> </tr><tr><td> <code title="">dd;</code> </td> <td> U+02146 </td> </tr><tr><td> <code title="">ddagger;</code> </td> <td> U+02021 </td> </tr><tr><td> <code title="">ddarr;<code> </td> <td> U+021CA </td> </tr><tr><td> <code title="">ddotseq;</code> </td> <td> U+02A77 </td> </tr><tr><td> <code title="">deg;</code> </td> <td> U+000B0 </td> </tr><tr><td> <code title="">deg</code> </td> <td> U+000B0 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">delta;</code> </td> <td> U+003B4 </td> </tr><tr><td> <code title="">demptyv;</code> </td> <td> U+029B1 </td> </tr><tr><td> <code title="">dfisht;</code> </td> <td> U+0297F </td> </tr><tr><td> <code title="">dfr;</code> </td> <td> U+1D521 </td> </tr><tr><td> <code title="">dharl;</code> </td> <td> U+021C3 </td> </tr><tr><td> <code title="">dharr;</code> </td> <td> U+021C2 </td> </tr><tr><td> <code title="">diam;</code> </td> <td> U+022C4 </td> </tr><tr><td> <code title="">diamond;</code> </td> <td> U+022C4 </td> </tr><tr><td> <code title="">diamondsuit;</code> </td> <td> U+02666 </td> </tr><tr><td> <code title="">diams;</code> </td> <td> U+02666 </td> </tr><tr><td> <code title="">de;</code> </td> <td> U+000A8 </td> </tr><tr><td> <code title="">digamma;</code> </td> <td> U+003DD </td> </tr><tr><td> <code title="">disin;</code> </td> <td> U+022F2 </td> </tr><tr><td> <code title="">div;</code> </td> <td> U+000F7 </td> </tr><tr><td> <code title="">divide;</code> </td> <td> U+000F7 </td> </tr><tr><td> <code title="">divide</code> </td> <td> U+000F7 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">divideontimes;</code> </td> <td> U+022C7 </td> </tr><tr><td> <code title="">divonx;</code> </td> <td> U+022C7 </td> </tr><tr><td> <code title="">djcy;</code> </td> <td> U+00452 </td> </tr><tr><td> <code title="">dlcorn;</code> </td> <td> U+0231E </td> </tr><tr><td> <code title="">dlcrop;</code> </td> <td> U+0230D </td> </tr><tr><td> <code title="">dollar;</code> </td> <td> U+00024 </td> </tr><tr><td> <code title="">dopf;</code> </td> <td> U+1D555 </td> </tr><tr><td> <code title="">dot;</code> </td> <td> U+002D9 </td> </tr><tr><td> <code tile="">doteq;</code> </td> <td> U+02250 </td> </tr><tr><td> <code title="">doteqdot;</code> </td> <td> U+02251 </td> </tr><tr><td> <code title="">dotminus;</code> </td> <td> U+02238 </td> </tr><tr><td> <code title="">dotplus;</code> </td> <td> U+02214 </td> </tr><tr><td> <code title="">dotsquare;</code> </td> <td> U+022A1 </td> </tr><tr><td> <code title="">doublebarwedge;</code> </td> <td> U+02306 </td> </tr><tr><td> <code title="">downarrow;</code> </td> <td> U+02193 </td> </tr><tr><td> <code title="">downdownarrows;</code> </td> <td> U+021CA </td> </tr><tr><td> <code title="">downharpoonleft;</code> </td> <td> U+021C3 </td> </tr><tr><td> <code title="">downharpoonright;</code> </td> <td> U+021C2 </td> </tr><tr><td> <code title="">drbkarow;</code> </td> <td> U+02910 </td> </tr><tr><td> <code title="">drcorn;</code> </td> <td> U+0231F </td> </tr><tr><td> <code title="">drcrop;</code> </td> <td> U+0230C </td> </tr><tr><td> <code title="">dscr;</code> </td> <td> U+1D4B9 </td> </tr><tr><td> <code title="">dscy;/code> </td> <td> U+00455 </td> </tr><tr><td> <code title="">dsol;</code> </td> <td> U+029F6 </td> </tr><tr><td> <code title="">dstrok;</code> </td> <td> U+00111 </td> </tr><tr><td> <code title="">dtdot;</code> </td> <td> U+022F1 </td> </tr><tr><td> <code title="">dtri;</code> </td> <td> U+025BF </td> </tr><tr><td> <code title="">dtrif;</code> </td> <td> U+025BE </td> </tr><tr><td> <code title="">duarr;</code> </td> <td> U+021F5 </td> </tr><tr><td> <code title="">duhar;</code> </td> <td> U+0296F </td> </tr><tr><td> <code title="">dwangle;</code> </td> <td> U+029A6 </td> </tr><tr><td> <code title="">dzcy;</code> </td> <td> U+0045F </td> </tr><tr><td> <code title="">dzigrarr;</code> </td> <td> U+027FF </td> </tr><tr><td> <code title="">eDDot;</code> </td> <td> U+02A77 </td> </tr><tr><td> <code title="">eDot;</code> </td> <td> U+02251 </td> </tr><tr><td> <code title="">eacute;</code> </td> <td> U+000E9 </td> </tr><tr><td> <code title="">eacute</code> </td> <td> U+000E9 </td> </tr><!-- (invalid entity with missng semicolon for legacy support only) --><tr><td> <code title="">easter;</code> </td> <td> U+02A6E </td> </tr><tr><td> <code title="">ecaron;</code> </td> <td> U+0011B </td> </tr><tr><td> <code title="">ecir;</code> </td> <td> U+02256 </td> </tr><tr><td> <code title="">ecirc;</code> </td> <td> U+000EA </td> </tr><tr><td> <code title="">ecirc</code> </td> <td> U+000EA </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ecolon;</code> </td> <td> U+02255 </td> </tr><tr><td> <code title="">ecy;</code> </td> <td> U+0044D </td> </tr><tr><td> <code title="">edot;</code> </td> <td> U+00117 </td> </tr><tr><td> <code title="">ee;</code> </td> <td> U+02147 </td> </tr><tr><td> <code title="">efDot;</code> </td> <td> U+02252 </td> </tr><tr><td> <code title="">efr;</code> </td> <td> U+1D522 </td> </tr><tr><td> <code title="">eg;</code> </td> <td> U+02A9A </td> </tr><tr><td> <code title="">egrave;</code> </td> <td> U+000E8 </td> </tr><tr><td> <code title="">egrave</coe> </td> <td> U+000E8 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">egs;</code> </td> <td> U+02A96 </td> </tr><tr><td> <code title="">egsdot;</code> </td> <td> U+02A98 </td> </tr><tr><td> <code title="">el;</code> </td> <td> U+02A99 </td> </tr><tr><td> <code title="">elinters;</code> </td> <td> U+023E7 </td> </tr><tr><td> <code title="">ell;</code> </td> <td> U+02113 </td> </tr><tr><td> <code title="">els;</code> </td> <td> U+02A95 </td> </tr><tr><td> <code title="">elsdot;</code> </td> <td> U+02A97 </td> </tr><tr><td> <code title="">emacr;</code> </td> <td> U+00113 </td> </tr><tr><td> <code title="">empty;</code> </td> <td> U+02205 </td> </tr><tr><td> <code title="">emptyset;</code> </td> <td> U+02205 </td> </tr><tr><td> <code title="">emptyv;</code> </td> <td> U+02205 </td> </tr><tr><td> <code title="">emsp13;</code> </td> <td> U+02004 </td> </tr><tr><td> <code title="">emsp14;</code> </td> <td> U+02005 </td> </tr><tr><td> <code title="">emsp;</ode> </td> <td> U+02003 </td> </tr><tr><td> <code title="">eng;</code> </td> <td> U+0014B </td> </tr><tr><td> <code title="">ensp;</code> </td> <td> U+02002 </td> </tr><tr><td> <code title="">eogon;</code> </td> <td> U+00119 </td> </tr><tr><td> <code title="">eopf;</code> </td> <td> U+1D556 </td> </tr><tr><td> <code title="">epar;</code> </td> <td> U+022D5 </td> </tr><tr><td> <code title="">eparsl;</code> </td> <td> U+029E3 </td> </tr><tr><td> <code title="">eplus;</code> </td> <td> U+02A71 </td> </tr><tr><td> <code title="">epsi;</code> </td> <td> U+003F5 </td> </tr><tr><td> <code title="">epsilon;</code> </td> <td> U+003B5 </td> </tr><tr><td> <code title="">epsiv;</code> </td> <td> U+003B5 </td> </tr><tr><td> <code title="">eqcirc;</code> </td> <td> U+02256 </td> </tr><tr><td> <code title="">eqcolon;</code> </td> <td> U+02255 </td> </tr><tr><td> <code title="">eqsim;</code> </td> <td> U+02242 </td> </tr><tr><td> <code title="">eqslantgtr;</code> </td> <td> U+02A96 </td> </tr><tr><td> <code title="">eqslanless;</code> </td> <td> U+02A95 </td> </tr><tr><td> <code title="">equals;</code> </td> <td> U+0003D </td> </tr><tr><td> <code title="">equest;</code> </td> <td> U+0225F </td> </tr><tr><td> <code title="">equiv;</code> </td> <td> U+02261 </td> </tr><tr><td> <code title="">equivDD;</code> </td> <td> U+02A78 </td> </tr><tr><td> <code title="">eqvparsl;</code> </td> <td> U+029E5 </td> </tr><tr><td> <code title="">erDot;</code> </td> <td> U+02253 </td> </tr><tr><td> <code title="">erarr;</code> </td> <td> U+02971 </td> </tr><tr><td> <code title="">escr;</code> </td> <td> U+0212F </td> </tr><tr><td> <code title="">esdot;</code> </td> <td> U+02250 </td> </tr><tr><td> <code title="">esim;</code> </td> <td> U+02242 </td> </tr><tr><td> <code title="">eta;</code> </td> <td> U+003B7 </td> </tr><tr><td> <code title="">eth;</code> </td> <td> U+000F0 </td> </tr><tr><td> <code title="">eth</code> </td> <td> U+000F0 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">eml;</code> </td> <td> U+000EB </td> </tr><tr><td> <code title="">euml</code> </td> <td> U+000EB </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">euro;</code> </td> <td> U+020AC </td> </tr><tr><td> <code title="">excl;</code> </td> <td> U+00021 </td> </tr><tr><td> <code title="">exist;</code> </td> <td> U+02203 </td> </tr><tr><td> <code title="">expectation;</code> </td> <td> U+02130 </td> </tr><tr><td> <code title="">exponentiale;</code> </td> <td> U+02147 </td> </tr><tr><td> <code title="">fallingdotseq;</code> </td> <td> U+02252 </td> </tr><tr><td> <code title="">fcy;</code> </td> <td> U+00444 </td> </tr><tr><td> <code title="">female;</code> </td> <td> U+02640 </td> </tr><tr><td> <code title="">ffilig;</code> </td> <td> U+0FB03 </td> </tr><tr><td> <code title="">fflig;</code> </td> <td> U+0FB00 </td> </tr><tr><td> <code title="">ffllig;</code> </td> <td> U+0FB04 </td> </tr><tr><td> <code title="">ffr;</code> </td> <td> U+1D523 </td> </tr><tr><td> code title="">filig;</code> </td> <td> U+0FB01 </td> </tr><tr><td> <code title="">flat;</code> </td> <td> U+0266D </td> </tr><tr><td> <code title="">fllig;</code> </td> <td> U+0FB02 </td> </tr><tr><td> <code title="">fltns;</code> </td> <td> U+025B1 </td> </tr><tr><td> <code title="">fnof;</code> </td> <td> U+00192 </td> </tr><tr><td> <code title="">fopf;</code> </td> <td> U+1D557 </td> </tr><tr><td> <code title="">forall;</code> </td> <td> U+02200 </td> </tr><tr><td> <code title="">fork;</code> </td> <td> U+022D4 </td> </tr><tr><td> <code title="">forkv;</code> </td> <td> U+02AD9 </td> </tr><tr><td> <code title="">fpartint;</code> </td> <td> U+02A0D </td> </tr><tr><td> <code title="">frac12;</code> </td> <td> U+000BD </td> </tr><tr><td> <code title="">frac12</code> </td> <td> U+000BD </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">frac13;</code> </td> <td> U+02153 </td> </tr><tr><td> <code title="">frac14;</code> </td> <td> U+000BC </td> </tr><tr><d> <code title="">frac14</code> </td> <td> U+000BC </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">frac15;</code> </td> <td> U+02155 </td> </tr><tr><td> <code title="">frac16;</code> </td> <td> U+02159 </td> </tr><tr><td> <code title="">frac18;</code> </td> <td> U+0215B </td> </tr><tr><td> <code title="">frac23;</code> </td> <td> U+02154 </td> </tr><tr><td> <code title="">frac25;</code> </td> <td> U+02156 </td> </tr><tr><td> <code title="">frac34;</code> </td> <td> U+000BE </td> </tr><tr><td> <code title="">frac34</code> </td> <td> U+000BE </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">frac35;</code> </td> <td> U+02157 </td> </tr><tr><td> <code title="">frac38;</code> </td> <td> U+0215C </td> </tr><tr><td> <code title="">frac45;</code> </td> <td> U+02158 </td> </tr><tr><td> <code title="">frac56;</code> </td> <td> U+0215A </td> </tr><tr><td> <code title="">frac58;</code> </td> <td> U+0215D /td> </tr><tr><td> <code title="">frac78;</code> </td> <td> U+0215E </td> </tr><tr><td> <code title="">frasl;</code> </td> <td> U+02044 </td> </tr><tr><td> <code title="">frown;</code> </td> <td> U+02322 </td> </tr><tr><td> <code title="">fscr;</code> </td> <td> U+1D4BB </td> </tr><tr><td> <code title="">gE;</code> </td> <td> U+02267 </td> </tr><tr><td> <code title="">gEl;</code> </td> <td> U+02A8C </td> </tr><tr><td> <code title="">gacute;</code> </td> <td> U+001F5 </td> </tr><tr><td> <code title="">gamma;</code> </td> <td> U+003B3 </td> </tr><tr><td> <code title="">gammad;</code> </td> <td> U+003DD </td> </tr><tr><td> <code title="">gap;</code> </td> <td> U+02A86 </td> </tr><tr><td> <code title="">gbreve;</code> </td> <td> U+0011F </td> </tr><tr><td> <code title="">gcirc;</code> </td> <td> U+0011D </td> </tr><tr><td> <code title="">gcy;</code> </td> <td> U+00433 </td> </tr><tr><td> <code title="">gdot;</code> </td> <td> U+00121 </td> </tr><tr><td> <code title="">ge;</code> </td> <td> U+02265 </td> </tr><t><td> <code title="">gel;</code> </td> <td> U+022DB </td> </tr><tr><td> <code title="">geq;</code> </td> <td> U+02265 </td> </tr><tr><td> <code title="">geqq;</code> </td> <td> U+02267 </td> </tr><tr><td> <code title="">geqslant;</code> </td> <td> U+02A7E </td> </tr><tr><td> <code title="">ges;</code> </td> <td> U+02A7E </td> </tr><tr><td> <code title="">gescc;</code> </td> <td> U+02AA9 </td> </tr><tr><td> <code title="">gesdot;</code> </td> <td> U+02A80 </td> </tr><tr><td> <code title="">gesdoto;</code> </td> <td> U+02A82 </td> </tr><tr><td> <code title="">gesdotol;</code> </td> <td> U+02A84 </td> </tr><tr><td> <code title="">gesles;</code> </td> <td> U+02A94 </td> </tr><tr><td> <code title="">gfr;</code> </td> <td> U+1D524 </td> </tr><tr><td> <code title="">gg;</code> </td> <td> U+0226B </td> </tr><tr><td> <code title="">ggg;</code> </td> <td> U+022D9 </td> </tr><tr><td> <code title="">gimel;</code> </td> <td> U+02137 </td> </tr><tr><td> <code title="">gjcy;</code> </td> <td> U+00453 </td> </tr><tr><td> <ode title="">gl;</code> </td> <td> U+02277 </td> </tr><tr><td> <code title="">glE;</code> </td> <td> U+02A92 </td> </tr><tr><td> <code title="">gla;</code> </td> <td> U+02AA5 </td> </tr><tr><td> <code title="">glj;</code> </td> <td> U+02AA4 </td> </tr><tr><td> <code title="">gnE;</code> </td> <td> U+02269 </td> </tr><tr><td> <code title="">gnap;</code> </td> <td> U+02A8A </td> </tr><tr><td> <code title="">gnapprox;</code> </td> <td> U+02A8A </td> </tr><tr><td> <code title="">gne;</code> </td> <td> U+02A88 </td> </tr><tr><td> <code title="">gneq;</code> </td> <td> U+02A88 </td> </tr><tr><td> <code title="">gneqq;</code> </td> <td> U+02269 </td> </tr><tr><td> <code title="">gnsim;</code> </td> <td> U+022E7 </td> </tr><tr><td> <code title="">gopf;</code> </td> <td> U+1D558 </td> </tr><tr><td> <code title="">grave;</code> </td> <td> U+00060 </td> </tr><tr><td> <code title="">gscr;</code> </td> <td> U+0210A </td> </tr><tr><td> <code title="">gsim;</code> </td> <td> U+02273 </td> </tr><tr><td> <code title="">gsim;</code> </td> <td> U+02A8E </td> </tr><tr><td> <code title="">gsiml;</code> </td> <td> U+02A90 </td> </tr><tr><td> <code title="">gt;</code> </td> <td> U+0003E </td> </tr><tr><td> <code title="">gt</code> </td> <td> U+0003E </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">gtcc;</code> </td> <td> U+02AA7 </td> </tr><tr><td> <code title="">gtcir;</code> </td> <td> U+02A7A </td> </tr><tr><td> <code title="">gtdot;</code> </td> <td> U+022D7 </td> </tr><tr><td> <code title="">gtlPar;</code> </td> <td> U+02995 </td> </tr><tr><td> <code title="">gtquest;</code> </td> <td> U+02A7C </td> </tr><tr><td> <code title="">gtrapprox;</code> </td> <td> U+02A86 </td> </tr><tr><td> <code title="">gtrarr;</code> </td> <td> U+02978 </td> </tr><tr><td> <code title="">gtrdot;</code> </td> <td> U+022D7 </td> </tr><tr><td> <code title="">gtreqless;</code> </td> <td> U+022DB </td> </tr><tr><td> <code title="">gtreqqless;</code> </td> <td> U+02A8C </td> </tr><tr><td> <code tile="">gtrless;</code> </td> <td> U+02277 </td> </tr><tr><td> <code title="">gtrsim;</code> </td> <td> U+02273 </td> </tr><tr><td> <code title="">hArr;</code> </td> <td> U+021D4 </td> </tr><tr><td> <code title="">hairsp;</code> </td> <td> U+0200A </td> </tr><tr><td> <code title="">half;</code> </td> <td> U+000BD </td> </tr><tr><td> <code title="">hamilt;</code> </td> <td> U+0210B </td> </tr><tr><td> <code title="">hardcy;</code> </td> <td> U+0044A </td> </tr><tr><td> <code title="">harr;</code> </td> <td> U+02194 </td> </tr><tr><td> <code title="">harrcir;</code> </td> <td> U+02948 </td> </tr><tr><td> <code title="">harrw;</code> </td> <td> U+021AD </td> </tr><tr><td> <code title="">hbar;</code> </td> <td> U+0210F </td> </tr><tr><td> <code title="">hcirc;</code> </td> <td> U+00125 </td> </tr><tr><td> <code title="">hearts;</code> </td> <td> U+02665 </td> </tr><tr><td> <code title="">heartsuit;</code> </td> <td> U+02665 </td> </tr><tr><td> <code title="">hellip;</code> </td> <td> U+02026 </td> </tr><tr><td> <ode title="">hercon;</code> </td> <td> U+022B9 </td> </tr><tr><td> <code title="">hfr;</code> </td> <td> U+1D525 </td> </tr><tr><td> <code title="">hksearow;</code> </td> <td> U+02925 </td> </tr><tr><td> <code title="">hkswarow;</code> </td> <td> U+02926 </td> </tr><tr><td> <code title="">hoarr;</code> </td> <td> U+021FF </td> </tr><tr><td> <code title="">homtht;</code> </td> <td> U+0223B </td> </tr><tr><td> <code title="">hookleftarrow;</code> </td> <td> U+021A9 </td> </tr><tr><td> <code title="">hookrightarrow;</code> </td> <td> U+021AA </td> </tr><tr><td> <code title="">hopf;</code> </td> <td> U+1D559 </td> </tr><tr><td> <code title="">horbar;</code> </td> <td> U+02015 </td> </tr><tr><td> <code title="">hscr;</code> </td> <td> U+1D4BD </td> </tr><tr><td> <code title="">hslash;</code> </td> <td> U+0210F </td> </tr><tr><td> <code title="">hstrok;</code> </td> <td> U+00127 </td> </tr><tr><td> <code title="">hybull;</code> </td> <td> U+02043 </td> </tr><tr><td> <code title="">hyphen;</code> </td> <td> U+0201 </td> </tr><tr><td> <code title="">iacute;</code> </td> <td> U+000ED </td> </tr><tr><td> <code title="">iacute</code> </td> <td> U+000ED </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ic;</code> </td> <td> U+02063 </td> </tr><tr><td> <code title="">icirc;</code> </td> <td> U+000EE </td> </tr><tr><td> <code title="">icirc</code> </td> <td> U+000EE </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">icy;</code> </td> <td> U+00438 </td> </tr><tr><td> <code title="">iecy;</code> </td> <td> U+00435 </td> </tr><tr><td> <code title="">iexcl;</code> </td> <td> U+000A1 </td> </tr><tr><td> <code title="">iexcl</code> </td> <td> U+000A1 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">iff;</code> </td> <td> U+021D4 </td> </tr><tr><td> <code title="">ifr;</code> </td> <td> U+1D526 </td> </tr><tr><td> <code title="">igrave;</code> </td> <td> U+000EC</td> </tr><tr><td> <code title="">igrave</code> </td> <td> U+000EC </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ii;</code> </td> <td> U+02148 </td> </tr><tr><td> <code title="">iiiint;</code> </td> <td> U+02A0C </td> </tr><tr><td> <code title="">iiint;</code> </td> <td> U+0222D </td> </tr><tr><td> <code title="">iinfin;</code> </td> <td> U+029DC </td> </tr><tr><td> <code title="">iiota;</code> </td> <td> U+02129 </td> </tr><tr><td> <code title="">ijlig;</code> </td> <td> U+00133 </td> </tr><tr><td> <code title="">imacr;</code> </td> <td> U+0012B </td> </tr><tr><td> <code title="">image;</code> </td> <td> U+02111 </td> </tr><tr><td> <code title="">imagline;</code> </td> <td> U+02110 </td> </tr><tr><td> <code title="">imagpart;</code> </td> <td> U+02111 </td> </tr><tr><td> <code title="">imath;</code> </td> <td> U+00131 </td> </tr><tr><td> <code title="">imof;</code> </td> <td> U+022B7 </td> </tr><tr><td> <code title="">imped;</code> </td> <td> U+01B5 </td> </tr><tr><td> <code title="">in;</code> </td> <td> U+02208 </td> </tr><tr><td> <code title="">incare;</code> </td> <td> U+02105 </td> </tr><tr><td> <code title="">infin;</code> </td> <td> U+0221E </td> </tr><tr><td> <code title="">infintie;</code> </td> <td> U+029DD </td> </tr><tr><td> <code title="">inodot;</code> </td> <td> U+00131 </td> </tr><tr><td> <code title="">int;</code> </td> <td> U+0222B </td> </tr><tr><td> <code title="">intcal;</code> </td> <td> U+022BA </td> </tr><tr><td> <code title="">integers;</code> </td> <td> U+02124 </td> </tr><tr><td> <code title="">intercal;</code> </td> <td> U+022BA </td> </tr><tr><td> <code title="">intlarhk;</code> </td> <td> U+02A17 </td> </tr><tr><td> <code title="">intprod;</code> </td> <td> U+02A3C </td> </tr><tr><td> <code title="">iocy;</code> </td> <td> U+00451 </td> </tr><tr><td> <code title="">iogon;</code> </td> <td> U+0012F </td> </tr><tr><td> <code title="">iopf;</code> </td> <td> U+1D55A </td> </tr><tr><td> <code title="">iota;</code> </td> <d> U+003B9 </td> </tr><tr><td> <code title="">iprod;</code> </td> <td> U+02A3C </td> </tr><tr><td> <code title="">iquest;</code> </td> <td> U+000BF </td> </tr><tr><td> <code title="">iquest</code> </td> <td> U+000BF </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">iscr;</code> </td> <td> U+1D4BE </td> </tr><tr><td> <code title="">isin;</code> </td> <td> U+02208 </td> </tr><tr><td> <code title="">isinE;</code> </td> <td> U+022F9 </td> </tr><tr><td> <code title="">isindot;</code> </td> <td> U+022F5 </td> </tr><tr><td> <code title="">isins;</code> </td> <td> U+022F4 </td> </tr><tr><td> <code title="">isinsv;</code> </td> <td> U+022F3 </td> </tr><tr><td> <code title="">isinv;</code> </td> <td> U+02208 </td> </tr><tr><td> <code title="">it;</code> </td> <td> U+02062 </td> </tr><tr><td> <code title="">itilde;</code> </td> <td> U+00129 </td> </tr><tr><td> <code title="">iukcy;</code> </td> <td> U+00456 </td> </tr><tr><td> <code title="">iuml;</code> </td> <d> U+000EF </td> </tr><tr><td> <code title="">iuml</code> </td> <td> U+000EF </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">jcirc;</code> </td> <td> U+00135 </td> </tr><tr><td> <code title="">jcy;</code> </td> <td> U+00439 </td> </tr><tr><td> <code title="">jfr;</code> </td> <td> U+1D527 </td> </tr><tr><td> <code title="">jmath;</code> </td> <td> U+00237 </td> </tr><tr><td> <code title="">jopf;</code> </td> <td> U+1D55B </td> </tr><tr><td> <code title="">jscr;</code> </td> <td> U+1D4BF </td> </tr><tr><td> <code title="">jsercy;</code> </td> <td> U+00458 </td> </tr><tr><td> <code title="">jukcy;</code> </td> <td> U+00454 </td> </tr><tr><td> <code title="">kappa;</code> </td> <td> U+003BA </td> </tr><tr><td> <code title="">kappav;</code> </td> <td> U+003F0 </td> </tr><tr><td> <code title="">kcedil;</code> </td> <td> U+00137 </td> </tr><tr><td> <code title="">kcy;</code> </td> <td> U+0043A </td> </tr><tr><td> <code title="">kfr;</code> </td> <td> U+1D28 </td> </tr><tr><td> <code title="">kgreen;</code> </td> <td> U+00138 </td> </tr><tr><td> <code title="">khcy;</code> </td> <td> U+00445 </td> </tr><tr><td> <code title="">kjcy;</code> </td> <td> U+0045C </td> </tr><tr><td> <code title="">kopf;</code> </td> <td> U+1D55C </td> </tr><tr><td> <code title="">kscr;</code> </td> <td> U+1D4C0 </td> </tr><tr><td> <code title="">lAarr;</code> </td> <td> U+021DA </td> </tr><tr><td> <code title="">lArr;</code> </td> <td> U+021D0 </td> </tr><tr><td> <code title="">lAtail;</code> </td> <td> U+0291B </td> </tr><tr><td> <code title="">lBarr;</code> </td> <td> U+0290E </td> </tr><tr><td> <code title="">lE;</code> </td> <td> U+02266 </td> </tr><tr><td> <code title="">lEg;</code> </td> <td> U+02A8B </td> </tr><tr><td> <code title="">lHar;</code> </td> <td> U+02962 </td> </tr><tr><td> <code title="">lacute;</code> </td> <td> U+0013A </td> </tr><tr><td> <code title="">laemptyv;</code> </td> <td> U+029B4 </td> </tr><tr><td> <code title="">lagran;</code> </td> <td> U+02112 </t> </tr><tr><td> <code title="">lambda;</code> </td> <td> U+003BB </td> </tr><tr><td> <code title="">lang;</code> </td> <td> U+027E8 </td> </tr><tr><td> <code title="">langd;</code> </td> <td> U+02991 </td> </tr><tr><td> <code title="">langle;</code> </td> <td> U+027E8 </td> </tr><tr><td> <code title="">lap;</code> </td> <td> U+02A85 </td> </tr><tr><td> <code title="">laquo;</code> </td> <td> U+000AB </td> </tr><tr><td> <code title="">laquo</code> </td> <td> U+000AB </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">larr;</code> </td> <td> U+02190 </td> </tr><tr><td> <code title="">larrb;</code> </td> <td> U+021E4 </td> </tr><tr><td> <code title="">larrbfs;</code> </td> <td> U+0291F </td> </tr><tr><td> <code title="">larrfs;</code> </td> <td> U+0291D </td> </tr><tr><td> <code title="">larrhk;</code> </td> <td> U+021A9 </td> </tr><tr><td> <code title="">larrlp;</code> </td> <td> U+021AB </td> </tr><tr><td> <code title="">larrpl;</code> </td> <td> U+02939</td> </tr><tr><td> <code title="">larrsim;</code> </td> <td> U+02973 </td> </tr><tr><td> <code title="">larrtl;</code> </td> <td> U+021A2 </td> </tr><tr><td> <code title="">lat;</code> </td> <td> U+02AAB </td> </tr><tr><td> <code title="">latail;</code> </td> <td> U+02919 </td> </tr><tr><td> <code title="">late;</code> </td> <td> U+02AAD </td> </tr><tr><td> <code title="">lbarr;</code> </td> <td> U+0290C </td> </tr><tr><td> <code title="">lbbrk;</code> </td> <td> U+02772 </td> </tr><tr><td> <code title="">lbrace;</code> </td> <td> U+0007B </td> </tr><tr><td> <code title="">lbrack;</code> </td> <td> U+0005B </td> </tr><tr><td> <code title="">lbrke;</code> </td> <td> U+0298B </td> </tr><tr><td> <code title="">lbrksld;</code> </td> <td> U+0298F </td> </tr><tr><td> <code title="">lbrkslu;</code> </td> <td> U+0298D </td> </tr><tr><td> <code title="">lcaron;</code> </td> <td> U+0013E </td> </tr><tr><td> <code title="">lcedil;</code> </td> <td> U+0013C </td> </tr><tr><td> <code title="">lceil;</code> </td> <td> U02308 </td> </tr><tr><td> <code title="">lcub;</code> </td> <td> U+0007B </td> </tr><tr><td> <code title="">lcy;</code> </td> <td> U+0043B </td> </tr><tr><td> <code title="">ldca;</code> </td> <td> U+02936 </td> </tr><tr><td> <code title="">ldquo;</code> </td> <td> U+0201C </td> </tr><tr><td> <code title="">ldquor;</code> </td> <td> U+0201E </td> </tr><tr><td> <code title="">ldrdhar;</code> </td> <td> U+02967 </td> </tr><tr><td> <code title="">ldrushar;</code> </td> <td> U+0294B </td> </tr><tr><td> <code title="">ldsh;</code> </td> <td> U+021B2 </td> </tr><tr><td> <code title="">le;</code> </td> <td> U+02264 </td> </tr><tr><td> <code title="">leftarrow;</code> </td> <td> U+02190 </td> </tr><tr><td> <code title="">leftarrowtail;</code> </td> <td> U+021A2 </td> </tr><tr><td> <code title="">leftharpoondown;</code> </td> <td> U+021BD </td> </tr><tr><td> <code title="">leftharpoonup;</code> </td> <td> U+021BC </td> </tr><tr><td> <code title="">leftleftarrows;</code> </td> <td> U+021C7 </td> </tr><tr><td> <code ttle="">leftrightarrow;</code> </td> <td> U+02194 </td> </tr><tr><td> <code title="">leftrightarrows;</code> </td> <td> U+021C6 </td> </tr><tr><td> <code title="">leftrightharpoons;</code> </td> <td> U+021CB </td> </tr><tr><td> <code title="">leftrightsquigarrow;</code> </td> <td> U+021AD </td> </tr><tr><td> <code title="">leftthreetimes;</code> </td> <td> U+022CB </td> </tr><tr><td> <code title="">leg;</code> </td> <td> U+022DA </td> </tr><tr><td> <code title="">leq;</code> </td> <td> U+02264 </td> </tr><tr><td> <code title="">leqq;</code> </td> <td> U+02266 </td> </tr><tr><td> <code title="">leqslant;</code> </td> <td> U+02A7D </td> </tr><tr><td> <code title="">les;</code> </td> <td> U+02A7D </td> </tr><tr><td> <code title="">lescc;</code> </td> <td> U+02AA8 </td> </tr><tr><td> <code title="">lesdot;</code> </td> <td> U+02A7F </td> </tr><tr><td> <code title="">lesdoto;</code> </td> <td> U+02A81 </td> </tr><tr><td> <code title="">lesdotor;</code> </td> <td> U+02A83 </td> </tr><tr><td> <code title="">lesges;/code> </td> <td> U+02A93 </td> </tr><tr><td> <code title="">lessapprox;</code> </td> <td> U+02A85 </td> </tr><tr><td> <code title="">lessdot;</code> </td> <td> U+022D6 </td> </tr><tr><td> <code title="">lesseqgtr;</code> </td> <td> U+022DA </td> </tr><tr><td> <code title="">lesseqqgtr;</code> </td> <td> U+02A8B </td> </tr><tr><td> <code title="">lessgtr;</code> </td> <td> U+02276 </td> </tr><tr><td> <code title="">lesssim;</code> </td> <td> U+02272 </td> </tr><tr><td> <code title="">lfisht;</code> </td> <td> U+0297C </td> </tr><tr><td> <code title="">lfloor;</code> </td> <td> U+0230A </td> </tr><tr><td> <code title="">lfr;</code> </td> <td> U+1D529 </td> </tr><tr><td> <code title="">lg;</code> </td> <td> U+02276 </td> </tr><tr><td> <code title="">lgE;</code> </td> <td> U+02A91 </td> </tr><tr><td> <code title="">lhard;</code> </td> <td> U+021BD </td> </tr><tr><td> <code title="">lharu;</code> </td> <td> U+021BC </td> </tr><tr><td> <code title="">lharul;</code> </td> <td> U+0296A </td> </tr><tr><td> <code tile="">lhblk;</code> </td> <td> U+02584 </td> </tr><tr><td> <code title="">ljcy;</code> </td> <td> U+00459 </td> </tr><tr><td> <code title="">ll;</code> </td> <td> U+0226A </td> </tr><tr><td> <code title="">llarr;</code> </td> <td> U+021C7 </td> </tr><tr><td> <code title="">llcorner;</code> </td> <td> U+0231E </td> </tr><tr><td> <code title="">llhard;</code> </td> <td> U+0296B </td> </tr><tr><td> <code title="">lltri;</code> </td> <td> U+025FA </td> </tr><tr><td> <code title="">lmidot;</code> </td> <td> U+00140 </td> </tr><tr><td> <code title="">lmoust;</code> </td> <td> U+023B0 </td> </tr><tr><td> <code title="">lmoustache;</code> </td> <td> U+023B0 </td> </tr><tr><td> <code title="">lnE;</code> </td> <td> U+02268 </td> </tr><tr><td> <code title="">lnap;</code> </td> <td> U+02A89 </td> </tr><tr><td> <code title="">lnapprox;</code> </td> <td> U+02A89 </td> </tr><tr><td> <code title="">lne;</code> </td> <td> U+02A87 </td> </tr><tr><td> <code title="">lneq;</code> </td> <td> U+02A87 </td> </tr><tr><td> <code ttle="">lneqq;</code> </td> <td> U+02268 </td> </tr><tr><td> <code title="">lnsim;</code> </td> <td> U+022E6 </td> </tr><tr><td> <code title="">loang;</code> </td> <td> U+027EC </td> </tr><tr><td> <code title="">loarr;</code> </td> <td> U+021FD </td> </tr><tr><td> <code title="">lobrk;</code> </td> <td> U+027E6 </td> </tr><tr><td> <code title="">longleftarrow;</code> </td> <td> U+027F5 </td> </tr><tr><td> <code title="">longleftrightarrow;</code> </td> <td> U+027F7 </td> </tr><tr><td> <code title="">longmapsto;</code> </td> <td> U+027FC </td> </tr><tr><td> <code title="">longrightarrow;</code> </td> <td> U+027F6 </td> </tr><tr><td> <code title="">looparrowleft;</code> </td> <td> U+021AB </td> </tr><tr><td> <code title="">looparrowright;</code> </td> <td> U+021AC </td> </tr><tr><td> <code title="">lopar;</code> </td> <td> U+02985 </td> </tr><tr><td> <code title="">lopf;</code> </td> <td> U+1D55D </td> </tr><tr><td> <code title="">loplus;</code> </td> <td> U+02A2D </td> </tr><tr><td> <code title="">lotimes;</cde> </td> <td> U+02A34 </td> </tr><tr><td> <code title="">lowast;</code> </td> <td> U+02217 </td> </tr><tr><td> <code title="">lowbar;</code> </td> <td> U+0005F </td> </tr><tr><td> <code title="">loz;</code> </td> <td> U+025CA </td> </tr><tr><td> <code title="">lozenge;</code> </td> <td> U+025CA </td> </tr><tr><td> <code title="">lozf;</code> </td> <td> U+029EB </td> </tr><tr><td> <code title="">lpar;</code> </td> <td> U+00028 </td> </tr><tr><td> <code title="">lparlt;</code> </td> <td> U+02993 </td> </tr><tr><td> <code title="">lrarr;</code> </td> <td> U+021C6 </td> </tr><tr><td> <code title="">lrcorner;</code> </td> <td> U+0231F </td> </tr><tr><td> <code title="">lrhar;</code> </td> <td> U+021CB </td> </tr><tr><td> <code title="">lrhard;</code> </td> <td> U+0296D </td> </tr><tr><td> <code title="">lrm;</code> </td> <td> U+0200E </td> </tr><tr><td> <code title="">lrtri;</code> </td> <td> U+022BF </td> </tr><tr><td> <code title="">lsaquo;</code> </td> <td> U+02039 </td> </tr><tr><td> <code title="">lscr;</cde> </td> <td> U+1D4C1 </td> </tr><tr><td> <code title="">lsh;</code> </td> <td> U+021B0 </td> </tr><tr><td> <code title="">lsim;</code> </td> <td> U+02272 </td> </tr><tr><td> <code title="">lsime;</code> </td> <td> U+02A8D </td> </tr><tr><td> <code title="">lsimg;</code> </td> <td> U+02A8F </td> </tr><tr><td> <code title="">lsqb;</code> </td> <td> U+0005B </td> </tr><tr><td> <code title="">lsquo;</code> </td> <td> U+02018 </td> </tr><tr><td> <code title="">lsquor;</code> </td> <td> U+0201A </td> </tr><tr><td> <code title="">lstrok;</code> </td> <td> U+00142 </td> </tr><tr><td> <code title="">lt;</code> </td> <td> U+0003C </td> </tr><tr><td> <code title="">lt</code> </td> <td> U+0003C </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ltcc;</code> </td> <td> U+02AA6 </td> </tr><tr><td> <code title="">ltcir;</code> </td> <td> U+02A79 </td> </tr><tr><td> <code title="">ltdot;</code> </td> <td> U+022D6 </td> </tr><tr><td> <code title="">lthree;</code> </t> <td> U+022CB </td> </tr><tr><td> <code title="">ltimes;</code> </td> <td> U+022C9 </td> </tr><tr><td> <code title="">ltlarr;</code> </td> <td> U+02976 </td> </tr><tr><td> <code title="">ltquest;</code> </td> <td> U+02A7B </td> </tr><tr><td> <code title="">ltrPar;</code> </td> <td> U+02996 </td> </tr><tr><td> <code title="">ltri;</code> </td> <td> U+025C3 </td> </tr><tr><td> <code title="">ltrie;</code> </td> <td> U+022B4 </td> </tr><tr><td> <code title="">ltrif;</code> </td> <td> U+025C2 </td> </tr><tr><td> <code title="">lurdshar;</code> </td> <td> U+0294A </td> </tr><tr><td> <code title="">luruhar;</code> </td> <td> U+02966 </td> </tr><tr><td> <code title="">mDDot;</code> </td> <td> U+0223A </td> </tr><tr><td> <code title="">macr;</code> </td> <td> U+000AF </td> </tr><tr><td> <code title="">macr</code> </td> <td> U+000AF </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">male;</code> </td> <td> U+02642 </td> </tr><tr><td> <code title="">malt;</code </td> <td> U+02720 </td> </tr><tr><td> <code title="">maltese;</code> </td> <td> U+02720 </td> </tr><tr><td> <code title="">map;</code> </td> <td> U+021A6 </td> </tr><tr><td> <code title="">mapsto;</code> </td> <td> U+021A6 </td> </tr><tr><td> <code title="">mapstodown;</code> </td> <td> U+021A7 </td> </tr><tr><td> <code title="">mapstoleft;</code> </td> <td> U+021A4 </td> </tr><tr><td> <code title="">mapstoup;</code> </td> <td> U+021A5 </td> </tr><tr><td> <code title="">marker;</code> </td> <td> U+025AE </td> </tr><tr><td> <code title="">mcomma;</code> </td> <td> U+02A29 </td> </tr><tr><td> <code title="">mcy;</code> </td> <td> U+0043C </td> </tr><tr><td> <code title="">mdash;</code> </td> <td> U+02014 </td> </tr><tr><td> <code title="">measuredangle;</code> </td> <td> U+02221 </td> </tr><tr><td> <code title="">mfr;</code> </td> <td> U+1D52A </td> </tr><tr><td> <code title="">mho;</code> </td> <td> U+02127 </td> </tr><tr><td> <code title="">micro;</code> </td> <td> U+000B5 </td> </tr><tr><td> <code title=">micro</code> </td> <td> U+000B5 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">mid;</code> </td> <td> U+02223 </td> </tr><tr><td> <code title="">midast;</code> </td> <td> U+0002A </td> </tr><tr><td> <code title="">midcir;</code> </td> <td> U+02AF0 </td> </tr><tr><td> <code title="">middot;</code> </td> <td> U+000B7 </td> </tr><tr><td> <code title="">middot</code> </td> <td> U+000B7 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">minus;</code> </td> <td> U+02212 </td> </tr><tr><td> <code title="">minusb;</code> </td> <td> U+0229F </td> </tr><tr><td> <code title="">minusd;</code> </td> <td> U+02238 </td> </tr><tr><td> <code title="">minusdu;</code> </td> <td> U+02A2A </td> </tr><tr><td> <code title="">mlcp;</code> </td> <td> U+02ADB </td> </tr><tr><td> <code title="">mldr;</code> </td> <td> U+02026 </td> </tr><tr><td> <code title="">mnplus;</code> </td> <td> U+02213 </td> </tr><tr><td> <cod title="">models;</code> </td> <td> U+022A7 </td> </tr><tr><td> <code title="">mopf;</code> </td> <td> U+1D55E </td> </tr><tr><td> <code title="">mp;</code> </td> <td> U+02213 </td> </tr><tr><td> <code title="">mscr;</code> </td> <td> U+1D4C2 </td> </tr><tr><td> <code title="">mstpos;</code> </td> <td> U+0223E </td> </tr><tr><td> <code title="">mu;</code> </td> <td> U+003BC </td> </tr><tr><td> <code title="">multimap;</code> </td> <td> U+022B8 </td> </tr><tr><td> <code title="">mumap;</code> </td> <td> U+022B8 </td> </tr><tr><td> <code title="">nLeftarrow;</code> </td> <td> U+021CD </td> </tr><tr><td> <code title="">nLeftrightarrow;</code> </td> <td> U+021CE </td> </tr><tr><td> <code title="">nRightarrow;</code> </td> <td> U+021CF </td> </tr><tr><td> <code title="">nVDash;</code> </td> <td> U+022AF </td> </tr><tr><td> <code title="">nVdash;</code> </td> <td> U+022AE </td> </tr><tr><td> <code title="">nabla;</code> </td> <td> U+02207 </td> </tr><tr><td> <code title="">nacute;</code> </td> <td> U+00144 </td> /tr><tr><td> <code title="">nap;</code> </td> <td> U+02249 </td> </tr><tr><td> <code title="">napos;</code> </td> <td> U+00149 </td> </tr><tr><td> <code title="">napprox;</code> </td> <td> U+02249 </td> </tr><tr><td> <code title="">natur;</code> </td> <td> U+0266E </td> </tr><tr><td> <code title="">natural;</code> </td> <td> U+0266E </td> </tr><tr><td> <code title="">naturals;</code> </td> <td> U+02115 </td> </tr><tr><td> <code title="">nbsp;</code> </td> <td> U+000A0 </td> </tr><tr><td> <code title="">nbsp</code> </td> <td> U+000A0 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ncap;</code> </td> <td> U+02A43 </td> </tr><tr><td> <code title="">ncaron;</code> </td> <td> U+00148 </td> </tr><tr><td> <code title="">ncedil;</code> </td> <td> U+00146 </td> </tr><tr><td> <code title="">ncong;</code> </td> <td> U+02247 </td> </tr><tr><td> <code title="">ncup;</code> </td> <td> U+02A42 </td> </tr><tr><td> <code title="">ncy;</code> </td> <td> U+0043D </td></tr><tr><td> <code title="">ndash;</code> </td> <td> U+02013 </td> </tr><tr><td> <code title="">ne;</code> </td> <td> U+02260 </td> </tr><tr><td> <code title="">neArr;</code> </td> <td> U+021D7 </td> </tr><tr><td> <code title="">nearhk;</code> </td> <td> U+02924 </td> </tr><tr><td> <code title="">nearr;</code> </td> <td> U+02197 </td> </tr><tr><td> <code title="">nearrow;</code> </td> <td> U+02197 </td> </tr><tr><td> <code title="">nequiv;</code> </td> <td> U+02262 </td> </tr><tr><td> <code title="">nesear;</code> </td> <td> U+02928 </td> </tr><tr><td> <code title="">nexist;</code> </td> <td> U+02204 </td> </tr><tr><td> <code title="">nexists;</code> </td> <td> U+02204 </td> </tr><tr><td> <code title="">nfr;</code> </td> <td> U+1D52B </td> </tr><tr><td> <code title="">nge;</code> </td> <td> U+02271 </td> </tr><tr><td> <code title="">ngeq;</code> </td> <td> U+02271 </td> </tr><tr><td> <code title="">ngsim;</code> </td> <td> U+02275 </td> </tr><tr><td> <code title="">ngt;</code> </td> <td> U+0226F </td> </tr<tr><td> <code title="">ngtr;</code> </td> <td> U+0226F </td> </tr><tr><td> <code title="">nhArr;</code> </td> <td> U+021CE </td> </tr><tr><td> <code title="">nharr;</code> </td> <td> U+021AE </td> </tr><tr><td> <code title="">nhpar;</code> </td> <td> U+02AF2 </td> </tr><tr><td> <code title="">ni;</code> </td> <td> U+0220B </td> </tr><tr><td> <code title="">nis;</code> </td> <td> U+022FC </td> </tr><tr><td> <code title="">nisd;</code> </td> <td> U+022FA </td> </tr><tr><td> <code title="">niv;</code> </td> <td> U+0220B </td> </tr><tr><td> <code title="">njcy;</code> </td> <td> U+0045A </td> </tr><tr><td> <code title="">nlArr;</code> </td> <td> U+021CD </td> </tr><tr><td> <code title="">nlarr;</code> </td> <td> U+0219A </td> </tr><tr><td> <code title="">nldr;</code> </td> <td> U+02025 </td> </tr><tr><td> <code title="">nle;</code> </td> <td> U+02270 </td> </tr><tr><td> <code title="">nleftarrow;</code> </td> <td> U+0219A </td> </tr><tr><td> <code title="">nleftrightarrow;</code> </td> <td> U+021AE </td> </tr>tr><td> <code title="">nleq;</code> </td> <td> U+02270 </td> </tr><tr><td> <code title="">nless;</code> </td> <td> U+0226E </td> </tr><tr><td> <code title="">nlsim;</code> </td> <td> U+02274 </td> </tr><tr><td> <code title="">nlt;</code> </td> <td> U+0226E </td> </tr><tr><td> <code title="">nltri;</code> </td> <td> U+022EA </td> </tr><tr><td> <code title="">nltrie;</code> </td> <td> U+022EC </td> </tr><tr><td> <code title="">nmid;</code> </td> <td> U+02224 </td> </tr><tr><td> <code title="">nopf;</code> </td> <td> U+1D55F </td> </tr><tr><td> <code title="">not;</code> </td> <td> U+000AC </td> </tr><tr><td> <code title="">not</code> </td> <td> U+000AC </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">notin;</code> </td> <td> U+02209 </td> </tr><tr><td> <code title="">notinva;</code> </td> <td> U+02209 </td> </tr><tr><td> <code title="">notinvb;</code> </td> <td> U+022F7 </td> </tr><tr><td> <code title="">notinvc;</code> </td> <td> U+022F6 </td> </tr><t><td> <code title="">notni;</code> </td> <td> U+0220C </td> </tr><tr><td> <code title="">notniva;</code> </td> <td> U+0220C </td> </tr><tr><td> <code title="">notnivb;</code> </td> <td> U+022FE </td> </tr><tr><td> <code title="">notnivc;</code> </td> <td> U+022FD </td> </tr><tr><td> <code title="">npar;</code> </td> <td> U+02226 </td> </tr><tr><td> <code title="">nparallel;</code> </td> <td> U+02226 </td> </tr><tr><td> <code title="">npolint;</code> </td> <td> U+02A14 </td> </tr><tr><td> <code title="">npr;</code> </td> <td> U+02280 </td> </tr><tr><td> <code title="">nprcue;</code> </td> <td> U+022E0 </td> </tr><tr><td> <code title="">nprec;</code> </td> <td> U+02280 </td> </tr><tr><td> <code title="">nrArr;</code> </td> <td> U+021CF </td> </tr><tr><td> <code title="">nrarr;</code> </td> <td> U+0219B </td> </tr><tr><td> <code title="">nrightarrow;</code> </td> <td> U+0219B </td> </tr><tr><td> <code title="">nrtri;</code> </td> <td> U+022EB </td> </tr><tr><td> <code title="">nrtrie;</code> </td> <td> U+022ED</td> </tr><tr><td> <code title="">nsc;</code> </td> <td> U+02281 </td> </tr><tr><td> <code title="">nsccue;</code> </td> <td> U+022E1 </td> </tr><tr><td> <code title="">nscr;</code> </td> <td> U+1D4C3 </td> </tr><tr><td> <code title="">nshortmid;</code> </td> <td> U+02224 </td> </tr><tr><td> <code title="">nshortparallel;</code> </td> <td> U+02226 </td> </tr><tr><td> <code title="">nsim;</code> </td> <td> U+02241 </td> </tr><tr><td> <code title="">nsime;</code> </td> <td> U+02244 </td> </tr><tr><td> <code title="">nsimeq;</code> </td> <td> U+02244 </td> </tr><tr><td> <code title="">nsmid;</code> </td> <td> U+02224 </td> </tr><tr><td> <code title="">nspar;</code> </td> <td> U+02226 </td> </tr><tr><td> <code title="">nsqsube;</code> </td> <td> U+022E2 </td> </tr><tr><td> <code title="">nsqsupe;</code> </td> <td> U+022E3 </td> </tr><tr><td> <code title="">nsub;</code> </td> <td> U+02284 </td> </tr><tr><td> <code title="">nsube;</code> </td> <td> U+02288 </td> </tr><tr><td> <code title="">nsubseteq;</code> </t> <td> U+02288 </td> </tr><tr><td> <code title="">nsucc;</code> </td> <td> U+02281 </td> </tr><tr><td> <code title="">nsup;</code> </td> <td> U+02285 </td> </tr><tr><td> <code title="">nsupe;</code> </td> <td> U+02289 </td> </tr><tr><td> <code title="">nsupseteq;</code> </td> <td> U+02289 </td> </tr><tr><td> <code title="">ntgl;</code> </td> <td> U+02279 </td> </tr><tr><td> <code title="">ntilde;</code> </td> <td> U+000F1 </td> </tr><tr><td> <code title="">ntilde</code> </td> <td> U+000F1 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ntlg;</code> </td> <td> U+02278 </td> </tr><tr><td> <code title="">ntriangleleft;</code> </td> <td> U+022EA </td> </tr><tr><td> <code title="">ntrianglelefteq;</code> </td> <td> U+022EC </td> </tr><tr><td> <code title="">ntriangleright;</code> </td> <td> U+022EB </td> </tr><tr><td> <code title="">ntrianglerighteq;</code> </td> <td> U+022ED </td> </tr><tr><td> <code title="">nu;</code> </td> <td> U+003BD </td> </tr><tr<td> <code title="">num;</code> </td> <td> U+00023 </td> </tr><tr><td> <code title="">numero;</code> </td> <td> U+02116 </td> </tr><tr><td> <code title="">numsp;</code> </td> <td> U+02007 </td> </tr><tr><td> <code title="">nvDash;</code> </td> <td> U+022AD </td> </tr><tr><td> <code title="">nvHarr;</code> </td> <td> U+02904 </td> </tr><tr><td> <code title="">nvdash;</code> </td> <td> U+022AC </td> </tr><tr><td> <code title="">nvinfin;</code> </td> <td> U+029DE </td> </tr><tr><td> <code title="">nvlArr;</code> </td> <td> U+02902 </td> </tr><tr><td> <code title="">nvrArr;</code> </td> <td> U+02903 </td> </tr><tr><td> <code title="">nwArr;</code> </td> <td> U+021D6 </td> </tr><tr><td> <code title="">nwarhk;</code> </td> <td> U+02923 </td> </tr><tr><td> <code title="">nwarr;</code> </td> <td> U+02196 </td> </tr><tr><td> <code title="">nwarrow;</code> </td> <td> U+02196 </td> </tr><tr><td> <code title="">nwnear;</code> </td> <td> U+02927 </td> </tr><tr><td> <code title="">oS;</code> </td> <td> U+024C8 </td> </tr<tr><td> <code title="">oacute;</code> </td> <td> U+000F3 </td> </tr><tr><td> <code title="">oacute</code> </td> <td> U+000F3 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">oast;</code> </td> <td> U+0229B </td> </tr><tr><td> <code title="">ocir;</code> </td> <td> U+0229A </td> </tr><tr><td> <code title="">ocirc;</code> </td> <td> U+000F4 </td> </tr><tr><td> <code title="">ocirc</code> </td> <td> U+000F4 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ocy;</code> </td> <td> U+0043E </td> </tr><tr><td> <code title="">odash;</code> </td> <td> U+0229D </td> </tr><tr><td> <code title="">odblac;</code> </td> <td> U+00151 </td> </tr><tr><td> <code title="">odiv;</code> </td> <td> U+02A38 </td> </tr><tr><td> <code title="">odot;</code> </td> <td> U+02299 </td> </tr><tr><td> <code title="">odsold;</code> </td> <td> U+029BC </td> </tr><tr><td> <code title="">oelig;</code> </td> <td> U+00153 </td> </t><tr><td> <code title="">ofcir;</code> </td> <td> U+029BF </td> </tr><tr><td> <code title="">ofr;</code> </td> <td> U+1D52C </td> </tr><tr><td> <code title="">ogon;</code> </td> <td> U+002DB </td> </tr><tr><td> <code title="">ograve;</code> </td> <td> U+000F2 </td> </tr><tr><td> <code title="">ograve</code> </td> <td> U+000F2 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ogt;</code> </td> <td> U+029C1 </td> </tr><tr><td> <code title="">ohbar;</code> </td> <td> U+029B5 </td> </tr><tr><td> <code title="">ohm;</code> </td> <td> U+02126 </td> </tr><tr><td> <code title="">oint;</code> </td> <td> U+0222E </td> </tr><tr><td> <code title="">olarr;</code> </td> <td> U+021BA </td> </tr><tr><td> <code title="">olcir;</code> </td> <td> U+029BE </td> </tr><tr><td> <code title="">olcross;</code> </td> <td> U+029BB </td> </tr><tr><td> <code title="">oline;</code> </td> <td> U+0203E </td> </tr><tr><td> <code title="">olt;</code> </td> <td> U+029C0 </td> </tr><tr>td> <code title="">omacr;</code> </td> <td> U+0014D </td> </tr><tr><td> <code title="">omega;</code> </td> <td> U+003C9 </td> </tr><tr><td> <code title="">omicron;</code> </td> <td> U+003BF </td> </tr><tr><td> <code title="">omid;</code> </td> <td> U+029B6 </td> </tr><tr><td> <code title="">ominus;</code> </td> <td> U+02296 </td> </tr><tr><td> <code title="">oopf;</code> </td> <td> U+1D560 </td> </tr><tr><td> <code title="">opar;</code> </td> <td> U+029B7 </td> </tr><tr><td> <code title="">operp;</code> </td> <td> U+029B9 </td> </tr><tr><td> <code title="">oplus;</code> </td> <td> U+02295 </td> </tr><tr><td> <code title="">or;</code> </td> <td> U+02228 </td> </tr><tr><td> <code title="">orarr;</code> </td> <td> U+021BB </td> </tr><tr><td> <code title="">ord;</code> </td> <td> U+02A5D </td> </tr><tr><td> <code title="">order;</code> </td> <td> U+02134 </td> </tr><tr><td> <code title="">orderof;</code> </td> <td> U+02134 </td> </tr><tr><td> <code title="">ordf;</code> </td> <td> U+000AA </td> </tr><tr><td> <cde title="">ordf</code> </td> <td> U+000AA </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ordm;</code> </td> <td> U+000BA </td> </tr><tr><td> <code title="">ordm</code> </td> <td> U+000BA </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">origof;</code> </td> <td> U+022B6 </td> </tr><tr><td> <code title="">oror;</code> </td> <td> U+02A56 </td> </tr><tr><td> <code title="">orslope;</code> </td> <td> U+02A57 </td> </tr><tr><td> <code title="">orv;</code> </td> <td> U+02A5B </td> </tr><tr><td> <code title="">oscr;</code> </td> <td> U+02134 </td> </tr><tr><td> <code title="">oslash;</code> </td> <td> U+000F8 </td> </tr><tr><td> <code title="">oslash</code> </td> <td> U+000F8 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">osol;</code> </td> <td> U+02298 </td> </tr><tr><td> <code title="">otilde;</code> </td> <td> U+000F5 </td> </tr><tr><td <code title="">otilde</code> </td> <td> U+000F5 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">otimes;</code> </td> <td> U+02297 </td> </tr><tr><td> <code title="">otimesas;</code> </td> <td> U+02A36 </td> </tr><tr><td> <code title="">ouml;</code> </td> <td> U+000F6 </td> </tr><tr><td> <code title="">ouml</code> </td> <td> U+000F6 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ovbar;</code> </td> <td> U+0233D </td> </tr><tr><td> <code title="">par;</code> </td> <td> U+02225 </td> </tr><tr><td> <code title="">para;</code> </td> <td> U+000B6 </td> </tr><tr><td> <code title="">para</code> </td> <td> U+000B6 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">parallel;</code> </td> <td> U+02225 </td> </tr><tr><td> <code title="">parsim;</code> </td> <td> U+02AF3 </td> </tr><tr><td> <code title="">parsl;</code> </td> <td> U+02AFD </td> </t><tr><td> <code title="">part;</code> </td> <td> U+02202 </td> </tr><tr><td> <code title="">pcy;</code> </td> <td> U+0043F </td> </tr><tr><td> <code title="">percnt;</code> </td> <td> U+00025 </td> </tr><tr><td> <code title="">period;</code> </td> <td> U+0002E </td> </tr><tr><td> <code title="">permil;</code> </td> <td> U+02030 </td> </tr><tr><td> <code title="">perp;</code> </td> <td> U+022A5 </td> </tr><tr><td> <code title="">pertenk;</code> </td> <td> U+02031 </td> </tr><tr><td> <code title="">pfr;</code> </td> <td> U+1D52D </td> </tr><tr><td> <code title="">phi;</code> </td> <td> U+003C6 </td> </tr><tr><td> <code title="">phiv;</code> </td> <td> U+003C6 </td> </tr><tr><td> <code title="">phmmat;</code> </td> <td> U+02133 </td> </tr><tr><td> <code title="">phone;</code> </td> <td> U+0260E </td> </tr><tr><td> <code title="">pi;</code> </td> <td> U+003C0 </td> </tr><tr><td> <code title="">pitchfork;</code> </td> <td> U+022D4 </td> </tr><tr><td> <code title="">piv;</code> </td> <td> U+003D6 </td> </tr><tr><d> <code title="">planck;</code> </td> <td> U+0210F </td> </tr><tr><td> <code title="">planckh;</code> </td> <td> U+0210E </td> </tr><tr><td> <code title="">plankv;</code> </td> <td> U+0210F </td> </tr><tr><td> <code title="">plus;</code> </td> <td> U+0002B </td> </tr><tr><td> <code title="">plusacir;</code> </td> <td> U+02A23 </td> </tr><tr><td> <code title="">plusb;</code> </td> <td> U+0229E </td> </tr><tr><td> <code title="">pluscir;</code> </td> <td> U+02A22 </td> </tr><tr><td> <code title="">plusdo;</code> </td> <td> U+02214 </td> </tr><tr><td> <code title="">plusdu;</code> </td> <td> U+02A25 </td> </tr><tr><td> <code title="">pluse;</code> </td> <td> U+02A72 </td> </tr><tr><td> <code title="">plusmn;</code> </td> <td> U+000B1 </td> </tr><tr><td> <code title="">plusmn</code> </td> <td> U+000B1 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">plussim;</code> </td> <td> U+02A26 </td> </tr><tr><td> <code title="">plustwo;</code> </td> <td> U+02A27 /td> </tr><tr><td> <code title="">pm;</code> </td> <td> U+000B1 </td> </tr><tr><td> <code title="">pointint;</code> </td> <td> U+02A15 </td> </tr><tr><td> <code title="">popf;</code> </td> <td> U+1D561 </td> </tr><tr><td> <code title="">pound;</code> </td> <td> U+000A3 </td> </tr><tr><td> <code title="">pound</code> </td> <td> U+000A3 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">pr;</code> </td> <td> U+0227A </td> </tr><tr><td> <code title="">prE;</code> </td> <td> U+02AB3 </td> </tr><tr><td> <code title="">prap;</code> </td> <td> U+02AB7 </td> </tr><tr><td> <code title="">prcue;</code> </td> <td> U+0227C </td> </tr><tr><td> <code title="">pre;</code> </td> <td> U+02AAF </td> </tr><tr><td> <code title="">prec;</code> </td> <td> U+0227A </td> </tr><tr><td> <code title="">precapprox;</code> </td> <td> U+02AB7 </td> </tr><tr><td> <code title="">preccurlyeq;</code> </td> <td> U+0227C </td> </tr><tr><td> <code title="">preceq;</code> </td> <td> U+02AA </td> </tr><tr><td> <code title="">precnapprox;</code> </td> <td> U+02AB9 </td> </tr><tr><td> <code title="">precneqq;</code> </td> <td> U+02AB5 </td> </tr><tr><td> <code title="">precnsim;</code> </td> <td> U+022E8 </td> </tr><tr><td> <code title="">precsim;</code> </td> <td> U+0227E </td> </tr><tr><td> <code title="">prime;</code> </td> <td> U+02032 </td> </tr><tr><td> <code title="">primes;</code> </td> <td> U+02119 </td> </tr><tr><td> <code title="">prnE;</code> </td> <td> U+02AB5 </td> </tr><tr><td> <code title="">prnap;</code> </td> <td> U+02AB9 </td> </tr><tr><td> <code title="">prnsim;</code> </td> <td> U+022E8 </td> </tr><tr><td> <code title="">prod;</code> </td> <td> U+0220F </td> </tr><tr><td> <code title="">profalar;</code> </td> <td> U+0232E </td> </tr><tr><td> <code title="">profline;</code> </td> <td> U+02312 </td> </tr><tr><td> <code title="">profsurf;</code> </td> <td> U+02313 </td> </tr><tr><td> <code title="">prop;</code> </td> <td> U+0221D </td> </tr><tr><td> <code title="">propto;</cod> </td> <td> U+0221D </td> </tr><tr><td> <code title="">prsim;</code> </td> <td> U+0227E </td> </tr><tr><td> <code title="">prurel;</code> </td> <td> U+022B0 </td> </tr><tr><td> <code title="">pscr;</code> </td> <td> U+1D4C5 </td> </tr><tr><td> <code title="">psi;</code> </td> <td> U+003C8 </td> </tr><tr><td> <code title="">puncsp;</code> </td> <td> U+02008 </td> </tr><tr><td> <code title="">qfr;</code> </td> <td> U+1D52E </td> </tr><tr><td> <code title="">qint;</code> </td> <td> U+02A0C </td> </tr><tr><td> <code title="">qopf;</code> </td> <td> U+1D562 </td> </tr><tr><td> <code title="">qprime;</code> </td> <td> U+02057 </td> </tr><tr><td> <code title="">qscr;</code> </td> <td> U+1D4C6 </td> </tr><tr><td> <code title="">quaternions;</code> </td> <td> U+0210D </td> </tr><tr><td> <code title="">quatint;</code> </td> <td> U+02A16 </td> </tr><tr><td> <code title="">quest;</code> </td> <td> U+0003F </td> </tr><tr><td> <code title="">questeq;</code> </td> <td> U+0225F </td> </tr><tr><td> <code title="">quot;</coe> </td> <td> U+00022 </td> </tr><tr><td> <code title="">quot</code> </td> <td> U+00022 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">rAarr;</code> </td> <td> U+021DB </td> </tr><tr><td> <code title="">rArr;</code> </td> <td> U+021D2 </td> </tr><tr><td> <code title="">rAtail;</code> </td> <td> U+0291C </td> </tr><tr><td> <code title="">rBarr;</code> </td> <td> U+0290F </td> </tr><tr><td> <code title="">rHar;</code> </td> <td> U+02964 </td> </tr><tr><td> <code title="">race;</code> </td> <td> U+029DA </td> </tr><tr><td> <code title="">racute;</code> </td> <td> U+00155 </td> </tr><tr><td> <code title="">radic;</code> </td> <td> U+0221A </td> </tr><tr><td> <code title="">raemptyv;</code> </td> <td> U+029B3 </td> </tr><tr><td> <code title="">rang;</code> </td> <td> U+027E9 </td> </tr><tr><td> <code title="">rangd;</code> </td> <td> U+02992 </td> </tr><tr><td> <code title="">range;</code> </td> <td> U+029A5 </td> </tr><tr><td> <code title="">rangle;</cde> </td> <td> U+027E9 </td> </tr><tr><td> <code title="">raquo;</code> </td> <td> U+000BB </td> </tr><tr><td> <code title="">raquo</code> </td> <td> U+000BB </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">rarr;</code> </td> <td> U+02192 </td> </tr><tr><td> <code title="">rarrap;</code> </td> <td> U+02975 </td> </tr><tr><td> <code title="">rarrb;</code> </td> <td> U+021E5 </td> </tr><tr><td> <code title="">rarrbfs;</code> </td> <td> U+02920 </td> </tr><tr><td> <code title="">rarrc;</code> </td> <td> U+02933 </td> </tr><tr><td> <code title="">rarrfs;</code> </td> <td> U+0291E </td> </tr><tr><td> <code title="">rarrhk;</code> </td> <td> U+021AA </td> </tr><tr><td> <code title="">rarrlp;</code> </td> <td> U+021AC </td> </tr><tr><td> <code title="">rarrpl;</code> </td> <td> U+02945 </td> </tr><tr><td> <code title="">rarrsim;</code> </td> <td> U+02974 </td> </tr><tr><td> <code title="">rarrtl;</code> </td> <td> U+021A3 </td> </tr><tr><td> <code title="">arrw;</code> </td> <td> U+0219D </td> </tr><tr><td> <code title="">ratail;</code> </td> <td> U+0291A </td> </tr><tr><td> <code title="">ratio;</code> </td> <td> U+02236 </td> </tr><tr><td> <code title="">rationals;</code> </td> <td> U+0211A </td> </tr><tr><td> <code title="">rbarr;</code> </td> <td> U+0290D </td> </tr><tr><td> <code title="">rbbrk;</code> </td> <td> U+02773 </td> </tr><tr><td> <code title="">rbrace;</code> </td> <td> U+0007D </td> </tr><tr><td> <code title="">rbrack;</code> </td> <td> U+0005D </td> </tr><tr><td> <code title="">rbrke;</code> </td> <td> U+0298C </td> </tr><tr><td> <code title="">rbrksld;</code> </td> <td> U+0298E </td> </tr><tr><td> <code title="">rbrkslu;</code> </td> <td> U+02990 </td> </tr><tr><td> <code title="">rcaron;</code> </td> <td> U+00159 </td> </tr><tr><td> <code title="">rcedil;</code> </td> <td> U+00157 </td> </tr><tr><td> <code title="">rceil;</code> </td> <td> U+02309 </td> </tr><tr><td> <code title="">rcub;</code> </td> <td> U+0007D </td> </tr><tr><td> <code itle="">rcy;</code> </td> <td> U+00440 </td> </tr><tr><td> <code title="">rdca;</code> </td> <td> U+02937 </td> </tr><tr><td> <code title="">rdldhar;</code> </td> <td> U+02969 </td> </tr><tr><td> <code title="">rdquo;</code> </td> <td> U+0201D </td> </tr><tr><td> <code title="">rdquor;</code> </td> <td> U+0201D </td> </tr><tr><td> <code title="">rdsh;</code> </td> <td> U+021B3 </td> </tr><tr><td> <code title="">real;</code> </td> <td> U+0211C </td> </tr><tr><td> <code title="">realine;</code> </td> <td> U+0211B </td> </tr><tr><td> <code title="">realpart;</code> </td> <td> U+0211C </td> </tr><tr><td> <code title="">reals;</code> </td> <td> U+0211D </td> </tr><tr><td> <code title="">rect;</code> </td> <td> U+025AD </td> </tr><tr><td> <code title="">reg;</code> </td> <td> U+000AE </td> </tr><tr><td> <code title="">reg</code> </td> <td> U+000AE </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">rfisht;</code> </td> <td> U+0297D </td> </tr><tr><td> <code ttle="">rfloor;</code> </td> <td> U+0230B </td> </tr><tr><td> <code title="">rfr;</code> </td> <td> U+1D52F </td> </tr><tr><td> <code title="">rhard;</code> </td> <td> U+021C1 </td> </tr><tr><td> <code title="">rharu;</code> </td> <td> U+021C0 </td> </tr><tr><td> <code title="">rharul;</code> </td> <td> U+0296C </td> </tr><tr><td> <code title="">rho;</code> </td> <td> U+003C1 </td> </tr><tr><td> <code title="">rhov;</code> </td> <td> U+003F1 </td> </tr><tr><td> <code title="">rightarrow;</code> </td> <td> U+02192 </td> </tr><tr><td> <code title="">rightarrowtail;</code> </td> <td> U+021A3 </td> </tr><tr><td> <code title="">rightharpoondown;</code> </td> <td> U+021C1 </td> </tr><tr><td> <code title="">rightharpoonup;</code> </td> <td> U+021C0 </td> </tr><tr><td> <code title="">rightleftarrows;</code> </td> <td> U+021C4 </td> </tr><tr><td> <code title="">rightleftharpoons;</code> </td> <td> U+021CC </td> </tr><tr><td> <code title="">rightrightarrows;</code> </td> <td> U+021C9 </td> </tr><tr><td> <code title=""rightsquigarrow;</code> </td> <td> U+0219D </td> </tr><tr><td> <code title="">rightthreetimes;</code> </td> <td> U+022CC </td> </tr><tr><td> <code title="">ring;</code> </td> <td> U+002DA </td> </tr><tr><td> <code title="">risingdotseq;</code> </td> <td> U+02253 </td> </tr><tr><td> <code title="">rlarr;</code> </td> <td> U+021C4 </td> </tr><tr><td> <code title="">rlhar;</code> </td> <td> U+021CC </td> </tr><tr><td> <code title="">rlm;</code> </td> <td> U+0200F </td> </tr><tr><td> <code title="">rmoust;</code> </td> <td> U+023B1 </td> </tr><tr><td> <code title="">rmoustache;</code> </td> <td> U+023B1 </td> </tr><tr><td> <code title="">rnmid;</code> </td> <td> U+02AEE </td> </tr><tr><td> <code title="">roang;</code> </td> <td> U+027ED </td> </tr><tr><td> <code title="">roarr;</code> </td> <td> U+021FE </td> </tr><tr><td> <code title="">robrk;</code> </td> <td> U+027E7 </td> </tr><tr><td> <code title="">ropar;</code> </td> <td> U+02986 </td> </tr><tr><td> <code title="">ropf;</code> </td> <td> U+1D563 </td> </r><tr><td> <code title="">roplus;</code> </td> <td> U+02A2E </td> </tr><tr><td> <code title="">rotimes;</code> </td> <td> U+02A35 </td> </tr><tr><td> <code title="">rpar;</code> </td> <td> U+00029 </td> </tr><tr><td> <code title="">rpargt;</code> </td> <td> U+02994 </td> </tr><tr><td> <code title="">rppolint;</code> </td> <td> U+02A12 </td> </tr><tr><td> <code title="">rrarr;</code> </td> <td> U+021C9 </td> </tr><tr><td> <code title="">rsaquo;</code> </td> <td> U+0203A </td> </tr><tr><td> <code title="">rscr;</code> </td> <td> U+1D4C7 </td> </tr><tr><td> <code title="">rsh;</code> </td> <td> U+021B1 </td> </tr><tr><td> <code title="">rsqb;</code> </td> <td> U+0005D </td> </tr><tr><td> <code title="">rsquo;</code> </td> <td> U+02019 </td> </tr><tr><td> <code title="">rsquor;</code> </td> <td> U+02019 </td> </tr><tr><td> <code title="">rthree;</code> </td> <td> U+022CC </td> </tr><tr><td> <code title="">rtimes;</code> </td> <td> U+022CA </td> </tr><tr><td> <code title="">rtri;</code> </td> <td> U+025B9 </td> /tr><tr><td> <code title="">rtrie;</code> </td> <td> U+022B5 </td> </tr><tr><td> <code title="">rtrif;</code> </td> <td> U+025B8 </td> </tr><tr><td> <code title="">rtriltri;</code> </td> <td> U+029CE </td> </tr><tr><td> <code title="">ruluhar;</code> </td> <td> U+02968 </td> </tr><tr><td> <code title="">rx;</code> </td> <td> U+0211E </td> </tr><tr><td> <code title="">sacute;</code> </td> <td> U+0015B </td> </tr><tr><td> <code title="">sbquo;</code> </td> <td> U+0201A </td> </tr><tr><td> <code title="">sc;</code> </td> <td> U+0227B </td> </tr><tr><td> <code title="">scE;</code> </td> <td> U+02AB4 </td> </tr><tr><td> <code title="">scap;</code> </td> <td> U+02AB8 </td> </tr><tr><td> <code title="">scaron;</code> </td> <td> U+00161 </td> </tr><tr><td> <code title="">sccue;</code> </td> <td> U+0227D </td> </tr><tr><td> <code title="">sce;</code> </td> <td> U+02AB0 </td> </tr><tr><td> <code title="">scedil;</code> </td> <td> U+0015F </td> </tr><tr><td> <code title="">scirc;</code> </td> <td> U+0015D </td> </tr><r><td> <code title="">scnE;</code> </td> <td> U+02AB6 </td> </tr><tr><td> <code title="">scnap;</code> </td> <td> U+02ABA </td> </tr><tr><td> <code title="">scnsim;</code> </td> <td> U+022E9 </td> </tr><tr><td> <code title="">scpolint;</code> </td> <td> U+02A13 </td> </tr><tr><td> <code title="">scsim;</code> </td> <td> U+0227F </td> </tr><tr><td> <code title="">scy;</code> </td> <td> U+00441 </td> </tr><tr><td> <code title="">sdot;</code> </td> <td> U+022C5 </td> </tr><tr><td> <code title="">sdotb;</code> </td> <td> U+022A1 </td> </tr><tr><td> <code title="">sdote;</code> </td> <td> U+02A66 </td> </tr><tr><td> <code title="">seArr;</code> </td> <td> U+021D8 </td> </tr><tr><td> <code title="">searhk;</code> </td> <td> U+02925 </td> </tr><tr><td> <code title="">searr;</code> </td> <td> U+02198 </td> </tr><tr><td> <code title="">searrow;</code> </td> <td> U+02198 </td> </tr><tr><td> <code title="">sect;</code> </td> <td> U+000A7 </td> </tr><tr><td> <code title="">sect</code> </td> <td> U+000A7 </td> </tr><!--(invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">semi;</code> </td> <td> U+0003B </td> </tr><tr><td> <code title="">seswar;</code> </td> <td> U+02929 </td> </tr><tr><td> <code title="">setminus;</code> </td> <td> U+02216 </td> </tr><tr><td> <code title="">setmn;</code> </td> <td> U+02216 </td> </tr><tr><td> <code title="">sext;</code> </td> <td> U+02736 </td> </tr><tr><td> <code title="">sfr;</code> </td> <td> U+1D530 </td> </tr><tr><td> <code title="">sfrown;</code> </td> <td> U+02322 </td> </tr><tr><td> <code title="">sharp;</code> </td> <td> U+0266F </td> </tr><tr><td> <code title="">shchcy;</code> </td> <td> U+00449 </td> </tr><tr><td> <code title="">shcy;</code> </td> <td> U+00448 </td> </tr><tr><td> <code title="">shortmid;</code> </td> <td> U+02223 </td> </tr><tr><td> <code title="">shortparallel;</code> </td> <td> U+02225 </td> </tr><tr><td> <code title="">shy;</code> </td> <td> U+000AD </td> </tr><tr><td> <code title="">shy</code> </td> <td> U+000AD </td> <tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">sigma;</code> </td> <td> U+003C3 </td> </tr><tr><td> <code title="">sigmaf;</code> </td> <td> U+003C2 </td> </tr><tr><td> <code title="">sigmav;</code> </td> <td> U+003C2 </td> </tr><tr><td> <code title="">sim;</code> </td> <td> U+0223C </td> </tr><tr><td> <code title="">simdot;</code> </td> <td> U+02A6A </td> </tr><tr><td> <code title="">sime;</code> </td> <td> U+02243 </td> </tr><tr><td> <code title="">simeq;</code> </td> <td> U+02243 </td> </tr><tr><td> <code title="">simg;</code> </td> <td> U+02A9E </td> </tr><tr><td> <code title="">simgE;</code> </td> <td> U+02AA0 </td> </tr><tr><td> <code title="">siml;</code> </td> <td> U+02A9D </td> </tr><tr><td> <code title="">simlE;</code> </td> <td> U+02A9F </td> </tr><tr><td> <code title="">simne;</code> </td> <td> U+02246 </td> </tr><tr><td> <code title="">simplus;</code> </td> <td> U+02A24 </td> </tr><tr><td> <code title="">simrarr;</code> </td> <td> U+02972 </td </tr><tr><td> <code title="">slarr;</code> </td> <td> U+02190 </td> </tr><tr><td> <code title="">smallsetminus;</code> </td> <td> U+02216 </td> </tr><tr><td> <code title="">smashp;</code> </td> <td> U+02A33 </td> </tr><tr><td> <code title="">smeparsl;</code> </td> <td> U+029E4 </td> </tr><tr><td> <code title="">smid;</code> </td> <td> U+02223 </td> </tr><tr><td> <code title="">smile;</code> </td> <td> U+02323 </td> </tr><tr><td> <code title="">smt;</code> </td> <td> U+02AAA </td> </tr><tr><td> <code title="">smte;</code> </td> <td> U+02AAC </td> </tr><tr><td> <code title="">softcy;</code> </td> <td> U+0044C </td> </tr><tr><td> <code title="">sol;</code> </td> <td> U+0002F </td> </tr><tr><td> <code title="">solb;</code> </td> <td> U+029C4 </td> </tr><tr><td> <code title="">solbar;</code> </td> <td> U+0233F </td> </tr><tr><td> <code title="">sopf;</code> </td> <td> U+1D564 </td> </tr><tr><td> <code title="">spades;</code> </td> <td> U+02660 </td> </tr><tr><td> <code title="">spadesuit;</code> </td> <td> U+0260 </td> </tr><tr><td> <code title="">spar;</code> </td> <td> U+02225 </td> </tr><tr><td> <code title="">sqcap;</code> </td> <td> U+02293 </td> </tr><tr><td> <code title="">sqcup;</code> </td> <td> U+02294 </td> </tr><tr><td> <code title="">sqsub;</code> </td> <td> U+0228F </td> </tr><tr><td> <code title="">sqsube;</code> </td> <td> U+02291 </td> </tr><tr><td> <code title="">sqsubset;</code> </td> <td> U+0228F </td> </tr><tr><td> <code title="">sqsubseteq;</code> </td> <td> U+02291 </td> </tr><tr><td> <code title="">sqsup;</code> </td> <td> U+02290 </td> </tr><tr><td> <code title="">sqsupe;</code> </td> <td> U+02292 </td> </tr><tr><td> <code title="">sqsupset;</code> </td> <td> U+02290 </td> </tr><tr><td> <code title="">sqsupseteq;</code> </td> <td> U+02292 </td> </tr><tr><td> <code title="">squ;</code> </td> <td> U+025A1 </td> </tr><tr><td> <code title="">square;</code> </td> <td> U+025A1 </td> </tr><tr><td> <code title="">squarf;</code> </td> <td> U+025AA </td> </tr><tr><td> <code title="">squf;</code> </d> <td> U+025AA </td> </tr><tr><td> <code title="">srarr;</code> </td> <td> U+02192 </td> </tr><tr><td> <code title="">sscr;</code> </td> <td> U+1D4C8 </td> </tr><tr><td> <code title="">ssetmn;</code> </td> <td> U+02216 </td> </tr><tr><td> <code title="">ssmile;</code> </td> <td> U+02323 </td> </tr><tr><td> <code title="">sstarf;</code> </td> <td> U+022C6 </td> </tr><tr><td> <code title="">star;</code> </td> <td> U+02606 </td> </tr><tr><td> <code title="">starf;</code> </td> <td> U+02605 </td> </tr><tr><td> <code title="">straightepsilon;</code> </td> <td> U+003F5 </td> </tr><tr><td> <code title="">straightphi;</code> </td> <td> U+003D5 </td> </tr><tr><td> <code title="">strns;</code> </td> <td> U+000AF </td> </tr><tr><td> <code title="">sub;</code> </td> <td> U+02282 </td> </tr><tr><td> <code title="">subE;</code> </td> <td> U+02AC5 </td> </tr><tr><td> <code title="">subdot;</code> </td> <td> U+02ABD </td> </tr><tr><td> <code title="">sube;</code> </td> <td> U+02286 </td> </tr><tr><td> <code title="">subedt;</code> </td> <td> U+02AC3 </td> </tr><tr><td> <code title="">submult;</code> </td> <td> U+02AC1 </td> </tr><tr><td> <code title="">subnE;</code> </td> <td> U+02ACB </td> </tr><tr><td> <code title="">subne;</code> </td> <td> U+0228A </td> </tr><tr><td> <code title="">subplus;</code> </td> <td> U+02ABF </td> </tr><tr><td> <code title="">subrarr;</code> </td> <td> U+02979 </td> </tr><tr><td> <code title="">subset;</code> </td> <td> U+02282 </td> </tr><tr><td> <code title="">subseteq;</code> </td> <td> U+02286 </td> </tr><tr><td> <code title="">subseteqq;</code> </td> <td> U+02AC5 </td> </tr><tr><td> <code title="">subsetneq;</code> </td> <td> U+0228A </td> </tr><tr><td> <code title="">subsetneqq;</code> </td> <td> U+02ACB </td> </tr><tr><td> <code title="">subsim;</code> </td> <td> U+02AC7 </td> </tr><tr><td> <code title="">subsub;</code> </td> <td> U+02AD5 </td> </tr><tr><td> <code title="">subsup;</code> </td> <td> U+02AD3 </td> </tr><tr><td> <code title="">succ;</code> </td> <td> U+0227B </td> </tr><tr><d> <code title="">succapprox;</code> </td> <td> U+02AB8 </td> </tr><tr><td> <code title="">succcurlyeq;</code> </td> <td> U+0227D </td> </tr><tr><td> <code title="">succeq;</code> </td> <td> U+02AB0 </td> </tr><tr><td> <code title="">succnapprox;</code> </td> <td> U+02ABA </td> </tr><tr><td> <code title="">succneqq;</code> </td> <td> U+02AB6 </td> </tr><tr><td> <code title="">succnsim;</code> </td> <td> U+022E9 </td> </tr><tr><td> <code title="">succsim;</code> </td> <td> U+0227F </td> </tr><tr><td> <code title="">sum;</code> </td> <td> U+02211 </td> </tr><tr><td> <code title="">sung;</code> </td> <td> U+0266A </td> </tr><tr><td> <code title="">sup1;</code> </td> <td> U+000B9 </td> </tr><tr><td> <code title="">sup1</code> </td> <td> U+000B9 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">sup2;</code> </td> <td> U+000B2 </td> </tr><tr><td> <code title="">sup2</code> </td> <td> U+000B2 </td> </tr><!-- (invalid entity with missing semicolon for legacy upport only) --><tr><td> <code title="">sup3;</code> </td> <td> U+000B3 </td> </tr><tr><td> <code title="">sup3</code> </td> <td> U+000B3 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">sup;</code> </td> <td> U+02283 </td> </tr><tr><td> <code title="">supE;</code> </td> <td> U+02AC6 </td> </tr><tr><td> <code title="">supdot;</code> </td> <td> U+02ABE </td> </tr><tr><td> <code title="">supdsub;</code> </td> <td> U+02AD8 </td> </tr><tr><td> <code title="">supe;</code> </td> <td> U+02287 </td> </tr><tr><td> <code title="">supedot;</code> </td> <td> U+02AC4 </td> </tr><tr><td> <code title="">suphsub;</code> </td> <td> U+02AD7 </td> </tr><tr><td> <code title="">suplarr;</code> </td> <td> U+0297B </td> </tr><tr><td> <code title="">supmult;</code> </td> <td> U+02AC2 </td> </tr><tr><td> <code title="">supnE;</code> </td> <td> U+02ACC </td> </tr><tr><td> <code title="">supne;</code> </td> <td> U+0228B </td> </tr><tr><td> <code title="">supplus;</code> </td> td> U+02AC0 </td> </tr><tr><td> <code title="">supset;</code> </td> <td> U+02283 </td> </tr><tr><td> <code title="">supseteq;</code> </td> <td> U+02287 </td> </tr><tr><td> <code title="">supseteqq;</code> </td> <td> U+02AC6 </td> </tr><tr><td> <code title="">supsetneq;</code> </td> <td> U+0228B </td> </tr><tr><td> <code title="">supsetneqq;</code> </td> <td> U+02ACC </td> </tr><tr><td> <code title="">supsim;</code> </td> <td> U+02AC8 </td> </tr><tr><td> <code title="">supsub;</code> </td> <td> U+02AD4 </td> </tr><tr><td> <code title="">supsup;</code> </td> <td> U+02AD6 </td> </tr><tr><td> <code title="">swArr;</code> </td> <td> U+021D9 </td> </tr><tr><td> <code title="">swarhk;</code> </td> <td> U+02926 </td> </tr><tr><td> <code title="">swarr;</code> </td> <td> U+02199 </td> </tr><tr><td> <code title="">swarrow;</code> </td> <td> U+02199 </td> </tr><tr><td> <code title="">swnwar;</code> </td> <td> U+0292A </td> </tr><tr><td> <code title="">szlig;</code> </td> <td> U+000DF </td> </tr><tr><td> <code title=""szlig</code> </td> <td> U+000DF </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">target;</code> </td> <td> U+02316 </td> </tr><tr><td> <code title="">tau;</code> </td> <td> U+003C4 </td> </tr><tr><td> <code title="">tbrk;</code> </td> <td> U+023B4 </td> </tr><tr><td> <code title="">tcaron;</code> </td> <td> U+00165 </td> </tr><tr><td> <code title="">tcedil;</code> </td> <td> U+00163 </td> </tr><tr><td> <code title="">tcy;</code> </td> <td> U+00442 </td> </tr><tr><td> <code title="">tdot;</code> </td> <td> U+020DB </td> </tr><tr><td> <code title="">telrec;</code> </td> <td> U+02315 </td> </tr><tr><td> <code title="">tfr;</code> </td> <td> U+1D531 </td> </tr><tr><td> <code title="">there4;</code> </td> <td> U+02234 </td> </tr><tr><td> <code title="">therefore;</code> </td> <td> U+02234 </td> </tr><tr><td> <code title="">theta;</code> </td> <td> U+003B8 </td> </tr><tr><td> <code title="">thetasym;</code> </td> <td> U+003D1 </td> </tr><tr><td> <code titl="">thetav;</code> </td> <td> U+003D1 </td> </tr><tr><td> <code title="">thickapprox;</code> </td> <td> U+02248 </td> </tr><tr><td> <code title="">thicksim;</code> </td> <td> U+0223C </td> </tr><tr><td> <code title="">thinsp;</code> </td> <td> U+02009 </td> </tr><tr><td> <code title="">thkap;</code> </td> <td> U+02248 </td> </tr><tr><td> <code title="">thksim;</code> </td> <td> U+0223C </td> </tr><tr><td> <code title="">thorn;</code> </td> <td> U+000FE </td> </tr><tr><td> <code title="">thorn</code> </td> <td> U+000FE </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">tilde;</code> </td> <td> U+002DC </td> </tr><tr><td> <code title="">times;</code> </td> <td> U+000D7 </td> </tr><tr><td> <code title="">times</code> </td> <td> U+000D7 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">timesb;</code> </td> <td> U+022A0 </td> </tr><tr><td> <code title="">timesbar;</code> </td> <td> U+02A31 </td> </tr>tr><td> <code title="">timesd;</code> </td> <td> U+02A30 </td> </tr><tr><td> <code title="">tint;</code> </td> <td> U+0222D </td> </tr><tr><td> <code title="">toea;</code> </td> <td> U+02928 </td> </tr><tr><td> <code title="">top;</code> </td> <td> U+022A4 </td> </tr><tr><td> <code title="">topbot;</code> </td> <td> U+02336 </td> </tr><tr><td> <code title="">topcir;</code> </td> <td> U+02AF1 </td> </tr><tr><td> <code title="">topf;</code> </td> <td> U+1D565 </td> </tr><tr><td> <code title="">topfork;</code> </td> <td> U+02ADA </td> </tr><tr><td> <code title="">tosa;</code> </td> <td> U+02929 </td> </tr><tr><td> <code title="">tprime;</code> </td> <td> U+02034 </td> </tr><tr><td> <code title="">trade;</code> </td> <td> U+02122 </td> </tr><tr><td> <code title="">triangle;</code> </td> <td> U+025B5 </td> </tr><tr><td> <code title="">triangledown;</code> </td> <td> U+025BF </td> </tr><tr><td> <code title="">triangleleft;</code> </td> <td> U+025C3 </td> </tr><tr><td> <code title="">trianglelefteq;</code> </td> <d> U+022B4 </td> </tr><tr><td> <code title="">triangleq;</code> </td> <td> U+0225C </td> </tr><tr><td> <code title="">triangleright;</code> </td> <td> U+025B9 </td> </tr><tr><td> <code title="">trianglerighteq;</code> </td> <td> U+022B5 </td> </tr><tr><td> <code title="">tridot;</code> </td> <td> U+025EC </td> </tr><tr><td> <code title="">trie;</code> </td> <td> U+0225C </td> </tr><tr><td> <code title="">triminus;</code> </td> <td> U+02A3A </td> </tr><tr><td> <code title="">triplus;</code> </td> <td> U+02A39 </td> </tr><tr><td> <code title="">trisb;</code> </td> <td> U+029CD </td> </tr><tr><td> <code title="">tritime;</code> </td> <td> U+02A3B </td> </tr><tr><td> <code title="">trpezium;</code> </td> <td> U+023E2 </td> </tr><tr><td> <code title="">tscr;</code> </td> <td> U+1D4C9 </td> </tr><tr><td> <code title="">tscy;</code> </td> <td> U+00446 </td> </tr><tr><td> <code title="">tshcy;</code> </td> <td> U+0045B </td> </tr><tr><td> <code title="">tstrok;</code> </td> <td> U+00167 </td> </tr><tr><td> <code tile="">twixt;</code> </td> <td> U+0226C </td> </tr><tr><td> <code title="">twoheadleftarrow;</code> </td> <td> U+0219E </td> </tr><tr><td> <code title="">twoheadrightarrow;</code> </td> <td> U+021A0 </td> </tr><tr><td> <code title="">uArr;</code> </td> <td> U+021D1 </td> </tr><tr><td> <code title="">uHar;</code> </td> <td> U+02963 </td> </tr><tr><td> <code title="">uacute;</code> </td> <td> U+000FA </td> </tr><tr><td> <code title="">uacute</code> </td> <td> U+000FA </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">uarr;</code> </td> <td> U+02191 </td> </tr><tr><td> <code title="">ubrcy;</code> </td> <td> U+0045E </td> </tr><tr><td> <code title="">ubreve;</code> </td> <td> U+0016D </td> </tr><tr><td> <code title="">ucirc;</code> </td> <td> U+000FB </td> </tr><tr><td> <code title="">ucirc</code> </td> <td> U+000FB </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ucy;</code> </td> <td> U+00443 </td </tr><tr><td> <code title="">udarr;</code> </td> <td> U+021C5 </td> </tr><tr><td> <code title="">udblac;</code> </td> <td> U+00171 </td> </tr><tr><td> <code title="">udhar;</code> </td> <td> U+0296E </td> </tr><tr><td> <code title="">ufisht;</code> </td> <td> U+0297E </td> </tr><tr><td> <code title="">ufr;</code> </td> <td> U+1D532 </td> </tr><tr><td> <code title="">ugrave;</code> </td> <td> U+000F9 </td> </tr><tr><td> <code title="">ugrave</code> </td> <td> U+000F9 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">uharl;</code> </td> <td> U+021BF </td> </tr><tr><td> <code title="">uharr;</code> </td> <td> U+021BE </td> </tr><tr><td> <code title="">uhblk;</code> </td> <td> U+02580 </td> </tr><tr><td> <code title="">ulcorn;</code> </td> <td> U+0231C </td> </tr><tr><td> <code title="">ulcorner;</code> </td> <td> U+0231C </td> </tr><tr><td> <code title="">ulcrop;</code> </td> <td> U+0230F </td> </tr><tr><td> <code title="">ultri;</code> </td> <td> U+0258 </td> </tr><tr><td> <code title="">umacr;</code> </td> <td> U+0016B </td> </tr><tr><td> <code title="">uml;</code> </td> <td> U+000A8 </td> </tr><tr><td> <code title="">uml</code> </td> <td> U+000A8 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">uogon;</code> </td> <td> U+00173 </td> </tr><tr><td> <code title="">uopf;</code> </td> <td> U+1D566 </td> </tr><tr><td> <code title="">uparrow;</code> </td> <td> U+02191 </td> </tr><tr><td> <code title="">updownarrow;</code> </td> <td> U+02195 </td> </tr><tr><td> <code title="">upharpoonleft;</code> </td> <td> U+021BF </td> </tr><tr><td> <code title="">upharpoonright;</code> </td> <td> U+021BE </td> </tr><tr><td> <code title="">uplus;</code> </td> <td> U+0228E </td> </tr><tr><td> <code title="">upsi;</code> </td> <td> U+003C5 </td> </tr><tr><td> <code title="">upsih;</code> </td> <td> U+003D2 </td> </tr><tr><td> <code title="">upsilon;</code> </td> <td> U+003C5 </td> </tr><tr><td> <code title="">upuparrow;</code> </td> <td> U+021C8 </td> </tr><tr><td> <code title="">urcorn;</code> </td> <td> U+0231D </td> </tr><tr><td> <code title="">urcorner;</code> </td> <td> U+0231D </td> </tr><tr><td> <code title="">urcrop;</code> </td> <td> U+0230E </td> </tr><tr><td> <code title="">uring;</code> </td> <td> U+0016F </td> </tr><tr><td> <code title="">urtri;</code> </td> <td> U+025F9 </td> </tr><tr><td> <code title="">uscr;</code> </td> <td> U+1D4CA </td> </tr><tr><td> <code title="">utdot;</code> </td> <td> U+022F0 </td> </tr><tr><td> <code title="">utilde;</code> </td> <td> U+00169 </td> </tr><tr><td> <code title="">utri;</code> </td> <td> U+025B5 </td> </tr><tr><td> <code title="">utrif;</code> </td> <td> U+025B4 </td> </tr><tr><td> <code title="">uuarr;</code> </td> <td> U+021C8 </td> </tr><tr><td> <code title="">uuml;</code> </td> <td> U+000FC </td> </tr><tr><td> <code title="">uuml</code> </td> <td> U+000FC </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">uwngle;</code> </td> <td> U+029A7 </td> </tr><tr><td> <code title="">vArr;</code> </td> <td> U+021D5 </td> </tr><tr><td> <code title="">vBar;</code> </td> <td> U+02AE8 </td> </tr><tr><td> <code title="">vBarv;</code> </td> <td> U+02AE9 </td> </tr><tr><td> <code title="">vDash;</code> </td> <td> U+022A8 </td> </tr><tr><td> <code title="">vangrt;</code> </td> <td> U+0299C </td> </tr><tr><td> <code title="">varepsilon;</code> </td> <td> U+003B5 </td> </tr><tr><td> <code title="">varkappa;</code> </td> <td> U+003F0 </td> </tr><tr><td> <code title="">varnothing;</code> </td> <td> U+02205 </td> </tr><tr><td> <code title="">varphi;</code> </td> <td> U+003C6 </td> </tr><tr><td> <code title="">varpi;</code> </td> <td> U+003D6 </td> </tr><tr><td> <code title="">varpropto;</code> </td> <td> U+0221D </td> </tr><tr><td> <code title="">varr;</code> </td> <td> U+02195 </td> </tr><tr><td> <code title="">varrho;</code> </td> <td> U+003F1 </td> </tr><tr><td> <code title="">varsigma;</code> </td> <td> U+003C2 </td> </tr><tr><td <code title="">vartheta;</code> </td> <td> U+003D1 </td> </tr><tr><td> <code title="">vartriangleleft;</code> </td> <td> U+022B2 </td> </tr><tr><td> <code title="">vartriangleright;</code> </td> <td> U+022B3 </td> </tr><tr><td> <code title="">vcy;</code> </td> <td> U+00432 </td> </tr><tr><td> <code title="">vdash;</code> </td> <td> U+022A2 </td> </tr><tr><td> <code title="">vee;</code> </td> <td> U+02228 </td> </tr><tr><td> <code title="">veebar;</code> </td> <td> U+022BB </td> </tr><tr><td> <code title="">veeeq;</code> </td> <td> U+0225A </td> </tr><tr><td> <code title="">vellip;</code> </td> <td> U+022EE </td> </tr><tr><td> <code title="">verbar;</code> </td> <td> U+0007C </td> </tr><tr><td> <code title="">vert;</code> </td> <td> U+0007C </td> </tr><tr><td> <code title="">vfr;</code> </td> <td> U+1D533 </td> </tr><tr><td> <code title="">vltri;</code> </td> <td> U+022B2 </td> </tr><tr><td> <code title="">vopf;</code> </td> <td> U+1D567 </td> </tr><tr><td> <code title="">vprop;</code> </td> <td> U+0221D </d> </tr><tr><td> <code title="">vrtri;</code> </td> <td> U+022B3 </td> </tr><tr><td> <code title="">vscr;</code> </td> <td> U+1D4CB </td> </tr><tr><td> <code title="">vzigzag;</code> </td> <td> U+0299A </td> </tr><tr><td> <code title="">wcirc;</code> </td> <td> U+00175 </td> </tr><tr><td> <code title="">wedbar;</code> </td> <td> U+02A5F </td> </tr><tr><td> <code title="">wedge;</code> </td> <td> U+02227 </td> </tr><tr><td> <code title="">wedgeq;</code> </td> <td> U+02259 </td> </tr><tr><td> <code title="">weierp;</code> </td> <td> U+02118 </td> </tr><tr><td> <code title="">wfr;</code> </td> <td> U+1D534 </td> </tr><tr><td> <code title="">wopf;</code> </td> <td> U+1D568 </td> </tr><tr><td> <code title="">wp;</code> </td> <td> U+02118 </td> </tr><tr><td> <code title="">wr;</code> </td> <td> U+02240 </td> </tr><tr><td> <code title="">wreath;</code> </td> <td> U+02240 </td> </tr><tr><td> <code title="">wscr;</code> </td> <td> U+1D4CC </td> </tr><tr><td> <code title="">xcap;</code> </td> <td> U+022C2 </td> </tr>tr><td> <code title="">xcirc;</code> </td> <td> U+025EF </td> </tr><tr><td> <code title="">xcup;</code> </td> <td> U+022C3 </td> </tr><tr><td> <code title="">xdtri;</code> </td> <td> U+025BD </td> </tr><tr><td> <code title="">xfr;</code> </td> <td> U+1D535 </td> </tr><tr><td> <code title="">xhArr;</code> </td> <td> U+027FA </td> </tr><tr><td> <code title="">xharr;</code> </td> <td> U+027F7 </td> </tr><tr><td> <code title="">xi;</code> </td> <td> U+003BE </td> </tr><tr><td> <code title="">xlArr;</code> </td> <td> U+027F8 </td> </tr><tr><td> <code title="">xlarr;</code> </td> <td> U+027F5 </td> </tr><tr><td> <code title="">xmap;</code> </td> <td> U+027FC </td> </tr><tr><td> <code title="">xnis;</code> </td> <td> U+022FB </td> </tr><tr><td> <code title="">xodot;</code> </td> <td> U+02A00 </td> </tr><tr><td> <code title="">xopf;</code> </td> <td> U+1D569 </td> </tr><tr><td> <code title="">xoplus;</code> </td> <td> U+02A01 </td> </tr><tr><td> <code title="">xotime;</code> </td> <td> U+02A02 </td> </tr><tr><td> <ode title="">xrArr;</code> </td> <td> U+027F9 </td> </tr><tr><td> <code title="">xrarr;</code> </td> <td> U+027F6 </td> </tr><tr><td> <code title="">xscr;</code> </td> <td> U+1D4CD </td> </tr><tr><td> <code title="">xsqcup;</code> </td> <td> U+02A06 </td> </tr><tr><td> <code title="">xuplus;</code> </td> <td> U+02A04 </td> </tr><tr><td> <code title="">xutri;</code> </td> <td> U+025B3 </td> </tr><tr><td> <code title="">xvee;</code> </td> <td> U+022C1 </td> </tr><tr><td> <code title="">xwedge;</code> </td> <td> U+022C0 </td> </tr><tr><td> <code title="">yacute;</code> </td> <td> U+000FD </td> </tr><tr><td> <code title="">yacute</code> </td> <td> U+000FD </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">yacy;</code> </td> <td> U+0044F </td> </tr><tr><td> <code title="">ycirc;</code> </td> <td> U+00177 </td> </tr><tr><td> <code title="">ycy;</code> </td> <td> U+0044B </td> </tr><tr><td> <code title="">yen;</code> </td> <td> U+000A5 </td> </tr><tr><td> <coe title="">yen</code> </td> <td> U+000A5 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">yfr;</code> </td> <td> U+1D536 </td> </tr><tr><td> <code title="">yicy;</code> </td> <td> U+00457 </td> </tr><tr><td> <code title="">yopf;</code> </td> <td> U+1D56A </td> </tr><tr><td> <code title="">yscr;</code> </td> <td> U+1D4CE </td> </tr><tr><td> <code title="">yucy;</code> </td> <td> U+0044E </td> </tr><tr><td> <code title="">yuml;</code> </td> <td> U+000FF </td> </tr><tr><td> <code title="">yuml</code> </td> <td> U+000FF </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">zacute;</code> </td> <td> U+0017A </td> </tr><tr><td> <code title="">zcaron;</code> </td> <td> U+0017E </td> </tr><tr><td> <code title="">zcy;</code> </td> <td> U+00437 </td> </tr><tr><td> <code title="">zdot;</code> </td> <td> U+0017C </td> </tr><tr><td> <code title="">zeetrf;</code> </td> <td> U+02128 </td> </tr><tr><td> <code titl="">zeta;</code> </td> <td> U+003B6 </td> </tr><tr><td> <code title="">zfr;</code> </td> <td> U+1D537 </td> </tr><tr><td> <code title="">zhcy;</code> </td> <td> U+00436 </td> </tr><tr><td> <code title="">zigrarr;</code> </td> <td> U+021DD </td> </tr><tr><td> <code title="">zopf;</code> </td> <td> U+1D56B </td> </tr><tr><td> <code title="">zscr;</code> </td> <td> U+1D4CF </td> </tr><tr><td> <code title="">zwj;</code> </td> <td> U+0200D </td> </tr><tr><td> <code title="">zwnj;</code> </td> <td> U+0200C </td> </tr></tbody></table><!--
If we want to add character references, Almorca suggests:
> I would add &sub1; (character U+2081), &sub2;
> (character U+2082) and &sub3; (character U+2083). They
> would are the equivalent to ¹, ², and ³.
See also: http://www.w3.org/2003/entities/
--></div></body></html>
--- NEW FILE: references.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>References — HTML 5</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 { border-bottom: solid; }
table tbody th:first-child { border-left: solid; }
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; }
.applies th > * { display: block; }
.applies thead code { display: block; }
.applies td { text-align: center; }
.applies .yes { background: yellow; }
.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: #EEFFEE; }
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"]), li > span:not([title=""]):not([class="XXX"]):not([class="impl"]) { 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; }
p.copyright { 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; }
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; }
.tall-and-narrow {
font-size: 0.6em;
column-width: 25em;
column-gap: 1em;
-moz-column-width: 25em;
-moz-column-gap: 1em;
-webkit-column-width: 25em;
-webkit-column-gap: 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; }
</style><link href="data:text/css," rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" rel="alternate stylesheet" title="Highlight implementation requirements"><link href="http://www.w3.org/StyleSheets/TR/W3C-WD" rel="stylesheet" type="text/css"><!-- ZZZ ED vs WD --><link href="index.html" title="Index" rel="prev">
<link href="Overview.html#contents" title="Table of contents" rel="index">
<link href="acknowledgements.html" title="Acknowledgements" rel="next">
</head><body onload="fixBrokenLink(); fixBrokenLink()"><div class="head">
<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>HTML 5</h1>
<h2 class="no-num no-toc" id="a-vocabulary-and-associated-apis-for-html-and-xhtml">A vocabulary and associated APIs for HTML and XHTML</h2>
</div><div>
<a href="index.html">← Index</a> –
<a href="Overview.html#contents">Table of contents</a> –
<a href="acknowledgements.html">Acknowledgements →</a>
</div>
<h2 class="no-num" id="references">References</h2><p class="XXX annotation"><b>Status: </b><i>First draft</i></p><!--REFS--><p>All references are normative unless marked "Non-normative".</p><dl><dt id="refsABNF">[ABNF]</dt>
<dd><cite><a href="http://www.ietf.org/rfc/std/std68.txt">Augmented
BNF for Syntax Specifications: ABNF</a></cite>, D. Crocker,
P. Overell. IETF, January 2008.</dd>
<dt id="refsARIA">[ARIA]</dt>
<dd><cite><a href="http://www.w3.org/WAI/PF/aria/">Accessible Rich
Internet Applications (WAI-ARIA)</a></cite>, J. Craig, M. Cooper, L. Pappas,
R. Schwerdtfeger, L. Seeman. W3C, August 2009.</dd>
<dt id="refsARIAIMPL">[ARIAIMPL]</dt>
<dd><cite><a href="http://www.w3.org/WAI/PF/aria-implementation/">WAI-ARIA 1.0
User Agent Implementation Guide</a></cite>, A. Snow-Weaver,
M. Cooper. W3C, August 2009.</dd>
<dt id="refsATOM">[ATOM]</dt>
<dd>(Non-normative) <cite><a href="http://www.ietf.org/rfc/rfc4287.txt">The Atom Syndication
Format</a></cite>, M. Nottingham, R. Sayre. IETF, December
2005.</dd>
<dt id="refsBCP47">[BCP47]</dt>
<dd><cite><a href="http://www.ietf.org/rfc/bcp/bcp47.txt">Tags for
Identifying Languages; Matching of Language Tags</a></cite>,
A. Phillips, M. Davis. IETF, September 2006.</dd>
<dt id="refsBECSS">[BECSS]</dt>
<dd><cite><a href="http://www.w3.org/TR/becss/">Behavioral
Extensions to CSS</a></cite>, I. Hickson. W3C, October 2007.</dd>
<dt id="refsBEZIER">[BEZIER]</dt>
<dd><cite>Courbes à poles</cite>, P. de Casteljau. INPI, 1959.</dd>
<dt id="refsBIDI">[BIDI]</dt>
<dd><cite><a href="http://www.unicode.org/reports/tr9/">UAX #9: Unicode
Bidirectional Algorithm</a></cite>, M. Davis. Unicode Consortium,
March 2008.</dd>
<dt id="refsBIG5">[BIG5]</dt>
<dd>(Non-normative) <cite>Chinese Coded Character Set in Computer</cite>. Institute
for Information Industry, March 1984.</dd>
<dt id="refsBOCU1">[BOCU1]</dt>
<dd>(Non-normative) <cite><a href="http://www.unicode.org/notes/tn6/">UTN #6: BOCU-1:
MIME-Compatible Unicode Compression</a></cite>, M. Scherer,
M. Davis. Unicode Consortium, February 2006.</dd>
<dt id="refsCESU8">[CESU8]</dt>
<dd>(Non-normative) <cite><a href="http://www.unicode.org/reports/tr26/">UTR #26: Compatibility
Encoding Scheme For UTF-16: 8-BIT (CESU-8)</a></cite>,
T. Phipps. Unicode Consortium, April 2002.</dd>
<dt id="refsCHARMOD">[CHARMOD]</dt>
<dd>(Non-normative) <cite><a href="http://www.w3.org/TR/charmod/">Character Model for the World
Wide Web 1.0: Fundamentals</a></cite>, M. Dürst, F. Yergeau,
R. Ishida, M. Wolf, T. Texin. W3C, February 2005.</dd>
<dt id="refsCOMPUTABLE">[COMPUTABLE]</dt>
<dd>(Non-normative) <cite><a href="http://www.turingarchive.org/browse.php/B/12">On computable
numbers, with an application to the
Entscheidungsproblem</a></cite>, A. Turing. In <cite>Proceedings of
the London Mathematical Society</cite>, series 2, volume 42, pages
230-265. London Mathematical Society, 1937. Retrieved on
2007-03-03.</dd>
<dt id="refsCOOKIES">[COOKIES]</dt>
<!--
<dd><cite><a href="http://www.ietf.org/rfc/rfc2965.txt">HTTP State Management
Mechanism</a></cite>, D. Kristol, L. Montulli. IETF, October 2000.</dd>
-->
<dd><cite><a href="http://tools.ietf.org/html/draft-abarth-cookie">HTTP State
Management Mechanism</a></cite>, A. Barth. IETF, August 2009.</dd>
<dt id="refsCORS">[CORS]</dt>
<!--
<dd><cite><a href="http://www.w3.org/TR/cors/">Cross-Origin
Resource Sharing</a></cite>, A. van Kesteren. W3C, March 2009.</dd>
-->
<dd><cite><a href="http://dev.w3.org/2006/waf/access-control/">Cross-Origin
Resource Sharing</a></cite>, A. van Kesteren. W3C, June 2009.</dd>
<dt id="refsCSS">[CSS]</dt>
<dd><cite><a href="http://www.w3.org/TR/CSS/">Cascading Style Sheets Level 2
Revision 1</a></cite>, B. Bos, T. Çelik, I.
Hickson, H. Lie. W3C, April 2009.</dd>
<dt id="refsCSSCOLOR">[CSSCOLOR]</dt>
<!--
<dd><cite><a href="http://www.w3.org/TR/css3-color/">CSS Color
Module Level 3</a></cite>, T. Çelik, C. Lilley, L.
Baron. W3C, July 2008.</dd>
-->
<dd><cite><a href="http://dev.w3.org/csswg/css3-color/">CSS Color
Module Level 3</a></cite>, T. Çelik, C. Lilley, L.
Baron. W3C, August 2008.</dd>
<dt id="refsCSSFONTS">[CSSFONTS]</dt>
<dd><cite><a href="http://www.w3.org/TR/css3-fonts/">CSS Fonts
Module Level 3</a></cite>, J. Daggett. W3C, June 2009.</dd>
<dt id="refsCSSOM">[CSSOM]</dt>
<dd><cite><a href="http://dev.w3.org/csswg/cssom/">Cascading Style Sheets
Object Model (CSSOM)</a></cite>, A. van Kesteren. W3C, December 2007.</dd>
<dt id="refsCSSUI">[CSSUI]</dt>
<dd><cite><a href="http://www.w3.org/TR/css3-ui/">CSS3 Basic User
Interface Module</a></cite>, T. Çelik. W3C, May 2004.</dd>
<dt id="refsDOM2HTML">[DOM2HTML]</dt>
<dd>(Non-normative) <cite><a href="http://www.w3.org/TR/DOM-Level-2-HTML/">Document Object Model
(DOM) Level 2 HTML Specification</a></cite>, J. Stenback, P. Le
Hegaret, A. Le Hors. W3C, January 2003.</dd>
<dt id="refsDOMCORE">[DOMCORE]</dt>
<dd><cite><a href="http://www.w3.org/TR/DOM-Level-3-Core/">Document
Object Model (DOM) Level 3 Core Specification</a></cite>, A. Le
Hors, P. Le Hegaret, L. Wood, G. Nicol, J. Robie, M. Champion,
S. Byrnes. W3C, April 2004.</dd>
<!--
<dd><cite><a href="http://simon.html5.org/specs/web-dom-core">Web
DOM Core</a></cite>, S. Pieters. W3C, June 2009.</dd>
-->
<dt id="refsDOMEVENTS">[DOMEVENTS]</dt>
<!--
<dd><cite><a
href="http://www.w3.org/TR/DOM-Level-3-Events/">Document Object
Model (DOM) Level 3 Events Specification</a></cite>,
B. Höhrmann, P. Le Hegaret, T. Pixley. W3C, December
2007.</dd>
-->
<dd><cite><a href="http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html">Document
Object Model (DOM) Level 3 Events Specification</a></cite>,
D. Schepers. W3C, July 2009.</dd>
<dt id="refsDOMRANGE">[DOMRANGE]</dt>
<dd><cite><a href="http://www.w3.org/TR/DOM-Level-2-Traversal-Range/">Document
Object Model (DOM) Level 2 Traversal and Range
Specification</a></cite>, J. Kesselman, J. Robie, M. Champion,
P. Sharpe, V. Apparao, L. Wood. W3C, November 2000.</dd>
<dt id="refsDOMVIEWS">[DOMVIEWS]</dt>
<dd><cite><a href="http://www.w3.org/TR/DOM-Level-2-Views/">Document Object
Model (DOM) Level 2 Views Specification</a></cite>, A. Le Hors, L.
Cable. W3C, November 2000.</dd>
<dt id="refsE163">[E163]</dt>
<dd><cite>Recommendation E.163 — Numbering Plan for The International
Telephone Service</cite>, CCITT Blue Book, Fascicle II.2, pp. 128-134, November
1988.</dd>
<dt id="refsECMA262">[ECMA262]</dt>
<dd><cite><a href="http://www.ecma-international.org/publications/standards/Ecma-262.htm">ECMAScript
Language Specification</a></cite>. ECMA, December 1999.</dd>
<dt id="refsECMA357">[ECMA357]</dt>
<dd>(Non-normative) <cite><a href="http://www.ecma-international.org/publications/standards/Ecma-357.htm">ECMAScript
for XML (E4X) Specification</a></cite>. ECMA, December 2005.</dd>
<dt id="refsEUCKR">[EUCKR]</dt>
<dd><cite>Hangul Unix Environment</cite>. Korea Industrial
Standards Association, 1992. Ref. No. KS C 5861-1992.</dd>
<dt id="refsFILEAPI">[FILEAPI]</dt>
<dd><cite><a href="http://dev.w3.org/2006/webapi/FileUpload/publish/FileAPI.html">File
API</a></cite>, A. Ranganathan. W3C, August 2009.</dd>
<dt id="refsGBK">[GBK]</dt>
<dd><cite>Chinese Internal Code Specification</cite>. Chinese IT
Standardization Technical Committee, December 1995.</dd>
<!-- http://www.iana.org/assignments/charset-reg/GBK -->
<dt id="refsGRAPHICS">[GRAPHICS]</dt>
<dd>(Non-normative) <cite>Computer Graphics: Principles and
Practice in C</cite>, Second Edition, J. Foley, A. van Dam,
S. Feiner, J. Hughes. Addison-Wesley, July 1995. ISBN
0-201-84840-6.</dd>
<!--
If anyone has this book ("Computer Graphics: Principles and Practice in C"),
please check page 34 or so and see if it makes any references to literature in
the bibliographic section to define the "even-odd" rule for polygon filling and
hit testing.
-->
<dt id="refsGREGORIAN">[GREGORIAN]</dt>
<dd>(Non-normative) <cite>Inter Gravissimas</cite>, A. Lilius,
C. Clavius. Gregory XIII Papal Bulls, February 1582.</dd>
<dt id="refsHTML4">[HTML4]</dt>
<dd>(Non-normative) <cite><a href="http://www.w3.org/TR/html4/">HTML 4.01
Specification</a></cite>, D. Raggett, A. Le Hors, I. Jacobs. W3C,
December 1999.</dd>
<dt id="refsHTMLDIFF">[HTMLDIFF]</dt>
<!--
<dd>(Non-normative) <cite><a
href="http://www.w3.org/TR/html5-diff/">HTML 5 differences from
HTML 4</a></cite>, A. van Kesteren. W3C, April 2009.</dd>
-->
<dd>(Non-normative) <cite><a href="http://dev.w3.org/html5/html4-differences/">HTML 5
differences from HTML 4</a></cite>, A. van Kesteren. W3C, August
2009.</dd>
<dt id="refsHTTP">[HTTP]</dt>
<dd><cite><a href="http://www.ietf.org/rfc/rfc2616.txt">Hypertext
Transfer Protocol — HTTP/1.1</a></cite>, R. Fielding, J. Gettys,
J. Mogul, H. Frystyk, L. Masinter, P. Leach, T. Berners-Lee. IETF,
June 1999.</dd>
<dt id="refsIANACHARSET">[IANACHARSET]</dt>
<dd><cite><a href="http://www.iana.org/assignments/character-sets">Character
Sets</a></cite>. IANA, May 2007.</dd>
<dt id="refsIEEE754">[IEEE754]</dt>
<dd><cite><a href="http://ieeexplore.ieee.org/servlet/opac?punumber=4610933">IEEE
Standard for Floating-Point Arithmetic (IEEE 754)</a></cite>. IEEE,
August 2008. ISBN 978-0-7381-5753-5.</dd>
<dt id="refsISO8601">[ISO8601]</dt>
<dd><cite><a href="http://isotc.iso.org/livelink/livelink/4021199/ISO_8601_2004_E.zip?func=doc.Fetch&nodeid=4021199">ISO8601: Data elements and interchange formats — Information interchange — Representation of dates and times</a></cite>. ISO, December 2004.</dd>
<dt id="refsISO885911">[ISO885911]</dt>
<dd><cite><a href="http://anubis.dkuug.dk/jtc1/sc2/open/02n3333.pdf">ISO-8859-11:
Information technology — 8-bit single-byte coded graphic
character sets — Part 11: Latin/Thai
alphabet</a></cite>. ISO, October 1999.</dd>
<dt id="refsJSON">[JSON]</dt>
<dd><cite><a href="http://www.ietf.org/rfc/rfc4627.txt">The
application/json Media Type for JavaScript Object Notation
(JSON)</a></cite>, D. Crockford. IETF, July 2006.</dd>
<dt id="refsJSURL">[JSURL]</dt>
<dd><cite><a href="http://tools.ietf.org/html/draft-hoehrmann-javascript-scheme">The
'javascript' resource identifier scheme</a></cite>,
B. Höhrmann. IETF, November 2006.</dd>
<dt id="refsMAILTO">[MAILTO]</dt>
<dd><cite><a href="http://www.ietf.org/rfc/rfc2368.txt">The mailto URL
scheme</a></cite>, P. Hoffman, L. Masinter, J. Zawinski.
IETF, July 1998.</dd>
<dt id="refsMATHML">[MATHML]</dt>
<dd><cite><a href="http://www.w3.org/TR/MathML/">Mathematical
Markup Language (MathML)</a></cite>, D. Carlisle, P. Ion, R. Miner,
N. Poppelier. W3C, October 2003.</dd>
<dt id="refsMIMESNIFF">[MIMESNIFF]</dt>
<dd><cite><a href="http://tools.ietf.org/html/draft-abarth-mime-sniff">Content-Type
Processing Model</a></cite>, A. Barth, I. Hickson. IETF,
May 2009.</dd>
<dt id="refsMQ">[MQ]</dt>
<!--
<dd><cite><a href="http://www.w3.org/TR/css3-mediaqueries/">Media
Queries</a></cite>, H. Lie, T. Çelik, D. Glazman, A. van
Kesteren. W3C, April 2009.</dd>
-->
<dd><cite><a href="http://dev.w3.org/csswg/css3-mediaqueries/">Media
Queries</a></cite>, H. Lie, T. Çelik, D. Glazman, A. van
Kesteren. W3C, July 2009.</dd>
<dt id="refsNPAPI">[NPAPI]</dt>
<dd>(Non-normative) <cite><a href="https://developer.mozilla.org/en/Gecko_Plugin_API_Reference">Gecko
Plugin API Reference</a></cite>. Mozilla, November 2008.</dd>
<dt id="refsOPENSEARCH">[OPENSEARCH]</dt>
<dd><cite><a href="http://www.opensearch.org/Specifications/OpenSearch/1.1#Autodiscovery_in_HTML.2FXHTML">Autodiscovery
in HTML/XHTML</a></cite>. In <cite>OpenSearch 1.1 Draft 4</cite>,
Section 4.6.2. OpenSearch.org.</dd>
<dt id="refsPINGBACK">[PINGBACK]</dt>
<dd><cite><a href="http://www.hixie.ch/specs/pingback/pingback">Pingback
1.0</a></cite>, S. Langridge, I. Hickson. January 2007.</dd>
<dt id="refsPNG">[PNG]</dt>
<dd><cite><a href="http://www.w3.org/TR/PNG/">Portable Network
Graphics (PNG) Specification</a></cite>, D. Duce. W3C, November
2003.</dd>
<dt id="refsPORTERDUFF">[PORTERDUFF]</dt>
<dd><cite><a href="http://keithp.com/~keithp/porterduff/p253-porter.pdf">Compositing
Digital Images</a></cite>, T. Porter, T. Duff. In <cite>Computer
graphics</cite>, volume 18, number 3, pp. 253-259. ACM Press, July
1984.</dd>
<dt id="refsPROGRESS">[PROGRESS]</dt>
<!--
<dd><cite><a href="http://www.w3.org/TR/progress-events/">Progress
Events</a></cite>, C. McCathieNevile. W3C, May 2008.</dd>
-->
<dd><cite><a href="http://dev.w3.org/2006/webapi/progress/Progress.html">Progress
Events</a></cite>, C. McCathieNevile. W3C, March 2009.</dd>
<dt id="refsPSL">[PSL]</dt>
<dd><cite><a href="http://publicsuffix.org/">Public Suffix List</a></cite>.
Mozilla Foundation.</dd>
<dt id="refsRFC1345">[RFC1345]</dt>
<dd><cite><a href="http://www.ietf.org/rfc/rfc1345.txt">Character Mnemonics
and Character Sets</a></cite>, K. Simonsen. IETF, June 1992.</dd>
<dt id="refsRFC1468">[RFC1468]</dt>
<dd><cite><a href="http://www.ietf.org/rfc/rfc1468.txt">Japanese Character
Encoding for Internet Messages</a></cite>, J. Murai, M. Crispin, E. van der
Poel. IETF, June 1993.</dd>
<dt id="refsRFC1494">[RFC1494]</dt>
<dd>(Non-normative) <cite><a href="http://www.ietf.org/rfc/rfc1494.txt">Equivalences between
1988 X.400 and RFC-822 Message Bodies</a></cite>, H. Alvestrand,
S. Thompson. IETF, August 1993.</dd>
<dt id="refsRFC1554">[RFC1554]</dt>
<dd><cite><a href="http://www.ietf.org/rfc/rfc1554.txt">ISO-2022-JP-2:
Multilingual Extension of ISO-2022-JP</a></cite>, M. Ohta, K. Handa. IETF,
December 1993.</dd>
<dt id="refsRFC1557">[RFC1557]</dt>
<dd><cite><a href="http://www.ietf.org/rfc/rfc1557.txt">Korean Character
Encoding for Internet Messages</a></cite>, U. Choi, K. Chon, H. Park. IETF,
December 1993.</dd>
<dt id="refsRFC1922">[RFC1922]</dt>
<dd><cite><a href="http://www.ietf.org/rfc/rfc1922.txt">Chinese Character
Encoding for Internet Messages</a></cite>, HF. Zhu, DY. Hu, ZG. Wang, TC. Kao,
WCH. Chang, M. Crispin. IETF, March 1996.</dd>
<dt id="refsRFC2045">[RFC2045]</dt>
<dd><cite><a href="http://www.ietf.org/rfc/rfc2045.txt">Multipurpose Internet
Mail Extensions (MIME) Part One: Format of Internet Message Bodies</a></cite>,
N. Freed, N. Borenstein. IETF, November 1996.</dd>
<dt id="refsRFC2046">[RFC2046]</dt>
<dd><cite><a href="http://www.ietf.org/rfc/rfc2046.txt">Multipurpose Internet
Mail Extensions (MIME) Part Two: Media Types</a></cite>, N. Freed,
N. Borenstein. IETF, November 1996.</dd> <!-- for text/plain and
"Internet Media type"; not for definition of "valid MIME type". -->
<dt id="refsRFC2109">[RFC2109]</dt>
<dd><cite><a href="http://www.ietf.org/rfc/rfc2109.txt">HTTP State Management
Mechanism</a></cite>, D. Kristol, L. Montulli. IETF, February 1997.</dd>
<dt id="refsRFC2119">[RFC2119]</dt>
<dd><cite><a href="http://www.ietf.org/rfc/rfc2119.txt">Key words for use in
RFCs to Indicate Requirement Levels</a></cite>, S. Bradner. IETF, March
1997.</dd>
<dt id="refsRFC2237">[RFC2237]</dt>
<dd><cite><a href="http://www.ietf.org/rfc/rfc2237.txt">Japanese Character
Encoding for Internet Messages</a></cite>, K. Tamaru. IETF, November
1997.</dd>
<dt id="refsRFC2318">[RFC2318]</dt>
<dd><cite><a href="http://www.ietf.org/rfc/rfc2318.txt">The
text/css Media Type</a></cite>, H. Lie, B. Bos, C. Lilley. IETF,
March 1998.</dd>
<dt id="refsRFC2388">[RFC2388]</dt>
<dd><cite><a href="http://www.ietf.org/rfc/rfc2388.txt">Returning Values from
Forms: multipart/form-data</a></cite>, L. Masinter. IETF, August 1998.</dd>
<dt id="refsRFC2426">[RFC2426]</dt>
<dd><cite><a href="http://www.ietf.org/rfc/rfc2426.txt">vCard MIME Directory
Profile</a></cite>, F. Dawson, T. Howes. IETF, September 1998.</dd>
<dt id="refsRFC2445">[RFC2445]</dt>
<dd><cite><a href="http://www.ietf.org/rfc/rfc2445.txt">Internet Calendaring
and Scheduling Core Object Specification (iCalendar)</a></cite>, F. Dawson, D.
Stenerson. IETF, November 1998.</dd>
<dt id="refsRFC2483">[RFC2483]</dt>
<dd><cite><a href="http://www.ietf.org/rfc/rfc2483.txt">URI Resolution
Services Necessary for URN Resolution</a></cite>, M. Mealling, R. Daniel.
IETF, January 1999.</dd>
<dt id="refsRFC2646">[RFC2646]</dt>
<dd><cite><a href="http://www.ietf.org/rfc/rfc2646.txt">The Text/Plain Format
Parameter</a></cite>, R. Gellens. IETF, August 1999.</dd>
<dt id="refsRFC2806">[RFC2806]</dt>
<dd>(Non-normative) <cite><a href="http://www.ietf.org/rfc/rfc2806.txt">URLs for Telephone
Calls</a></cite>, A. Vaha-Sipila. IETF, April 2000.</dd>
<dt id="refsRFC3023">[RFC3023]</dt>
<dd><cite><a href="http://www.ietf.org/rfc/rfc3023.txt">XML Media
Types</a></cite>, M. Murata, S. St. Laurent, D. Kohn. IETF, January 2001.</dd>
<dt id="refsRFC3279">[RFC3279]</dt>
<dd><cite><a href="http://www.ietf.org/rfc/rfc3279.txt">Algorithms
and Identifiers for the Internet X.509 Public Key Infrastructure
Certificate and Certificate Revocation List (CRL)
Profile</a></cite>, W. Polk, R. Housley, L. Bassham. IETF, April
2002.</dd>
<dt id="refsRFC3490">[RFC3490]</dt>
<dd><cite><a href="http://www.ietf.org/rfc/rfc3490.txt">Internationalizing
Domain Names in Applications (IDNA)</a></cite>, P. Faltstrom, P. Hoffman, A.
Costello. IETF, March 2003.</dd>
<dt id="refsRFC3548">[RFC3548]</dt>
<dd><cite><a href="http://www.ietf.org/rfc/rfc3548.txt">The Base16, Base32,
and Base64 Data Encodings</a></cite>, S. Josefsson. IETF, July
2003.</dd>
<dt id="refsRFC3986">[RFC3986]</dt>
<dd><cite><a href="http://www.ietf.org/rfc/rfc3986.txt">Uniform Resource
Identifier (URI): Generic Syntax</a></cite>, T. Berners-Lee, R. Fielding, L.
Masinter. IETF, January 2005.</dd>
<dt id="refsRFC3987">[RFC3987]</dt>
<dd><cite><a href="http://www.ietf.org/rfc/rfc3987.txt">Internationalized
Resource Identifiers (IRIs)</a></cite>, M. Dürst, M. Suignard. IETF, January
2005.</dd>
<dt id="refsRFC4281">[RFC4281]</dt>
<dd><cite><a href="http://www.ietf.org/rfc/rfc4281.txt">The Codecs Parameter
for "Bucket" Media Types</a></cite>, R. Gellens, D. Singer, P. Frojdh. IETF,
November 2005.</dd>
<dt id="refsRFC4329">[RFC4329]</dt>
<dd>(Non-normative) <cite><a href="http://www.ietf.org/rfc/rfc4329.txt">Scripting Media
Types</a></cite>, B. Höhrmann. IETF, April 2006.</dd>
<dt id="refsRFC4770">[RFC4770]</dt>
<dd><cite><a href="http://www.ietf.org/rfc/rfc4770.txt">vCard Extensions for
Instant Messaging (IM)</a></cite>, C. Jennings, J. Reschke. IETF,
January 2007.</dd>
<dt id="refsRFC5280">[RFC5280]</dt>
<dd><cite><a href="http://www.ietf.org/rfc/rfc5280.txt">Internet
X.509 Public Key Infrastructure Certificate and Certificate
Revocation List (CRL) Profile</a></cite>, D. Cooper, S. Santesson,
S. Farrell, S. Boeyen, R. Housley, W. Polk. IETF, May 2008.</dd>
<dt id="refsRFC5322">[RFC5322]</dt>
<dd><cite><a href="http://www.ietf.org/rfc/rfc5322.txt">Internet Message
Format</a></cite>, P. Resnick. IETF, October 2008.</dd>
<dt id="refsSCSU">[SCSU]</dt>
<dd>(Non-normative) <cite><a href="http://www.unicode.org/reports/tr6/">UTR #6: A Standard
Compression Scheme For Unicode</a></cite>, M. Wolf, K. Whistler,
C. Wicksteed, M. Davis, A. Freytag, M. Scherer. Unicode Consortium,
May 2005.</dd>
<dt id="refsSELECTORS">[SELECTORS]</dt>
<dd><cite><a href="http://www.w3.org/TR/css3-selectors">Selectors</a></cite>,
T. Çelik, E. Etemad, D. Glazman, I. Hickson, P. Linss,
J. Williams. W3C, March 2009.</dd>
<dt id="refsSHIFTJIS">[SHIFTJIS]</dt>
<dd><cite>JIS X0208: 7-bit and 8-bit double byte coded KANJI sets
for information interchange</cite>. Japanese Standards Association,
1997.</dd>
<dt id="refsSRGB">[SRGB]</dt>
<dd><cite><a href="http://webstore.iec.ch/webstore/webstore.nsf/artnum/025408!OpenDocument&Click=">IEC
61966-2-1: Multimedia systems and equipment — Colour measurement
and management — Part 2-1: Colour management — Default RGB colour
space — sRGB</a></cite>. IEC, October 1999.</dd>
<dt id="refsSVG">[SVG]</dt>
<dd><cite><a href="http://www.w3.org/TR/SVGTiny12/">Scalable Vector
Graphics (SVG) Tiny 1.2 Specification</a></cite>, O. Andersson,
R. Berjon, E. Dahltröm, A. Emmons, J. Ferraiolo, A. Grasso,
V. Hardy, S. Hayman, D. Jackson, C. Lilley, C. McCormack,
A. Neumann, C. Northway, A. Quint, N. Ramani, D. Schepers,
A. Shellshear. W3C, December 2008.</dd>
<dt id="refsTIS620">[TIS620]</dt>
<dd><cite><a href="http://www.nectec.or.th/it-standards/std620/std620.htm">UDC
681.3.04:003.62</a></cite>. Thai Industrial Standards Institute,
Ministry of Industry, Royal Thai Government, 1990. ISBN
974-606-153-4.</dd>
<dt id="refsUNICODE">[UNICODE]</dt>
<dd><cite><a href="http://www.unicode.org/versions/">The Unicode Standard</a></cite>. Unicode Consortium, 2007.</dd>
<dt id="refsUNIVCHARDET">[UNIVCHARDET]</dt>
<dd>(Non-normative) <cite><a href="http://www.mozilla.org/projects/intl/UniversalCharsetDetection.html">A
composite approach to language/encoding
detection</a></cite>. S. Li, K. Momoi. Netscape, September 2001. In
<cite>Proceedings of the 19th International Unicode
Conference</cite>.</dd>
<dt id="refsUTF7">[UTF7]</dt>
<dd><cite><a href="http://www.ietf.org/rfc/rfc2152.txt">UTF-7: A
Mail-Safe Transformation Format of Unicode</a></cite>,
D. Goldsmith, M. Davis. IETF, May 1997.</dd>
<dt id="refsUTS22">[UTS22]</dt>
<dd><cite><a href="http://www.unicode.org/reports/tr22/#Charset_Alias_Matching">Charset
Alias Matching</a></cite>. In <cite><a href="http://www.unicode.org/reports/tr22/">UTS #22: Character
Mapping Markup Language (CharMapML)</a></cite>, M. Davis,
M. Scherer. Unicode Consortium, June 2006.</dd>
<dt id="refsWEBADDRESSES">[WEBADDRESSES]</dt>
<dd><cite><a href="http://www.w3.org/html/wg/href/draft">Web
addresses in HTML 5</a></cite>, D. Connolly,
C. Sperberg-McQueen. March 2009.</dd>
<dt id="refsWEBIDL">[WEBIDL]</dt>
<!--
<dd><cite><a href="http://www.w3.org/TR/WebIDL/">Web
IDL</a></cite>, C. McCormack. W3C, December 2008.</dd>
-->
<dd><cite><a href="http://dev.w3.org/2006/webapi/WebIDL/">Web
IDL</a></cite>, C. McCormack. W3C, July 2009.</dd>
<dt id="refsWEBLINK">[WEBLINK]</dt>
<dd><cite><a href="http://tools.ietf.org/html/draft-nottingham-http-link-header">Web
Linking</a></cite>, M. Nottingham. IETF, July 2009.</dd>
<dt id="refsWHATWGWIKI">[WHATWGWIKI]</dt>
<dd><cite><a href="http://wiki.whatwg.org/">The WHATWG Wiki</a></cite>. WHATWG.</dd>
<dt id="refsWIN1252">[WIN1252]</dt>
<dd><cite><a href="http://www.microsoft.com/globaldev/reference/sbcs/1252.htm">Windows 1252</a></cite>. Microsoft.</dd>
<dt id="refsWIN1254">[WIN1254]</dt>
<dd><cite><a href="http://www.microsoft.com/globaldev/reference/sbcs/1254.htm">Windows 1254</a></cite>. Microsoft.</dd>
<dt id="refsWIN31J">[WIN31J]</dt>
<dd><cite><a href="http://www.microsoft.com/globaldev/reference/dbcs/932.mspx">Windows Codepage 932</a></cite>. Microsoft.</dd>
<dt id="refsWIN874">[WIN874]</dt>
<dd><cite><a href="http://www.microsoft.com/globaldev/reference/sbcs/874.mspx">Windows 874</a></cite>. Microsoft.</dd>
<dt id="refsWIN949">[WIN949]</dt>
<dd><cite><a href="http://www.microsoft.com/globaldev/reference/dbcs/949.mspx">Windows Codepage 949</a></cite>. Microsoft.</dd>
<dt id="refsX121">[X121]</dt>
<dd><cite>Recommendation X.121 — International Numbering Plan for
Public Data Networks</cite>, CCITT Blue Book, Fascicle VIII.3,
pp. 317-332, November 1988.</dd>
<dt id="refsX690">[X690]</dt>
<dd><cite><a href="http://www.itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf">Recommendation
X.690 — Information Technology — ASN.1 Encoding Rules —
Specification of Basic Encoding Rules (BER), Canonical Encoding
Rules (CER), and Distinguished Encoding Rules
(DER)</a></cite>. International Telecommunication Union, July
2002.</dd>
<dt id="refsXHR">[XHR]</dt>
<!--
<dd><cite><a href="http://www.w3.org/TR/XMLHttpRequest/">The XMLHttpRequest
Object</a></cite>, A. van Kesteren. W3C, April
2008.</dd>
-->
<dd><cite><a href="http://dev.w3.org/2006/webapi/XMLHttpRequest/"><code>XMLHttpRequest</code></a></cite>,
A. van Kesteren. W3C, June 2009.</dd>
<dt id="refsXHTML10">[XHTML10]</dt>
<dd><cite><a href="http://www.w3.org/TR/xhtml1/">XHTML(TM) 1.0 The
Extensible HyperText Markup Language (Second Edition)</a></cite>. W3C,
August 2002.</dd>
<dt id="refsXHTML11">[XHTML11]</dt>
<dd><cite><a href="http://www.w3.org/TR/xhtml11/">XHTML(TM) 1.1 -
Module-based XHTML</a></cite>, M. Altheim, S. McCarron. W3C,
May 2001.</dd>
<dt id="refsXHTMLMOD">[XHTMLMOD]</dt>
<dd><cite><a href="http://www.w3.org/TR/xhtml-modularization">Modularization of
XHTML(TM)</a></cite>, M. Altheim, F. Boumphrey, S. Dooley, S.
McCarron, S. Schnitzenbaumer, T. Wugofski. W3C, April 2001.</dd>
<dt id="refsXML">[XML]</dt>
<dd><cite><a href="http://www.w3.org/TR/xml/">Extensible Markup
Language</a></cite>, T. Bray, J. Paoli, C. Sperberg-McQueen,
E. Maler, F. Yergeau. W3C, November 2008.</dd>
<dt id="refsXMLBASE">[XMLBASE]</dt>
<dd><cite><a href="http://www.w3.org/TR/xmlbase/">XML
Base</a></cite>, J. Marsh, R. Tobin. W3C, January 2009.</dd>
<dt id="refsXMLNS">[XMLNS]</dt>
<dd><cite><a href="http://www.w3.org/TR/xml-names/">Namespaces in
XML</a></cite>, T. Bray, D. Hollander, A. Layman, R. Tobin. W3C,
August 2006.</dd>
<dt id="refsXPATH10">[XPATH10]</dt>
<dd><cite><a href="http://www.w3.org/TR/1999/REC-xpath-19991116">XML Path
Language (XPath) Version 1.0</a></cite>, J. Clark, S. DeRose. W3C,
November 1999.</dd>
<dt id="refsXSLT10">[XSLT10]</dt>
<dd><cite><a href="http://www.w3.org/TR/1999/REC-xslt-19991116">XSL
Transformations (XSLT) Version 1.0</a></cite>, J. Clark. W3C,
November 1999.</dd>
</dl></body></html>
--- NEW FILE: fragment-links.js ---
var fragment_links = { 'refsRFC1557':'references','attr-meter-high':'text-level-semantics','refsRFC1554':'references','dom-opener':'browsers','ports-and-garbage-collection':'comms','attr-label-for':'forms','htmlcommandelement':'interactive-elements','the-history-interface':'history','refsXHR':'references','attr-fs-method-delete-keyword':'forms','htmlfieldsetelement':'forms','the-root-element':'semantics','command-facet-type':'interactive-elements','md-vcard-type-adr-home':'microdata','valid-non-negative-integer':'infrastructure','attr-fs-enctype-urlencoded':'forms','md-vcard-label':'microdata','activation':'editing','the-br-element':'semantics','case-sensitivity-and-string-comparison':'infrastructure','command-redo':'editing','attr-meter-value':'text-level-semantics','dom-style-disabled':'semantics','attr-media-src':'video','concept-facet':'interactive-elements','hierarchy_request_err':'infrastructure','attr-script-async':'semantics','a-graphical-representation-of-some-of-the-surrounding-text':'text-level-smantics','math':'the-canvas-element','attr-br-clear':'obsolete','attr-iframe-longdesc':'obsolete','attr-input-usemap':'obsolete','posting-messages':'comms','attr-meta-http-equiv-content-language':'semantics','the-maxlength-attribute':'forms','predefined-vocabularies-0':'microdata','the-cite-element':'text-level-semantics','attr-button-type':'forms','attr-input-type-button-keyword':'forms','refsIEEE754':'references','attr-hr-align':'obsolete','custom-handlers':'browsers','non-conforming-features':'obsolete','attr-textarea-wrap-soft':'forms','md-vcard-tel-value':'microdata','concept-fe-disabled':'forms','dom-feature-strings':'infrastructure','root-element':'infrastructure','path':'the-canvas-element','attr-link-href':'semantics','spelling-and-grammar-checking':'editing','htmltitleelement':'semantics','canvaspattern':'the-canvas-element','syntax-escape-end':'syntax','character-references':'syntax','md-vevent-geo':'microdata','command-bold':'editing','attr-hyperlink-media':'history','dom-context-2d-textbaselinetop':'the-canvas-element','attr-object-align':'obsolete','syntax-start-tag':'syntax','md-vcard-type-adr-postal':'microdata','link-type-index':'history','refsHTTP':'references','strike':'obsolete','browsing-the-web':'history','encoding-microdata':'microdata','refsDOMRANGE':'references','dom-progress-position':'text-level-semantics','vcard':'microdata','attr-tr-bgcolor':'obsolete','the-img-element':'text-level-semantics','url-property-elements':'microdata','exceptions':'infrastructure','event-pause':'video','valid-browsing-context-name-or-keyword':'browsers','attr-meta-http-equiv-refresh':'semantics','the-dfn-element':'text-level-semantics','times':'infrastructure','attr-hr-noshade':'obsolete','attr-form-autocomplete-off-state':'forms','syntax-attributes':'syntax','canvas-context-2d':'the-canvas-element','command-facet-checkedstate':'interactive-elements','refsRFC3279':'references','attr-p-align':'obsolete','md-vevent-rrule':'microdata','attr-link-charset':'obsolete','edits-and-paragraphs':'text-level-semantis','typographic-conventions':'introduction','syntax-comments':'syntax','unknown-images':'text-level-semantics','attr-pre-width':'obsolete','the-details-element':'interactive-elements','refsRFC4770':'references','timers':'browsers','meta-description':'semantics','valid-simple-color':'infrastructure','quota_exceeded_err':'infrastructure','image-maps':'the-canvas-element','event-timeupdate':'video','refsDOMVIEWS':'references','media-element-attributes':'video','md-vcard':'microdata','htmlmenuelement':'interactive-elements','scripting-1':'semantics','scripting-0':'infrastructure','attr-input-alt':'forms','writing':'syntax','edits':'text-level-semantics','relaxing-the-same-origin-restriction':'browsers','history-0':'history','history-1':'introduction','weeks':'infrastructure','attr-textarea-cols':'forms','attr-fieldset-disabled':'forms','htmldetailselement':'interactive-elements','shadows':'the-canvas-element','md-vevent-resources':'microdata','domtokenlist-0':'infrastructure','attr-base-href':'semantics','commad-insertorderedlist':'editing','command-unlink':'editing','the-blockquote-element':'semantics','attr-object-type':'text-level-semantics','dom-media-have_enough_data':'video','attr-input-type-email-keyword':'forms','attr-textarea-readonly':'forms','typed-items':'microdata','serialize_err':'infrastructure','client-identification':'browsers','attr-input-type-color-keyword':'forms','concept-command':'interactive-elements','attr-ol-type':'obsolete','attr-fs-method-post-keyword':'forms','htmlhrelement':'semantics','standard-metadata-names':'semantics','command-insertparagraph':'editing','attr-meta-http-equiv-default-style':'semantics','message-channels':'comms','htmltextareaelement':'forms','default-media':'semantics','refsRFC3548':'references','no_modification_allowed_err':'infrastructure','refsWEBLINK':'references','refsRFC2388':'references','valid-e-mail-address-list':'forms','r1':'tabular-data','r2':'tabular-data','reflecting-content-attributes-in-dom-attributes':'infrastructure','md-vcard-fn':'microdata','resRFC3490':'references','sequential-focus-navigation':'editing','attr-fs-method-delete':'forms','rank':'semantics','network-states':'video','the-input-element':'forms','the-footer-element':'semantics','navigator':'browsers','link-type-help':'history','set-of-comma-separated-tokens':'infrastructure','refsBECSS':'references','link-type-author':'history','attr-media-controls':'video','htmlmetaelement':'semantics','attr-script-charset':'semantics','range-state':'forms','dom-location-hash':'history','dom-media-have_nothing':'video','attr-fe-autofocus':'forms','in-a-document':'infrastructure','dynamic-markup-insertion':'embedded-content-0','classes':'dom','the-multiple-attribute':'forms','syntax-ambiguous-ampersand':'syntax','top-level-browsing-context':'browsers','simple-color':'infrastructure','attr-button-value':'forms','navigatorabilities':'browsers','link-type-nofollow':'history','event-drag':'editing','inuse_attribute_err':'infrastructure','attr-object-declare':'obsolete','refsWIN31J':'references','the-titleelement':'dom','event-definitions':'comms','radio-button-state':'forms','acknowledgements':'acknowledgements','htmlmapelement':'the-canvas-element','dom':'dom','md-vcard-note':'microdata','the-mark-element':'text-level-semantics','concept-fs-target':'forms','not_found_err':'infrastructure','concept-datetime-local':'infrastructure','syntax':'syntax','colors':'infrastructure','outerhtml':'embedded-content-0','md-vcard-categories':'microdata','propertyvaluearray':'infrastructure','refsPROGRESS':'references','htmloptionscollection':'infrastructure','md-vcard-tel-type':'microdata','radionodelist':'infrastructure','domtokenlist':'infrastructure','event-volumechange':'video','htmlstyleelement':'semantics','attr-th-scope-colgroup':'tabular-data','colors-and-styles':'the-canvas-element','attr-fs-enctype':'forms','attr-textarea-wrap-hard':'forms','dom-title-text':'semantics','the-sub-and-sup-elements':'text-level-semantics','md-vcard-impp-value':'microdata','event-error':'video','refsFILEAPI':'references','concept-itm':'microdata','the-col-element':'tabular-data','the-placeholder-attribute':'forms','refsDOMCORE':'references','kinds-of-content':'dom','the-td-element':'tabular-data','accessing-other-browsing-contexts':'browsers','creator-browsing-context':'browsers','items:-the-item-attribute':'microdata','attr-tdth-headers':'tabular-data','attr-textarea-wrap-soft-state':'forms','active-document':'browsers','hidden-state':'forms','miscellaneous-elements':'interactive-elements','attr-li-value':'semantics','attr-command-type-keyword-checkbox':'interactive-elements','navigatoronline':'browsers','attr-button-type-button':'forms','concept-option-value':'forms','attr-head-profile':'obsolete','form-associated-element':'forms','md-vcard-email-type':'microdata','media-elements':'video','attr-tr-align':'obsolete','urls':'infrastructure','mediaerror':'video','concept-section':'semantics','attr-meter-optimum':'text-level-semantics','refsRFC3023':'references','attr-area-shape-rect':'the-canvas-element','innerhtml':'embedded-content-0,'attr-input-min':'forms','e-mail-state':'forms','gcop-lighter':'the-canvas-element','htmlheadelement':'semantics','attr-input-type-url-keyword':'forms','htmlembedelement':'text-level-semantics','md-vcard-type-tel-work':'microdata','character-encoding-declaration':'semantics','attr-keygen-challenge':'forms','date-state':'forms','link-type-tag':'history','attr-div-align':'obsolete','htmlpropertycollection-0':'infrastructure','category-reset':'forms','the-dragevent-and-datatransfer-interfaces':'editing','attr-input-type-text-keyword':'forms','the-source-element':'video','attr-th-scope-col':'tabular-data','browsing-context-name':'browsers','n':'tabular-data','attr-area-shape-circle':'the-canvas-element','element-definitions':'dom','predefined-property-name':'microdata','attr-fs-method-get':'forms','md-vcard-nickname':'microdata','command-delete':'editing','link-type-prev':'history','attr-fae-form':'forms','attr-form-accept-charset':'forms','event-appcache-cached':'offline','attr-fs-formmethod':'forms','xml-mim-type':'infrastructure','absolute-url':'infrastructure','htmlbrelement':'semantics','attr-img-hspace':'obsolete','pixel-manipulation':'the-canvas-element','a-link-or-button-containing-nothing-but-the-image':'text-level-semantics','events-fired-during-a-drag-and-drop-action':'editing','attr-fe-maxlength':'forms','htmlkeygenelement':'forms','md-vevent-status':'microdata','the-body-element':'dom','heading-content':'dom','attr-html-manifest':'semantics','htmliframeelement':'text-level-semantics','the-output-element':'forms','attr-input-type-image-keyword':'forms','event-abort':'video','attr-tr-charoff':'obsolete','attr-input-type-time-keyword':'forms','attr-ol-compact':'obsolete','md-vcard-type-tel-fax':'microdata','htmltimeelement':'text-level-semantics','the-address-element':'semantics','item-type':'microdata','validation_err':'infrastructure','category-label':'forms','collections':'infrastructure','week-state':'forms','unordered-set-of-unique-space-separated-tokens':'infrastructure','scriptingLanguages':'semntics','event-dragover':'editing','attr-hx-align':'obsolete','background':'introduction','htmlobjectelement':'text-level-semantics','scrolling-elements-into-view':'editing','network_err':'infrastructure','refsRFC4281':'references','security':'dom','refsRFC4329':'references','domstringmap-0':'infrastructure','paragraphs':'embedded-content-0','the-ins-element':'text-level-semantics','attr-embed-type':'text-level-semantics','manually-releasing-the-storage-mutex':'browsers','comments':'syntax','attr-command-type-state-checkbox':'interactive-elements','nested-browsing-context':'browsers','phrasing-content':'dom','dnd':'editing','event-handler-attributes-0':'browsers','attr-meter-min':'text-level-semantics','tag-clouds':'semantics','md-vcard-agent':'microdata','md-vcard-type-impp-personal':'microdata','md-vevent':'microdata','attr-command-disabled':'interactive-elements','controlling-the-input-stream':'embedded-content-0','event-dragenter':'editing','months':'infrastructure','md-vevent-summary':'microdata','annottions-for-assistive-technology-products':'embedded-content-0','attr-script-type':'semantics','creator-document':'browsers','refsMIMESNIFF':'references','htmltableelement':'tabular-data','refsATOM':'references','attr-param-type':'obsolete','attr-button-type-submit':'forms','remove-an-element-from-a-document':'infrastructure','the-readonly-attribute':'forms','htmlscriptelement':'semantics','unquoted':'syntax','distinguishing-site-wide-headings-from-page-headings':'semantics','refsBIG5':'references','isindex-0':'obsolete','refsRFC1468':'references','attr-area-nohref':'obsolete','index_size_err':'infrastructure','messageport':'comms','attr-fs-formenctype':'forms','introduction-5':'editing','cdata-sections':'syntax','command-facet-hiddenstate':'interactive-elements','syntax-escape':'syntax','md-vcard-title':'microdata','introduction-6':'comms','refsUTS22':'references','refsSVG':'references','refsECMA357':'references','introduction-2':'browsers','e-mail-type-strings':'microdata','md-vcard-adr-street-address':'micodata','dom-media-network_no_source':'video','command-insertunorderedlist':'editing','the-directionality':'dom','event-play':'video','no':'no','md-vcard-org':'microdata','attr-select-size':'forms','dom-mediaerror-media_err_aborted':'video','the-location-interface':'history','attr-q-cite':'text-level-semantics','willful-violation':'introduction','meta-generator':'semantics','attr-spellcheck':'editing','local-date-and-time-state':'forms','the-canvas-state':'the-canvas-element','attr-a-charset':'obsolete','concept-datetime':'infrastructure','html-namespace':'infrastructure','a-group-of-images-that-form-a-single-larger-picture-with-links':'text-level-semantics','navigating-nested-browsing-contexts-in-the-dom':'browsers','link-type-sidebar':'history','attr-meta-content':'semantics','the-accesskey-attribute':'editing','command-italic':'editing','focus':'editing','attr-caption-align':'obsolete','attr-textarea-placeholder':'forms','sequential-link-types':'history','md-vcard-adr-type':'microdata','local-dates-and-ties':'infrastructure','htmlselectelement':'forms','attr-mod-cite':'text-level-semantics','date-or-time-string':'infrastructure','attr-article-pubdate':'semantics','command-undo':'editing','dir':'obsolete','timeranges':'video','md-vcard-role':'microdata','attr-hyperlink-href':'history','input-type-attr-summary':'forms','obsolete':'obsolete','number-state':'forms','md-vcard-mailer':'microdata','secondary-browsing-contexts':'browsers','dom-media-have_current_data':'video','global-dates-and-times':'infrastructure','the-pre-element':'semantics','concept-submit-button':'forms','command-unselect':'editing','refsSHIFTJIS':'references','htmldocument':'dom','concept-button':'forms','refsWEBADDRESSES':'references','attr-param-value':'text-level-semantics','refsECMA262':'references','md-vcard-type-tel-video':'microdata','the-rt-element':'text-level-semantics','resource-metadata-management':'dom','link-type-license':'history','attr-command-type-keyword-radio':'interactive-elements','scripting':'browsers','sectioning-contnt':'dom','syntax-tag-name':'syntax','relationships-to-other-specifications':'introduction','md-vcard-tel':'microdata','set-of-space-separated-tokens':'infrastructure','browser-interface-elements':'browsers','canvaspixelarray':'the-canvas-element','the-id-attribute':'dom','style-default-media':'semantics','attr-hr-size':'obsolete','htmlparagraphelement':'semantics','not_supported_err':'infrastructure','charset512':'semantics','refsRFC2483':'references','messageevent':'comms','security_err':'infrastructure','event-dragleave':'editing','attr-object-standby':'obsolete','attr-mod-datetime':'text-level-semantics','the-noscript-element':'semantics','attr-input-type-range-keyword':'forms','live':'infrastructure','scope':'introduction','refsXHTML10':'references','the-pattern-attribute':'forms','attr-area-shape-keyword-circle':'the-canvas-element','attr-td-th-nowrap':'obsolete','attr-tabindex':'editing','refsPSL':'references','printing':'browsers','values':'microdata','attr-link-media':'semantics','htmlformcontrolscllection-0':'infrastructure','xml-compatible':'infrastructure','htmlbuttonelement':'forms','attr-fs-novalidate':'forms','event-seeked':'video','attr-input-type-reset-keyword':'forms','attr-optgroup-label':'forms','dom-context-2d-textbaseline-ideographic':'the-canvas-element','context-menus':'interactive-elements','the-param-element':'text-level-semantics','charset':'semantics','ping':'history','auxiliary-browsing-context':'browsers','xhtml':'the-xhtml-syntax','the-option-element':'forms','attr-script-src':'semantics','htmlareaelement':'the-canvas-element','refsCOOKIES':'references','refsPORTERDUFF':'references','attr-hyperlink-type':'history','telephone-type-strings':'microdata','outline':'semantics','attr-select-multiple':'forms','attr-iframe-sandbox':'text-level-semantics','address-type-strings':'microdata','dom-location-pathname':'history','the-span-element':'text-level-semantics','definitions':'forms','the-form-element':'forms','the-keygen-element':'forms','a-quick-introduction-to-html':'introduction','tmlquoteelement':'semantics','attr-input-autocomplete':'forms','link-type-up':'history','user-prompts':'browsers','md-vevent-duration':'microdata','forms':'forms','window':'browsers','listing':'obsolete','attr-th-scope':'tabular-data','event-seeking':'video','attr-object-data':'text-level-semantics','attr-table-align':'obsolete','category-listed':'forms','attr-hyperlink-usemap':'the-canvas-element','no_data_allowed_err':'infrastructure','embedded-content-1':'text-level-semantics','embedded-content-0':'embedded-content-0','the-dialog-element':'semantics','other-metadata-names':'semantics','the-required-attribute':'forms','authors-using-xhtml':'infrastructure','manifests':'offline','attr-command-radiogroup':'interactive-elements','canvas':'the-canvas-element','command-formatblock':'editing','md-vcard-type-tel-car':'microdata','attr-dl-compact':'obsolete','htmlhtmlelement':'semantics','md-vevent-sequence':'microdata','htmlunknownelement':'dom','md-vcard-logo':'microdata','sectioning-root':'semantics','the-sizeattribute':'forms','md-vcard-type-email-internet':'microdata','md-vcard-email-value':'microdata','htmllinkelement':'semantics','heading-content-0':'dom','language':'dom','text-html':'iana-considerations','copy-and-paste':'editing','valid-list-of-integers':'infrastructure','attr-hr-width':'obsolete','md-vcard-type-tel-voice':'microdata','the-style-attribute':'dom','the-div-element':'interactive-elements','the-document-s-current-address':'dom','blink':'obsolete','licensing-works':'microdata','elements-0':'syntax','md-vcard-tz':'microdata','doctype-legacy-string':'syntax','error-codes':'video','the-q-element':'text-level-semantics','event-ended':'video','refsRFC1345':'references','complex-shapes-paths':'the-canvas-element','syntax-charref':'syntax','attr-input-type-radio-keyword':'forms','the-figure-element':'text-level-semantics','semantics':'semantics','attr-tbody-valign':'obsolete','sections':'semantics','refsHTML4':'references','concept-time':'infrastructure','syntax-cdata':'syntax','htmltablecaptionelemen':'tabular-data','common-input-element-attributes':'forms','refsRFC2237':'references','dates-and-times':'infrastructure','refsRFC5280':'references','gcop-copy':'the-canvas-element','optional-tags':'syntax','attr-link-sizes':'history','refsGRAPHICS':'references','the-document-s-address':'dom','md-vcard-n-given-name':'microdata','canvasgradient':'the-canvas-element','attr-th-scope-row':'tabular-data','gcop-source-atop':'the-canvas-element','type_mismatch_err':'infrastructure','refsXHTMLMOD':'references','refsOPENSEARCH':'references','attr-form-autocomplete':'forms','md-vcard-type-email-x400':'microdata','property-names':'microdata','attr-fe-disabled':'forms','general-guidelines':'text-level-semantics','the-bdo-element':'text-level-semantics','the-article-element':'semantics','attr-td-th-abbr':'obsolete','apis-in-html-documents':'embedded-content-0','attr-input-checked':'forms','spacer':'obsolete','the-aside-element':'semantics','a-sample-manifest':'offline','dom-mediaerror-media_err_src_not_supported':'video''attr-contenteditable':'editing','htmlheadingelement':'semantics','xml':'infrastructure','syntax_err':'infrastructure','link-type-last':'history','refsWHATWGWIKI':'references','refsXHTML11':'references','the-min-and-max-attributes':'forms','category-submit':'forms','attr-area-shape-default':'the-canvas-element','xmp':'obsolete','attributes-common-to-form-controls':'forms','image-map':'the-canvas-element','attr-output-for':'forms','htmllegendelement':'interactive-elements','md-vcard-bday':'microdata','element-level-focus-apis':'editing','refsRFC3986':'references','refsRFC3987':'references','htmlspanelement':'text-level-semantics','textmetrics':'the-canvas-element','attr-iframe-align':'obsolete','md-vcard-n-honorific-prefix':'microdata','command-insertlinebreak':'editing','attr-map-name':'the-canvas-element','event-emptied':'video','md-work':'microdata','document.writeln':'embedded-content-0','command-subscript':'editing','attr-source-src':'video','the-var-element':'text-level-semantics','md-vcard-adr-post-ofice-box':'microdata','attr-script-language':'obsolete','the-undomanagerevent-interface-and-the-undo-and-redo-events':'editing','impp-type-strings':'microdata','refsGREGORIAN':'references','the-header-element':'semantics','event-summary':'offline','attr-option-selected':'forms','infrastructure':'infrastructure','form-submission':'forms','the-th-element':'tabular-data','svg-0':'the-canvas-element','dom-appcache-updateready':'offline','joint-session-history':'history','dates':'infrastructure','simple-shapes-rectangles':'the-canvas-element','s':'obsolete','attr-menu-compact':'obsolete','insert-an-element-into-a-document':'infrastructure','overview':'microdata','the-p-element':'semantics','event-loadeddata':'video','boolean-attribute':'infrastructure','interfaces-for-url-manipulation':'infrastructure','relationship-to-xhtml-1.x':'introduction','attr-iframe-name':'text-level-semantics','the-command':'interactive-elements','tabular-data':'tabular-data','real-numbers':'infrastructure','md-vcard-impp-type':'microdat','making-entire-documents-editable':'editing','documentSelection':'editing','htmlbaseelement':'semantics','attr-media-loop':'video','the-area-element':'the-canvas-element','link-type-bookmark':'history','concept-input-required':'forms','attr-keygen-keytype':'forms','prefix-match':'infrastructure','refsTIS620':'references','image-button-state':'forms','time-ranges':'video','plugin':'infrastructure','attr-area-shape-keyword-default':'the-canvas-element','refsWIN1254':'references','dom-document-open':'embedded-content-0','md-vevent-location':'microdata','htmlbodyelement':'semantics','boolean-attributes':'infrastructure','refsARIAIMPL':'references','md-vevent-last-modified':'microdata','domstring_size_err':'infrastructure','refsCORS':'references','the-dt-element':'semantics','events':'browsers','table-descriptions':'tabular-data','gcop-destination-in':'the-canvas-element','the-map-element':'the-canvas-element','dom-canvas-getcontext':'the-canvas-element','the-progress-element':'text-level-semantics','the-windo-object':'browsers','editing-apis':'editing','md-vcard-type-adr-work':'microdata','refsBCP47':'references','elements-in-the-html-namespace':'infrastructure','the-object-element':'text-level-semantics','attr-td-th-char':'obsolete','refsUTF7':'references','opener-browsing-context':'browsers','the-rp-element':'text-level-semantics','refsRFC2045':'references','refsRFC2046':'references','valid-e-mail-address':'forms','valid-reversed-dns-identifier':'infrastructure','attr-command-checked':'interactive-elements','refsSRGB':'references','the-li-element':'semantics','design-notes':'introduction','attr-hyperlink-hreflang':'history','element-restrictions':'syntax','refsNPAPI':'references','compliance-with-other-specifications':'introduction','the-thead-element':'tabular-data','md-vcard-org-organization-unit':'microdata','md-vcard-photo':'microdata','md-vevent-exdate':'microdata','event-loadedmetadata':'video','parse_err':'infrastructure','md-vcard-type-adr-parcel':'microdata','noembed':'obsolete','htmltablecolelement''tabular-data','browsing-context':'browsers','refsWIN874':'references','audience':'introduction','md-vcard-n-family-name':'microdata','md-vcard-n-honorific-suffix':'microdata','color-state':'forms','the-dl-element':'semantics','attributes-common-to-td-and-th-elements':'tabular-data','rel-sidebar-hyperlink':'history','x-that':'introduction','lists-of-integers':'infrastructure','external-resource-link':'semantics','refsGBK':'references','attr-base-target':'semantics','values-associated-with-denominator-punctuation-characters':'infrastructure','images':'the-canvas-element','refsJSON':'references','md-vcard-adr-postal-code':'microdata','attributes-common-to-ins-and-del-elements':'text-level-semantics','attr-td-th-align':'obsolete','attr-table-summary':'tabular-data','date-and-time-state':'forms','ordered-set-of-unique-space-separated-tokens':'infrastructure','attr-fs-method-post':'forms','attr-td-th-charoff':'obsolete','ratios':'infrastructure','dom-media-network_empty':'video','attr-object-code':'obsolete','do-time-time':'text-level-semantics','title-on-style':'semantics','browsing-context-nested-through':'browsers','dom-trees':'infrastructure','drawing-state':'the-canvas-element','dom-mediaerror-media_err_decode':'video','parent-browsing-context':'browsers','references':'references','refsWEBIDL':'references','invalid_access_err':'infrastructure','attr-optgroup-disabled':'forms','attr-command-type-state-command':'interactive-elements','attr-input-type-month-keyword':'forms','the-title-attribute':'dom','attr-source-type':'video','styling':'semantics','attr-input-autocomplete-on-state':'forms','inline-documentation-for-external-scripts':'semantics','the-code-element':'text-level-semantics','md-vcard-impp':'microdata','md-vevent-attach':'microdata','attr-img-align':'obsolete','attr-fs-formnovalidate':'forms','syntax-text':'syntax','the-legend-element':'interactive-elements','attr-command-title':'interactive-elements','mathml':'the-canvas-element','undomanagerevent':'editing','popstateevent':'history','attr-iframe-srolling':'obsolete','link-type-noreferrer':'history','checkbox-state':'forms','general':'microdata','attr-fs-method-put':'forms','the-time-element':'text-level-semantics','event-suspend':'video','refsX121':'references','obsolete-but-conforming-features':'obsolete','link-type-alternate':'history','refsXMLBASE':'references','an-image-not-intended-for-the-user':'text-level-semantics','dom-context-2d-textbaseline-alphabetic':'the-canvas-element','predefined-type':'microdata','dom-outerhtml':'embedded-content-0','htmlolistelement':'semantics','anonymous-command':'interactive-elements','fallback-content':'embedded-content-0','u':'obsolete','keywords-and-enumerated-attributes':'infrastructure','the-em-element':'text-level-semantics','attr-form-autocomplete-on-state':'forms','browsing-context-container':'browsers','refsRFC1922':'references','browsers':'browsers','alt':'text-level-semantics','tt':'obsolete','invalid_state_err':'infrastructure','tree-order':'infrastructure','concept-input-type-file-selected':'forms',refsRFC2109':'references','the-ruby-element':'text-level-semantics','command-inserthtml':'editing','application-cache-api':'offline','the-session-history-of-browsing-contexts':'history','md-vevent-exrule':'microdata','imagedata':'the-canvas-element','message-ports':'comms','concept-fs-method':'forms','attr-dim-width':'the-canvas-element','ascii-compatible-character-encoding':'infrastructure','form-submission-0':'forms','the-meter-element':'text-level-semantics','security-4':'comms','plugins':'infrastructure','refsMQ':'references','htmloptionscollection-0':'infrastructure','terminology-0':'infrastructure','attr-input-placeholder':'forms','flow-content-0':'dom','html-elements':'infrastructure','attr-meter-low':'text-level-semantics','attr-script-defer':'semantics','md-vevent-transp':'microdata','microdata':'microdata','attr-iframe-frameborder':'obsolete','md-vcard-org-organization-name':'microdata','states-of-the-type-attribute':'forms','url_mismatch_err':'infrastructure','md-vevent-contact':'microdata','attrcol-charoff':'obsolete','attr-tbody-align':'obsolete','declarative-3d-scenes':'no','concept-option-disabled':'forms','inter-element-whitespace':'dom','md-vcard-type-tel-isdn':'microdata','link-type-first':'history','the-h1-h2-h3-h4-h5-and-h6-elements':'semantics','attr-ul-type':'obsolete','namespace_err':'infrastructure','introduction-4':'editing','introduction-7':'comms','md-vevent-comment':'microdata','introduction-1':'microdata','introduction-3':'offline','the-button-element':'forms','the-ol-element':'semantics','void-elements':'syntax','attr-tdth-colspan':'tabular-data','refsABNF':'references','attr-col-span':'tabular-data','the-i-element':'text-level-semantics','the-embed-element':'text-level-semantics','file-upload-state':'forms','paragraph':'embedded-content-0','dom-innerhtml':'embedded-content-0','refsCSSUI':'references','history':'history','ascii-case-insensitive':'infrastructure','numbers':'infrastructure','default-view':'browsers','writing-cache-manifests':'offline','undomanager':'editing','attr-dth-rowspan':'tabular-data','menus':'interactive-elements','the-dd-element':'semantics','md-vevent-description':'microdata','enabling-and-disabling-form-controls':'forms','reflect':'infrastructure','md-vcard-adr-country-name':'microdata','htmlaudioelement':'video','refsXPATH10':'references','document-wide-default-language':'semantics','attr-style-type':'semantics','the-lang-and-xml:lang-attributes':'dom','htmlmodelement':'text-level-semantics','meta-application-name':'semantics','predefined-vocabularies':'microdata','dom-media-have_future_data':'video','dom-mediaerror-media_err_network':'video','examples-0':'microdata','examples-1':'microdata','beforeunloadevent':'history','edits-and-lists':'text-level-semantics','attr-input-type-date-keyword':'forms','the-2d-context':'the-canvas-element','valid-date-or-time-string-in-content':'infrastructure','refsCESU8':'references','md-vevent-rdate':'microdata','interactive-content-0':'embedded-content-0','the-nav-element':'semantics','seeking':'video','refsBOCU1':'refernces','reflecting-dom-attributes':'index','conformance-requirements':'infrastructure','valid-global-date-and-time-string':'infrastructure','concept-option-label':'forms','auxiliary-browsing-contexts':'browsers','refsRFC2445':'references','attr-textarea-required':'forms','htmldlistelement':'semantics','refsRFC2119':'references','attr-progress-value':'text-level-semantics','attr-tbody-char':'obsolete','md-vcard-type-impp-mobile':'microdata','attr-area-shape-keyword-poly':'the-canvas-element','attr-option-value':'forms','attr-input-type-password-keyword':'forms','attr-param-name':'text-level-semantics','the-select-element':'forms','attr-blockquote-cite':'semantics','attr-input-required':'forms','invalid_modification_err':'infrastructure','offline':'offline','the-microdata-model':'microdata','localization':'no','attr-img-src':'text-level-semantics','attr-lang':'dom','windowtimers':'browsers','gcop-source-out':'the-canvas-element','attr-option-label':'forms','reversed-dns-identifiers':'infrastructure','selection0':'editing','expiring-application-caches':'offline','md-vcard-sound':'microdata','preceded-or-followed':'dom','md-vcard-type-tel-bbs':'microdata','month-state':'forms','refsBEZIER':'references','limiting-user-input-length':'forms','attr-a-name':'obsolete','script':'semantics','introduction':'introduction','menus-intro':'interactive-elements','dom-context-2d-drawimage':'the-canvas-element','concept-input-value-default-range':'forms','button-state':'forms','list-state':'interactive-elements','attr-object-border':'obsolete','hyperlink-link':'semantics','dragevent':'editing','pragma-directives':'semantics','attr-body-text':'obsolete','a-purely-decorative-image-that-doesn-t-add-any-information':'text-level-semantics','transparent-content-models':'embedded-content-0','simple-dialogs':'browsers','attr-li-type':'obsolete','text-content':'dom','hierarchical-link-types':'history','attr-input-step':'forms','the-a-element':'text-level-semantics','refsUNIVCHARDET':'references','phrasing-content-0':'dom','htmloutputelemnt':'forms','command-api':'interactive-elements','htmlallcollection':'infrastructure','attr-tr-char':'obsolete','the-colgroup-element':'tabular-data','the-tr-element':'tabular-data','attr-td-th-bgcolor':'obsolete','syntax-doctype':'syntax','attr-body-alink':'obsolete','htmlcollection-0':'infrastructure','attr-area-shape-keyword-rect':'the-canvas-element','attr-fs-action':'forms','session-history':'history','md-vcard-adr-region':'microdata','dom-media-network_loaded':'video','attr-table-border':'obsolete','attr-input-type-week-keyword':'forms','maximum-allowed-value-length':'forms','htmlpreelement':'semantics','the-draggable-attribute':'editing','attr-fs-method':'forms','datatransfer':'editing','attr-meta-name':'semantics','windows':'browsers','command-facet-label':'interactive-elements','attr-area-shape':'the-canvas-element','attr-style-title':'semantics','refsIANACHARSET':'references','attributes-for-form-submission':'forms','htmlvideoelement':'video','attr-fs-method-put-keyword':'forms','html-vs-xhtml':'itroduction','the-xhtml-syntax':'the-xhtml-syntax','refsBIDI':'references','font':'obsolete','attr-option-disabled':'forms','attr-a-shape':'obsolete','attr-body-background':'obsolete','text-ping':'iana-considerations','interactive-elements':'interactive-elements','the-abbr-element':'text-level-semantics','attr-style-scoped':'semantics','domsettabletokenlist-0':'infrastructure','the-autocomplete-attribute':'forms','refsXMLNS':'references','iana-considerations':'iana-considerations','attr-input-type-tel-keyword':'forms','association-of-controls-and-forms':'forms','structure-of-this-specification':'introduction','attr-table-rules':'obsolete','the-label-element':'forms','canvasrenderingcontext2d':'the-canvas-element','furthest-ancestor-browsing-context':'browsers','dom-context-2d-textbaseline-middle':'the-canvas-element','autofocusing-a-form-control':'forms','attr-param-valuetype':'obsolete','attr-fs-enctype-formdata':'forms','user-interface':'video','attr-hyperlink-rel':'history','text-node':'infrastructure','cmmand-insertimage':'editing','attr-ol-start':'semantics','formatblock-candidate':'editing','state-object':'history','attr-input-type-submit-keyword':'forms','predefined-global-property-name':'microdata','concept-item-corresponding':'microdata','embedded-content':'embedded-content-0','the-datalist-element':'forms','event-ratechange':'video','elements-in-the-dom':'dom','attr-link-title':'semantics','attr-menu-label':'interactive-elements','htmltablerowelement':'tabular-data','hyperlink':'history','attr-body-vlink':'obsolete','refsCSSFONTS':'references','context':'the-canvas-element','command-selectall':'editing','document.write':'embedded-content-0','htmlsourceelement':'video','attr-html-version':'obsolete','domsettabletokenlist':'infrastructure','attr-input-pattern':'forms','transformations':'the-canvas-element','md-vevent-url':'microdata','using-the-microdata-dom-api':'microdata','insertadjacenthtml':'embedded-content-0','tag-cloud':'semantics','attr-th-scope-rowgroup':'tabular-data','dom-appcache-downloadig':'offline','attr-object-codebase':'obsolete','refsSELECTORS':'references','md-vevent-dtstart':'microdata','htmlprogresselement':'text-level-semantics','attr-input-type-datetime-keyword':'forms','propertynodelist':'infrastructure','attr-textarea-wrap-hard-state':'forms','the-table-element':'tabular-data','event-appcache-progress':'offline','dom-tree-accessors':'dom','attr-table-frame':'obsolete','attr-input-type-datetime-local-keyword':'forms','attr-table-width':'obsolete','md-vcard-type-adr-intl':'microdata','interpolation':'the-canvas-element','concept-fs-enctype':'forms','dom-time-timezone':'text-level-semantics','ancestor-browsing-context':'browsers','attr-fs-formtarget':'forms','md-vevent-class':'microdata','the-del-element':'text-level-semantics','a-short-phrase-or-label-with-an-alternative-graphical-representation:-icons-logos':'text-level-semantics','attr-table-cellspacing':'obsolete','concept-datetime-digit':'infrastructure','attr-object-name':'text-level-semantics','attr-area-coords':'the-canvas-lement','embedding-custom-non-visible-data':'dom','gcop-destination-over':'the-canvas-element','wrong_document_err':'infrastructure','dom-location-protocol':'history','syntax-tags':'syntax','gcop-xor':'the-canvas-element','compatibility-caseless':'infrastructure','newlines':'syntax','attr-xml-lang':'dom','associating-names-with-items':'microdata','attr-input-maxlength':'forms','relationship-to-html-4.01-and-dom2-html':'introduction','the-ul-element':'semantics','metadata-content-0':'dom','location':'history','refsE163':'references','attr-form-name':'forms','big':'obsolete','valid-vevent-duration-string':'microdata','attr-command-icon':'interactive-elements','dom-appcache-idle':'offline','the-caption-element':'tabular-data','case-sensitive':'infrastructure','facets':'interactive-elements','ignore':'infrastructure','valid-local-date-and-time-string':'infrastructure','dom-media-network_idle':'video','terminology':'infrastructure','the-title-element-0':'semantics','attr-source-media':'video','valid-floating-poit-number':'infrastructure','link-type-feed':'history','examples':'microdata','naming-form-controls':'forms','attr-input-type-keywords':'forms','refsCSSCOLOR':'references','names:-the-itemprop-attribute':'microdata','attr-textarea-rows':'forms','the-list-attribute':'forms','dom-media-have_metadata':'video','interactive-content':'embedded-content-0','dom-location-search':'history','attr-iframe-src':'text-level-semantics','refsRFC5322':'references','valid-browsing-context-name':'browsers','command-facet-accesskey':'interactive-elements','attr-input-type-number-keyword':'forms','attr-fs-method-get-keyword':'forms','location-of-the-media-resource':'video','refsRFC2646':'references','attr-link-sizes-any':'history','refsRFC2318':'references','telephone-state':'forms','a-phrase-or-paragraph-with-an-alternative-graphical-representation:-charts-diagrams-graphs-maps-illustrations':'text-level-semantics','event-load':'video','refsCHARMOD':'references','refsX690':'references','md-vcard-type-tel-pager':'microdata','dom-nvigator-registerprotocolhandler':'browsers','document-metadata':'semantics','refsCOMPUTABLE':'references','htmlulistelement':'semantics','attr-input-align':'obsolete','the-iframe-element':'text-level-semantics','concept-property-value':'microdata','refsMAILTO':'references','current-entry-of-the-joint-session-history':'history','htmlparamelement':'text-level-semantics','md-vcard-adr-locality':'microdata','attr-hyperlink-target':'history','activating-state-object-entries':'history','reset-button-state':'forms','syntax-elements':'syntax','character-encodings':'infrastructure','attr-img-ismap':'text-level-semantics','gcop-destination-atop':'the-canvas-element','text-that-has-been-rendered-to-a-graphic-for-typographical-effect':'text-level-semantics','refsCSSOM':'references','md-vcard-type-tel-msg':'microdata','refsISO885911':'references','url-decomposition-attributes':'infrastructure','attr-command-type':'interactive-elements','attr-col-char':'obsolete','md-vcard-class':'microdata','md-vevent-categories':'microata','attr-th-scope-auto':'tabular-data','attr-input-list':'forms','attr-colgroup-span':'tabular-data','attr-object-archive':'obsolete','event-appcache-noupdate':'offline','elements':'dom','mediaevents':'video','md-vcard-n':'microdata','line-styles':'the-canvas-element','text-state-and-search-state':'forms','non-negative-integers':'infrastructure','valid-month-string':'infrastructure','syntax-attribute-name':'syntax','htmloptgroupelement':'forms','documents-in-the-dom':'dom','svg':'the-canvas-element','attr-button-type-reset':'forms','attr-input-readonly':'forms','attr-input-max':'forms','event-progress':'video','md-vcard-type-impp-business':'microdata','headings-and-sections':'semantics','event-dragend':'editing','md-vcard-adr-extended-address':'microdata','concept-week':'infrastructure','md-vcard-url':'microdata','tool-bar-state':'interactive-elements','resources':'infrastructure','syntax-newlines':'syntax','media-resource':'video','syntax-references':'infrastructure','attr-iframe-seamless':'text-level-seantics','valid-week-string':'infrastructure','valid-url':'infrastructure','attr-data':'dom','gcop-source-over':'the-canvas-element','contenteditable':'editing','event-appcache-updateready':'offline','htmltableheadercellelement':'tabular-data','vevent':'microdata','compositing':'the-canvas-element','unloading-documents':'history','dimension-attributes':'the-canvas-element','attr-embed-src':'text-level-semantics','video':'video','attr-img-name':'obsolete','index':'index','attr-media-autobuffer':'video','the-hgroup-element':'semantics','md-vevent-created':'microdata','attr-ol-reversed':'semantics','valid-mime-type':'infrastructure','acronym':'obsolete','attr-meter-max':'text-level-semantics','valid-time-string':'infrastructure','attr-contextmenu':'interactive-elements','context-menu-state':'interactive-elements','the-strong-element':'text-level-semantics','attr-fs-target':'forms','the-head-element':'dom','a-key-part-of-the-content':'text-level-semantics','refsSCSU':'references','htmldivelement':'interactive-elments','media-element':'video','the-constraint-validation-api':'forms','event-durationchange':'video','attr-td-th-axis':'obsolete','link-type-pingback':'history','the-hr-element':'semantics','microdata-dom-api':'microdata','link-type-next':'history','event-canplaythrough':'video','child-browsing-context':'browsers','attr-fs-formaction':'forms','navigating-auxiliary-browsing-contexts-in-the-dom':'browsers','syntax-attribute-value':'syntax','attr-td-th-valign':'obsolete','htmlmeterelement':'text-level-semantics','noframes':'obsolete','gcop-source-in':'the-canvas-element','refsCSS':'references','the-step-attribute':'forms','concept-meta-extensions':'semantics','text-field-selection':'editing','signed-integers':'infrastructure','htmllielement':'semantics','attr-img-vspace':'obsolete','windowmodal':'browsers','md-work-title':'microdata','number-of-days-in-month-month-of-year-year':'infrastructure','hyperlink-elements':'history','browser-state':'offline','the-canvas-element':'the-canvas-element','attr-meta-http-euiv-content-type':'semantics','attr-style-media':'semantics','refsRFC2806':'references','links':'history','refsDOMEVENTS':'references','event-appcache-checking':'offline','refsARIA':'references','attr-meta-http-equiv':'semantics','htmldatalistelement':'forms','attr-td-th-width':'obsolete','dom-appcache-obsolete':'offline','the-style-element':'semantics','refsISO8601':'references','refsRFC1494':'references','md-vcard-type-tel-modem':'microdata','event-appcache-obsolete':'offline','common-grouping-idioms':'semantics','attr-img-alt':'text-level-semantics','md-work-author':'microdata','dom-appcache-checking':'offline','refsXML':'references','selectors':'the-xhtml-syntax','attr-iframe-marginwidth':'obsolete','the-link-element':'semantics','command-superscript':'editing','applicationcache':'offline','comms':'comms','concept-fs-novalidate':'forms','attr-tbody-charoff':'obsolete','attr-input-type-hidden-keyword':'forms','htmlinputelement':'forms','htmloptionelement':'forms','attr-input-type-file-keyword':'forms','te-base-element':'semantics','the-basic-syntax':'microdata','md-vcard-type-tel-cell':'microdata','attr-input-type-checkbox-keyword':'forms','transparent':'embedded-content-0','event-handler-content-attributes':'browsers','linkTypes':'history','text-0':'syntax','the-html-element':'dom','attr-col-valign':'obsolete','refsMATHML':'references','concept-fs-action':'forms','attr-progress-max':'text-level-semantics','link-type-archives':'history','offsets-into-the-media-resource':'video','a-type-that-the-user-agent-knows-it-cannot-render':'video','md-vcard-type-tel-pref':'microdata','dom-time-date':'text-level-semantics','constraints':'forms','attr-input-multiple':'forms','attr-subject':'microdata','meta':'semantics','attr-link-type':'semantics','attr-td-th-height':'obsolete','refsPNG':'references','dom-link-disabled':'semantics','the-hidden-attribute':'editing','attr-a-rev':'obsolete','attr-input-accept':'forms','htmltablesectionelement':'tabular-data','secondary-browsing-context':'browsers','undo':'editing','link-ype-external':'history','command-facet-disabledstate':'interactive-elements','usage-summary':'text-level-semantics','top-level-microdata-items':'microdata','system-state-and-capabilities':'browsers','attr-details-open':'interactive-elements','content-models':'dom','htmltabledatacellelement':'tabular-data','footnotes':'text-level-semantics','other-link-types':'history','attr-abbr-title':'text-level-semantics','event-waiting':'video','event-dragstart':'editing','a-group-of-images-that-form-a-single-larger-picture-with-no-links':'text-level-semantics','apis-for-creating-and-navigating-browsing-contexts-by-name':'browsers','attr-area-alt':'the-canvas-element','represented-by-the-collection':'infrastructure','the-xml:base-attribute-xml-only':'dom','channel-messaging':'comms','sectioning-content-0':'dom','htmlelement':'dom','event-stalled':'video','attr-img-longdesc':'obsolete','enumerated-attribute':'infrastructure','attr-input-size':'forms','attr-dim-height':'the-canvas-element','space-separated-tokens':'infrasructure','htmlallcollection-0':'infrastructure','refsPINGBACK':'references','md-vcard-sort-string':'microdata','xml-documents':'dom','attr-menu-type':'interactive-elements','md-vcard-rev':'microdata','attr-input-value':'forms','semantics-0':'dom','htmlmediaelement':'video','plaintext':'obsolete','metadata-content':'dom','attr-object-vspace':'obsolete','documents':'dom','invalid_character_err':'infrastructure','htmlimageelement':'text-level-semantics','attr-object-hspace':'obsolete','refsXSLT10':'references','attr-meta-charset':'semantics','command-inserttext':'editing','attr-command-type-state-radio':'interactive-elements','crossDocumentMessages':'comms','the-selection':'editing','htmlcanvaselement':'the-canvas-element','md-vcard-type-impp-pref':'microdata','refsJSURL':'references','url':'infrastructure','valid-date-or-time-string':'infrastructure','the-ready-states':'video','selection':'editing','text':'the-canvas-element','attr-col-align':'obsolete','attr-time-datetime':'text-level-semantics','the-body-elment-0':'semantics','html-documents':'dom','fully-active':'browsers','attr-dfn-title':'text-level-semantics','the-html-element-0':'semantics','dom-location-port':'history','attr-body-bgcolor':'obsolete','messagechannel':'comms','comma-separated-tokens':'infrastructure','ready-for-editing-host-commands':'editing','dialogs-implemented-using-separate-documents':'browsers','md-vcard-type-email-pref':'microdata','refsEUCKR':'references','event-playing':'video','gcop-destination-out':'the-canvas-element','password-state':'forms','the-kbd-element':'text-level-semantics','htmlpropertycollection':'infrastructure','view':'browsers','selecting-names-when-defining-vocabularies':'microdata','the-head-element-0':'semantics','x-this':'introduction','concept-month':'infrastructure','attr-video-poster':'video','link-type-prefetch':'history','syntax-escape-start':'syntax','the-tfoot-element':'tabular-data','basefont':'obsolete','collections-0':'infrastructure','attr-table-bgcolor':'obsolete','md-vcard-geo':'microdata','commad-facet-id':'interactive-elements','commands':'interactive-elements','flow-content':'dom','command-forwarddelete':'editing','common-dom-interfaces':'infrastructure','an-image-in-an-e-mail-or-private-document-intended-for-a-specific-person-who-is-known-to-be-able-to-view-images':'text-level-semantics','attr-meta-scheme':'obsolete','attributes':'syntax','htmlarticleelement':'semantics','valid-date-string':'infrastructure','attr-canvas-width':'the-canvas-element','concept-date':'infrastructure','abort_err':'infrastructure','form-owner':'forms','dom-appcache-uncached':'offline','attr-input-src':'forms','attr-col-width':'obsolete','attr-tr-valign':'obsolete','attr-input-type':'forms','playing-the-media-resource':'video','defining-term':'text-level-semantics','the-textarea-element':'forms','the-link-is-an-alternative-stylesheet':'history','md-vcard-type-adr-dom':'microdata','md-vcard-type-tel-home':'microdata','valid-integer':'infrastructure','attr-object-codetype':'obsolete','dom-media-network_loading':'video','efsDOM2HTML':'references','nested-browsing-contexts':'browsers','event-canplay':'video','command-createlink':'editing','attr-media-autoplay':'video','md-vcard-type-adr-pref':'microdata','the-tbody-element':'tabular-data','event-loadend':'video','link-type-search':'history','named-access-on-the-window-object':'browsers','other-pragma-directives':'semantics','htmlformcontrolscollection':'infrastructure','md-work-license':'microdata','valid-denominator-punctuation-character':'infrastructure','center':'obsolete','refsWIN1252':'references','md-vcard-n-additional-name':'microdata','textFieldSelection':'editing','audio':'video','md-vcard-type-impp-home':'microdata','htmlcollection':'infrastructure','global-attributes':'dom','application-microdata-json':'iana-considerations','the-section-element':'semantics','link-type-stylesheet':'history','week-number-of-the-last-day':'infrastructure','attr-input-autocomplete-off-state':'forms','attr-fs-enctype-text':'forms','md-vcard-email':'microdata','syntax-end-tag':'syntax',md-about':'microdata','attr-link-hreflang':'semantics','outlines':'semantics','attr-area-shape-poly':'the-canvas-element','the-fieldset-element':'forms','radio-button-group':'forms','attr-a-coords':'obsolete','attr-link-target':'obsolete','dom-context-2d-textbaseline-hanging':'the-canvas-element','dom-navigator-registercontenthandler':'browsers','attr-command-label':'interactive-elements','how-to-read-this-specification':'introduction','attr-link-rel':'semantics','htmlformelement':'forms','attr-body-link':'obsolete','attr-link-rev':'obsolete','attr-iframe-marginheight':'obsolete','htmlanchorelement':'text-level-semantics','attr-textarea-wrap':'forms','event-loadstart':'video','md-vevent-dtend':'microdata','the-dir-attribute':'dom','the-doctype':'syntax','dom-location-hostname':'history','common-microsyntaxes':'infrastructure','refsHTMLDIFF':'references','attr-img-border':'obsolete','md-vcard-label-value':'microdata','event-appcache-error':'offline','the-small-element':'text-level-semantics','event-message':comms','custom-data-attribute':'dom','session-history-entry':'history','refsWIN949':'references','common-input-element-apis':'forms','messageportarray':'comms','attr-table-cellpadding':'obsolete','command-facet-icon':'interactive-elements','attr-ul-compact':'obsolete','navigatorid':'browsers','url-state':'forms','mime-type':'infrastructure','valid-hash-name-reference':'infrastructure','attr-command-type-keyword-command':'interactive-elements','md-vcard-label-type':'microdata','command-facet-hint':'interactive-elements','command-facet-action':'interactive-elements','md-vcard-type-impp-work':'microdata','loading-the-media-resource':'video','time-state':'forms','application-xhtml-xml':'iana-considerations','md-vcard-adr':'microdata','document-level-focus-apis':'editing','the-b-element':'text-level-semantics','vaguer-moments-in-time':'infrastructure','home-subtree':'infrastructure','media-data':'video','attr-fe-name':'forms','event-drop':'editing','text-level-semantics':'text-level-semantics','barprop':'browser','serializability-of-script-execution':'introduction','attr-input-type-search-keyword':'forms','editing':'editing','concept-http-equiv-extensions':'semantics','md-vcard-type-tel-pcs':'microdata','dom-location-host':'history','the-undomanager-interface':'editing','attr-legend-align':'obsolete','end-tags':'syntax','mime-types':'video','valid-lowercase-simple-color':'infrastructure','named-character-references':'named-character-references','dom-context-2d-textbaseline-bottom':'the-canvas-element','cdata-rcdata-restrictions':'syntax','rel-icon':'history','text-cache-manifest':'iana-considerations','htmltablecellelement':'tabular-data','the-samp-element':'text-level-semantics','grouping-content':'semantics','authors-using-html':'infrastructure','syntax-tag-omission':'syntax','event-appcache-downloading':'offline','the-optgroup-element':'forms','attr-canvas-height':'the-canvas-element','current-entry':'history','refsUNICODE':'references','refsRFC2426':'references','htmllabelelement':'forms','attr-input-autocomplte-default-state':'forms','start-tags':'syntax','content-categories':'dom','browsing-context-names':'browsers','submit-button-state':'forms','concept-select-option-list':'forms' };
var fragid = window.location.hash.substr(1);
if (!fragid) { /* handle section-foo.html links from the old multipage version, and broken foo.html from the new version */
var m = window.location.pathname.match(/\/(?:section-)?([\w\-]+)\.html/);
if (m) fragid = m[1];
}
var page = fragment_links[fragid];
if (page) {
window.location.replace(page+'.html#'+fragid);
}
--- NEW FILE: semantics.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>4 The elements of HTML — HTML 5</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; }
[...2503 lines suppressed...]
</ul></pre>
<p>The actual frequency of each tag is given using the <code title="attr-title"><a href="dom.html#the-title-attribute">title</a></code> attribute. A CSS style sheet is
provided to convert the markup into a cloud of differently-sized
words, but for user agents that do not support CSS or are not
visual, the markup contains annotations like "(popular)" or
"(rare)" to categorize the various tags by frequency, thus enabling
all users to benefit from the information.</p>
<p>The <code><a href="#the-ul-element">ul</a></code> element is used (rather than
<code><a href="#the-ol-element">ol</a></code>) because the order is not particular important:
while the list is in fact ordered alphabetically, it would convey
the same information if ordered by, say, the length of the tag.</p>
<p>The <code title="rel-tag"><a href="history.html#link-type-tag">tag</a></code> <code title="attr-hyperlink-rel"><a href="history.html#attr-hyperlink-rel">rel</a></code>-keyword is <em>not</em> used
on these <code><a href="text-level-semantics.html#the-a-element">a</a></code> elements because they do not represent tags
that apply to the page itself; they are just part of an index
listing the tags themselves.</p>
</div></body></html>
--- NEW FILE: index.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>Index — HTML 5</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 { border-bottom: solid; }
table tbody th:first-child { border-left: solid; }
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; }
.applies th > * { display: block; }
.applies thead code { display: block; }
.applies td { text-align: center; }
.applies .yes { background: yellow; }
.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: #EEFFEE; }
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"]), li > span:not([title=""]):not([class="XXX"]):not([class="impl"]) { 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; }
p.copyright { 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; }
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; }
.tall-and-narrow {
font-size: 0.6em;
column-width: 25em;
column-gap: 1em;
-moz-column-width: 25em;
-moz-column-gap: 1em;
-webkit-column-width: 25em;
-webkit-column-gap: 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; }
</style><link href="data:text/css," rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" rel="alternate stylesheet" title="Highlight implementation requirements"><link href="http://www.w3.org/StyleSheets/TR/W3C-WD" rel="stylesheet" type="text/css"><!-- ZZZ ED vs WD --><link href="iana-considerations.html" title="IANA considerations" rel="prev">
<link href="Overview.html#contents" title="Table of contents" rel="index">
<link href="references.html" title="References" rel="next">
</head><body onload="fixBrokenLink(); fixBrokenLink()"><div class="head">
<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>HTML 5</h1>
<h2 class="no-num no-toc" id="a-vocabulary-and-associated-apis-for-html-and-xhtml">A vocabulary and associated APIs for HTML and XHTML</h2>
</div><div>
<a href="iana-considerations.html">← IANA considerations</a> –
<a href="Overview.html#contents">Table of contents</a> –
<a href="references.html">References →</a>
</div>
<h2 class="no-num" id="index">Index</h2><p class="XXX annotation"><b>Status: </b><i>First draft</i></p><p><i>This section is non-normative.</i></p><table><caption>List of elements</caption>
<thead><tr><th> Element
</th><th> Categories
</th><th> Parents
</th><th> Children
</th><th> Attributes
</th><th> Interface
</th></tr></thead><tbody><tr><td class="XXX" colspan="6"> ...
</td></tr><tr><td> <code><a href="forms.html#the-label-element">label</a></code>
</td><td> <a href="dom.html#flow-content" title="flow content">flow</a>;
<a href="forms.html#form-associated-element" title="form-associated element">form-associated</a>;
<a href="embedded-content-0.html#interactive-content" title="interactive content">interactive</a>;
<a href="dom.html#phrasing-content" title="phrasing content">phrasing</a>
</td><td> <a href="dom.html#phrasing-content" title="phrasing content">phrasing</a>
</td><td> <a href="dom.html#phrasing-content" title="phrasing content">phrasing</a>*
</td><td> <code title="attr-label-for"><a href="forms.html#attr-label-for">for</a></code>;
<code title="attr-fae-form"><a href="forms.html#attr-fae-form">form</a></code>
</td><td> <code><a href="forms.html#htmllabelelement">HTMLLabelElement</a></code>
</td></tr><tr><td class="XXX" colspan="6"> ...
</td></tr></tbody></table><p>An asterisk (*) in a cell indicates that the actual rules are more complicated than indicated in the table above.</p><hr><table><caption>List of attributes</caption>
<thead><tr><th> Attribute
</th><th> Element(s)
</th><th> Value
</th></tr></thead><tbody><tr><td class="XXX" colspan="3"> ...
</td></tr><tr><td> <code title="attr-fae-form"><a href="forms.html#attr-fae-form">form</a></code>
</td><td> <code><a href="forms.html#the-button-element">button</a></code>;
<code><a href="forms.html#the-fieldset-element">fieldset</a></code>;
<code><a href="forms.html#the-input-element">input</a></code>;
<code><a href="forms.html#the-keygen-element">keygen</a></code>;
<code><a href="forms.html#the-label-element">label</a></code>;
<code><a href="text-level-semantics.html#the-object-element">object</a></code>;
<code><a href="forms.html#the-output-element">output</a></code>;
<code><a href="forms.html#the-select-element">select</a></code>;
<code><a href="forms.html#the-textarea-element">textarea</a></code>
</td><td> ID*
</td></tr><tr><td class="XXX" colspan="3"> ...
</td></tr></tbody></table><p>An asterisk (*) in a cell indicates that the actual rules are more complicated than indicated in the table above.</p><hr><table><caption>List of <dfn id="reflecting-dom-attributes">reflecting DOM attributes</dfn></caption>
<thead><tr><th> Interface
</th><th> Element(s)
</th><th> DOM attribute
</th><th> Reflects...
</th></tr></thead><tbody><tr><td class="XXX" colspan="4"> ...
</td></tr><tr><td> <code><a href="dom.html#htmlelement">HTMLElement</a></code>
</td><td> <a href="infrastructure.html#html-elements">HTML elements</a>
</td><td> <code title="dom-contextMenu"><a href="#dom-contextmenu">contextMenu</a></code>
</td><td> <code title="attr-contextmenu"><a href="interactive-elements.html#attr-contextmenu">contextmenu</a></code>
</td></tr><tr><td> <code><a href="forms.html#htmloptionelement">HTMLOptionElement</a></code>
</td><td> <code><a href="forms.html#the-option-element">option</a></code>
</td><td> <code title="dom-option-text"><a href="#dom-option-text">text</a></code>
</td><td> <code>textContent</code>
</td></tr><tr><td class="XXX" colspan="4"> ...
</td></tr></tbody></table><!-- include option.text; textarea.defaultValue, and other attributes that "reflect" the element's textContent --><hr><table><caption>List of interfaces for elements</caption>
<thead><tr><th> Element(s)
</th><th> Interface(s)
</th></tr></thead><tbody><tr><td class="XXX" colspan="2"> ...
</td></tr><tr><td> <code><a href="forms.html#the-option-element">option</a></code>
</td><td> <code><a href="forms.html#htmloptionelement">HTMLOptionElement</a></code> : <code><a href="dom.html#htmlelement">HTMLElement</a></code>
</td></tr><tr><td class="XXX" colspan="2"> ...
</td></tr></tbody></table><hr><table><caption>List of events</caption>
<thead><tr><th> Event
</th></tr></thead><tbody><tr><td class="XXX" colspan="1"> ...
</td></tr><tr><td> <code title="event-load"><a href="video.html#event-load">load</a></code>
</td></tr><tr><td class="XXX" colspan="1"> ...
</td></tr></tbody></table></body></html>
--- NEW FILE: comms.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>8 Communication — HTML 5</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 { border-bottom: solid; }
table tbody th:first-child { border-left: solid; }
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; }
.applies th > * { display: block; }
.applies thead code { display: block; }
.applies td { text-align: center; }
.applies .yes { background: yellow; }
.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: #EEFFEE; }
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"]), li > span:not([title=""]):not([class="XXX"]):not([class="impl"]) { 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; }
p.copyright { 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; }
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; }
.tall-and-narrow {
font-size: 0.6em;
column-width: 25em;
column-gap: 1em;
-moz-column-width: 25em;
-moz-column-gap: 1em;
-webkit-column-width: 25em;
-webkit-column-gap: 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; }
</style><link href="data:text/css," rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" rel="alternate stylesheet" title="Highlight implementation requirements"><link href="http://www.w3.org/StyleSheets/TR/W3C-WD" rel="stylesheet" type="text/css"><!-- ZZZ ED vs WD --><link href="editing.html" title="7 User Interaction" rel="prev">
<link href="Overview.html#contents" title="Table of contents" rel="index">
<link href="syntax.html" title="9 The HTML syntax" rel="next">
</head><body onload="fixBrokenLink(); fixBrokenLink()"><div class="head">
<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>HTML 5</h1>
<h2 class="no-num no-toc" id="a-vocabulary-and-associated-apis-for-html-and-xhtml">A vocabulary and associated APIs for HTML and XHTML</h2>
</div><div>
<a href="editing.html">← 7 User Interaction</a> –
<a href="Overview.html#contents">Table of contents</a> –
<a href="syntax.html">9 The HTML syntax →</a>
</div>
<h2 id="comms"><span class="secno">8 </span>Communication</h2><h3 id="event-definitions"><span class="secno">8.1 </span>Event definitions</h3><!-- XXX cross-references for SSE and WS need fixing now that this is cross-spec --><p>Messages in <span>server-sent events</span>, <span>Web
sockets</span>, <a href="#crossDocumentMessages">cross-document messaging</a>, and
<a href="#channel-messaging">channel messaging</a> use the <dfn id="event-message" title="event-message"><code>message</code></dfn> event.</p><p>The following interface is defined for this event:</p><pre class="idl">interface <dfn id="messageevent">MessageEvent</dfn> : Event {
readonly attribute any <a href="#dom-messageevent-data" title="dom-MessageEvent-data">data</a>;
readonly attribute DOMString <a href="#dom-messageevent-origin" title="dom-MessageEvent-origin">origin</a>;
readonly attribute DOMString <a href="#dom-messageevent-lasteventid" title="dom-MessageEvent-lastEventId">lastEventId</a>;
readonly attribute <a href="#windowproxy">WindowProxy</a> <a href="#dom-messageevent-source" title="dom-MessageEvent-source">source</a>;
readonly attribute <a href="#messageportarray">MessagePortArray</a> <a href="#dom-messageevent-ports" title="dom-MessageEvent-ports">ports</a>;
void <a href="#dom-messageevent-initmessageevent" title="dom-MessageEvent-initMessageEvent">initMessageEvent</a>(in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in any dataArg, in DOMString originArg, in DOMString lastEventIdArg, in <a href="#windowproxy">WindowProxy</a> sourceArg, in <a href="#messageportarray">MessagePortArray</a> portsArg);
void <a href="#dom-messageevent-initmessageeventns" title="dom-MessageEvent-initMessageEventNS">initMessageEventNS</a>(in DOMString namespaceURI, in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in any dataArg, in DOMString originArg, in DOMString lastEventIdArg, in <a href="#windowproxy">WindowProxy</a> sourceArg, in <a href="#messageportarray">MessagePortArray</a> portsArg);
};</pre><dl class="domintro"><dt><var title="">event</var> . <code title="dom-MessageEvent-data"><a href="#dom-messageevent-data">data</a></code></dt>
<dd>
<p>Returns the data of the message.</p>
</dd>
<dt><var title="">event</var> . <code title="dom-MessageEvent-origin"><a href="#dom-messageevent-origin">origin</a></code></dt>
<dd>
<p>Returns the origin of the message, for <span>server-sent
events</span> and <a href="#crossDocumentMessages">cross-document messaging</a>.</p>
</dd>
<dt><var title="">event</var> . <code title="dom-MessageEvent-lastEventId"><a href="#dom-messageevent-lasteventid">lastEventId</a></code></dt>
<dd>
<p>Returns the last event ID, for <span>server-sent
events</span>.</p>
</dd>
<dt><var title="">event</var> . <code title="dom-MessageEvent-source"><a href="#dom-messageevent-source">source</a></code></dt>
<dd>
<p>Returns the <code><a href="#windowproxy">WindowProxy</a></code> of the source window, for
<a href="#crossDocumentMessages">cross-document messaging</a>.</p>
</dd>
<dt><var title="">event</var> . <code title="dom-MessageEvent-ports"><a href="#dom-messageevent-ports">ports</a></code></dt>
<dd>
<p>Returns the <code><a href="#messageportarray">MessagePortArray</a></code> sent with the
message, for <a href="#crossDocumentMessages">cross-document messaging</a> and
<a href="#channel-messaging">channel messaging</a>.</p>
</dd>
</dl><h3 id="crossDocumentMessages"><span class="secno">8.2 </span><dfn>Cross-document messaging</dfn></h3><p class="XXX annotation"><b>Status: </b><i>Awaiting implementation feedback</i></p><p>Web browsers, for security and privacy reasons, prevent documents
in different domains from affecting each other; that is, cross-site
scripting is disallowed.</p><p>While this is an important security feature, it prevents pages
from different domains from communicating even when those pages are
not hostile. This section introduces a messaging system that allows
documents to communicate with each other regardless of their source
domain, in a way designed to not enable cross-site scripting
attacks.</p><h4 id="introduction-6"><span class="secno">8.2.1 </span>Introduction</h4><p><i>This section is non-normative.</i></p><div class="example">
<p>For example, if document A contains an <code><a href="text-level-semantics.html#the-iframe-element">iframe</a></code>
element that contains document B, and script in document A calls
<code title="dom-window-postMessage-2"><a href="#dom-window-postmessage-2">postMessage()</a></code> on the
<code><a href="browsers.html#window">Window</a></code> object of document B, then a message event will
be fired on that object, marked as originating from the
<code><a href="browsers.html#window">Window</a></code> of document A. The script in document A might
look like:</p>
<pre>var o = document.getElementsByTagName('iframe')[0];
o.contentWindow.postMessage('Hello world', 'http://b.example.org/');</pre>
<p>To register an event handler for incoming events, the script
would use <code title="">addEventListener()</code> (or similar
mechanisms). For example, the script in document B might look
like:</p>
<pre>window.addEventListener('message', receiver, false);
function receiver(e) {
if (e.origin == 'http://example.com') {
if (e.data == 'Hello world') {
e.source.postMessage('Hello', e.origin);
} else {
alert(e.data);
}
}
}</pre>
<p>This script first checks the domain is the expected domain, and
then looks at the message, which it either displays to the user, or
responds to by sending a message back to the document which sent
the message in the first place.</p>
</div><h4 id="security-4"><span class="secno">8.2.2 </span>Security</h4><p class="warning">Use of this API requires extra care to protect
users from hostile entities abusing a site for their own
purposes.</p><p>Authors should check the <code title="dom-MessageEvent-origin"><a href="#dom-messageevent-origin">origin</a></code> attribute to ensure
that messages are only accepted from domains that they expect to
receive messages from. Otherwise, bugs in the author's message
handling code could be exploited by hostile sites.</p><p>Furthermore, even after checking the <code title="dom-MessageEvent-origin"><a href="#dom-messageevent-origin">origin</a></code> attribute, authors
should also check that the data in question is of the expected
format. Otherwise, if the source of the event has been attacked
using a cross-site scripting flaw, further unchecked processing of
information sent using the <code title="dom-window-postMessage-2"><a href="#dom-window-postmessage-2">postMessage()</a></code> method could
result in the attack being propagated into the receiver.</p><p>Authors should not use the wildcard keyword ("*") in the <var title="">targetOrigin</var> argument in messages that contain any
confidential information, as otherwise there is no way to guarantee
that the message is only delivered to the recipient to which it was
intended.</p><h4 id="posting-messages"><span class="secno">8.2.3 </span>Posting messages</h4><dl class="domintro"><dt><var title="">window</var> . <code title="dom-window-postMessage-2"><a href="#dom-window-postmessage-2">postMessage</a></code>(<var title="">message</var>, [ <var title="">ports</var>, ] <var title="">targetOrigin</var>)</dt>
<dd>
<p>Posts a message, optionally with an array of ports, to the
given window.</p>
<p>If the origin of the target window doesn't match the given
origin, the message is discarded, to avoid information leakage. To
send the message to the target regardless of origin, set the
target origin to "<code title="">*</code>".</p>
<p>Throws an <code><a href="infrastructure.html#invalid_state_err">INVALID_STATE_ERR</a></code> if the <var title="">ports</var> array is not null and it contains either null
entries or duplicate ports.</p>
</dd>
</dl><h3 id="channel-messaging"><span class="secno">8.3 </span><dfn>Channel messaging</dfn></h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><h4 id="introduction-7"><span class="secno">8.3.1 </span>Introduction</h4><p><i>This section is non-normative.</i></p><p class="XXX">An introduction to the channel and port
APIs.</p><h4 id="message-channels"><span class="secno">8.3.2 </span>Message channels</h4><pre class="idl">[<a href="#dom-messagechannel" title="dom-MessageChannel">Constructor</a>]
interface <dfn id="messagechannel">MessageChannel</dfn> {
readonly attribute <a href="#messageport">MessagePort</a> <a href="#dom-channel-port1" title="dom-channel-port1">port1</a>;
readonly attribute <a href="#messageport">MessagePort</a> <a href="#dom-channel-port2" title="dom-channel-port2">port2</a>;
};</pre><dl class="domintro"><dt><var title="">channel</var> = new <code title="dom-MessageChannel"><a href="#dom-messagechannel">MessageChannel</a></code>()</dt>
<dd>
<p>Returns a new <code><a href="#messagechannel">MessageChannel</a></code> object with two new <code><a href="#messageport">MessagePort</a></code> objects.</p>
</dd>
<dt><var title="">channel</var> . <code title="dom-MessageChannel-port1">port1</code></dt>
<dd>
<p>Returns the first <code><a href="#messageport">MessagePort</a></code> object.</p>
</dd>
<dt><var title="">channel</var> . <code title="dom-MessageChannel-port2">port2</code></dt>
<dd>
<p>Returns the second <code><a href="#messageport">MessagePort</a></code> object.</p>
</dd>
</dl><h4 id="message-ports"><span class="secno">8.3.3 </span>Message ports</h4><p>Each channel has two message ports. Data sent through one port is
received by the other port, and vice versa.</p><pre class="idl">typedef sequence<MessagePort> <dfn id="messageportarray">MessagePortArray</dfn>;
interface <dfn id="messageport">MessagePort</dfn> {
<!-- v2-onclose readonly attribute boolean <span title="dom-MessagePort-active">active</span>;
--> void <a href="#dom-messageport-postmessage" title="dom-MessagePort-postMessage">postMessage</a>(in any message, optional in <a href="#messageportarray">MessagePortArray</a> ports);<!--
<span>MessagePort</span> <span title="dom-MessagePort-startConversation">startConversation</span>(in any message);-->
void <a href="#dom-messageport-start" title="dom-MessagePort-start">start</a>();
void <a href="#dom-messageport-close" title="dom-MessagePort-close">close</a>();
// event handler attributes
attribute <a href="#function">Function</a> <a href="#handler-messageport-onmessage" title="handler-MessagePort-onmessage">onmessage</a>;
};</pre><dl class="domintro"><!-- v2-onclose
<dt><var title="">port</var> . <code title="dom-MessagePort-active">active</code></dt>
<dd>
<p>Returns true if the port is still active; otherwise, returns false.</p>
</dd>
--><dt><var title="">port</var> . <code title="dom-MessagePort-poseMessage">postMessage</code>(<var title="">message</var> [, <var title="">ports</var>] )</dt>
<dd>
<p>Posts a message through the channel, optionally with the given
ports.</p>
<p>Throws an <code><a href="infrastructure.html#invalid_state_err">INVALID_STATE_ERR</a></code> if the <var title="">ports</var> array is not null and it contains either null
entries, duplicate ports, or the source or target port.</p>
</dd>
<dt><var title="">port</var> . <code title="dom-MessagePort-start"><a href="#dom-messageport-start">start</a></code>()</dt>
<dd>
<p>Begins dispatching messages received on the port.</p>
</dd>
<dt><var title="">port</var> . <code title="dom-MessagePort-close"><a href="#dom-messageport-close">close</a></code>()</dt>
<dd>
<p>Disconnects the port, so that it is no longer active.</p>
</dd>
</dl><h5 id="ports-and-garbage-collection"><span class="secno">8.3.3.1 </span>Ports and garbage collection</h5><p class="note">Authors are strongly encouraged to explicitly close
<code><a href="#messageport">MessagePort</a></code> objects to disentangle them, so that their
resources can be recollected. Creating many <code><a href="#messageport">MessagePort</a></code>
objects and discarding them without closing them can lead to high
memory usage.</p></body></html>
--- NEW FILE: spec.html ---
<!DOCTYPE html><!-- when publishing, change bits marked ZZZ --><html lang=en-US-x-Hixie><head><title>HTML 5</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; }
[...26774 lines suppressed...]
XXX * make the spec more consistent about its use of "hexadecimal"
and "base-sixteen", the order that 0-9 A-Z a-z is mentioned,
and the detail to which the spec explains how to interpret a
string as a hexadecimal number.
XXX * expose the form data set, either as an object (on which one can
invoke the JSON serialiser), or in the form of a method on
HTMLFormElement that returns the form data set serialised
according to a particular encoding (defaulting to the form's
enctype="" one, probably). This would allow forms to be used
with XHR-like systems without having to manually construct the
form data set the way that is done today.
XXX * become more consistent about what markup we use to mark up
productions (nothing? <i>? <code>?)
XXX * should check all cases of 'active document' and change the
relevant ones to 'fully active document'.
XXX * use <code>Document</code> consistently instead of 'document'.
XXX * s/raise/throw/g
XXX * be clearer about arrays/lists/collections being zero-based
despite using the term "/index/th".
--></body></html>
--- NEW FILE: introduction.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>1 Introduction — HTML 5</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 { border-bottom: solid; }
table tbody th:first-child { border-left: solid; }
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; }
.applies th > * { display: block; }
.applies thead code { display: block; }
.applies td { text-align: center; }
.applies .yes { background: yellow; }
.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: #EEFFEE; }
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"]), li > span:not([title=""]):not([class="XXX"]):not([class="impl"]) { 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; }
p.copyright { 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; }
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; }
.tall-and-narrow {
font-size: 0.6em;
column-width: 25em;
column-gap: 1em;
-moz-column-width: 25em;
-moz-column-gap: 1em;
-webkit-column-width: 25em;
-webkit-column-gap: 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; }
</style><link href="data:text/css," rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" rel="alternate stylesheet" title="Highlight implementation requirements"><link href="http://www.w3.org/StyleSheets/TR/W3C-WD" rel="stylesheet" type="text/css"><!-- ZZZ ED vs WD --><link href="Overview.html#contents" title="Table of contents" rel="index">
<link href="infrastructure.html" title="2 Common infrastructure" rel="next">
</head><body onload="fixBrokenLink(); fixBrokenLink()"><div class="head">
<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>HTML 5</h1>
<h2 class="no-num no-toc" id="a-vocabulary-and-associated-apis-for-html-and-xhtml">A vocabulary and associated APIs for HTML and XHTML</h2>
</div><div>
<a href="Overview.html#contents">Table of contents</a> –
<a href="infrastructure.html">2 Common infrastructure →</a>
</div>
<h2 id="introduction"><span class="secno">1 </span>Introduction</h2><p class="XXX annotation"><b>Status: </b><i>Working draft</i></p><h3 id="background"><span class="secno">1.1 </span>Background</h3><p><i>This section is non-normative.</i></p><p>The World Wide Web's markup language has always been HTML. HTML
was primarily designed as a language for semantically describing
scientific documents, although its general design and adaptations
over the years have enabled it to be used to describe a number of
other types of documents.</p><p>The main area that has not been adequately addressed by HTML is a
vague subject referred to as Web Applications. This specification
attempts to rectify this, while at the same time updating the HTML
specifications to address issues raised in the past few years.</p><h3 id="audience"><span class="secno">1.2 </span>Audience</h3><p class="XXX annotation"><b>Status: </b><i>Working draft</i></p><p><i>This section is non-normative.</i></p><p>This specification is intended for authors of documents and
scripts that use the features defined in this specification, implementors of tools that operate on pages that use
the features defined in this specification, and individuals wishing
to establish the correctness of documents or implementations with
respect to the requirements of this specification</p><p>This document is probably not suited to readers who do not
already have at least a passing familiarity with Web technologies,
as in places it sacrifices clarity for precision, and brevity for
completeness. More approachable tutorials and authoring guides can
provide a gentler introduction to the topic.</p><p>In particular, familiarity with the basics of DOM Core and DOM
Events is necessary for a complete understanding of some of the more
technical parts of this specification. An understanding of Web IDL,
HTTP, XML, Unicode, character encodings, JavaScript, and CSS will
also be helpful in places but is not essential.</p><h3 id="scope"><span class="secno">1.3 </span>Scope</h3><p><i>This section is non-normative.</i></p><p>This specification is limited to providing a semantic-level
markup language and associated semantic-level scripting APIs for
authoring accessible pages on the Web ranging from static documents
to dynamic applications.</p><p>The scope of this specification does not include providing
mechanisms for media-specific customization of presentation
(although default rendering rules for Web browsers are included at
the end of this specification, and several mechanisms for hooking
into CSS are provided as part of the language).</p><p>The scope of this specification does not include documenting
every HTML or DOM feature supported by Web browsers. Browsers
support many features that are considered to be very bad for
accessibility or that are otherwise inappropriate. For example, the
<code><a href="obsolete.html#blink">blink</a></code> element is clearly presentational and authors
wishing to cause text to blink should instead use CSS.</p><p>The scope of this specification is not to describe an entire
operating system. In particular, hardware configuration software,
image manipulation tools, and applications that users would be
expected to use with high-end workstations on a daily basis are out
of scope. In terms of applications, this specification is targeted
specifically at applications that would be expected to be used by
users on an occasional basis, or regularly but from disparate
locations, with low CPU requirements. For instance online purchasing
systems, searching systems, games (especially multiplayer online
games), public telephone books or address books, communications
software (e-mail clients, instant messaging clients, discussion
software), document editing software, etc.</p><h3 id="history-1"><span class="secno">1.4 </span>History</h3><p><i>This section is non-normative.</i></p><p>Work on HTML 5 originally started in late 2003, as a proof
of concept to show that it was possible to extend HTML 4's forms to
provide many of the features that XForms 1.0 introduced, without
requiring browsers to implement rendering engines that were
incompatible with existing HTML Web pages. At this early stage,
while the draft was already publicly available, and input was
already being solicited from all sources, the specification was only
under Opera Software's copyright.</p><p>In early 2004, some of the principles that underlie this effort,
as well as an early draft proposal covering just forms-related
features, were presented to the W3C jointly by Mozilla and Opera at
a workshop discussing the future of Web Applications on the Web. The
proposal was rejected on the grounds that the proposal conflicted
with the previously chosen direction for the Web's evolution.</p><p>Shortly thereafter, Apple, Mozilla, and Opera jointly announced
their intent to continue working on the effort. A public mailing
list was created, and the drafts were moved to the WHATWG site. The
copyright was subsequently amended to be jointly owned by all three
vendors, and to allow reuse of the specifications.</p><p>In 2006, the W3C expressed interest in the specification, and
created a working group chartered to work with the WHATWG on the
development of the HTML 5 specifications. The working group
opened in 2007. Apple, Mozilla, and Opera allowed the W3C to publish
the specifications under the W3C copyright, while keeping versions
with the less restrictive license on the WHATWG site.</p><p>Since then, both groups have been working together.</p><h3 id="design-notes"><span class="secno">1.5 </span>Design notes</h3><p><i>This section is non-normative.</i></p><p>It must be admitted that many aspects of HTML appear at first
glance to be nonsensical and inconsistent.</p><p>HTML, its supporting DOM APIs, as well as many of its supporting
technologies, have been developed over a period of several decades
by a wide array of people with different priorities who, in many
cases, did not know of each other's existence.</p><p>Features have thus arisen from many sources, and have not always
been designed in especially consistent ways. Furthermore, because of
the unique characteristics of the Web, implementation bugs have
often become de-facto, and now de-jure, standards, as content is
often unintentionally written in ways that rely on them before they
can be fixed.</p><p>Despite all this, efforts have been made to adhere to certain
design goals. These are described in the next few subsections.</p><h4 id="serializability-of-script-execution"><span class="secno">1.5.1 </span>Serializability of script execution</h4><p><i>This section is non-normative.</i></p><p>To avoid exposing Web authors to the complexities of
multithreading, the HTML and DOM APIs are designed such that no
script can ever detect the simultaneous execution of other
scripts. Even with <span title="Worker">workers</span>, the intent
is that the behavior of implementations can be thought of as
completely serializing the execution of all scripts in all <a href="browsers.html#browsing-context" title="browsing context">browsing contexts</a>.</p><p class="note">The <code title="dom-navigator-GetStorageUpdates"><a href="#dom-navigator-getstorageupdates">navigator.getStorageUpdates()</a></code>
method, in this model, is equivalent to allowing other scripts to
run while the calling script is blocked.</p><h4 id="compliance-with-other-specifications"><span class="secno">1.5.2 </span>Compliance with other specifications</h4><p><i>This section is non-normative.</i></p><p>This specification interacts with and relies on a wide variety of
other specifications. In certain circumstances, unfortunately, the
desire to be compatible with legacy content has led to this
specification violating the requirements of these other
specifications. Whenever this has occurred, the transgressions have
been noted as "<dfn id="willful-violation" title="willful violation">willful
violations</dfn>".</p><h3 id="relationships-to-other-specifications"><span class="secno">1.6 </span>Relationships to other specifications</h3><h4 id="relationship-to-html-4.01-and-dom2-html"><span class="secno">1.6.1 </span>Relationship to HTML 4.01 and DOM2 HTML</h4><p class="XXX annotation"><b>Status: </b><i>Working draft</i></p><p><i>This section is non-normative.</i></p><p>This specification describes a new revision of the HTML language
and its associated DOM API.</p><p>The requirements in this specification for features that were
already in HTML 4 and DOM2 HTML are based primarily on the
implementation and deployment experience collected over the past ten
years. Some features have been removed from the language, based on
best current practices; implementation requirements for some of
these, as well as for non-standard features that have nonetheless
garnered wide use, are still included in this specification to allow
implementations to continue supporting legacy content. <a href="references.html#refsHTML4">[HTML4]</a> <a href="references.html#refsDOM2HTML">[DOM2HTML]</a></p><p>A separate document has been published by the W3C HTML working
group to provide a more detailed reference of the differences
between this specification and the language described in the HTML 4
specification. <a href="references.html#refsHTMLDIFF">[HTMLDIFF]</a></p><h4 id="relationship-to-xhtml-1.x"><span class="secno">1.6.2 </span>Relationship to XHTML 1.x</h4><p class="XXX annotation"><b>Status: </b><i>Working draft</i></p><p><i>This section is non-normative.</i></p><p>This specification is intended to replace XHTML 1.0 as the
normative definition of the XML serialization of the HTML
vocabulary. <a href="references.html#refsXHTML10">[XHTML10]</a></p><p>While this specification updates the semantics and requirements
of the vocabulary defined by XHTML Modularization 1.1 and used by
XHTML 1.1, it does not attempt to provide a replacement for the
modularization scheme defined and used by those (and other)
specifications, and therefore cannot be considered a complete
replacement for them. <a href="references.html#refsXHTMLMOD">[XHTMLMOD]</a> <a href="references.html#refsXHTML11">[XHTML11]</a></p><p>Thus, authors and implementors who do not need such a
modularization scheme can consider this specification a replacement
for XHTML 1.x, but those who do need such a mechanism are encouraged
to continue using the XHTML 1.1 line of specifications.</p><h3 id="html-vs-xhtml"><span class="secno">1.7 </span>HTML vs XHTML</h3><p class="XXX annotation"><b>Status: </b><i>Controversial Working Draft</i></p><p><i>This section is non-normative.</i></p><p>This specification defines an abstract language for describing
documents and applications, and some APIs for interacting with
in-memory representations of resources that use this language.</p><p>The in-memory representation is known as "DOM5 HTML", or "the
DOM" for short.</p><p>There are various concrete syntaxes that can be used to transmit
resources that use this abstract language, two of which are defined
in this specification.</p><p>The first such concrete syntax is "HTML5". This is the format
recommended for most authors. It is compatible with most legacy Web
browsers. If a document is transmitted with the <a href="infrastructure.html#mime-type">MIME
type</a> <code><a href="iana-considerations.html#text-html">text/html</a></code>, then it will be processed as an
"HTML5" document by Web browsers.</p><p>The second concrete syntax uses XML, and is known as
"XHTML5". When a document is transmitted with an <a href="infrastructure.html#xml-mime-type">XML MIME
type</a>, such as <code><a href="iana-considerations.html#application-xhtml-xml">application/xhtml+xml</a></code>, then it is
treated as an "XHTML5" document by Web browsers, which means that it
will be handled by an XML processor. Authors are reminded that the
processing for XML and HTML differs; in particular, even minor
syntax errors will prevent an XML document from being rendered
fully, whereas they would be ignored in the "HTML5" syntax.</p><p>The "DOM5 HTML", "HTML5", and "XHTML5" representations cannot all
represent the same content. For example, namespaces cannot be
represented using "HTML5", but they are supported in "DOM5 HTML" and
"XHTML5". Similarly, documents that use the <code><a href="semantics.html#the-noscript-element">noscript</a></code>
feature can be represented using "HTML5", but cannot be represented
with "XHTML5" and "DOM5 HTML". Comments that contain the string
"<code title="">--></code>" can be represented in "DOM5 HTML" but
not in "HTML5" and "XHTML5". And so forth.</p><h3 id="structure-of-this-specification"><span class="secno">1.8 </span>Structure of this specification</h3><p><i>This section is non-normative.</i></p><p>This specification is divided into the following major
sections:</p><dl><dt><a href="infrastructure.html#infrastructure">Common Infrastructure</a></dt>
<dd>The conformance classes, algorithms, definitions, and the
common underpinnings of the rest of the specification.</dd>
<dt><a href="dom.html#dom">Semantics, structure, and APIs of HTML documents</a></dt>
<dd>Documents are built from elements. These elements form a tree
using the DOM. This section defines the features of this DOM, as
well as introducing the features common to all elements, and the
concepts used in defining elements.</dd>
<dt><a href="semantics.html#semantics">Elements</a></dt>
<dd>Each element has a predefined meaning, which is explained in
this section. Rules for authors on how to use the element, along with user agent requirements for how to handle
each element,</dd>
<dt><a href="microdata.html#microdata">Microdata</a></dt>
<dd>This specification introduces a mechanism for adding
machine-readable annotations to documents, so that tools can
extract trees of name/value pairs from the document. This section
describes this mechanism and some algorithms
that can be used to convert HTML documents into other
formats</dd>
<dt><a href="browsers.html#browsers">Web Browsers</a></dt>
<dd>HTML documents do not exist in a vacuum — this section
defines many of the features that affect environments that deal
with multiple pages, links between pages, and running scripts.</dd>
<dt><a href="editing.html#editing">User Interaction</a></dt>
<dd>HTML documents can provide a number of mechanisms for users to
interact with and modify content, which are described in this
section.</dd>
<dt><a href="comms.html#comms">The Communication APIs</a></dt>
<dd>This section describes some mechanisms that applications
written in HTML can use to communicate with other applications from
different domains running on the same client.</dd>
<dt><a href="syntax.html#syntax">The HTML Syntax</a></dt>
<dt><a href="the-xhtml-syntax.html#xhtml">The XHTML Syntax</a></dt>
<dd>All of these features would be for naught if they couldn't be
represented in a serialized form and sent to other people, and so
these sections define the syntaxes of HTML, along with rules for
how to parse content using those syntaxes.</dd>
</dl><p>There are also a couple of appendices, defining <a href="#rendering">rendering rules</a> for Web browsers and listing
<a href="obsolete.html#obsolete">obsolete features</a> and <a href="no.html#no">areas
that are out of scope</a> for this specification.</p><h4 id="how-to-read-this-specification"><span class="secno">1.8.1 </span>How to read this specification</h4><p>This specification should be read like all other specifications.
First, it should be read cover-to-cover, multiple times. Then, it
should be read backwards at least once. Then it should be read by
picking random sections from the contents list and following all the
cross-references.</p><h4 id="typographic-conventions"><span class="secno">1.8.2 </span>Typographic conventions</h4><p class="XXX annotation"><b>Status: </b><i>Implemented and widely deployed</i></p><p>This is a definition, requirement, or explanation.</p><p class="note">This is a note.</p><p class="example">This is an example.</p><p class="XXX">This is an open issue.</p><p class="warning">This is a warning.</p><pre class="idl extract">interface <dfn title="">Example</dfn> {
// this is an IDL definition
};</pre><dl class="domintro"><dt><var title="">variable</var> = <var title="">object</var> . <code title="">method</code>( [ <var title="">optionalArgument</var> ] )</dt>
<dd>
<p>This is a note to authors describing the usage of an interface.</p>
</dd>
</dl><pre class="css">/* this is a CSS fragment */</pre><p>The defining instance of a term is marked up like <dfn id="x-this" title="x-this">this</dfn>. Uses of that term are marked up like
<a href="#x-this" title="x-this">this</a> or like <i title="x-this"><a href="#x-this">this</a></i>.</p><p>The defining instance of an element, attribute, or API is marked
up like <dfn id="x-that" title="x-that"><code>this</code></dfn>. References to
that element, attribute, or API are marked up like <code title="x-that"><a href="#x-that">this</a></code>.</p><p>Other code fragments are marked up <code title="">like
this</code>.</p><p>Variables are marked up like <var title="">this</var>.</p><h3 id="a-quick-introduction-to-html"><span class="secno">1.9 </span>A quick introduction to HTML</h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p><i>This section is non-normative.</i></p><p>A basic HTML document looks like this:</p><pre><!DOCTYPE html>
<html>
<head>
<title>Sample page</title>
</head>
<body>
<h1>Sample page</h1>
<p>This is a <a href="demo.html">simple</a> sample.</p>
<!-- this is a comment -->
</body>
</html></pre><p>HTML documents consist of a tree of elements and text. Each
element is denoted in the source by a <a href="syntax.html#syntax-start-tag" title="syntax-start-tag">start tag</a>, such as "<code title=""><body></code>", and an <a href="syntax.html#syntax-end-tag" title="syntax-end-tag">end
tag</a>, such as "<code title=""></body></code>". (Certain
start tags and end tags can in certain cases be <a href="syntax.html#syntax-tag-omission" title="syntax-tag-omission">omitted</a> and are implied by other
tags.)</p><p>Tags have to be nested such that elements are all completely
within each other, without overlapping:</p><pre class="bad"><p>This is <em>very <strong>wrong</em>!</strong></p></pre><pre><p>This <em>is <strong>correct</strong>.</em></p></pre><p>This specification defines a set of elements that can be used in
HTML, along with rules about the ways in which the elements can be
nested.</p><p>Elements can have attributes, which control how the elements
work. In the example above, there is a <a href="history.html#hyperlink">hyperlink</a>,
formed using the <code><a href="text-level-semantics.html#the-a-element">a</a></code> element and its <code title="attr-hyperlink-href"><a href="history.html#attr-hyperlink-href">href</a></code> attribute:</p><pre><a href="demo.html">simple</a></pre><p><a href="syntax.html#syntax-attributes" title="syntax-attributes">Attributes</a> are placed
inside the start tag, and consist of a <a href="syntax.html#syntax-attribute-name" title="syntax-attribute-name">name</a> and a <a href="syntax.html#syntax-attribute-value" title="syntax-attribute-value">value</a>, separated by an "<code title="">=</code>" character. The attribute value can be <a href="syntax.html#unquoted">left unquoted</a> if it doesn't contain any special
characters. Otherwise, it has to be quoted using either single or
double quotes. The value, along with the "<code title="">=</code>"
character, can be omitted altogether if the value is the empty
string.</p><pre><!-- empty attributes -->
<input name=address disabled>
<input name=address disabled="">
<!-- attributes with a value -->
<input name=address maxlength=200>
<input name=address maxlength='200'>
<input name=address maxlength="200"></pre><p>HTML user agents (e.g. Web browsers) then <i>parse</i> this
markup, turning it into a DOM (Document Object Model) tree. A DOM
tree is an in-memory representation of a document.</p><p>DOM trees contain several kinds of nodes, in particular a DOCTYPE
node, elements, text nodes, and comment nodes.</p><p>The markup snippet at the top of this section would be turned
into the following DOM tree:</p><ul class="domTree"><li class="t10">DOCTYPE: <code><a href="semantics.html#the-html-element-0">html</a></code></li><li class="t1"><code><a href="semantics.html#the-html-element-0">html</a></code><ul><li class="t1"><code><a href="semantics.html#the-head-element-0">head</a></code><ul><li class="t3"><code>#text</code>: <span title="">⏎␣␣</span></li><li class="t1"><code><a href="semantics.html#the-title-element-0">title</a></code><ul><li class="t3"><code>#text</code>: <span title="">Sample page</span></li></ul></li><li class="t3"><code>#text</code>: <span title="">⏎␣</span></li></ul></li><li class="t3"><code>#text</code>: <span title="">⏎␣</span></li><li class="t1"><code><a href="semantics.html#the-body-element-0">body</a></code><ul><li class="t3"><code>#text</code>: <span title="">⏎␣␣</span></li><li class="t1"><code><a href="semantics.html#the-h1-h2-h3-h4-h5-and-h6-elements">h1</a></code><ul><li class="t3"><code>#text/code>: <span title="">Sample page</span></li></ul></li><li class="t3"><code>#text</code>: <span title="">⏎␣␣</span></li><li class="t1"><code><a href="semantics.html#the-p-element">p</a></code><ul><li class="t3"><code>#text</code>: <span title="">This is a </span></li><li class="t1"><code><a href="text-level-semantics.html#the-a-element">a</a></code> <span class="t2" title=""><code class="attribute name">href</code>="<code class="attribute value">demo.html</code>"</span><ul><li class="t3"><code>#text</code>: <span title="">simple</span></li></ul></li><li class="t3"><code>#text</code>: <span title=""> sample.</span></li></ul></li><li class="t3"><code>#text</code>: <span title="">⏎␣␣</span></li><li class="t8"><code>#comment</code>: <span title=""> this is a comment </span></li><li class="t3"><code>#text</code>: <span title="">⏎␣⏎</span></li></ul></li></ul></li></ul><p>The <a href="infrastructure.html#root-element">root element</a> of this tree is the
<code><a href="semantics.html#the-html-element-0">html</a></code> element, which is the element always found at the
root of HTML documents. It contains two elements, <code><a href="semantics.html#the-head-element-0">head</a></code>
and <code><a href="semantics.html#the-body-element-0">body</a></code>, as well as a text node between them.</p><p>There are many more text nodes in the DOM tree than one would
initially expect, because the source contains a number of spaces
(presented by "␣") and line breaks ("⏎") that all end
up as text nodes in the DOM.</p><p>The <code><a href="semantics.html#the-head-element-0">head</a></code> element contains a <code><a href="semantics.html#the-title-element-0">title</a></code>
element, which itself contains a text node with the text "Sample
page". Similarly, the <code><a href="semantics.html#the-body-element-0">body</a></code> element contains an
<code><a href="semantics.html#the-h1-h2-h3-h4-h5-and-h6-elements">h1</a></code> element, a <code><a href="semantics.html#the-p-element">p</a></code> element, and a
comment.</p><hr><p>This DOM tree can be manipulated from scripts in the
page. Scripts (typically in JavaScript) are small programs that can
be embedded using the <code><a href="semantics.html#script">script</a></code> element or using
<a href="browsers.html#event-handler-content-attributes">event handler content attributes</a>. For example, here is
a form with a script that sets the value of the form's
<code><a href="forms.html#the-output-element">output</a></code> element to say "Hello World":</p><pre><<a href="forms.html#the-form-element">form</a> <a href="forms.html#attr-form-name" title="attr-form-name">name</a>="main">
Result: <<a href="forms.html#the-output-element">output</a> <a href="forms.html#attr-fe-name" title="attr-fe-name">name</a>="result"></output>
<<a href="semantics.html#script">script</a>>
<a href="dom.html#htmldocument" title="HTMLDocument">document</a>.<a href="#dom-document-forms" title="dom-document-forms">forms</a>.main.<a href="#dom-form-elements" title="dom-form-elements">elements</a>.result.<a href="#dom-output-value" title="dom-output-value">value</a> = 'Hello World';
</script>
</form></pre><p>Each element in the DOM tree is represented by an object, and
these objects have APIs so that they can be manipulated. For
instance, a link (e.g. the <code><a href="text-level-semantics.html#the-a-element">a</a></code> element in the tree above)
can have its "<code title="attr-hyperlink-href"><a href="history.html#attr-hyperlink-href">href</a></code>"
attribute changed in several ways:</p><pre>var a = <a href="dom.html#htmldocument" title="HTMLDocument">document</a>.<a href="#dom-document-links" title="dom-document-links">links</a>[0]; // obtain the first link in the document
a.<a href="#dom-a-href" title="dom-a-href">href</a> = 'sample.html'; // change the destination URL of the link
a.<a href="#dom-uda-protocol" title="dom-uda-protocol">protocol</a> = 'https'; // change just the scheme part of the URL
a.setAttribute('href', 'http://example.com/'); // change the content attribute directly</pre><p>Since DOM trees are used as the way to represent HTML documents
when they are processed and presented by implementations (especially
interactive implementations like Web browsers), this specification
is mostly phrased in terms of DOM trees, instead of the markup
described above.</p><hr><p>HTML documents represent a media-independent description of
interactive content. HTML documents might be rendered to a screen,
or through a speech synthesizer, or on a braille display. To
influence exactly how such rendering takes place, authors can use a
styling language such as CSS.</p><p>In the following example, the page has been made yellow-on-blue
using CSS.</p><pre><!DOCTYPE html>
<html>
<head>
<title>Sample styled page</title>
<style>
body { background: navy; color: yellow; }
</style>
</head>
<body>
<h1>Sample styled page</h1>
<p>This page is just a demo.</p>
</body>
</html></pre><p>For more details on how to use HTML, authors are encouraged to
consult tutorials and guides. Some of the examples included in this
specification might also be of use, but the novice author is
cautioned that this specification, by necessity, defines the
language with a level of detail that may be difficult to understand
at first.</p></body></html>
--- NEW FILE: no.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>12 Things that you can't do with this specification because they are better handled using other technologies that are further described herein — HTML 5</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 { border-bottom: solid; }
table tbody th:first-child { border-left: solid; }
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; }
.applies th > * { display: block; }
.applies thead code { display: block; }
.applies td { text-align: center; }
.applies .yes { background: yellow; }
.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: #EEFFEE; }
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"]), li > span:not([title=""]):not([class="XXX"]):not([class="impl"]) { 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; }
p.copyright { 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; }
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; }
.tall-and-narrow {
font-size: 0.6em;
column-width: 25em;
column-gap: 1em;
-moz-column-width: 25em;
-moz-column-gap: 1em;
-webkit-column-width: 25em;
-webkit-column-gap: 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; }
</style><link href="data:text/css," rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" rel="alternate stylesheet" title="Highlight implementation requirements"><link href="http://www.w3.org/StyleSheets/TR/W3C-WD" rel="stylesheet" type="text/css"><!-- ZZZ ED vs WD --><link href="obsolete.html" title="11 Obsolete features" rel="prev">
<link href="Overview.html#contents" title="Table of contents" rel="index">
<link href="iana-considerations.html" title="IANA considerations" rel="next">
</head><body onload="fixBrokenLink(); fixBrokenLink()"><div class="head">
<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>HTML 5</h1>
<h2 class="no-num no-toc" id="a-vocabulary-and-associated-apis-for-html-and-xhtml">A vocabulary and associated APIs for HTML and XHTML</h2>
</div><div>
<a href="obsolete.html">← 11 Obsolete features</a> –
<a href="Overview.html#contents">Table of contents</a> –
<a href="iana-considerations.html">IANA considerations →</a>
</div>
<h2 id="no"><span class="secno">12 </span>Things that you can't do with this specification because
they are better handled using other technologies that are further
described herein</h2><p><i>This section is non-normative.</i></p><p>There are certain features that are not handled by this
specification because a client side markup language is not the right
level for them, or because the features exist in other languages
that can be integrated into this one. This section covers some of
the more common requests.</p><!-- There are also certain features that are not handled by this
specification or any other, but that SHOULD be handled by another
specification:
* find object at (x,y)
http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/elementfrompoint.asp
* find mouse position
* screen object: top left width height pixelDepth colorDepth
availWidth availHeight availLeft availTop
* methods/properties for managing scrolling, especially in <textarea>,
such as .scrollTop and .scrollHeight in Mozilla
* support access Array element via () instead of [] (IEism)
https://bugzilla.mozilla.org/show_bug.cgi?id=289876
* Need to say that NodeList's items are enumerable, so that
for (var x in myNodeList) { }
...works. (ack Dethe Elza)
* a way to show icons for file types
e.g. http://www.gadgetopia.com/2004/05/04/FileIconTag.html
(this should probably be a function for the 'content',
'background-image' and 'list-style-image' properties in CSS)
* custom syntax highlighting in <textarea>, <pre> (ack Ryan Johnson)
(this would probably best be done as some sort of output filter
at the CSS level, rather than anything HTML-specific. It would
have to support both <textarea>, where the data isn't in the
DOM proper, and <pre>, where it is.)
XXX should ensure these are filed with the relevant people and groups
--><h3 id="localization"><span class="secno">12.1 </span>Localization</h3><p>If you wish to create localized versions of an HTML application,
the best solution is to preprocess the files on the server, and then
use HTTP content negotiation to serve the appropriate language.</p><!-- <p>XXX example here</p> --><h3 id="declarative-3d-scenes"><span class="secno">12.2 </span>Declarative 3D scenes</h3><p>Embedding 3D imagery into XHTML documents is the domain of X3D,
or technologies based on X3D that are namespace-aware.</p><!-- <p>XXX example here</p> --></body></html>
Received on Tuesday, 25 August 2009 23:22:54 UTC