- From: Michael Smith via cvs-syncmail <cvsmail@w3.org>
- Date: Mon, 05 Oct 2009 09:31:04 +0000
- To: public-html-commits@w3.org
Update of /sources/public/html5/spec-author-view In directory hutz:/tmp/cvs-serv30915 Modified Files: Overview.html browsers.html comms.html dom.html editing.html forms.html semantics.html spec.html syntax.html the-canvas-element.html video.html Log Message: Index: Overview.html =================================================================== RCS file: /sources/public/html5/spec-author-view/Overview.html,v retrieving revision 1.302 retrieving revision 1.303 diff -u -d -r1.302 -r1.303 --- Overview.html 5 Oct 2009 06:46:54 -0000 1.302 +++ Overview.html 5 Oct 2009 09:31:00 -0000 1.303 @@ -1,815 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!DOCTYPE html> -<!-- when publishing, change bits marked ZZZ --><html lang="en-US-x-Hixie"><head><title>HTML5</title><style type="text/css"> - pre { margin-left: 2em; white-space: pre-wrap; } - h2 { margin: 3em 0 1em 0; } - h3 { margin: 2.5em 0 1em 0; } - h4 { margin: 2.5em 0 0.75em 0; } - h5, h6 { margin: 2.5em 0 1em; } - h1 + h2, h1 + h2 + h2 { margin: 0.75em 0 0.75em; } - h2 + h3, h3 + h4, h4 + h5, h5 + h6 { margin-top: 0.5em; } - p { margin: 1em 0; } - hr:not(.top) { display: block; background: none; border: none; padding: 0; margin: 2em 0; height: auto; } - dl, dd { margin-top: 0; margin-bottom: 0; } - dt { margin-top: 0.75em; margin-bottom: 0.25em; clear: left; } - dt + dt { margin-top: 0; } - dd dt { margin-top: 0.25em; margin-bottom: 0; } - dd p { margin-top: 0; } - dd dl + p { margin-top: 1em; } - dd table + p { margin-top: 1em; } - p + * > li, dd li { margin: 1em 0; } - dt, dfn { font-weight: bold; font-style: normal; } - dt dfn { font-style: italic; } - pre, code { font-size: inherit; font-family: monospace; font-variant: normal; } - pre strong { color: black; font: inherit; font-weight: bold; background: yellow; } - pre em { font-weight: bolder; font-style: normal; } - @media screen { code { color: orangered; } code :link, code :visited { color: inherit; } } - var sub { vertical-align: bottom; font-size: smaller; position: relative; top: 0.1em; } - table { border-collapse: collapse; border-style: hidden hidden none hidden; } - table thead { 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; } - - .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><style type="text/css"> - - .applies thead th > * { display: block; } - .applies thead code { display: block; } - .applies tbody th { whitespace: nowrap; } - .applies td { text-align: center; } - .applies .yes { background: yellow; } - - .matrix, .matrix td { border: 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; } - - #table-example-1 { border: solid thin; border-collapse: collapse; margin-left: 3em; } - #table-example-1 * { font-family: "Essays1743", serif; line-height: 1.01em; } - #table-example-1 caption { padding-bottom: 0.5em; } - #table-example-1 thead, #table-example-1 tbody { border: none; } - #table-example-1 th, #table-example-1 td { border: solid thin; } - #table-example-1 th { font-weight: normal; } - #table-example-1 td { border-style: none solid; vertical-align: top; } - #table-example-1 th { padding: 0.5em; vertical-align: middle; text-align: center; } - #table-example-1 tbody tr:first-child td { padding-top: 0.5em; } - #table-example-1 tbody tr:last-child td { padding-bottom: 1.5em; } - #table-example-1 tbody td:first-child { padding-left: 2.5em; padding-right: 0; width: 9em; } - #table-example-1 tbody td:first-child::after { content: leader(". "); } - #table-example-1 tbody td { padding-left: 2em; padding-right: 2em; } - #table-example-1 tbody td:first-child + td { width: 10em; } - #table-example-1 tbody td:first-child + td ~ td { width: 2.5em; } - #table-example-1 tbody td:first-child + td + td + td ~ td { width: 1.25em; } - - .apple-table-examples { border: none; border-collapse: separate; border-spacing: 1.5em 0em; width: 40em; margin-left: 3em; } - .apple-table-examples * { font-family: "Times", serif; } - .apple-table-examples td, .apple-table-examples th { border: none; white-space: nowrap; padding-top: 0; padding-bottom: 0; } - .apple-table-examples tbody th:first-child { border-left: none; width: 100%; } - .apple-table-examples thead th:first-child ~ th { font-size: smaller; font-weight: bolder; border-bottom: solid 2px; text-align: center; } - .apple-table-examples tbody th::after, .apple-table-examples tfoot th::after { content: leader(". ") } - .apple-table-examples tbody th, .apple-table-examples tfoot th { font: inherit; text-align: left; } - .apple-table-examples td { text-align: right; vertical-align: top; } - .apple-table-examples.e1 tbody tr:last-child td { border-bottom: solid 1px; } - .apple-table-examples.e1 tbody + tbody tr:last-child td { border-bottom: double 3px; } - .apple-table-examples.e2 th[scope=row] { padding-left: 1em; } - .apple-table-examples sup { line-height: 0; } - - </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-ED" 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>HTML5</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">W3C Working Draft 25 August 2009</h2>--> - <h2 class="no-num no-toc" id="editor-s-draft-5-october-2009">Editor's Draft 5 October 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-20090825/">http://www.w3.org/TR/2009/WD-html5-20090825/</a></dd> - <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="spec.html">single page HTML</a>, - <a href="Overview.html">multipage HTML</a>. -This is revision 1.3240. - </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>The working groups maintains <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 the editor has not yet tried to - address</a> and <a href="http://www.w3.org/html/wg/tracker/products/1">a list of issues - for which the chairs have not yet declared a decision</a>. The - editor also maintains <a href="http://www.whatwg.org/issues/">a list - of all e-mails that he has not yet tried to address</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 5 October 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, XHTML1, 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#html-vs-xhtml"><span class="secno">1.6 </span>HTML vs XHTML</a></li> - <li><a href="introduction.html#structure-of-this-specification"><span class="secno">1.7 </span>Structure of this specification</a> - <ol><li><a href="introduction.html#how-to-read-this-specification"><span class="secno">1.7.1 </span>How to read this specification</a></li> - <li><a href="introduction.html#typographic-conventions"><span class="secno">1.7.2 </span>Typographic conventions</a></li></ol></li> - <li><a href="introduction.html#a-quick-introduction-to-html"><span class="secno">1.8 </span>A quick introduction to HTML</a></li> - <li><a href="introduction.html#recommended-reading"><span class="secno">1.9 </span>Recommended reading</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> - <li><a href="infrastructure.html#mq"><span class="secno">2.4.10 </span>Media queries</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-idl-attributes"><span class="secno">2.6.1 </span>Reflecting content attributes in IDL 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-aria"><span class="secno">3.2.6 </span>Annotations for assistive technology products (ARIA)</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#opening-the-input-stream"><span class="secno">3.4.1 </span>Opening the input stream</a></li> - <li><a href="embedded-content-0.html#closing-the-input-stream"><span class="secno">3.4.2 </span>Closing the input stream</a></li> - <li><a href="embedded-content-0.html#document.write"><span class="secno">3.4.3 </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.4 </span><code title="dom-document-writeln">document.writeln()</code></a></li> - <li><a href="embedded-content-0.html#innerhtml"><span class="secno">3.4.5 </span><code title="dom-innerHTML">innerHTML</code></a></li> - <li><a href="embedded-content-0.html#outerhtml"><span class="secno">3.4.6 </span><code title="dom-outerHTML">outerHTML</code></a></li> - <li><a href="embedded-content-0.html#insertadjacenthtml"><span class="secno">3.4.7 </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#itemref"><span class="secno">4.2.6 </span>The <code>itemref</code> element</a></li> - <li><a href="semantics.html#the-style-element"><span class="secno">4.2.7 </span>The <code>style</code> element</a></li> - <li><a href="semantics.html#styling"><span class="secno">4.2.8 </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></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-blockquote-element"><span class="secno">4.5.5 </span>The <code>blockquote</code> element</a></li> - <li><a href="semantics.html#the-ol-element"><span class="secno">4.5.6 </span>The <code>ol</code> element</a></li> - <li><a href="semantics.html#the-ul-element"><span class="secno">4.5.7 </span>The <code>ul</code> element</a></li> - <li><a href="semantics.html#the-li-element"><span class="secno">4.5.8 </span>The <code>li</code> element</a></li> - <li><a href="semantics.html#the-dl-element"><span class="secno">4.5.9 </span>The <code>dl</code> element</a></li> - <li><a href="semantics.html#the-dt-element"><span class="secno">4.5.10 </span>The <code>dt</code> element</a></li> - <li><a href="semantics.html#the-dd-element"><span class="secno">4.5.11 </span>The <code>dd</code> element</a></li> - <li><a href="semantics.html#the-div-element"><span class="secno">4.5.12 </span>The <code>div</code> element</a></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-time-element"><span class="secno">4.6.9 </span>The <code>time</code> element</a></li> - <li><a href="text-level-semantics.html#the-code-element"><span class="secno">4.6.10 </span>The <code>code</code> element</a></li> - <li><a href="text-level-semantics.html#the-var-element"><span class="secno">4.6.11 </span>The <code>var</code> element</a></li> - <li><a href="text-level-semantics.html#the-samp-element"><span class="secno">4.6.12 </span>The <code>samp</code> element</a></li> - <li><a href="text-level-semantics.html#the-kbd-element"><span class="secno">4.6.13 </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.14 </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.15 </span>The <code>i</code> element</a></li> - <li><a href="text-level-semantics.html#the-b-element"><span class="secno">4.6.16 </span>The <code>b</code> element</a></li> - <li><a href="text-level-semantics.html#the-mark-element"><span class="secno">4.6.17 </span>The <code>mark</code> element</a></li> - <li><a href="text-level-semantics.html#the-progress-element"><span class="secno">4.6.18 </span>The <code>progress</code> element</a></li> - <li><a href="text-level-semantics.html#the-meter-element"><span class="secno">4.6.19 </span>The <code>meter</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></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> - <li><a href="the-canvas-element.html#examples"><span class="secno">4.8.11.1.12 </span>Examples</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> - <li><a href="tabular-data.html#examples-0"><span class="secno">4.9.12 </span>Examples</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-legend-element"><span class="secno">4.10.3 </span>The <code>legend</code> element</a></li> - <li><a href="forms.html#the-label-element"><span class="secno">4.10.4 </span>The <code>label</code> element</a></li> - <li><a href="forms.html#the-input-element"><span class="secno">4.10.5 </span>The <code>input</code> element</a> - <ol><li><a href="forms.html#states-of-the-type-attribute"><span class="secno">4.10.5.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.5.1.1 </span>Hidden state</a></li> - <li><a href="forms.html#text-state-and-search-state"><span class="secno">4.10.5.1.2 </span>Text state and Search state</a></li> - <li><a href="forms.html#telephone-state"><span class="secno">4.10.5.1.3 </span>Telephone state</a></li> - <li><a href="forms.html#url-state"><span class="secno">4.10.5.1.4 </span>URL state</a></li> - <li><a href="forms.html#e-mail-state"><span class="secno">4.10.5.1.5 </span>E-mail state</a></li> - <li><a href="forms.html#password-state"><span class="secno">4.10.5.1.6 </span>Password state</a></li> - <li><a href="forms.html#date-and-time-state"><span class="secno">4.10.5.1.7 </span>Date and Time state</a></li> - <li><a href="forms.html#date-state"><span class="secno">4.10.5.1.8 </span>Date state</a></li> - <li><a href="forms.html#month-state"><span class="secno">4.10.5.1.9 </span>Month state</a></li> - <li><a href="forms.html#week-state"><span class="secno">4.10.5.1.10 </span>Week state</a></li> - <li><a href="forms.html#time-state"><span class="secno">4.10.5.1.11 </span>Time state</a></li> - <li><a href="forms.html#local-date-and-time-state"><span class="secno">4.10.5.1.12 </span>Local Date and Time state</a></li> - <li><a href="forms.html#number-state"><span class="secno">4.10.5.1.13 </span>Number state</a></li> - <li><a href="forms.html#range-state"><span class="secno">4.10.5.1.14 </span>Range state</a></li> - <li><a href="forms.html#color-state"><span class="secno">4.10.5.1.15 </span>Color state</a></li> - <li><a href="forms.html#checkbox-state"><span class="secno">4.10.5.1.16 </span>Checkbox state</a></li> - <li><a href="forms.html#radio-button-state"><span class="secno">4.10.5.1.17 </span>Radio Button state</a></li> - <li><a href="forms.html#file-upload-state"><span class="secno">4.10.5.1.18 </span>File Upload state</a></li> - <li><a href="forms.html#submit-button-state"><span class="secno">4.10.5.1.19 </span>Submit Button state</a></li> - <li><a href="forms.html#image-button-state"><span class="secno">4.10.5.1.20 </span>Image Button state</a></li> - <li><a href="forms.html#reset-button-state"><span class="secno">4.10.5.1.21 </span>Reset Button state</a></li> - <li><a href="forms.html#button-state"><span class="secno">4.10.5.1.22 </span>Button state</a></li></ol></li> - <li><a href="forms.html#common-input-element-attributes"><span class="secno">4.10.5.2 </span>Common <code>input</code> element attributes</a> - <ol><li><a href="forms.html#the-autocomplete-attribute"><span class="secno">4.10.5.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.5.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.5.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.5.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.5.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.5.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.5.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.5.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.5.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.5.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.5.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.5.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.6 </span>The <code>button</code> element</a></li> - <li><a href="forms.html#the-select-element"><span class="secno">4.10.7 </span>The <code>select</code> element</a></li> - <li><a href="forms.html#the-datalist-element"><span class="secno">4.10.8 </span>The <code>datalist</code> element</a></li> - <li><a href="forms.html#the-optgroup-element"><span class="secno">4.10.9 </span>The <code>optgroup</code> element</a></li> - <li><a href="forms.html#the-option-element"><span class="secno">4.10.10 </span>The <code>option</code> element</a></li> - <li><a href="forms.html#the-textarea-element"><span class="secno">4.10.11 </span>The <code>textarea</code> element</a></li> - <li><a href="forms.html#the-keygen-element"><span class="secno">4.10.12 </span>The <code>keygen</code> element</a></li> - <li><a href="forms.html#the-output-element"><span class="secno">4.10.13 </span>The <code>output</code> element</a></li> - <li><a href="forms.html#association-of-controls-and-forms"><span class="secno">4.10.14 </span>Association of controls and forms</a></li> - <li><a href="forms.html#attributes-common-to-form-controls"><span class="secno">4.10.15 </span>Attributes common to form controls</a> - <ol><li><a href="forms.html#naming-form-controls"><span class="secno">4.10.15.1 </span>Naming form controls</a></li> - <li><a href="forms.html#enabling-and-disabling-form-controls"><span class="secno">4.10.15.2 </span>Enabling and disabling form controls</a></li> - <li><a href="forms.html#autofocusing-a-form-control"><span class="secno">4.10.15.3 </span>Autofocusing a form control</a></li> - <li><a href="forms.html#limiting-user-input-length"><span class="secno">4.10.15.4 </span>Limiting user input length</a></li> - <li><a href="forms.html#form-submission-0"><span class="secno">4.10.15.5 </span>Form submission</a></li></ol></li> - <li><a href="forms.html#constraints"><span class="secno">4.10.16 </span>Constraints</a> - <ol><li><a href="forms.html#definitions"><span class="secno">4.10.16.1 </span>Definitions</a></li> - <li><a href="forms.html#the-constraint-validation-api"><span class="secno">4.10.16.2 </span>The constraint validation API</a></li></ol></li> - <li><a href="forms.html#form-submission"><span class="secno">4.10.17 </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#common-idioms-without-dedicated-elements"><span class="secno">4.12 </span>Common idioms without dedicated elements</a> - <ol><li><a href="interactive-elements.html#tag-clouds"><span class="secno">4.12.1 </span>Tag clouds</a></li> - <li><a href="interactive-elements.html#conversations"><span class="secno">4.12.2 </span>Conversations</a></li> - <li><a href="interactive-elements.html#footnotes"><span class="secno">4.12.3 </span>Footnotes</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#global-identifiers-for-items"><span class="secno">5.1.4 </span>Global identifiers for items</a></li> - <li><a href="microdata.html#selecting-names-when-defining-vocabularies"><span class="secno">5.1.5 </span>Selecting names when defining 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"><span class="secno">5.2.2 </span>Items</a></li> - <li><a href="microdata.html#names:-the-itemprop-attribute"><span class="secno">5.2.3 </span>Names: the <code>itemprop</code> attribute</a></li> - <li><a href="microdata.html#values"><span class="secno">5.2.4 </span>Values</a></li> - <li><a href="microdata.html#associating-names-with-items"><span class="secno">5.2.5 </span>Associating names with items</a></li></ol></li> - <li><a href="microdata.html#microdata-dom-api"><span class="secno">5.3 </span>Microdata DOM API</a></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> - <li><a href="history.html#aborting-a-document-load"><span class="secno">6.9.2 </span>Aborting a document load</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#the-undomanager-interface"><span class="secno">7.10.1 </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.2 </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-5"><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#message-channels"><span class="secno">8.3.1 </span>Message channels</a></li> - <li><a href="comms.html#message-ports"><span class="secno">8.3.2 </span>Message ports</a> - <ol><li><a href="comms.html#ports-and-garbage-collection"><span class="secno">8.3.2.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></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 class="no-num" href="iana-considerations.html#iana-considerations">IANA considerations</a> - <ol><li><a href="iana-considerations.html#text-html"><span class="secno">11.1 </span><code>text/html</code></a></li> - <li><a href="iana-considerations.html#application-xhtml-xml"><span class="secno">11.2 </span><code>application/xhtml+xml</code></a></li> - <li><a href="iana-considerations.html#text-cache-manifest"><span class="secno">11.3 </span><code>text/cache-manifest</code></a></li> - <li><a href="iana-considerations.html#text-ping"><span class="secno">11.4 </span><code>text/ping</code></a></li> - <li><a href="iana-considerations.html#application-microdata-json"><span class="secno">11.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> \ No newline at end of file Index: dom.html =================================================================== RCS file: /sources/public/html5/spec-author-view/dom.html,v retrieving revision 1.303 retrieving revision 1.304 diff -u -d -r1.303 -r1.304 --- dom.html 5 Oct 2009 06:46:54 -0000 1.303 +++ dom.html 5 Oct 2009 09:31:02 -0000 1.304 @@ -1,1353 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!DOCTYPE html> -<!-- when publishing, change bits marked ZZZ --><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; } [...1323 lines suppressed...] - <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> \ No newline at end of file Index: the-canvas-element.html =================================================================== RCS file: /sources/public/html5/spec-author-view/the-canvas-element.html,v retrieving revision 1.302 retrieving revision 1.303 diff -u -d -r1.302 -r1.303 --- the-canvas-element.html 5 Oct 2009 06:46:55 -0000 1.302 +++ the-canvas-element.html 5 Oct 2009 09:31:02 -0000 1.303 @@ -712,869 +712,4 @@ </dd> - <dt><var title="">gradient</var> = <var title="">context</var> . <code title="dom-context-2d-createRadialGradient"><a href="#dom-context-2d-createradialgradient">createRadialGradient</a></code>(<var title="">x0</var>, <var title="">y0</var>, <var title="">r0</var>, <var title="">x1</var>, <var title="">y1</var>, <var title="">r1</var>)</dt> - - <dd> - - <p>Returns a <code><a href="#canvasgradient">CanvasGradient</a></code> object that represents a - radial gradient that paints along the cone given by the circles - represented by the arguments.</p> - - <p>If any of the arguments are not finite numbers, throws a - <code><a href="infrastructure.html#not_supported_err">NOT_SUPPORTED_ERR</a></code> exception. If either of the radii - are negative throws an <code><a href="infrastructure.html#index_size_err">INDEX_SIZE_ERR</a></code> exception.</p> - - </dd> - - </dl><hr><p>Patterns are represented by objects implementing the opaque - <code><a href="#canvaspattern">CanvasPattern</a></code> interface.</p><dl class="domintro"><dt><var title="">pattern</var> = <var title="">context</var> . <code title="dom-context-2d-createPattern"><a href="#dom-context-2d-createpattern">createPattern</a></code>(<var title="">image</var>, <var title="">repetition</var>)</dt> - - <dd> - - <p>Returns a <code><a href="#canvaspattern">CanvasPattern</a></code> object that uses the given image - and repeats in the direction(s) given by the <var title="">repetition</var> argument.</p> - - <p>The allowed values for <code title="">repeat</code> are <code title="">repeat</code> (both directions), <code title="">repeat-x</code> (horizontal only), <code title="">repeat-y</code> (vertical only), and <code title="">no-repeat</code> (neither). If the <var title="">repetition</var> argument is empty or null, the value - <code title="">repeat</code> is used.</p> - - <p>If the first argument isn't an <code><a href="text-level-semantics.html#the-img-element">img</a></code>, - <code><a href="#the-canvas-element">canvas</a></code>, or <code><a href="video.html#video">video</a></code> element, throws a - <code><a href="infrastructure.html#type_mismatch_err">TYPE_MISMATCH_ERR</a></code> exception. If the image has no - image data, throws an <code><a href="infrastructure.html#invalid_state_err">INVALID_STATE_ERR</a></code> exception. If - the second argument isn't one of the allowed values, throws a - <code><a href="infrastructure.html#syntax_err">SYNTAX_ERR</a></code> exception. If the image isn't yet fully - decoded, then the method returns null.</p> - - </dd> - - </dl><h6 id="line-styles"><span class="secno">4.8.11.1.5 </span>Line styles</h6><p class="XXX annotation"><b>Status: </b><i>Awaiting implementation feedback</i></p><dl class="domintro"><dt><var title="">context</var> . <code title="dom-context-2d-lineWidth"><a href="#dom-context-2d-linewidth">lineWidth</a></code> [ = <var title="">value</var> ]</dt> - - <dd> - - <p>Returns the current line width.</p> - - <p>Can be set, to change the line width. Values that are not - finite values greater than zero are ignored.</p> - - </dd> - - <dt><var title="">context</var> . <code title="dom-context-2d-lineCap"><a href="#dom-context-2d-linecap">lineCap</a></code> [ = <var title="">value</var> ]</dt> - - <dd> - - <p>Returns the current line cap style.</p> - - <p>Can be set, to change the line cap style.</p> - - <p>The possible line cap styles are <code>butt</code>, - <code>round</code>, and <code>square</code>. Other values are - ignored.</p> - - </dd> - - <dt><var title="">context</var> . <code title="dom-context-2d-lineJoin"><a href="#dom-context-2d-linejoin">lineJoin</a></code> [ = <var title="">value</var> ]</dt> - - <dd> - - <p>Returns the current line join style.</p> - - <p>Can be set, to change the line join style.</p> - - <p>The possible line join styles are <code>bevel</code>, - <code>round</code>, and <code>miter</code>. Other values are - ignored.</p> - - </dd> - - <dt><var title="">context</var> . <code title="dom-context-2d-miterLimit"><a href="#dom-context-2d-miterlimit">miterLimit</a></code> [ = <var title="">value</var> ]</dt> - - <dd> - - <p>Returns the current miter limit ratio.</p> - - <p>Can be set, to change the miter limit ratio. Values that are - not finite values greater than zero are ignored.</p> - - </dd> - - </dl><h6 id="shadows"><span class="secno">4.8.11.1.6 </span><dfn>Shadows</dfn></h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>All drawing operations are affected by the four global shadow - attributes.</p><dl class="domintro"><dt><var title="">context</var> . <code title="dom-context-2d-shadowColor"><a href="#dom-context-2d-shadowcolor">shadowColor</a></code> [ = <var title="">value</var> ]</dt> - - <dd> - - <p>Returns the current shadow color.</p> - - <p>Can be set, to change the shadow color. Values that cannot be parsed as CSS colors are ignored.</p> - - </dd> - - <dt><var title="">context</var> . <code title="dom-context-2d-shadowOffsetX"><a href="#dom-context-2d-shadowoffsetx">shadowOffsetX</a></code> [ = <var title="">value</var> ]</dt> - <dt><var title="">context</var> . <code title="dom-context-2d-shadowOffsetY"><a href="#dom-context-2d-shadowoffsety">shadowOffsetY</a></code> [ = <var title="">value</var> ]</dt> - - <dd> - - <p>Returns the current shadow offset.</p> - - <p>Can be set, to change the shadow offset. Values that are not finite numbers are ignored.</p> - - </dd> - - <dt><var title="">context</var> . <code title="dom-context-2d-shadowBlur"><a href="#dom-context-2d-shadowblur">shadowBlur</a></code> [ = <var title="">value</var> ]</dt> - - <dd> - - <p>Returns the current level of blur applied to shadows.</p> - - <p>Can be set, to change the blur level. Values that are not finite numbers greater than or equal to zero are ignored.</p> - - </dd> - - </dl><h6 id="simple-shapes-rectangles"><span class="secno">4.8.11.1.7 </span>Simple shapes (rectangles)</h6><p>There are three methods that immediately draw rectangles to the - bitmap. They each take four arguments; the first two give the <var title="">x</var> and <var title="">y</var> coordinates of the top - left of the rectangle, and the second two give the width <var title="">w</var> and height <var title="">h</var> of the rectangle, - respectively.</p><dl class="domintro"><dt><var title="">context</var> . <code title="dom-context-2d-clearRect"><a href="#dom-context-2d-clearrect">clearRect</a></code>(<var title="">x</var>, <var title="">y</var>, <var title="">w</var>, <var title="">h</var>)</dt> - - <dd> - - <p>Clears all pixels on the canvas in the given rectangle to transparent black.</p> - - </dd> - - <dt><var title="">context</var> . <code title="dom-context-2d-fillRect"><a href="#dom-context-2d-fillrect">fillRect</a></code>(<var title="">x</var>, <var title="">y</var>, <var title="">w</var>, <var title="">h</var>)</dt> - - <dd> - - <p>Paints the given rectangle onto the canvas, using the current fill style.</p> - - </dd> - - <dt><var title="">context</var> . <code title="dom-context-2d-strokeRect"><a href="#dom-context-2d-strokerect">strokeRect</a></code>(<var title="">x</var>, <var title="">y</var>, <var title="">w</var>, <var title="">h</var>)</dt> - - <dd> - - <p>Paints the box that outlines the given rectangle onto the canvas, using the current stroke style.</p> - - </dd> - - </dl><h6 id="complex-shapes-paths"><span class="secno">4.8.11.1.8 </span>Complex shapes (paths)</h6><p>The context always has a current path. There is only one current - path, it is not part of the <a href="#drawing-state">drawing state</a>.</p><p>A <dfn id="path">path</dfn> has a list of zero or more subpaths. Each - subpath consists of a list of one or more points, connected by - straight or curved lines, and a flag indicating whether the subpath - is closed or not. A closed subpath is one where the last point of - the subpath is connected to the first point of the subpath by a - straight line. Subpaths with fewer than two points are ignored when - painting the path.</p><dl class="domintro"><dt><var title="">context</var> . <code title="dom-context-2d-beginPath"><a href="#dom-context-2d-beginpath">beginPath</a></code>()</dt> - - <dd> - - <p>Resets the current path.</p> - - </dd> - - <dt><var title="">context</var> . <code title="dom-context-2d-moveTo"><a href="#dom-context-2d-moveto">moveTo</a></code>(<var title="">x</var>, <var title="">y</var>)</dt> - - <dd> - - <p>Creates a new subpath with the given point.</p> - - </dd> - - <dt><var title="">context</var> . <code title="dom-context-2d-closePath"><a href="#dom-context-2d-closepath">closePath</a></code>()</dt> - - <dd> - - <p>Marks the current subpath as closed, and starts a new subpath with a point the same as the start and end of the newly closed subpath.</p> - - </dd> - - <dt><var title="">context</var> . <code title="dom-context-2d-lineTo"><a href="#dom-context-2d-lineto">lineTo</a></code>(<var title="">x</var>, <var title="">y</var>)</dt> - - <dd> - - <p>Adds the given point to the current subpath, connected to the previous one by a straight line.</p> - - </dd> - - <dt><var title="">context</var> . <code title="dom-context-2d-quadraticCurveTo"><a href="#dom-context-2d-quadraticcurveto">quadraticCurveTo</a></code>(<var title="">cpx</var>, <var title="">cpy</var>, <var title="">x</var>, <var title="">y</var>)</dt> - - <dd> - - <p>Adds the given point to the current path, connected to the previous one by a quadratic Bézier curve with the given control point.</p> - - </dd> - - <dt><var title="">context</var> . <code title="dom-context-2d-bezierCurveTo"><a href="#dom-context-2d-beziercurveto">bezierCurveTo</a></code>(<var title="">cp1x</var>, <var title="">cp1y</var>, <var title="">cp2x</var>, <var title="">cp2y</var>, <var title="">x</var>, <var title="">y</var>)</dt> - - <dd> - - <p>Adds the given point to the current path, connected to the previous one by a cubic Bézier curve with the given control points.</p> - - </dd> - - <dt><var title="">context</var> . <code title="dom-context-2d-arcTo"><a href="#dom-context-2d-arcto">arcTo</a></code>(<var title="">x1</var>, <var title="">y1</var>, <var title="">x2</var>, <var title="">y2</var>, <var title="">radius</var>)</dt> - - <dd> - - <p>Adds a point to the current path, connected to the previous one - by a straight line, then adds a second point to the current path, - connected to the previous one by an arc whose properties are - described by the arguments.</p> - - <p>Throws an <code><a href="infrastructure.html#index_size_err">INDEX_SIZE_ERR</a></code> exception if the given - radius is negative.</p> - - </dd> - - <dt><var title="">context</var> . <code title="dom-context-2d-arc"><a href="#dom-context-2d-arc">arc</a></code>(<var title="">x</var>, <var title="">y</var>, <var title="">radius</var>, <var title="">startAngle</var>, <var title="">endAngle</var>, <var title="">anticlockwise</var>)</dt> - - <dd> - - <p>Adds points to the subpath such that the arc described by the - circumference of the circle described by the arguments, starting - at the given start angle and ending at the given end angle, going - in the given direction, is added to the path, connected to the - previous point by a straight line.</p> - - <p>Throws an <code><a href="infrastructure.html#index_size_err">INDEX_SIZE_ERR</a></code> exception if the given - radius is negative.</p> - - </dd> - - <dt><var title="">context</var> . <code title="dom-context-2d-rect"><a href="#dom-context-2d-rect">rect</a></code>(<var title="">x</var>, <var title="">y</var>, <var title="">w</var>, <var title="">h</var>)</dt> - - <dd> - - <p>Adds a new closed subpath to the path, representing the given rectangle.</p> - - </dd> - - <dt><var title="">context</var> . <code title="dom-context-2d-fill"><a href="#dom-context-2d-fill">fill</a></code>()</dt> - - <dd> - - <p>Fills the subpaths with the current fill style.</p> - - </dd> - - <dt><var title="">context</var> . <code title="dom-context-2d-stroke"><a href="#dom-context-2d-stroke">stroke</a></code>()</dt> - - <dd> - - <p>Strokes the subpaths with the current stroke style.</p> - - </dd> - - <dt><var title="">context</var> . <code title="dom-context-2d-clip"><a href="#dom-context-2d-clip">clip</a></code>()</dt> - - <dd> - - <p>Further constrains the clipping region to the given path.</p> - - </dd> - - <dt><var title="">context</var> . <code title="dom-context-2d-isPointInPath"><a href="#dom-context-2d-ispointinpath">isPointInPath</a></code>(<var title="">x</var>, <var title="">y</var>)</dt> - - <dd> - - <p>Returns true if the given point is in the current path.</p> - - </dd> - - </dl><h6 id="text"><span class="secno">4.8.11.1.9 </span>Text</h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><!-- a v3 feature --><dl class="domintro"><dt><var title="">context</var> . <code title="dom-context-2d-font"><a href="#dom-context-2d-font">font</a></code> [ = <var title="">value</var> ]</dt> - - <dd> - - <p>Returns the current font settings.</p> - - <p>Can be set, to change the font. The syntax is the same as for - the CSS 'font' property; values that cannot be parsed as CSS font - values are ignored.</p> - - <p>Relative keywords and lengths are computed relative to the font - of the <code><a href="#the-canvas-element">canvas</a></code> element.</p> - - </dd> - - <dt><var title="">context</var> . <code title="dom-context-2d-textAlign"><a href="#dom-context-2d-textalign">textAlign</a></code> [ = <var title="">value</var> ]</dt> - - <dd> - - <p>Returns the current text alignment settings.</p> - - <p>Can be set, to change the alignment. The possible values are - <code title="">start</code>, <code title="">end</code>, <code title="">left</code>, <code title="">right</code>, and <code title="">center</code>. The default is <code title="">start</code>. Other values are ignored.</p> - - </dd> - - <dt><var title="">context</var> . <code title="dom-context-2d-textBaseline"><a href="#dom-context-2d-textbaseline">textBaseline</a></code> [ = <var title="">value</var> ]</dt> - - <dd> - - <p>Returns the current baseline alignment settings.</p> - - <p>Can be set, to change the baseline alignment. The possible - values and their meanings are given below. The default is <code title="">alphabetic</code>. Other values are ignored.</p> - - </dd> - - <dt><var title="">context</var> . <code title="dom-context-2d-fillText"><a href="#dom-context-2d-filltext">fillText</a></code>(<var title="">text</var>, <var title="">x</var>, <var title="">y</var> [, <var title="">maxWidth</var> ] )</dt> - <dt><var title="">context</var> . <code title="dom-context-2d-strokeText"><a href="#dom-context-2d-stroketext">strokeText</a></code>(<var title="">text</var>, <var title="">x</var>, <var title="">y</var> [, <var title="">maxWidth</var> ] )</dt> - - <dd> - - <p>Fills or strokes (respectively) the given text at the given - position. If a maximum width is provided, the text will be scaled - to fit that width if necessary.</p> - - </dd> - - <dt><var title="">metrics</var> = <var title="">context</var> . <code title="dom-context-2d-measureText"><a href="#dom-context-2d-measuretext">measureText</a></code>(<var title="">text</var>)</dt> - - <dd> - - <p>Returns a <code><a href="#textmetrics">TextMetrics</a></code> object with the metrics of the given text in the current font.</p> - - </dd> - - <dt><var title="">metrics</var> . <code title="dom-textmetrics-width"><a href="#dom-textmetrics-width">width</a></code></dt> - - <dd> - - <p>Returns the advance width of the text that was passed to the - <code title="dom-context-2d-measureText"><a href="#dom-context-2d-measuretext">measureText()</a></code> - method.</p> - - </dd> - - </dl><p>The <code title="dom-context-2d-textBaseline"><a href="#dom-context-2d-textbaseline">textBaseline</a></code> - attribute's allowed keywords correspond to alignment points in the - font:</p><p><img alt="The top of the em square is - roughly at the top of the glyphs in a font, the hanging baseline is - where some glyphs like आ are anchored, the middle is half-way - between the top of the em square and the bottom of the em square, - the alphabetic baseline is where characters like Á, ÿ, - f, and Ω are anchored, the ideographic baseline is - where glyphs like 私 and 達 are anchored, and the bottom - of the em square is roughly at the bottom of the glyphs in a - font. The top and bottom of the bounding box can be far from these - baselines, due to glyphs extending far outside the em square." src="images/baselines.png"></p><p>The keywords map to these alignment points as follows:</p><dl><dt><dfn id="dom-context-2d-textbaseline-top" title="dom-context-2d-textBaseline-top"><code>top</code></dfn> - </dt><dd>The top of the em square</dd> - - <dt><dfn id="dom-context-2d-textbaseline-hanging" title="dom-context-2d-textBaseline-hanging"><code>hanging</code></dfn> - </dt><dd>The hanging baseline</dd> - - <dt><dfn id="dom-context-2d-textbaseline-middle" title="dom-context-2d-textBaseline-middle"><code>middle</code></dfn> - </dt><dd>The middle of the em square</dd> - - <dt><dfn id="dom-context-2d-textbaseline-alphabetic" title="dom-context-2d-textBaseline-alphabetic"><code>alphabetic</code></dfn> - </dt><dd>The alphabetic baseline</dd> - - <dt><dfn id="dom-context-2d-textbaseline-ideographic" title="dom-context-2d-textBaseline-ideographic"><code>ideographic</code></dfn> - </dt><dd>The ideographic baseline</dd> - - <dt><dfn id="dom-context-2d-textbaseline-bottom" title="dom-context-2d-textBaseline-bottom"><code>bottom</code></dfn> - </dt><dd>The bottom of the em square</dd> - - </dl><p class="note">A future version of the 2D context API may provide a - way to render fragments of documents, rendered using CSS, straight - to the canvas. This would be provided in preference to a dedicated - way of doing multiline layout.</p><h6 id="images"><span class="secno">4.8.11.1.10 </span>Images</h6><p class="XXX annotation"><b>Status: </b><i>Awaiting implementation feedback</i></p><p>To draw images onto the canvas, the <dfn id="dom-context-2d-drawimage" title="dom-context-2d-drawImage"><code>drawImage</code></dfn> method - can be used.</p><p>This method can be invoked with three different sets of arguments:</p><ul class="brief"><li><code title="">drawImage(<var title="">image</var>, <var title="">dx</var>, <var title="">dy</var>)</code> - </li><li><code title="">drawImage(<var title="">image</var>, <var title="">dx</var>, <var title="">dy</var>, <var title="">dw</var>, <var title="">dh</var>)</code> - </li><li><code title="">drawImage(<var title="">image</var>, <var title="">sx</var>, <var title="">sy</var>, <var title="">sw</var>, <var title="">sh</var>, <var title="">dx</var>, <var title="">dy</var>, <var title="">dw</var>, <var title="">dh</var>)</code> - </li></ul><!-- v3: drawImage() of an ImageData object might make sense (when resizing as well as filtering) - ack Charles Pritchard --><p>Each of those three can take either an - <code><a href="text-level-semantics.html#htmlimageelement">HTMLImageElement</a></code>, an <code><a href="#htmlcanvaselement">HTMLCanvasElement</a></code>, or - an <code><a href="video.html#htmlvideoelement">HTMLVideoElement</a></code> for the <var title="">image</var> - argument.</p><dl class="domintro"><dt><var title="">context</var> . <code title="">drawImage</code>(<var title="">image</var>, <var title="">dx</var>, <var title="">dy</var>)</dt> - <dt><var title="">context</var> . <code title="">drawImage</code>(<var title="">image</var>, <var title="">dx</var>, <var title="">dy</var>, <var title="">dw</var>, <var title="">dh</var>)</dt> - <dt><var title="">context</var> . <code title="">drawImage</code>(<var title="">image</var>, <var title="">sx</var>, <var title="">sy</var>, <var title="">sw</var>, <var title="">sh</var>, <var title="">dx</var>, <var title="">dy</var>, <var title="">dw</var>, <var title="">dh</var>)</dt> - - <dd> - - <p>Draws the given image onto the canvas. The arguments are - interpreted as follows:</p> - - <p><img alt="The sx and sy parameters give the x and y coordinates of the source rectangle; the sw and sh arguments give the width and height of the source rectangle; the dx and dy give the x and y coordinates of the destination rectangle; and the dw and dh arguments give the width and height of the destination rectangle." src="images/drawImage.png"></p> - - <p>If the first argument isn't an <code><a href="text-level-semantics.html#the-img-element">img</a></code>, - <code><a href="#the-canvas-element">canvas</a></code>, or <code><a href="video.html#video">video</a></code> element, throws a - <code><a href="infrastructure.html#type_mismatch_err">TYPE_MISMATCH_ERR</a></code> exception. If the image has no - image data, throws an <code><a href="infrastructure.html#invalid_state_err">INVALID_STATE_ERR</a></code> exception. If - the second argument isn't one of the allowed values, throws a - <code><a href="infrastructure.html#syntax_err">SYNTAX_ERR</a></code> exception. If the image isn't yet fully - decoded, then nothing is drawn.</p> - - </dd> - - </dl><h6 id="pixel-manipulation"><span class="secno">4.8.11.1.11 </span><dfn>Pixel manipulation</dfn></h6><p class="XXX annotation"><b>Status: </b><i>Awaiting implementation feedback</i></p><dl class="domintro"><dt><var title="">imagedata</var> = <var title="">context</var> . <code title="dom-context-2d-createImageData"><a href="#dom-context-2d-createimagedata">createImageData</a></code>(<var title="">sw</var>, <var title="">sh</var>)</dt> - - <dd> - - <p>Returns an <code><a href="#imagedata">ImageData</a></code> object with the given - dimensions in CSS pixels (which might map to a different number of - actual device pixels exposed by the object itself). All the pixels - in the returned object are transparent black.</p> - - </dd> - - <dt><var title="">imagedata</var> = <var title="">context</var> . <code title="dom-context-2d-createImageData"><a href="#dom-context-2d-createimagedata">createImageData</a></code>(<var title="">imagedata</var>)</dt> - - <dd> - - <p>Returns an <code><a href="#imagedata">ImageData</a></code> object with the same - dimensions as the argument. All the pixels in the returned object - are transparent black.</p> - - <p>Throws a <code><a href="infrastructure.html#not_supported_err">NOT_SUPPORTED_ERR</a></code> exception if the - argument is null.</p> - - </dd> - - <dt><var title="">imagedata</var> = <var title="">context</var> . <code title="dom-context-2d-getImageData"><a href="#dom-context-2d-getimagedata">getImageData</a></code>(<var title="">sx</var>, <var title="">sy</var>, <var title="">sw</var>, <var title="">sh</var>)</dt> - - <dd> - - <p>Returns an <code><a href="#imagedata">ImageData</a></code> object containing the image - data for the given rectangle of the canvas.</p> - - <p>Throws a <code><a href="infrastructure.html#not_supported_err">NOT_SUPPORTED_ERR</a></code> exception if any of the - arguments are not finite. Throws an <code><a href="infrastructure.html#index_size_err">INDEX_SIZE_ERR</a></code> - exception if the either of the width or height arguments are - zero.</p> - - </dd> - - <dt><var title="">imagedata</var> . <code title="dom-imagedata-width"><a href="#dom-imagedata-width">width</a></code></dt> - <dt><var title="">imagedata</var> . <code title="dom-imagedata-height"><a href="#dom-imagedata-height">height</a></code></dt> - - <dd> - - <p>Returns the actual dimensions of the data in the <code><a href="#imagedata">ImageData</a></code> object, in device pixels.</p> - - </dd> - - <dt><var title="">imagedata</var> . <code title="dom-imagedata-data"><a href="#dom-imagedata-data">data</a></code></dt> - - <dd> - - <p>Returns the one-dimensional array containing the data.</p> - - </dd> - - <dt><var title="">context</var> . <code title="dom-context-2d-putImageData"><a href="#dom-context-2d-putimagedata">putImageData</a></code>(<var title="">imagedata</var>, <var title="">dx</var>, <var title="">dy</var> [, <var title="">dirtyX</var>, <var title="">dirtyY</var>, <var title="">dirtyWidth</var>, <var title="">dirtyHeight</var> ])</dt> - - <dd> - - <p>Paints the data from the given <code><a href="#imagedata">ImageData</a></code> object - onto the canvas. If a dirty rectangle is provided, only the pixels - from that rectangle are painted.</p> - - <p>The <code title="dom-context-2d-globalAlpha"><a href="#dom-context-2d-globalalpha">globalAlpha</a></code> - and <code title="dom-context-2d-globalCompositeOperation"><a href="#dom-context-2d-globalcompositeoperation">globalCompositeOperation</a></code> - attributes, as well as the shadow attributes, are ignored for the - purposes of this method call; pixels in the canvas are replaced - wholesale, with no composition, alpha blending, no shadows, - etc.</p> - - <p>If the first argument isn't an <code><a href="#imagedata">ImageData</a></code> object, - throws a <code><a href="infrastructure.html#type_mismatch_err">TYPE_MISMATCH_ERR</a></code> exception. Throws a - <code><a href="infrastructure.html#not_supported_err">NOT_SUPPORTED_ERR</a></code> exception if any of the other - arguments are not finite.</p> - - </dd> - - </dl><div class="example"> - - <p>The data returned by <code title="dom-context-2d-getImageData"><a href="#dom-context-2d-getimagedata">getImageData()</a></code> is at the - resolution of the canvas backing store, which is likely to not be - one device pixel to each CSS pixel if the display used is a high - resolution display.</p> - - <p>In the following example, the script generates an - <code><a href="#imagedata">ImageData</a></code> object so that it can draw onto it.</p> - - <pre>// canvas is a reference to a <canvas> element -var context = canvas.getContext('2d'); - -// create a blank slate -var data = context.createImageData(canvas.width, canvas.height); - -// create some plasma -FillPlasma(data, 'green'); // green plasma - -// add a cloud to the plasma -AddCloud(data, data.width/2, data.height/2); // put a cloud in the middle - -// paint the plasma+cloud on the canvas -context.putImageData(data, 0, 0); - -// support methods -function FillPlasma(data, color) { ... } -function AddCloud(data, x, y) { ... }</pre> - - </div><div class="example"> - - <p>Here is an example of using <code title="dom-context-2d-getImageData"><a href="#dom-context-2d-getimagedata">getImageData()</a></code> and <code title="dom-context-2d-putImageData"><a href="#dom-context-2d-putimagedata">putImageData()</a></code> to - implement an edge detection filter.</p> - - <pre><!DOCTYPE HTML> -<html> - <head> - <title>Edge detection demo</title> - <script> - var image = new Image(); - function init() { - image.onload = demo; - image.src = "image.jpeg"; - } - function demo() { - var canvas = document.getElementsByTagName('canvas')[0]; - var context = canvas.getContext('2d'); - - // draw the image onto the canvas - context.drawImage(image, 0, 0); - - // get the image data to manipulate - var input = context.getImageData(0, 0, canvas.width, canvas.height); - - // get an empty slate to put the data into - var output = context.createImageData(canvas.width, canvas.height); - - // alias some variables for convenience - // notice that we are using input.width and input.height here - // as they might not be the same as canvas.width and canvas.height - // (in particular, they might be different on high-res displays) - var w = input.width, h = input.height; - var inputData = input.data; - var outputData = output.data; - - // edge detection - for (var y = 1; y < h-1; y += 1) { - for (var x = 1; x < w-1; x += 1) { - for (var c = 0; c < 3; c += 1) { - var i = (y*w + x)*4 + c; - outputData[i] = 127 + -inputData[i - w*4 - 4] - inputData[i - w*4] - inputData[i - w*4 + 4] + - -inputData[i - 4] + 8*inputData[i] - inputData[i + 4] + - -inputData[i + w*4 - 4] - inputData[i + w*4] - inputData[i + w*4 + 4]; - } - outputData[(y*w + x)*4 + 3] = 255; // alpha - } - } - - // put the image data back after manipulation - context.putImageData(output, 0, 0); - } - </script> - </head> - <body onload="init()"> - <canvas></canvas> - </body> -</html></pre> - - </div><h6 id="examples"><span class="secno">4.8.11.1.12 </span>Examples</h6><p><i>This section is non-normative.</i></p><p>Here is an example of a script that uses canvas to draw pretty - glowing lines.</p><pre><canvas width="800" height="450"></canvas> -<script> - - var context = document.getElementsByTagName('canvas')[0].getContext('2d'); - - var lastX = context.canvas.width * Math.random(); - var lastY = context.canvas.height * Math.random(); - var hue = 0; - function line() { - context.save(); - context.translate(context.canvas.width/2, context.canvas.height/2); - context.scale(0.9, 0.9); - context.translate(-context.canvas.width/2, -context.canvas.height/2); - context.beginPath(); - context.lineWidth = 5 + Math.random() * 10; - context.moveTo(lastX, lastY); - lastX = context.canvas.width * Math.random(); - lastY = context.canvas.height * Math.random(); - context.bezierCurveTo(context.canvas.width * Math.random(), - context.canvas.height * Math.random(), - context.canvas.width * Math.random(), - context.canvas.height * Math.random(), - lastX, lastY); - - hue = hue + 10 * Math.random(); - context.strokeStyle = 'hsl(' + hue + ', 50%, 50%)'; - context.shadowColor = 'white'; - context.shadowBlur = 10; - context.stroke(); - context.restore(); - } - setInterval(line, 50); - - function blank() { - context.fillStyle = 'rgba(0,0,0,0.1)'; - context.fillRect(0, 0, context.canvas.width, context.canvas.height); - } - setInterval(blank, 40); - -</script></pre><h4 id="the-map-element"><span class="secno">4.8.12 </span>The <dfn><code>map</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> - <dd>When the element only contains <a href="dom.html#phrasing-content">phrasing content</a>: <a href="dom.html#phrasing-content">phrasing content</a>.</dd> - <dt>Contexts in which this element may be used:</dt> - <dd>Where <a href="dom.html#phrasing-content">phrasing content</a> is expected.</dd> - <dt>Content model:</dt> - <dd><a href="embedded-content-0.html#transparent">Transparent</a>.</dd> - <dt>Content attributes:</dt> - <dd><a href="dom.html#global-attributes">Global attributes</a></dd> - <dd><code title="attr-map-name"><a href="#attr-map-name">name</a></code></dd> - <dt>DOM interface:</dt> - <dd> -<pre class="idl">interface <dfn id="htmlmapelement">HTMLMapElement</dfn> : <a href="dom.html#htmlelement">HTMLElement</a> { - attribute DOMString <a href="#dom-map-name" title="dom-map-name">name</a>; - readonly attribute <a href="infrastructure.html#htmlcollection">HTMLCollection</a> <a href="#dom-map-areas" title="dom-map-areas">areas</a>; - readonly attribute <a href="infrastructure.html#htmlcollection">HTMLCollection</a> <a href="#dom-map-images" title="dom-map-images">images</a>; -};</pre> - </dd> - </dl><p>The <code><a href="#the-map-element">map</a></code> element, in conjunction with any - <code><a href="#the-area-element">area</a></code> element descendants, defines an <a href="#image-map">image - map</a>. The element <a href="#represents">represents</a> its children.</p><p>The <dfn id="attr-map-name" title="attr-map-name"><code>name</code></dfn> attribute - gives the map a name so that it can be referenced. The attribute - must be present and must have a non-empty value with no <a href="#space-character" title="space character">space characters</a>. If the <code title="attr-id"><a href="dom.html#the-id-attribute">id</a></code> attribute is also specified, both - attributes must have the same value.</p><dl class="domintro"><dt><var title="">map</var> . <code title="dom-map-areas"><a href="#dom-map-areas">areas</a></code></dt> - - <dd> - - <p>Returns an <code><a href="infrastructure.html#htmlcollection">HTMLCollection</a></code> of the <code><a href="#the-area-element">area</a></code> elements in the <code><a href="#the-map-element">map</a></code>.</p> - - </dd> - - <dt><var title="">map</var> . <code title="dom-map-images"><a href="#dom-map-images">images</a></code></dt> - - <dd> - - <p>Returns an <code><a href="infrastructure.html#htmlcollection">HTMLCollection</a></code> of the <code><a href="text-level-semantics.html#the-img-element">img</a></code> and <code><a href="text-level-semantics.html#the-object-element">object</a></code> elements that use the <code><a href="#the-map-element">map</a></code>.</p> - - </dd> - - </dl><h4 id="the-area-element"><span class="secno">4.8.13 </span>The <dfn><code>area</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> - <dd><a href="dom.html#phrasing-content">Phrasing content</a>.</dd> - <dt>Contexts in which this element may be used:</dt> - <dd>Where <a href="dom.html#phrasing-content">phrasing content</a> is expected, but only if there is a <code><a href="#the-map-element">map</a></code> element ancestor.</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-area-alt"><a href="#attr-area-alt">alt</a></code></dd> - <dd><code title="attr-area-coords"><a href="#attr-area-coords">coords</a></code></dd> - <dd><code title="attr-area-shape"><a href="#attr-area-shape">shape</a></code></dd> - <dd><code title="attr-hyperlink-href"><a href="history.html#attr-hyperlink-href">href</a></code></dd> - <dd><code title="attr-hyperlink-target"><a href="history.html#attr-hyperlink-target">target</a></code></dd> - <dd><code title="attr-hyperlink-ping"><a href="history.html#ping">ping</a></code></dd> - <dd><code title="attr-hyperlink-rel"><a href="history.html#attr-hyperlink-rel">rel</a></code></dd> - <dd><code title="attr-hyperlink-media"><a href="history.html#attr-hyperlink-media">media</a></code></dd> - <dd><code title="attr-hyperlink-hreflang"><a href="history.html#attr-hyperlink-hreflang">hreflang</a></code></dd> - <dd><code title="attr-hyperlink-type"><a href="history.html#attr-hyperlink-type">type</a></code></dd> - <dt>DOM interface:</dt> - <dd> -<pre class="idl">interface <dfn id="htmlareaelement">HTMLAreaElement</dfn> : <a href="dom.html#htmlelement">HTMLElement</a> { - attribute DOMString <a href="#dom-area-alt" title="dom-area-alt">alt</a>; - attribute DOMString <a href="#dom-area-coords" title="dom-area-coords">coords</a>; - attribute DOMString <a href="#dom-area-shape" title="dom-area-shape">shape</a>; - stringifier attribute DOMString <a href="#dom-area-href" title="dom-area-href">href</a>; - attribute DOMString <a href="#dom-area-target" title="dom-area-target">target</a>; - attribute DOMString <a href="#dom-area-ping" title="dom-area-ping">ping</a>; - attribute DOMString <a href="#dom-area-rel" title="dom-area-rel">rel</a>; - readonly attribute DOMTokenList <a href="#dom-area-rellist" title="dom-area-relList">relList</a>; - attribute DOMString <a href="#dom-area-media" title="dom-area-media">media</a>; - attribute DOMString <a href="#dom-area-hreflang" title="dom-area-hreflang">hreflang</a>; - attribute DOMString <a href="#dom-area-type" title="dom-area-type">type</a>; - - // <a href="infrastructure.html#url-decomposition-idl-attributes">URL decomposition IDL attributes</a> - attribute DOMString <a href="#dom-area-protocol" title="dom-area-protocol">protocol</a>; - attribute DOMString <a href="#dom-area-host" title="dom-area-host">host</a>; - attribute DOMString <a href="#dom-area-hostname" title="dom-area-hostname">hostname</a>; - attribute DOMString <a href="#dom-area-port" title="dom-area-port">port</a>; - attribute DOMString <a href="#dom-area-pathname" title="dom-area-pathname">pathname</a>; - attribute DOMString <a href="#dom-area-search" title="dom-area-search">search</a>; - attribute DOMString <a href="#dom-area-hash" title="dom-area-hash">hash</a>; -};</pre> - </dd> - </dl><p>The <code><a href="#the-area-element">area</a></code> element <a href="#represents">represents</a> either a - hyperlink with some text and a corresponding area on an <a href="#image-map">image - map</a>, or a dead area on an image map.</p><p>If the <code><a href="#the-area-element">area</a></code> element has an <code title="attr-hyperlink-href"><a href="history.html#attr-hyperlink-href">href</a></code> attribute, then the - <code><a href="#the-area-element">area</a></code> element represents a <a href="history.html#hyperlink">hyperlink</a>. In - this case, the <dfn id="attr-area-alt" title="attr-area-alt"><code>alt</code></dfn> - attribute must be present. It specifies the text of the - hyperlink. Its value must be text that, when presented with the - texts specified for the other hyperlinks of the <a href="#image-map">image - map</a>, and with the alternative text of the image, but without - the image itself, provides the user with the same kind of choice as - the hyperlink would when used without its text but with its shape - applied to the image. The <code title="attr-area-alt"><a href="#attr-area-alt">alt</a></code> - attribute may be left blank if there is another <code><a href="#the-area-element">area</a></code> - element in the same <a href="#image-map">image map</a> that points to the same - resource and has a non-blank <code title="attr-area-alt"><a href="#attr-area-alt">alt</a></code> - attribute.</p><p>If the <code><a href="#the-area-element">area</a></code> element has no <code title="attr-hyperlink-href"><a href="history.html#attr-hyperlink-href">href</a></code> attribute, then the area - represented by the element cannot be selected, and the <code title="attr-area-alt"><a href="#attr-area-alt">alt</a></code> attribute must be omitted.</p><p>In both cases, the <code title="attr-area-shape"><a href="#attr-area-shape">shape</a></code> and - <code title="attr-area-coords"><a href="#attr-area-coords">coords</a></code> attributes specify the - area.</p><p>The <dfn id="attr-area-shape" title="attr-area-shape"><code>shape</code></dfn> - attribute is an <a href="infrastructure.html#enumerated-attribute">enumerated attribute</a>. The following - table lists the keywords defined for this attribute. The states - given in the first cell of the rows with keywords give the states to - which those keywords map. </p><table><thead><tr><th>State - </th><th>Keywords - </th></tr></thead><tbody><tr><td rowspan="2"><a href="#attr-area-shape-circle" title="attr-area-shape-circle">Circle state</a> - </td><td><dfn id="attr-area-shape-keyword-circle" title="attr-area-shape-keyword-circle"><code>circle</code></dfn> - </td></tr><tr></tr><tr><td><a href="#attr-area-shape-default" title="attr-area-shape-default">Default state</a> - </td><td><dfn id="attr-area-shape-keyword-default" title="attr-area-shape-keyword-default"><code>default</code></dfn> - </td></tr><tr><td rowspan="2"><a href="#attr-area-shape-poly" title="attr-area-shape-poly">Polygon state</a> - </td><td><dfn id="attr-area-shape-keyword-poly" title="attr-area-shape-keyword-poly"><code>poly</code></dfn> - </td></tr><tr></tr><tr><td rowspan="2"><a href="#attr-area-shape-rect" title="attr-area-shape-rect">Rectangle state</a> - </td><td><dfn id="attr-area-shape-keyword-rect" title="attr-area-shape-keyword-rect"><code>rect</code></dfn> - </td></tr><tr></tr></tbody></table><p>The attribute may be omitted. The <i>missing value default</i> is - the <a href="#attr-area-shape-rect" title="attr-area-shape-rect">rectangle</a> state.</p><p>The <dfn id="attr-area-coords" title="attr-area-coords"><code>coords</code></dfn> - attribute must, if specified, contain a <a href="infrastructure.html#valid-list-of-integers">valid list of - integers</a>. This attribute gives the coordinates for the shape - described by the <code title="attr-area-shape"><a href="#attr-area-shape">shape</a></code> - attribute. </p><!-- v2: It was suggested by John S. Urban that coords should - support percentages as well as pixels, so that one could use the - same image map for images of various sizes. --><p>In the <dfn id="attr-area-shape-circle" title="attr-area-shape-circle">circle state</dfn>, - <code><a href="#the-area-element">area</a></code> elements must have a <code title="attr-area-coords"><a href="#attr-area-coords">coords</a></code> attribute present, with three - integers, the last of which must be non-negative. The first integer - must be the distance in CSS pixels from the left edge of the image - to the center of the circle, the second integer must be the distance - in CSS pixels from the top edge of the image to the center of the - circle, and the third integer must be the radius of the circle, - again in CSS pixels.</p><p>In the <dfn id="attr-area-shape-default" title="attr-area-shape-default">default state</dfn> - state, <code><a href="#the-area-element">area</a></code> elements must not have a <code title="attr-area-coords"><a href="#attr-area-coords">coords</a></code> attribute. (The area is the - whole image.)</p><p>In the <dfn id="attr-area-shape-poly" title="attr-area-shape-poly">polygon state</dfn>, - <code><a href="#the-area-element">area</a></code> elements must have a <code title="attr-area-coords"><a href="#attr-area-coords">coords</a></code> attribute with at least six - integers, and the number of integers must be even. Each pair of - integers must represent a coordinate given as the distances from the - left and the top of the image in CSS pixels respectively, and all - the coordinates together must represent the points of the polygon, - in order.</p><p>In the <dfn id="attr-area-shape-rect" title="attr-area-shape-rect">rectangle state</dfn>, - <code><a href="#the-area-element">area</a></code> elements must have a <code title="attr-area-coords"><a href="#attr-area-coords">coords</a></code> attribute with exactly four - integers, the first of which must be less than the third, and the - second of which must be less than the fourth. The four points must - represent, respectively, the distance from the left edge of the - image to the left side of the rectangle, the distance from the - top edge to the top side, the distance from the left edge to the - right side, and the distance from the top edge to the bottom side, - all in CSS pixels.</p><p>The <code title="attr-hyperlink-target"><a href="history.html#attr-hyperlink-target">target</a></code>, <code title="attr-hyperlink-ping"><a href="history.html#ping">ping</a></code>, <code title="attr-hyperlink-rel"><a href="history.html#attr-hyperlink-rel">rel</a></code>, <code title="attr-hyperlink-media"><a href="history.html#attr-hyperlink-media">media</a></code>, <code title="attr-hyperlink-hreflang"><a href="history.html#attr-hyperlink-hreflang">hreflang</a></code>, and <code title="attr-hyperlink-type"><a href="history.html#attr-hyperlink-type">type</a></code> attributes must be omitted - if the <code title="attr-hyperlink-href"><a href="history.html#attr-hyperlink-href">href</a></code> attribute is - not present.</p><h4 id="image-maps"><span class="secno">4.8.14 </span>Image maps</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><!-- TESTS - http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20html%3E%0A%3Cimg%20src%3D%22http%3A//hixie.ch/resources/images/smallcats%22%20usemap%3D%23a%20onclick%3Dw%28%27img%27%29%3E%0A%3Cmap%20name%3Da%3E%0A%20%3Carea%20onclick%3Dw%28%271%27%29%20coords%3D%270%25%200%25%20100%25%20100%25%27%20href%3Djavascript%3A%3E%0A%3C/map%3E - http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20html%3E%0A%3Cbody%20onfocus%3D%22w%28document.activeElement.tagName%29%22%3E%0A%3Cimg%20src%3D%22http%3A//hixie.ch/resources/images/smallcats%22%20usemap%3D%23a%20onclick%3Dw%28%27img%27%29%20onfocus%3D%22w%28document.activeElement.tagName%29%22%3E%0A%3Cimg%20src%3D%22http%3A//hixie.ch/resources/images/sample%22%20usemap%3D%23a%20onclick%3Dw%28%27img%27%29%20onfocus%3D%22w%28document.activeElement.tagName%29%22%3E%0A%3Cmap%20name%3Da%20onfocus%3D%22w%28document.activeElement.tagName%29%22%3E%0A%20%3Carea%20onclick%3Dw%28%271%27%29%20coords%3D%270%200%2050%2050%27%20href%3Djavascript%3A%20onfocus%3D%22w%28document.activeElement.tagName%29%22%3E%0A%3C/map%3E%0A%3Cscript%3E%0A%20var%20x%20%3D%20document.getElementsByTagName%28%27img%27%29%5B0%5D%3B%0A%20x.parentNode.appendChild%28x%29%3B%0A%20document.getElementsByTagName%28%27area%27%29%5B0%5D.focus%28%29%3B%0A%3C/script%3E - http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20html%3Ex%3Cmap%3E%3Carea%20shape%3Dpolyg%20coords%3D%221%2C2%203%22%3E%3C/map%3E%0A%3Cscript%3Ex%20%3D%20document.getElementsByTagName%28%27area%27%29%5B0%5D%3B%20w%28x.shape%20+%20%27%20%27%20+%20x.coords%29%3C/script%3E - http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20html%3E%0D%0A%3Cp%3E%3Cimg%20src%3D%22http%3A//hixie.ch/resources/images/astrophy/128%22%20usemap%3D%23a%3E%0D%0A%3Cmap%20name%3Da%3E%3Carea%20shape%3Dcirc%20coords%3D%2220%2C20%2C10%25%22%20href%3D%23%3E%3Carea%20shape%3Dcirc%20coords%3D%2220%2C20%2C10%22%20href%3D%23%3E%3C/map%3E%0D%0A%3Cscript%3Edocument.write%28document.getElementsByTagName%28%27area%27%29%5B0%5D.coords%29%3C/script%3E - --><p>An <dfn id="image-map">image map</dfn> allows geometric areas on an image to be - associated with <a href="history.html#hyperlink" title="hyperlink">hyperlinks</a>.</p><p>An image, in the form of an <code><a href="text-level-semantics.html#the-img-element">img</a></code> element or an - <code><a href="text-level-semantics.html#the-object-element">object</a></code> element representing an image, may be associated - with an image map (in the form of a <code><a href="#the-map-element">map</a></code> element) by - specifying a <dfn id="attr-hyperlink-usemap" title="attr-hyperlink-usemap"><code>usemap</code></dfn> attribute on - the <code><a href="text-level-semantics.html#the-img-element">img</a></code> or <code><a href="text-level-semantics.html#the-object-element">object</a></code> element. The <code title="attr-hyperlink-usemap"><a href="#attr-hyperlink-usemap">usemap</a></code> attribute, if specified, - must be a <a href="infrastructure.html#valid-hash-name-reference">valid hash-name reference</a> to a - <code><a href="#the-map-element">map</a></code> element.</p><div class="example"> - - <p>Consider an image that looks as follows:</p> - - <p><img alt="A line with four shapes in it, equally spaced: a red hollow box, a green circle, a blue triangle, and a yellow four-pointed star." src="images/sample-usemap.png"></p> - - <p>If we wanted just the colored areas to be clickable, we could - do it as follows:</p> - - <pre><p> - Please select a shape: - <img src="shapes.png" usemap="#shapes" - alt="Four shapes are available: a red hollow box, a green circle, a blue triangle, and a yellow four-pointed star."> - <map name="shapes"> - <area shape=rect coords="50,50,100,100"> <!-- the hole in the red box --> - <area shape=rect coords="25,25,125,125" href="red.html" alt="Red box."> - <area shape=circle coords="200,75,50" href="green.html" alt="Green circle."> - <area shape=poly coords="325,25,262,125,388,125" href="blue.html" alt="Blue triangle."> - <area shape=poly coords="450,25,435,60,400,75,435,90,450,125,465,90,500,75,465,60" - href="yellow.html" alt="Yellow star."> - </map> -</p></pre> - - </div><h4 id="mathml"><span class="secno">4.8.15 </span>MathML</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <dfn id="math"><code>math</code></dfn> element from the <a href="#mathml-namespace">MathML - namespace</a> falls into the <a href="embedded-content-0.html#embedded-content">embedded content</a>, - <a href="dom.html#phrasing-content">phrasing content</a>, and <a href="dom.html#flow-content">flow content</a> - categories for the purposes of the content models in this - specification.</p><p>The semantics of MathML elements are defined by the MathML - specification and other relevant specifications. <a href="references.html#refsMATHML">[MATHML]</a></p><div class="example"> - - <p>Here is an example of the use of MathML in an HTML document:</p> - - <pre><!DOCTYPE html> -<html> - <head> - <title>The quadratic formula</title> - </head> - <body> - <h1>The quadratic formula</h1> - <p> - <math> - <mi>x</mi> - <mo>=</mo> - <mfrac> - <mrow> - <mo form="prefix">−</mo> <mi>b</mi> - <mo>±</mo> - <msqrt> - <msup> <mi>b</mi> <mn>2</mn> </msup> - <mo>−</mo> - <mn>4</mn> <mo>⁢</mo> <mi>a</mi> <mo>⁢</mo> <mi>c</mi> - </msqrt> - </mrow> - <mrow> - <mn>2</mn> <mo>⁢</mo> <mi>a</mi> - </mrow> - </mfrac> - </math> - </p> - </body> -</html></pre> - - </div><h4 id="svg-0"><span class="secno">4.8.16 </span>SVG</h4><p>The <dfn id="svg"><code>svg</code></dfn> element from the <a href="#svg-namespace">SVG - namespace</a> falls into the <a href="embedded-content-0.html#embedded-content">embedded content</a>, - <a href="dom.html#phrasing-content">phrasing content</a>, and <a href="dom.html#flow-content">flow content</a> - categories for the purposes of the content models in this - specification.</p><p>When the SVG <code>foreignObject</code> element contains elements - from the <a href="#html-namespace-0">HTML namespace</a>, such elements must all be - <a href="dom.html#flow-content">flow content</a>. <a href="references.html#refsSVG">[SVG]</a></p><p>The content model for <code title="">title</code> elements in the - <a href="#svg-namespace">SVG namespace</a> inside <a href="dom.html#html-documents">HTML documents</a> is - <a href="dom.html#phrasing-content">phrasing content</a>. (This further constrains the - requirements given in the SVG specification.)</p><p>The semantics of SVG elements are defined by the SVG - specification and other relevant specifications. <a href="references.html#refsSVG">[SVG]</a></p><!-- The following paragraph is for bug 7510 --><p>The SVG specification includes requirements regarding the - handling of elements in the DOM that are not in the SVG namespace, - that are in SVG fragments, and that are not included in a - <code>foreignObject</code> element. <em>This</em> specification does - not define any processing for elements in SVG fragments that are not - in the HTML namespace; they are considered neither conforming nor - non-conforming from the perspective of this specification.</p><h4 id="dimension-attributes"><span class="secno">4.8.17 </span><dfn>Dimension attributes</dfn></h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>Author requirements<dfn id="attr-dim-width" title="attr-dim-width"><code>width</code></dfn> and <dfn id="attr-dim-height" title="attr-dim-height"><code>height</code></dfn> attributes on - <code><a href="text-level-semantics.html#the-img-element">img</a></code>, <code><a href="text-level-semantics.html#the-iframe-element">iframe</a></code>, <code><a href="text-level-semantics.html#the-embed-element">embed</a></code>, - <code><a href="text-level-semantics.html#the-object-element">object</a></code>, <code><a href="video.html#video">video</a></code>, and, when their <code title="attr-input-type"><a href="forms.html#attr-input-type">type</a></code> attribute is in the <a href="forms.html#image-button-state" title="attr-input-type-image">Image Button</a> state, - <code><a href="forms.html#the-input-element">input</a></code> elements may be specified to give the dimensions - of the visual content of the element (the width and height - respectively, relative to the nominal direction of the output - medium), in CSS pixels. The attributes, if specified, must have - values that are <a href="infrastructure.html#valid-non-negative-integer" title="valid non-negative integer">valid - non-negative integers</a>.</p><p>The specified dimensions given may differ from the dimensions - specified in the resource itself, since the resource may have a - 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> \ No newline at end of file + <dt><var title="">gradient</var> = <var title="">context</var> . <code title="dom-context-2d-createRadialGradient"><a href="#dom-context-2d-createradialgradient">createRadialGradient</a></code>(<var title="">x0</var>, <var title="">y0</var>, <var title="">r0</var>, <var title="">x1</var>, <var title="">y1</var>, <var title="">r1</var>) \ No newline at end of file Index: forms.html =================================================================== RCS file: /sources/public/html5/spec-author-view/forms.html,v retrieving revision 1.302 retrieving revision 1.303 diff -u -d -r1.302 -r1.303 --- forms.html 5 Oct 2009 06:46:54 -0000 1.302 +++ forms.html 5 Oct 2009 09:31:02 -0000 1.303 @@ -211,4416 +211,4 @@ .apple-table-examples.e2 th[scope=row] { padding-left: 1em; } .apple-table-examples sup { line-height: 0; } - </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-ED" rel="stylesheet" type="text/css"><!-- ZZZ ED vs WD --><link href="tabular-data.html" title="4.9 Tabular data" rel="prev"> - <link href="Overview.html#contents" title="Table of contents" rel="index"> - <link href="interactive-elements.html" title="4.11 Interactive elements" 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>HTML5</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> -<p>This is revision 1.3240.</p> [...4388 lines suppressed...] -</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> \ No newline at end of file + </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/Sty \ No newline at end of file Index: editing.html =================================================================== RCS file: /sources/public/html5/spec-author-view/editing.html,v retrieving revision 1.302 retrieving revision 1.303 diff -u -d -r1.302 -r1.303 --- editing.html 5 Oct 2009 06:46:54 -0000 1.302 +++ editing.html 5 Oct 2009 09:31:02 -0000 1.303 @@ -64,1394 +64,4 @@ 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; } [...1366 lines suppressed...] - - - - - - - - - - - - - </dl><!-- -v2 (well, really v0): - "forecolor", "hilitecolor", "fontname", "fontsize", "justifyleft", - "justifycenter", "justifyright", "justifyfull", "indent", "outdent" ---></body></html> \ No newline at end of file + p > span:not([title=""]):not([class="XXX"]):not([class="impl"]), li > span:no \ No newline at end of file Index: video.html =================================================================== RCS file: /sources/public/html5/spec-author-view/video.html,v retrieving revision 1.302 retrieving revision 1.303 diff -u -d -r1.302 -r1.303 --- video.html 5 Oct 2009 06:46:55 -0000 1.302 +++ video.html 5 Oct 2009 09:31:02 -0000 1.303 @@ -211,1089 +211,4 @@ .apple-table-examples.e2 th[scope=row] { padding-left: 1em; } .apple-table-examples sup { line-height: 0; } - </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-ED" rel="stylesheet" type="text/css"><!-- ZZZ ED vs WD --><link href="text-level-semantics.html" title="4.6 Text-level semantics" rel="prev"> - <link href="Overview.html#contents" title="Table of contents" rel="index"> - <link href="the-canvas-element.html" title="4.8.11 The canvas element" 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>HTML5</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> -<p>This is revision 1.3240.</p> [...1061 lines suppressed...] - </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-media-ratechange" title="event-media-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-media-durationchange" title="event-media-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-media-volumechange" title="event-media-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> \ No newline at end of file + </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://w \ No newline at end of file Index: browsers.html =================================================================== RCS file: /sources/public/html5/spec-author-view/browsers.html,v retrieving revision 1.303 retrieving revision 1.304 diff -u -d -r1.303 -r1.304 --- browsers.html 5 Oct 2009 06:46:54 -0000 1.303 +++ browsers.html 5 Oct 2009 09:31:02 -0000 1.304 @@ -211,682 +211,4 @@ .apple-table-examples.e2 th[scope=row] { padding-left: 1em; } .apple-table-examples sup { line-height: 0; } - </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-ED" 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>HTML5</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> -<p>This is revision 1.3240.</p> - </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>A <a href="#browsing-context">browsing context</a> has a <a href="history.html#session-history">session - history</a>, which lists the <code>Document</code> objects that - that <a href="#browsing-context">browsing context</a> has presented, is presenting, or - will present. 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 <a href="#top-level-browsing-context">top-level browsing context</a> 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> IDL - 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 - [Replaceable] readonly attribute <a href="#windowproxy">WindowProxy</a> <a href="#dom-frames" title="dom-frames">frames</a>; - [Replaceable] 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>(in optional DOMString url, in optional DOMString target, in optional DOMString features, in optional 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, in optional 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, in optional any argument<!--, in optional 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-idl-attributes">event handler IDL 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>; -}; -<a href="#window">Window</a> implements <span>EventTarget</span>;</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 toolbar 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><p class="warning">Do not use the <code title="dom-document-domain"><a href="#dom-document-domain">document.domain</a></code> attribute when - using shared hosting. If an untrusted third party is able to host an - HTTP server at the same IP address but on a different port, then the - same-origin protection that normally protects two different sites on - the same host will fail, as the ports are ignored when comparing - origins after the <code title="dom-document-domain"><a href="#dom-document-domain">document.domain</a></code> attribute has - been used.</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-idl-attributes">event handler IDL - 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-handlers">event handlers</dfn> specified. These - act as bubbling event listeners for the object on which they are - specified.</p><p>An <a href="#event-handlers" title="event handlers">event handler</a> can either - have the value null or be set to a <code><a href="#function">Function</a></code> - object. </p><p>Event handlers are exposed in one or two ways.</p><p>The first way, common to all event handlers, is as an <a href="#event-handler-idl-attributes" title="event handler IDL attributes">event handler IDL - 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 is - not changed.</p><!-- 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, in optional 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, in optional 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-yieldForStorageUpdates"><a href="#dom-navigator-yieldforstorageupdates">navigator.yieldForStorageUpdates()</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-yieldForStorageUpdates"><a href="#dom-navigator-yieldforstorageupdates">navigator.yieldForStorageUpdates()</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-yieldForStorageUpdates"><a href="#dom-navigator-yieldforstorageupdates">navigator.yieldForStorageUpdates()</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-yieldForStorageUpdates"><a href="#dom-navigator-yieldforstorageupdates">navigator.yieldForStorageUpdates()</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-yieldForStorageUpdates"><a href="#dom-navigator-yieldforstorageupdates">navigator.yieldForStorageUpdates()</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-yieldforstorageupdates" title="dom-navigator-yieldForStorageUpdates">yieldForStorageUpdates</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-yieldForStorageUpdates"><a href="#dom-navigator-yieldforstorageupdates">yieldForStorageUpdates</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-yieldForStorageUpdates"><a href="#dom-navigator-yieldforstorageupdates">navigator.yieldForStorageUpdates()</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> \ No newline at end of file + </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 \ No newline at end of file Index: syntax.html =================================================================== RCS file: /sources/public/html5/spec-author-view/syntax.html,v retrieving revision 1.303 retrieving revision 1.304 diff -u -d -r1.303 -r1.304 --- syntax.html 5 Oct 2009 06:46:55 -0000 1.303 +++ syntax.html 5 Oct 2009 09:31:02 -0000 1.304 @@ -211,637 +211,4 @@ .apple-table-examples.e2 th[scope=row] { padding-left: 1em; } .apple-table-examples sup { line-height: 0; } - </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-ED" 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>HTML5</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> -<p>This is revision 1.3240.</p> - </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) blocks 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><a href="#about:legacy-compat">about:legacy-compat</a></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>: <a href="#void-elements">void elements</a>, - <a href="#raw-text-elements">raw text elements</a>, <a href="#rcdata-elements">RCDATA elements</a>, - <a href="#foreign-elements">foreign elements</a>, and <a href="#normal-elements">normal elements</a>.</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><dfn id="raw-text-elements">Raw text elements</dfn></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><dfn id="rcdata-elements">RCDATA elements</dfn></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><dfn id="foreign-elements">Foreign elements</dfn></dt> - - <dd>Elements from the <a href="#mathml-namespace">MathML namespace</a> - and the <a href="#svg-namespace">SVG namespace</a>.</dd> - - <dt><dfn id="normal-elements">Normal elements</dfn></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. <a href="#raw-text-elements" title="raw text - elements">Raw text</a>, <a href="#rcdata-elements" title="RCDATA - elements">RCDATA</a>, and <a href="#normal-elements" title="normal - elements">normal</a> 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 - <a href="#normal-elements">normal elements</a> 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 <a href="#void-elements">void elements</a>. <a href="#foreign-elements">Foreign - elements</a> 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><a href="#raw-text-elements">Raw text elements</a> 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><a href="#rcdata-elements">RCDATA elements</a> 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><a href="#foreign-elements">Foreign elements</a> 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). <a href="#foreign-elements">Foreign elements</a> 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><div class="note"> - - <p>The HTML syntax does not support namespace - declarations, even in <a href="#foreign-elements">foreign elements</a>.</p> - - <p>For instance, consider the following HTML fragment:</p> - - <pre><p> - <svg> - <metadata> - <!-- this is invalid --> - <cdr:license xmlns:cdr="http://www.example.com/cdr/metadata" name="MIT"/> - </metadata> - </svg> -</p></pre> - - <p>The innermost element, <code title="">cdr:license</code>, is - actually in the SVG namespace, as the "<code title="">xmlns:cdr</code>" attribute has no effect (unlike in - XML). In fact, as the comment in the fragment above says, the - fragment is actually non-conforming. This is because the SVG - specification does not define any elements called "<code title="">cdr:license</code>" in the SVG namespace.</p> - - </div><p><a href="#normal-elements">Normal elements</a> 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 <a href="#normal-elements">normal elements</a> 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 (0) to U+0039 DIGIT - NINE (9), U+0061 LATIN SMALL LETTER A to U+007A LATIN SMALL LETTER - Z, and U+0041 LATIN CAPITAL LETTER A to U+005A LATIN CAPITAL LETTER - Z. In the HTML syntax, tag names, even those for <a href="#foreign-elements">foreign - elements</a>, 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 <a href="#foreign-elements" title="foreign elements">foreign - element</a>, then there may be a single U+002F SOLIDUS - (<code>/</code>) character. This character has no effect on - <a href="#void-elements">void elements</a>, but on <a href="#foreign-elements">foreign elements</a> 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, even those for - <a href="#foreign-elements">foreign elements</a>, 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, U+003E GREATER-THAN SIGN - (<code>></code>) characters, or U+0060 GRAVE ACCENT (`) - characters, and must not be the empty string.</p> - - <!-- The ` character is in this list on a temporary basis, waiting - for IE to fix it's parsing bug whereby it treats ` as an - attribute value delimiter. Otherwise, escaping software that - tries to be clever and not use quotes when it doesn't need to - could be tricked by an attacker. - - Posit a site that allows the user to input text that is used - verbatim in two attributes, such that the user can set the - first attribute's value to: - - ` - - ...and the second to: - - ` onload='...payload...' end=x - - ...with the assumption that the site is going to not quote - the first one, and quote the second one with double quotes: - - <body title=` class="` onload='...payload...' end=x"> - - In IE, this is treated as: - - <body title=' class="' - onload='...payload...' - end='x"'> - - --> - - - <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 - 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><hr><p>When a <a href="#foreign-elements" title="foreign elements">foreign element</a> has - one of the namespaced attributes given by the local name and - namespace of the first and second cells of a row from the following - table, it must be written using the name given by the third cell - from the same row.</p><table><thead><tr><th> Local name </th><th> Namespace </th><th> Attribute name - </th></tr></thead><tbody><tr><td> <code title="">actuate</code> </td><td> <a href="#xlink-namespace">XLink namespace</a> </td><td> <code title="">xlink:actuate</code> - </td></tr><tr><td> <code title="">arcrole</code> </td><td> <a href="#xlink-namespace">XLink namespace</a> </td><td> <code title="">xlink:arcrole</code> - </td></tr><tr><td> <code title="">href</code> </td><td> <a href="#xlink-namespace">XLink namespace</a> </td><td> <code title="">xlink:href</code> - </td></tr><tr><td> <code title="">role</code> </td><td> <a href="#xlink-namespace">XLink namespace</a> </td><td> <code title="">xlink:role</code> - </td></tr><tr><td> <code title="">show</code> </td><td> <a href="#xlink-namespace">XLink namespace</a> </td><td> <code title="">xlink:show</code> - </td></tr><tr><td> <code title="">title</code> </td><td> <a href="#xlink-namespace">XLink namespace</a> </td><td> <code title="">xlink:title</code> - </td></tr><tr><td> <code title="">type</code> </td><td> <a href="#xlink-namespace">XLink namespace</a> </td><td> <code title="">xlink:type</code> - </td></tr><tr><td> <code title="">base</code> </td><td> <a href="#xml-namespace">XML namespace</a> <!-- attr-xml-base --> </td><td> <code title="">xml:base</code> - </td></tr><tr><td> <code title="">lang</code> </td><td> <a href="#xml-namespace">XML namespace</a> </td><td> <code title="">xml:lang</code> - </td></tr><tr><td> <code title="">space</code> </td><td> <a href="#xml-namespace">XML namespace</a> </td><td> <code title="">xml:space</code> - </td></tr><tr><td> <code title="">xmlns</code> </td><td> <a href="#xmlns-namespace">XMLNS namespace</a> </td><td> <code title="">xmlns</code> - </td></tr><tr><td> <code title="">xlink</code> </td><td> <a href="#xmlns-namespace">XMLNS namespace</a> </td><td> <code title="">xmlns:xlink</code> - </td></tr></tbody></table><p>No other namespaced attribute can be expressed in the <a href="#syntax">the - HTML syntax</a>.</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="obsolete.html#dir">dir</a></code>, - <code><a href="semantics.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 <a href="#syntax-newlines" title="syntax-newlines">newline</a> 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 <a href="#syntax-newlines" title="syntax-newlines">newline</a> - <em>must</em> be included if the element's contents themselves start - with a <a href="#syntax-newlines" title="syntax-newlines">newline</a> (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 <a href="#raw-text-elements" title="raw text elements">raw text</a> and - <a href="#rcdata-elements" title="RCDATA elements">RCDATAs</a> element 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+000D CARRIAGE RETURN (CR), 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 <a href="#raw-text-elements">raw text elements</a> and <a href="#rcdata-elements">RCDATA - elements</a> 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 (noncharacters). 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 - 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 (0) to U+0039 DIGIT NINE (9), representing - a base-ten integer that corresponds to a Unicode code point that is - allowed according to the definition below. The digits must then be - followed by a U+003B SEMICOLON character (;).</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 character (x) or a U+0058 LATIN CAPITAL - LETTER X character (X), which must then be followed by one or more - digits in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), - U+0061 LATIN SMALL LETTER A to U+0066 LATIN SMALL LETTER F, and - U+0041 LATIN CAPITAL LETTER A to U+0046 LATIN CAPITAL LETTER F, - representing a base-sixteen integer that corresponds to a Unicode - code point that is allowed according to the definition below. The - digits must then be followed by a U+003B SEMICOLON character - (;).</dd> - - </dl><p>The numeric character reference forms described above are allowed - to reference any Unicode code point other than U+0000, permanently - undefined Unicode characters (noncharacters), and control characters - other than <a href="#space-character" title="space character">space - characters</a>.</p><p>An <dfn id="syntax-ambiguous-ampersand" title="syntax-ambiguous-ampersand">ambiguous - ampersand</dfn> is a U+0026 AMPERSAND 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 character - (<code>&</code>).</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 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> \ No newline at end of file + </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. \ No newline at end of file Index: semantics.html =================================================================== RCS file: /sources/public/html5/spec-author-view/semantics.html,v retrieving revision 1.302 retrieving revision 1.303 diff -u -d -r1.302 -r1.303 --- semantics.html 5 Oct 2009 06:46:54 -0000 1.302 +++ semantics.html 5 Oct 2009 09:31:02 -0000 1.303 @@ -211,2918 +211,4 @@ .apple-table-examples.e2 th[scope=row] { padding-left: 1em; } .apple-table-examples sup { line-height: 0; } - </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-ED" rel="stylesheet" type="text/css"><!-- ZZZ ED vs WD --><link href="embedded-content-0.html" title="3.2.5.1.6 Embedded content" rel="prev"> - <link href="Overview.html#contents" title="Table of contents" rel="index"> - <link href="text-level-semantics.html" title="4.6 Text-level semantics" 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>HTML5</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> -<p>This is revision 1.3240.</p> [...2890 lines suppressed...] - <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> \ No newline at end of file + </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://ww \ No newline at end of file Index: comms.html =================================================================== RCS file: /sources/public/html5/spec-author-view/comms.html,v retrieving revision 1.302 retrieving revision 1.303 diff -u -d -r1.302 -r1.303 --- comms.html 5 Oct 2009 06:46:54 -0000 1.302 +++ comms.html 5 Oct 2009 09:31:02 -0000 1.303 @@ -1,435 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!DOCTYPE html> -<!-- when publishing, change bits marked ZZZ --><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; } - - .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><style type="text/css"> - - .applies thead th > * { display: block; } - .applies thead code { display: block; } - .applies tbody th { whitespace: nowrap; } - .applies td { text-align: center; } - .applies .yes { background: yellow; } - - .matrix, .matrix td { border: 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; } - - #table-example-1 { border: solid thin; border-collapse: collapse; margin-left: 3em; } - #table-example-1 * { font-family: "Essays1743", serif; line-height: 1.01em; } - #table-example-1 caption { padding-bottom: 0.5em; } - #table-example-1 thead, #table-example-1 tbody { border: none; } - #table-example-1 th, #table-example-1 td { border: solid thin; } - #table-example-1 th { font-weight: normal; } - #table-example-1 td { border-style: none solid; vertical-align: top; } - #table-example-1 th { padding: 0.5em; vertical-align: middle; text-align: center; } - #table-example-1 tbody tr:first-child td { padding-top: 0.5em; } - #table-example-1 tbody tr:last-child td { padding-bottom: 1.5em; } - #table-example-1 tbody td:first-child { padding-left: 2.5em; padding-right: 0; width: 9em; } - #table-example-1 tbody td:first-child::after { content: leader(". "); } - #table-example-1 tbody td { padding-left: 2em; padding-right: 2em; } - #table-example-1 tbody td:first-child + td { width: 10em; } - #table-example-1 tbody td:first-child + td ~ td { width: 2.5em; } - #table-example-1 tbody td:first-child + td + td + td ~ td { width: 1.25em; } - - .apple-table-examples { border: none; border-collapse: separate; border-spacing: 1.5em 0em; width: 40em; margin-left: 3em; } - .apple-table-examples * { font-family: "Times", serif; } - .apple-table-examples td, .apple-table-examples th { border: none; white-space: nowrap; padding-top: 0; padding-bottom: 0; } - .apple-table-examples tbody th:first-child { border-left: none; width: 100%; } - .apple-table-examples thead th:first-child ~ th { font-size: smaller; font-weight: bolder; border-bottom: solid 2px; text-align: center; } - .apple-table-examples tbody th::after, .apple-table-examples tfoot th::after { content: leader(". ") } - .apple-table-examples tbody th, .apple-table-examples tfoot th { font: inherit; text-align: left; } - .apple-table-examples td { text-align: right; vertical-align: top; } - .apple-table-examples.e1 tbody tr:last-child td { border-bottom: solid 1px; } - .apple-table-examples.e1 tbody + tbody tr:last-child td { border-bottom: double 3px; } - .apple-table-examples.e2 th[scope=row] { padding-left: 1em; } - .apple-table-examples sup { line-height: 0; } - - </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-ED" 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>HTML5</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> -<p>This is revision 1.3240.</p> - </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><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. <a href="references.html#refsEVENTSOURCE">[EVENTSOURCE]</a> <a href="references.html#refsWEBSOCKET">[WEBSOCKET]</a></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-5"><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="message-channels"><span class="secno">8.3.1 </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.2 </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, in optional <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 handlers - attribute <a href="#function">Function</a> <a href="#handler-messageport-onmessage" title="handler-MessagePort-onmessage">onmessage</a>; -}; -<a href="#messageport">MessagePort</a> implements <span>EventTarget</span>;</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.2.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> \ No newline at end of file Index: spec.html =================================================================== RCS file: /sources/public/html5/spec-author-view/spec.html,v retrieving revision 1.303 retrieving revision 1.304 diff -u -d -r1.303 -r1.304 --- spec.html 5 Oct 2009 06:46:55 -0000 1.303 +++ spec.html 5 Oct 2009 09:31:02 -0000 1.304 @@ -1,27791 +0,0 @@ -<!DOCTYPE html><!-- when publishing, change bits marked ZZZ --><html lang=en-US-x-Hixie><head><title>HTML5</title><style type=text/css> - pre { margin-left: 2em; white-space: pre-wrap; } - h2 { margin: 3em 0 1em 0; } - h3 { margin: 2.5em 0 1em 0; } - h4 { margin: 2.5em 0 0.75em 0; } - h5, h6 { margin: 2.5em 0 1em; } - h1 + h2, h1 + h2 + h2 { margin: 0.75em 0 0.75em; } - h2 + h3, h3 + h4, h4 + h5, h5 + h6 { margin-top: 0.5em; } - p { margin: 1em 0; } - hr:not(.top) { display: block; background: none; border: none; padding: 0; margin: 2em 0; height: auto; } - dl, dd { margin-top: 0; margin-bottom: 0; } [...27761 lines suppressed...] - 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 * 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 * 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> \ No newline at end of file
Received on Monday, 5 October 2009 09:31:18 UTC