- From: Dan Connolly via cvs-syncmail <cvsmail@w3.org>
- Date: Tue, 25 Aug 2009 23:21:57 +0000
- To: public-html-commits@w3.org
Update of /sources/public/html5/spec-author-view/multipage In directory hutz:/tmp/cvs-serv11544 Added Files: Overview.html acknowledgements.html browsers.html comms.html dom.html editing.html embedded-content-0.html forms.html fragment-links.js history.html iana-considerations.html index.html infrastructure.html interactive-elements.html introduction.html microdata.html named-character-references.html no.html obsolete.html offline.html references.html semantics.html spec.html syntax.html tabular-data.html text-level-semantics.html the-canvas-element.html the-xhtml-syntax.html video.html Log Message: sharing --- NEW FILE: infrastructure.html --- <!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:04 UTC