html5/spec-author-view Overview.html,1.610,1.611 acknowledgements.html,1.557,1.558 apis-in-html-documents.html,1.12,1.13 association-of-controls-and-forms.html,1.10,1.11 browsers.html,1.563,1.564 common-input-element-attributes.html,1.13,1.14 common-microsyntaxes.html,1.11,1.12 comms.html,1.559,1.560 content-models.html,1.11,1.12 dnd.html,1.10,1.11 editing.html,1.560,1.561 edits.html,1.10,1.11 elements.html,1.14,1.15 embedded-content-1.html,1.11,1.12 forms.html,1.557,1.558 grouping-content.html,1.11,1.12 history.html,1.559,1.560 iana.html,1.14,1.15 index.html,1.556,1.557 infrastructure.html,1.559,1.560 interactive-elements.html,1.557,1.558 links.html,1.11,1.12 microdata.html,1.559,1.560 named-character-references.html,1.558,1.559 number-state.html,1.11,1.12 obsolete.html,1.556,1.557 offline.html,1.556,1.557 references.html,1.558,1.559 scripting-1.html,1.10,1.11 sections.html,1.11,1.12 spec.html,1.615,1.616 syntax.html,1.559,1.560 the-iframe-element.html,1.11,1.12 the-input-element.html,1.10,1.11 th

Update of /sources/public/html5/spec-author-view
In directory hutz:/tmp/cvs-serv24763

Modified Files:
	Overview.html acknowledgements.html 
	apis-in-html-documents.html 
	association-of-controls-and-forms.html browsers.html 
	common-input-element-attributes.html common-microsyntaxes.html 
	comms.html content-models.html dnd.html editing.html 
	edits.html elements.html embedded-content-1.html forms.html 
	grouping-content.html history.html iana.html index.html 
	infrastructure.html interactive-elements.html links.html 
	microdata.html named-character-references.html 
	number-state.html obsolete.html offline.html references.html 
	scripting-1.html sections.html spec.html syntax.html 
	the-iframe-element.html the-input-element.html 
	the-map-element.html the-xhtml-syntax.html timers.html 
	urls.html video.html 
Log Message:
add another blockquote example and mention that the conversation examples are later. (whatwg r4530)

[updated by splitter]


Index: infrastructure.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/infrastructure.html,v
retrieving revision 1.559
retrieving revision 1.560
diff -u -d -r1.559 -r1.560
--- infrastructure.html	6 Jan 2010 15:38:53 -0000	1.559
+++ infrastructure.html	6 Jan 2010 15:49:34 -0000	1.560
@@ -213,4 +213,219 @@
    .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
\ No newline at end of file
+   .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="data:text/css," id="complete" rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" id="author" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" id="highlight" rel="alternate stylesheet" title="Highlight implementation requirements"><script>
+   function getCookie(name) {
+     var params = location.search.substr(1).split("&");
+     for (var index = 0; index < params.length; index++) {
+       if (params[index] == name)
+         return "1";
+       var data = params[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     var cookies = document.cookie.split("; ");
+     for (var index = 0; index < cookies.length; index++) {
+       var data = cookies[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     return null;
+   }
+   function load(script) {
+     var e = document.createElement('script');
+     e.setAttribute('src', 'http://www.whatwg.org/specs/web-apps/current-work/' + script + '?' + encodeURIComponent(location) + '&' + encodeURIComponent(document.referrer));
+     document.body.appendChild(e);
+   }
+   function init() {
+     if (location.search == '?slow-browser')
+       return;
+     var configUI = document.createElement('div');
+     configUI.id = 'configUI';
+     document.body.appendChild(configUI);
+     // load('reviewer.js'); // would need cross-site XHR
+     if (document.getElementById('head'))
+       load('toc.js');
+     
+     // load('updater.js'); // would need cross-site XHR
+     load('dfn.js');
+     // load('status.js'); // would need cross-site XHR
+     if (getCookie('profile') == '1')
+       document.getElementsByTagName('h2')[0].textContent += '; load: ' + (new Date() - loadTimer) + 'ms';
+     fixBrokenLink();
+   }
+  </script><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><link href="introduction.html" title="1 Introduction" rel="prev">
+  <link href="Overview.html#contents" title="Table of contents" rel="index">
+  <link href="common-microsyntaxes.html" title="2.4 Common microsyntaxes" rel="next">
+  </head><body onload="fixBrokenLink(); init()"><div class="head" id="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 (Author Edition)</h1>
+   </div><div>
+   <a href="introduction.html">&#8592; 1 Introduction</a> &#8211;
+   <a href="Overview.html#contents">Table of contents</a> &#8211;
+   <a href="common-microsyntaxes.html">2.4 Common microsyntaxes &#8594;</a>
+  <ol class="toc"><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></ol></li></ol></div>
+
+  <h2 id="infrastructure"><span class="secno">2 </span>Common infrastructure</h2><h3 id="terminology"><span class="secno">2.1 </span>Terminology</h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>This specification refers to both HTML and XML attributes and IDL
+  attributes, often in the same context. When it is not clear which is
+  being referred to, they are referred to as <dfn title="">content
+  attributes</dfn> for HTML and XML attributes, and <dfn title="">IDL
+  attributes</dfn> for those defined on IDL interfaces. Similarly, the
+  term "properties" is used for both JavaScript object properties and
+  CSS properties. When these are ambiguous they are qualified as <dfn title="">object properties</dfn> and <dfn title="">CSS
+  properties</dfn> respectively.</p><p>Generally, when the specification states that a feature applies
+  to <a href="syntax.html#syntax">the HTML syntax</a> or <a href="the-xhtml-syntax.html#the-xhtml-syntax">the XHTML syntax</a>, it
+  also includes the other. When a feature specifically only applies to
+  one of the two languages, it is called out by explicitly stating
+  that it does not apply to the other format, as in "for HTML,
+  ... (this does not apply to XHTML)".</p><p>This specification uses the term <dfn title="">document</dfn> to
+  refer to any use of HTML, ranging from short static documents to
+  long essays or reports with rich multimedia, as well as to
+  fully-fledged interactive applications.</p><p>For simplicity, terms such as <dfn title="">shown</dfn>, <dfn title="">displayed</dfn>, and <dfn title="">visible</dfn> might
+  sometimes be used when referring to the way a document is rendered
+  to the user. These terms are not meant to imply a visual medium;
+  they must be considered to apply to other media in equivalent
+  ways.</p><p>When an algorithm B says to return to another algorithm A, it
+  implies that A called B. Upon returning to A, the implementation
+  must continue from where it left off in calling B.</p><h4 id="resources"><span class="secno">2.1.1 </span>Resources</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The specification uses the term <dfn title="">supported</dfn>
+  when referring to whether a user agent has an implementation capable
+  of decoding the semantics of an external resource. A format or type
+  is said to be <i>supported</i> if the implementation can process an
+  external resource of that format or type without critical aspects of
+  the resource being ignored. Whether a specific resource is
+  <i>supported</i> can depend on what features of the resource's
+  format are in use.</p><p class="example">For example, a PNG image would be considered to
+  be in a supported format if its pixel data could be decoded and
+  rendered, even if, unbeknownst to the implementation, the image also
+  contained animation data.</p><p class="example">A MPEG4 video file would not be considered to be
+  in a supported format if the compression format used was not
+  supported, even if the implementation could determine the dimensions
+  of the movie from the file's metadata.</p><p>The term <dfn id="mime-type">MIME type</dfn> is used to refer to what is
+  sometimes called an <i>Internet media type</i> in protocol
+  literature. The term <i>media type</i> in this specification is used
+  to refer to the type of media intended for presentation, as used by
+  the CSS specifications. <a href="references.html#refsRFC2046">[RFC2046]</a> <a href="references.html#refsMQ">[MQ]</a></p><p>A string is a <dfn id="valid-mime-type">valid MIME type</dfn> if it matches the <code title="">media-type</code> rule defined in section 3.7 "Media
+  Types" of RFC 2616. <a href="references.html#refsHTTP">[HTTP]</a></p><h4 id="xml"><span class="secno">2.1.2 </span>XML</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p id="html-namespace">To ease migration from HTML to XHTML, UAs
+  conforming to this specification will place elements in HTML in the
+  <code>http://www.w3.org/1999/xhtml</code> namespace, at least for
+  the purposes of the DOM and CSS. The term "<dfn id="html-elements">HTML
+  elements</dfn>", when used in this specification, refers to any
+  element in that namespace, and thus refers to both HTML and XHTML
+  elements.</p><p>Except where otherwise stated, all elements defined or mentioned
+  in this specification are in the
+  <code>http://www.w3.org/1999/xhtml</code> namespace, and all
+  attributes defined or mentioned in this specification have no
+  namespace.</p><p>Attribute names are said to be <dfn id="xml-compatible">XML-compatible</dfn> if they
+  match the <a href="http://www.w3.org/TR/REC-xml/#NT-Name"><code title="">Name</code></a> production defined in XML, they contain no
+  U+003A COLON characters (:), and their first three characters are
+  not an <a href="#ascii-case-insensitive">ASCII case-insensitive</a> match for the string
+  "<code title="">xml</code>". <a href="references.html#refsXML">[XML]</a></p><p>The term <dfn id="xml-mime-type">XML MIME type</dfn> is used to refer to the <a href="#mime-type" title="MIME type">MIME types</a> <code title="">text/xml</code>,
+  <code title="">application/xml</code>, and any <a href="#mime-type">MIME
+  type</a> whose subtype ends with the four characters "<code title="">+xml</code>". <a href="references.html#refsRFC3023">[RFC3023]</a></p><h4 id="dom-trees"><span class="secno">2.1.3 </span>DOM trees</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The term <dfn id="root-element">root element</dfn>, when not explicitly qualified
+  as referring to the document's root element, means the furthest
+  ancestor element node of whatever node is being discussed, or the
+  node itself if it has no ancestors. When the node is a part of the
+  document, then that is indeed the document's root element; however,
+  if the node is not currently part of the document tree, the root
+  element will be an orphaned node.</p><p>A node's <dfn id="home-subtree">home subtree</dfn> is the subtree rooted at that
+  node's <a href="#root-element">root element</a>.</p><p>The <code>Document</code> of a <code>Node</code> (such as an
+  element) is the <code>Document</code> that the <code>Node</code>'s
+  <code title="">ownerDocument</code> IDL attribute returns.</p><p>When an element's <a href="#root-element">root element</a> is the <a href="#root-element">root
+  element</a> of a <code>Document</code>, it is said to be <dfn id="in-a-document">in
+  a <code>Document</code></dfn>. An element is said to have been <dfn id="insert-an-element-into-a-document" title="insert an element into a document">inserted into a
+  document</dfn> when its <a href="#root-element">root element</a> changes and is now
+  the document's <a href="#root-element">root element</a>. Analogously, an element is
+  said to have been <dfn id="remove-an-element-from-a-document" title="remove an element from a
+  document">removed from a document</dfn> when its <a href="#root-element">root
+  element</a> changes from being the document's <a href="#root-element">root
+  element</a> to being another element.</p><p>If a <code>Node</code> is <a href="#in-a-document">in a <code>Document</code></a>
+  then that <code>Document</code> is always the <code>Node</code>'s
+  <code>Document</code>, and the <code>Node</code>'s <code title="">ownerDocument</code> IDL attribute thus always returns that
+  <code>Document</code>.</p><p>The term <dfn id="tree-order">tree order</dfn> means a pre-order, depth-first
+  traversal of DOM nodes involved (through the <code title="">parentNode</code>/<code title="">childNodes</code>
+  relationship).</p><p>When it is stated that some element or attribute is <dfn id="ignore" title="ignore">ignored</dfn>, or treated as some other value, or
+  handled as if it was something else, this refers only to the
+  processing of the node after it is in the DOM. </p><p>The term <dfn id="text-node">text node</dfn> refers to any <code>Text</code>
+  node, including <code>CDATASection</code> nodes; specifically, any
+  <code>Node</code> with node type <code title="">TEXT_NODE</code> (3)
+  or <code title="">CDATA_SECTION_NODE</code> (4). <a href="references.html#refsDOMCORE">[DOMCORE]</a></p><p>A content attribute is said to <dfn title="">change</dfn> value
+  only if its new value is different than its previous value; setting
+  an attribute to a value it already has does not change it.</p><h4 id="scripting-0"><span class="secno">2.1.4 </span>Scripting</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The construction "a <code>Foo</code> object", where
+  <code>Foo</code> is actually an interface, is sometimes used instead
+  of the more accurate "an object implementing the interface
+  <code>Foo</code>".</p><p>An IDL attribute is said to be <dfn title="">getting</dfn> when
+  its value is being retrieved (e.g. by author script), and is said to
+  be <dfn title="">setting</dfn> when a new value is assigned to
+  it.</p><p>If a DOM object is said to be <dfn id="live">live</dfn>, then that means
+  that any attributes returning that object  always return the same object (not a new
+  object each time), and the attributes and methods on that object
+   operate on the actual underlying
+  data, not a snapshot of the data.</p><p>The terms <dfn title="">fire</dfn> and <dfn title="">dispatch</dfn> are used interchangeably in the context of
+  events, as in the DOM Events specifications. The term <dfn id="concept-events-trusted" title="concept-events-trusted">trusted event</dfn> is used as
+  defined by the DOM Events specification. <!--
+  http://krijnhoetmer.nl/irc-logs/webapps/20091218 --> <a href="references.html#refsDOMEVENTS">[DOMEVENTS]</a></p><h4 id="plugins"><span class="secno">2.1.5 </span>Plugins</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The term <dfn id="plugin">plugin</dfn> is used to mean any content handler
+  for Web content types that are either not supported by the user
+  agent natively or that do not expose a DOM, which supports rendering
+  the content as part of the user agent's interface.</p><p>Typically such content handlers are provided by third
+  parties.</p><p class="example">One example of a plugin would be a PDF viewer
+  that is instantiated in a <a href="browsers.html#browsing-context">browsing context</a> when the
+  user navigates to a PDF file. This would count as a plugin
+  regardless of whether the party that implemented the PDF viewer
+  component was the same as that which implemented the user agent
+  itself. However, a PDF viewer application that launches separate
+  from the user agent (as opposed to using the same interface) is not
+  a plugin by this definition.</p><p class="note">This specification does not define a mechanism for
+  interacting with plugins, as it is expected to be user-agent- and
+  platform-specific. Some UAs might opt to support a plugin mechanism
+  such as the Netscape Plugin API; others might use remote content
+  converters or have built-in support for certain types. <a href="references.html#refsNPAPI">[NPAPI]</a></p><p class="warning">Browsers should take extreme care when
+  interacting with external content intended for <a href="#plugin" title="plugin">plugins</a>. When third-party software is run with
+  the same privileges as the user agent itself, vulnerabilities in the
+  third-party software become as dangerous as those in the user
+  agent.</p><h4 id="character-encodings"><span class="secno">2.1.6 </span>Character encodings</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <dfn id="preferred-mime-name">preferred MIME name</dfn> of a character encoding is the
+  name or alias labeled as "preferred MIME name" in the IANA
+  <cite>Character Sets</cite> registry, if there is one, or the
+  encoding's name, if none of the aliases are so labeled. <a href="references.html#refsIANACHARSET">[IANACHARSET]</a></p><p>An <dfn id="ascii-compatible-character-encoding">ASCII-compatible character encoding</dfn> is a
+  single-byte or variable-length encoding in which the bytes 0x09,
+  0x0A, 0x0C, 0x0D, 0x20 - 0x22, 0x26, 0x27, 0x2C - 0x3F, 0x41 - 0x5A,
+  and 0x61 - 0x7A<!-- is that list ok? do any character sets we want
+  to support do things outside that range?  -->, ignoring bytes that
+  are the second and later bytes of multibyte sequences, all
+  correspond to single-byte sequences that map to the same Unicode
+  characters as those bytes in ANSI_X3.4-1968 (US-ASCII). <a href="references.html#refsRFC1345">[RFC1345]</a></p><p class="note">This includes such encodings as Shift_JIS,
+  HZ-GB-2312, and variants of ISO-2022, even though it is possible in
+  these encodings for bytes like 0x70 to be part of longer sequences
+  that are unrelated to their interpretation as ASCII. It excludes
+  such encodings as UTF-7, UTF-16, GSM03.38, and EBCDIC variants.</p><!--
+   We'll have to change that if anyone comes up with a way to have a
+   document that is valid as two different encodings at once, with
+   different <meta charset> elements applying in each case.
+  --><p>The term <dfn title="">Unicode character</dfn> is used to mean a
+  <i title="">Unicode scalar value</i> (i.e. any Unicode code point
+  that is not a surrogate code point). <a href="references.html#refsUNICODE">[UNICODE]</a></p><h3 id="conformance-requirements"><span class="secno">2.2 </span>Conformance requirements</h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>All diagrams, examples, and notes in this specification are
+  non-normative, as are all sections explicitly marked non-normative.
+  Everything else in this specification is normative.</p><p>The key words "MUST", "MUST NOT", "REQUIRED", <!--"SHALL", "SHALL
+  NOT",--> "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and
+  "OPTIONAL" in the normative parts of this document are to be
+  interpreted as described in RFC2119. For readability, these words do
+  not appear in all uppercase letters in this specification. <a href="references.html#refsRFC2119">[RFC2119]</a></p><p>This specification describes the conformance criteria for user agents (relevant to implementors) and (relevant to authors and authoring tool
+  implementors)</p><p>For compatibility with existing content and prior specifications,
+  this specification describes two authoring formats: one based on XML
+  (referred to as <a href="the-xhtml-syntax.html#the-xhtml-syntax">the XHTML syntax</a>), and one using a <a href="syntax.html#writing">custom format</a> inspired by SGML (referred to as
+  <a href="syntax.html#syntax">the HTML syntax</a>). </p><h3 id="case-sensitivity-and-string-comparison"><span class="secno">2.3 </span>Case-sensitivity and string comparison</h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>Comparing two strings in a <dfn id="case-sensitive">case-sensitive</dfn> manner means
+  comparing them exactly, code point for code point.</p><p>Comparing two strings in an <dfn id="ascii-case-insensitive">ASCII case-insensitive</dfn>
+  manner means comparing them exactly, code point for code point, except
+  that the characters in the range U+0041 to U+005A (i.e. LATIN
+  CAPITAL LETTER A to LATIN CAPITAL LETTER Z) and the corresponding
+  characters in the range U+0061 to U+007A (i.e. LATIN SMALL LETTER A
+  to LATIN SMALL LETTER Z) are considered to also match.</p><p>Comparing two strings in a <dfn id="compatibility-caseless">compatibility caseless</dfn>
+  manner means using the Unicode <i>compatibility caseless match</i>
+  operation to compare the two strings. <a href="references.html#refsUNICODE">[UNICODE]</a></p><p>A string <var title="">pattern</var> is a <dfn id="prefix-match">prefix match</dfn>
+  for a string <var title="">s</var> when <var title="">pattern</var>
+  is not longer than <var title="">s</var> and truncating <var title="">s</var> to <var title="">pattern</var>'s length leaves the
+  two strings as matches of each other.</p></body></html>
\ No newline at end of file

Index: scripting-1.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/scripting-1.html,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- scripting-1.html	6 Jan 2010 15:38:53 -0000	1.10
+++ scripting-1.html	6 Jan 2010 15:49:34 -0000	1.11
@@ -213,4 +213,503 @@
    .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.
\ No newline at end of file
+   .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="data:text/css," id="complete" rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" id="author" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" id="highlight" rel="alternate stylesheet" title="Highlight implementation requirements"><script>
+   function getCookie(name) {
+     var params = location.search.substr(1).split("&");
+     for (var index = 0; index < params.length; index++) {
+       if (params[index] == name)
+         return "1";
+       var data = params[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     var cookies = document.cookie.split("; ");
+     for (var index = 0; index < cookies.length; index++) {
+       var data = cookies[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     return null;
+   }
+   function load(script) {
+     var e = document.createElement('script');
+     e.setAttribute('src', 'http://www.whatwg.org/specs/web-apps/current-work/' + script + '?' + encodeURIComponent(location) + '&' + encodeURIComponent(document.referrer));
+     document.body.appendChild(e);
+   }
+   function init() {
+     if (location.search == '?slow-browser')
+       return;
+     var configUI = document.createElement('div');
+     configUI.id = 'configUI';
+     document.body.appendChild(configUI);
+     // load('reviewer.js'); // would need cross-site XHR
+     if (document.getElementById('head'))
+       load('toc.js');
+     
+     // load('updater.js'); // would need cross-site XHR
+     load('dfn.js');
+     // load('status.js'); // would need cross-site XHR
+     if (getCookie('profile') == '1')
+       document.getElementsByTagName('h2')[0].textContent += '; load: ' + (new Date() - loadTimer) + 'ms';
+     fixBrokenLink();
+   }
+  </script><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><link href="semantics.html" title="4 The elements of HTML" rel="prev">
+  <link href="Overview.html#contents" title="Table of contents" rel="index">
+  <link href="sections.html" title="4.4 Sections" rel="next">
+  </head><body onload="fixBrokenLink(); init()"><div class="head" id="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 (Author Edition)</h1>
+   </div><div>
+   <a href="semantics.html">&#8592; 4 The elements of HTML</a> &#8211;
+   <a href="Overview.html#contents">Table of contents</a> &#8211;
+   <a href="sections.html">4.4 Sections &#8594;</a>
+  <ol class="toc"><li><ol><li><a href="scripting-1.html#scripting-1"><span class="secno">4.3 </span>Scripting</a>
+    <ol><li><a href="scripting-1.html#script"><span class="secno">4.3.1 </span>The <code>script</code> element</a>
+      <ol><li><a href="scripting-1.html#scriptingLanguages"><span class="secno">4.3.1.1 </span>Scripting languages</a></li><li><a href="scripting-1.html#restrictions-for-contents-of-script-elements"><span class="secno">4.3.1.2 </span>Restrictions for contents of <code>script</code> elements</a></li><li><a href="scripting-1.html#inline-documentation-for-external-scripts"><span class="secno">4.3.1.3 </span>Inline documentation for external scripts</a></li></ol></li><li><a href="scripting-1.html#the-noscript-element"><span class="secno">4.3.2 </span>The <code>noscript</code> element</a></li></ol></li></ol></li></ol></div>
+
+  <h3 id="scripting-1"><span class="secno">4.3 </span>Scripting</h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>Scripts allow authors to add interactivity to their documents.</p><p>Authors are encouraged to use declarative alternatives to
+  scripting where possible, as declarative mechanisms are often more
+  maintainable, and many users disable scripting.</p><div class="example">
+   <p>For example, instead of using script to show or hide a section
+   to show more details, the <code><a href="interactive-elements.html#the-details-element">details</a></code> element could be
+   used.</p>
+  </div><p>Authors are also encouraged to make their applications degrade
+  gracefully in the absence of scripting support.</p><div class="example">
+   <p>For example, if an author provides a link in a table header to
+   dynamically resort the table, the link could also be made to
+   function without scripts by requesting the sorted table from the
+   server.</p>
+  </div><h4 id="script"><span class="secno">4.3.1 </span>The <dfn><code>script</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="content-models.html#metadata-content">Metadata content</a>.</dd>
+   <dd><a href="content-models.html#flow-content">Flow content</a>.</dd>
+   <dd><a href="content-models.html#phrasing-content">Phrasing content</a>.</dd>
+   <dt>Contexts in which this element may be used:</dt>
+   <dd>Where <a href="content-models.html#metadata-content">metadata content</a> is expected.</dd>
+   <dd>Where <a href="content-models.html#phrasing-content">phrasing content</a> is expected.</dd>
+   <dt>Content model:</dt>
+   <dd>If there is no <code title="attr-script-src"><a href="#attr-script-src">src</a></code>
+   attribute, depends on the value of the <code title="attr-script-type"><a href="#attr-script-type">type</a></code> attribute, but must match
+   <a href="#restrictions-for-contents-of-script-elements">script content restrictions</a>.</dd>
+   <dd>If there <em>is</em> a <code title="attr-script-src"><a href="#attr-script-src">src</a></code>
+   attribute, the element must be either empty or contain only
+   <a href="#inline-documentation-for-external-scripts">script documentation</a> that also matches <a href="#restrictions-for-contents-of-script-elements">script
+   content restrictions</a>.</dd>
+   <dt>Content attributes:</dt>
+   <dd><a href="elements.html#global-attributes">Global attributes</a></dd>
+   <dd><code title="attr-script-src"><a href="#attr-script-src">src</a></code></dd>
+   <dd><code title="attr-script-async"><a href="#attr-script-async">async</a></code></dd>
+   <dd><code title="attr-script-defer"><a href="#attr-script-defer">defer</a></code></dd>
+   <dd><code title="attr-script-type"><a href="#attr-script-type">type</a></code></dd>
+   <dd><code title="attr-script-charset"><a href="#attr-script-charset">charset</a></code></dd>
+   <dt>DOM interface:</dt>
+   <dd>
+<pre class="idl">interface <dfn id="htmlscriptelement">HTMLScriptElement</dfn> : <a href="elements.html#htmlelement">HTMLElement</a> {
+           attribute DOMString <a href="#dom-script-src" title="dom-script-src">src</a>;
+           attribute boolean <a href="#dom-script-async" title="dom-script-async">async</a>;
+           attribute boolean <a href="#dom-script-defer" title="dom-script-defer">defer</a>;
+           attribute DOMString <a href="#dom-script-type" title="dom-script-type">type</a>;
+           attribute DOMString <a href="#dom-script-charset" title="dom-script-charset">charset</a>;
+           attribute DOMString <a href="#dom-script-text" title="dom-script-text">text</a>;
+};</pre>
+   </dd>
+  </dl><p>The <code><a href="#script">script</a></code> element allows authors to include dynamic
+  script and data blocks in their documents. The element does not
+  <a href="#represents" title="represents">represent</a> content for the user.</p><p>When used to include dynamic scripts, the scripts may either be
+  embedded inline or may be imported from an external file using the
+  <code title="attr-script-src"><a href="#attr-script-src">src</a></code> attribute. If the language
+  is not that described by "<code title="">text/javascript</code>",
+  then the <code title="attr-script-type"><a href="#attr-script-type">type</a></code> attribute must
+  be present, as described below.</p><p>When used to include data blocks, the data must be embedded
+  inline, the format of the data must be given using the <code title="attr-script-type"><a href="#attr-script-type">type</a></code> attribute, and the <code title="attr-script-src"><a href="#attr-script-src">src</a></code> attribute must not be
+  specified.</p><p>The <dfn id="attr-script-type" title="attr-script-type"><code>type</code></dfn>
+  attribute gives the language of the script or format of the data. If
+  the attribute is present, its value must be a <a href="infrastructure.html#valid-mime-type">valid MIME
+  type</a>, optionally with parameters. The <code title="">charset</code> parameter must not be specified. (The
+  default, which is used if the attribute is absent, is "<code title="">text/javascript</code>".)</p><p>The <dfn id="attr-script-src" title="attr-script-src"><code>src</code></dfn>
+  attribute, if specified, gives the address of the external script
+  resource to use. The value of the attribute must be a <a href="urls.html#valid-url">valid
+  URL</a> identifying a script resource of the type given by the
+  <code title="attr-script-type"><a href="#attr-script-type">type</a></code> attribute, if the
+  attribute is present, or of the type "<code title="">text/javascript</code>", if the attribute is absent. A
+  resource is a script resource of a given type if that type
+  identifies a scripting language and the resource conforms with the
+  requirements of that language's specification.</p><p>The <dfn id="attr-script-charset" title="attr-script-charset"><code>charset</code></dfn>
+  attribute gives the character encoding of the external script
+  resource. The attribute must not be specified if the <code title="attr-script-src"><a href="#attr-script-src">src</a></code> attribute is not present. If the
+  attribute is set, its value must be a valid character encoding name,
+  must be an <a href="infrastructure.html#ascii-case-insensitive">ASCII case-insensitive</a> match for the
+  <a href="infrastructure.html#preferred-mime-name">preferred MIME name</a> for that encoding, and must match
+  the encoding given in the <code title="">charset</code> parameter of
+  the <a href="#content-type" title="Content-Type">Content-Type metadata</a> of the
+  external file, if any. <a href="references.html#refsIANACHARSET">[IANACHARSET]</a></p><p>The <dfn id="attr-script-async" title="attr-script-async"><code>async</code></dfn> and
+  <dfn id="attr-script-defer" title="attr-script-defer"><code>defer</code></dfn> attributes
+  are <a href="common-microsyntaxes.html#boolean-attribute" title="boolean attribute">boolean attributes</a> that
+  indicate how the script should be executed.</p><p>There are three possible modes that can be selected using these
+  attributes. If the <code title="attr-script-async"><a href="#attr-script-async">async</a></code>
+  attribute is present, then the script will be executed
+  asynchronously, as soon as it is available. If the <code title="attr-script-async"><a href="#attr-script-async">async</a></code> attribute is not present but
+  the <code title="attr-script-defer"><a href="#attr-script-defer">defer</a></code> attribute is
+  present, then the script is executed when the page has finished
+  parsing. If neither attribute is present, then the script is
+  fetched and executed immediately, before the user agent continues
+  parsing the page. The exact processing details for these attributes
+  are described below.</p><p>The <code title="attr-script-defer"><a href="#attr-script-defer">defer</a></code> attribute may be
+  specified even if the <code title="attr-script-async"><a href="#attr-script-async">async</a></code>
+  attribute is specified, to cause legacy Web browsers that only
+  support <code title="attr-script-defer"><a href="#attr-script-defer">defer</a></code> (and not <code title="attr-script-async"><a href="#attr-script-async">async</a></code>) to fall back to the <code title="attr-script-defer"><a href="#attr-script-defer">defer</a></code> behavior instead of the
+  synchronous blocking behavior that is the default.</p><p>If one or both of the <code title="attr-script-defer"><a href="#attr-script-defer">defer</a></code> and <code title="attr-script-async"><a href="#attr-script-async">async</a></code> attributes are specified, the
+  <code title="attr-script-src"><a href="#attr-script-src">src</a></code> attribute must also be
+  specified.</p><p>Changing the <code title="attr-script-src"><a href="#attr-script-src">src</a></code>, <code title="attr-script-type"><a href="#attr-script-type">type</a></code>, <code title="attr-script-charset"><a href="#attr-script-charset">charset</a></code>, <code title="attr-script-async"><a href="#attr-script-async">async</a></code>, and <code title="attr-script-defer"><a href="#attr-script-defer">defer</a></code> attributes dynamically has no
+  direct effect; these attribute are only used  when the element is
+  <a href="infrastructure.html#insert-an-element-into-a-document" title="insert an element into a document">inserted into the
+  document</a>.</p><!-- by implication,
+  changes to the base URL also have no effect --><dl class="domintro"><dt><var title="">script</var> . <code title="dom-script-text"><a href="#dom-script-text">text</a></code> [ = <var title="">value</var> ]</dt>
+
+   <dd>
+
+    <p>Returns the contents of the element, ignoring child nodes that
+    aren't <a href="infrastructure.html#text-node" title="text node">text nodes</a>.</p>
+
+    <p>Can be set, to replace the element's children with the given
+    value.</p>
+
+   </dd>
+
+  </dl><p class="note">When inserted using the <code title="dom-document-write"><a href="#dom-document-write">document.write()</a></code> method,
+  <code><a href="#script">script</a></code> elements execute (typically synchronously), but
+  when inserted using <code title="dom-innerHTML"><a href="apis-in-html-documents.html#dom-innerhtml">innerHTML</a></code> and <code title="dom-outerHTML"><a href="apis-in-html-documents.html#dom-outerhtml">outerHTML</a></code> attributes, they do not
+  execute at all.</p><div class="example">
+
+   <p>In this example, two <code><a href="#script">script</a></code> elements are used. One
+   embeds an external script, and the other includes some data.</p>
+
+   <pre>&lt;script src="game-engine.js"&gt;&lt;/script&gt;
+&lt;script type="text/x-game-map"&gt;
+........U.........e
+o............A....e
+.....A.....AAA....e
+.A..AAA...AAAAA...e
+&lt;/script&gt;</pre>
+
+   <p>The data in this case might be used by the script to generate
+   the map of a video game. The data doesn't have to be used that way,
+   though; maybe the map data is actually embedded in other parts of
+   the page's markup, and the data block here is just used by the
+   site's search engine to help users who are looking for particular
+   features in their game maps.</p>
+
+  </div><div class="example">
+
+   <p>The following sample shows how a script element can be used to
+   define a function that is then used by other parts of the
+   document. It also shows how a <code><a href="#script">script</a></code> element can be
+   used to invoke script while the document is being parsed, in this
+   case to initialize the form's output.</p>
+
+   <pre>&lt;script&gt;
+ function calculate(form) {
+   var price = 52000;
+   if (form.elements.brakes.checked)
+     price += 1000;
+   if (form.elements.radio.checked)
+     price += 2500;
+   if (form.elements.turbo.checked)
+     price += 5000;
+   if (form.elements.sticker.checked)
+     price += 250;
+   form.elements.result.value = price;
+ }
+&lt;/script&gt;
+&lt;form name="pricecalc" onsubmit="return false"&gt;
+ &lt;fieldset&gt;
+  &lt;legend&gt;Work out the price of your car&lt;/legend&gt;
+  &lt;p&gt;Base cost: &#163;52000.&lt;/p&gt;
+  &lt;p&gt;Select additional options:&lt;/p&gt;
+  &lt;ul&gt;
+   &lt;li&gt;&lt;label&gt;&lt;input type=checkbox name=brakes&gt; Ceramic brakes (&#163;1000)&lt;/label&gt;&lt;/li&gt;
+   &lt;li&gt;&lt;label&gt;&lt;input type=checkbox name=radio&gt; Satellite radio (&#163;2500)&lt;/label&gt;&lt;/li&gt;
+   &lt;li&gt;&lt;label&gt;&lt;input type=checkbox name=turbo&gt; Turbo charger (&#163;5000)&lt;/label&gt;&lt;/li&gt;
+   &lt;li&gt;&lt;label&gt;&lt;input type=checkbox name=sticker&gt; "XZ" sticker (&#163;250)&lt;/label&gt;&lt;/li&gt;
+  &lt;/ul&gt;
+  &lt;p&gt;Total: &#163;&lt;output name=result onformchange="calculate(form)"&gt;&lt;/output&gt;&lt;/p&gt;
+ &lt;/fieldset&gt;
+ &lt;script&gt;
+  document.forms.pricecalc.dispatchFormChange();
+ &lt;/script&gt;
+&lt;/form&gt;</pre>
+
+  </div><h5 id="scriptingLanguages"><span class="secno">4.3.1.1 </span>Scripting languages</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The following lists some <a href="infrastructure.html#mime-type">MIME type</a> strings and the
+  languages to which they refer:</p><dl><dt>"<code>application/ecmascript</code>"</dt>
+   <dt>"<code>application/javascript</code>"</dt>
+   <dt>"<code>application/x-ecmascript</code>"</dt>
+   <dt>"<code>application/x-javascript</code>"</dt>
+   <dt>"<code>text/ecmascript</code>"</dt>
+   <dt>"<code>text/javascript</code>"</dt>
+   <dt>"<code>text/javascript1.0</code>"</dt>
+   <dt>"<code>text/javascript1.1</code>"</dt>
+   <dt>"<code>text/javascript1.2</code>"</dt>
+   <dt>"<code>text/javascript1.3</code>"</dt>
+   <dt>"<code>text/javascript1.4</code>"</dt>
+   <dt>"<code>text/javascript1.5</code>"</dt>
+   <dt>"<code>text/jscript</code>"</dt>
+   <dt>"<code>text/livescript</code>"</dt>
+   <dt>"<code>text/x-ecmascript</code>"</dt>
+   <dt>"<code>text/x-javascript</code>"</dt>
+   <dd>JavaScript. <a href="references.html#refsECMA262">[ECMA262]</a></dd>
+
+   <dt>"<code>text/javascript;e4x=1</code>"</dt>
+   <dd>JavaScript with ECMAScript for XML. <a href="references.html#refsECMA357">[ECMA357]</a></dd>
+
+  </dl><h5 id="restrictions-for-contents-of-script-elements"><span class="secno">4.3.1.2 </span><dfn title="script content restrictions">Restrictions for contents of <code>script</code> elements</dfn></h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code>textContent</code> of a <code><a href="#script">script</a></code> element must match the
+  <code title="">script</code> production in the following ABNF, the
+  character set for which is Unicode. <a href="references.html#refsABNF">[ABNF]</a></p><pre>script        = data1 *( escape [ script-start data3 ] "--&gt;" data1 ) [ escape ]
+escape        = "&lt;!--" data2 *( script-start data3 script-end data2 )
+
+data1         = &lt;any string that doesn't contain a substring that matches not-data1&gt;
+not-data1     = <!-- script-end / -->"&lt;!--"             <!-- the script-end is redundant here since it would close the element -->
+
+data2         = &lt;any string that doesn't contain a substring that matches not-data2&gt;
+not-data2     = <!-- script-end / -->script-start / "--&gt;"  <!-- the script-end is redundant here since it would close the element -->
+
+data3         = &lt;any string that doesn't contain a substring that matches not-data3&gt;
+not-data3     = script-end / "--&gt;"
+
+script-start  = lt       s c r i p t tag-end
+script-end    = lt slash s c r i p t tag-end
+
+lt            =  %x003C ; U+003C LESS-THAN SIGN character (&lt;)
+slash         =  %x002F ; U+002F SOLIDUS character (/)
+
+s             =  %x0053 ; U+0053 LATIN CAPITAL LETTER S
+s             =/ %x0073 ; U+0073 LATIN SMALL LETTER S
+c             =  %x0043 ; U+0043 LATIN CAPITAL LETTER C
+c             =/ %x0063 ; U+0063 LATIN SMALL LETTER C
+r             =  %x0052 ; U+0052 LATIN CAPITAL LETTER R
+r             =/ %x0072 ; U+0072 LATIN SMALL LETTER R
+i             =  %x0049 ; U+0049 LATIN CAPITAL LETTER I
+i             =/ %x0069 ; U+0069 LATIN SMALL LETTER I
+p             =  %x0050 ; U+0050 LATIN CAPITAL LETTER P
+p             =/ %x0070 ; U+0070 LATIN SMALL LETTER P
+t             =  %x0054 ; U+0054 LATIN CAPITAL LETTER T
+t             =/ %x0074 ; U+0074 LATIN SMALL LETTER T
+
+tag-end       =  %x0009 ; U+0009 CHARACTER TABULATION
+tag-end       =/ %x000A ; U+000A LINE FEED (LF)
+tag-end       =/ %x000C ; U+000C FORM FEED (FF)
+tag-end       =/ %x0020 ; U+0020 SPACE
+tag-end       =/ %x002F ; U+002F SOLIDUS (/)
+tag-end       =/ %x003E ; U+003E GREATER-THAN SIGN (&gt;)</pre><p>When a <code><a href="#script">script</a></code> element contains <a href="#inline-documentation-for-external-scripts">script
+  documentation</a>, there are further restrictions on the contents
+  of the element, as described in the section below.</p><h5 id="inline-documentation-for-external-scripts"><span class="secno">4.3.1.3 </span><dfn title="script documentation">Inline documentation for external scripts</dfn></h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>If a <code><a href="#script">script</a></code> element's <code title="attr-script-src"><a href="#attr-script-src">src</a></code> attribute is specified, then the
+  contents of the <code><a href="#script">script</a></code> element, if any, must be such
+  that the value of the <code title="dom-script-text"><a href="#dom-script-text">text</a></code> IDL
+  attribute, which is derived from the element's contents, matches the
+  <code title="">documentation</code> production in the following
+  ABNF, the character set for which is Unicode. <a href="references.html#refsABNF">[ABNF]</a></p><pre>documentation = *( *( space / tab / comment ) [ line-comment ] newline )
+comment       = slash star *( not-star / star not-slash ) 1*star slash
+line-comment  = slash slash *not-newline
+
+; characters
+tab           = %x0009 ; U+0009 TAB
+newline       = %x000A ; U+000A LINE FEED (LF)
+space         = %x0020 ; U+0020 SPACE
+star          = %x002A ; U+002A ASTERISK (*)
+slash         = %x002F ; U+002F SOLIDUS (/)
+not-newline   = %x0000-0009 / %x000B-10FFFF
+                ; a Unicode character other than U+000A LINE FEED (LF)
+not-star      = %x0000-0029 / %x002B-10FFFF
+                ; a Unicode character other than U+002A ASTERISK (*)
+not-slash     = %x0000-002E / %x0030-10FFFF
+                ; a Unicode character other than U+002F SOLIDUS (/)</pre><p class="note">This corresponds to putting the contents of the
+  element in JavaScript comments.</p><p class="note">This requirement is in addition to the earlier
+  restrictions on the syntax of contents of <code><a href="#script">script</a></code>
+  elements.</p><div class="example">
+
+   <p>This allows authors to include documentation, such as license
+   information or API information, inside their documents while still
+   referring to external script files. The syntax is constrained so
+   that authors don't accidentally include what looks like valid
+   script while also providing a <code title="attr-script-src"><a href="#attr-script-src">src</a></code> attribute.</p>
+
+   <pre>&lt;script src="cool-effects.js"&gt;
+ // create new instances using:
+ //    var e = new Effect();
+ // start the effect using .play, stop using .stop:
+ //    e.play();
+ //    e.stop();
+&lt;/script&gt;</pre>
+
+  </div><h4 id="the-noscript-element"><span class="secno">4.3.2 </span>The <dfn><code>noscript</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="content-models.html#metadata-content">Metadata content</a>.</dd>
+   <dd><a href="content-models.html#flow-content">Flow content</a>.</dd>
+   <dd><a href="content-models.html#phrasing-content">Phrasing content</a>.</dd>
+   <dt>Contexts in which this element may be used:</dt>
+   <dd>In a <code><a href="semantics.html#the-head-element-0">head</a></code> element of an <a href="dom.html#html-documents" title="HTML documents">HTML document</a>, if there are no ancestor <code><a href="#the-noscript-element">noscript</a></code> elements.</dd>
+   <dd>Where <a href="content-models.html#phrasing-content">phrasing content</a> is expected in <a href="dom.html#html-documents">HTML documents</a>, if there are no ancestor <code><a href="#the-noscript-element">noscript</a></code> elements.</dd>
+   <dt>Content model:</dt>
+   <dd>When <a href="#concept-n-noscript" title="concept-n-noscript">scripting is disabled</a>, in a <code><a href="semantics.html#the-head-element-0">head</a></code> element: in any order, zero or more <code><a href="semantics.html#the-link-element">link</a></code> elements, zero or more <code><a href="semantics.html#the-style-element">style</a></code> elements, and zero or more <code><a href="semantics.html#meta">meta</a></code> elements.</dd>
+   <dd>When <a href="#concept-n-noscript" title="concept-n-noscript">scripting is disabled</a>, not in a <code><a href="semantics.html#the-head-element-0">head</a></code> element: <a href="content-models.html#transparent">transparent</a>, but there must be no <code><a href="#the-noscript-element">noscript</a></code> element descendants.</dd>
+   <dd>Otherwise: text that conforms to the requirements given in the prose.</dd>
+   <dt>Content attributes:</dt>
+   <dd><a href="elements.html#global-attributes">Global attributes</a></dd>
+   <dt>DOM interface:</dt>
+   <dd>Uses <code><a href="elements.html#htmlelement">HTMLElement</a></code>.</dd>
+  </dl><p>The <code><a href="#the-noscript-element">noscript</a></code> element <a href="#represents">represents</a> nothing
+  if <a href="#concept-n-script" title="concept-n-script">scripting is enabled</a>, and
+  <a href="#represents">represents</a> its children if <a href="#concept-n-noscript" title="concept-n-noscript">scripting is disabled</a>. It is used
+  to present different markup to user agents that support scripting
+  and those that don't support scripting, by affecting how the
+  document is parsed.</p><p>When used in <a href="dom.html#html-documents">HTML documents</a>, the allowed content
+  model is as follows:</p><dl><dt>In a <code><a href="semantics.html#the-head-element-0">head</a></code> element, if <a href="#concept-n-noscript" title="concept-n-noscript">scripting is disabled</a> for the
+   <code><a href="#the-noscript-element">noscript</a></code> element</dt>
+
+   <dd><p>The <code><a href="#the-noscript-element">noscript</a></code> element must contain only
+   <code><a href="semantics.html#the-link-element">link</a></code>, <code><a href="semantics.html#the-style-element">style</a></code>, and <code><a href="semantics.html#meta">meta</a></code>
+   elements.</p></dd>
+
+   <dt>In a <code><a href="semantics.html#the-head-element-0">head</a></code> element, if <a href="#concept-n-script" title="concept-n-script">scripting is enabled</a> for the
+   <code><a href="#the-noscript-element">noscript</a></code> element</dt>
+
+   <dd><p>The <code><a href="#the-noscript-element">noscript</a></code> element must contain only text,
+   except that invoking the <a href="#html-fragment-parsing-algorithm">HTML fragment parsing
+   algorithm</a> <!-- (which disables <script> execution) --> with
+   the <code><a href="#the-noscript-element">noscript</a></code> element as the <var title="">context</var> element and the text contents as the <var title="">input</var> must result in a list of nodes that consists
+   only of <code><a href="semantics.html#the-link-element">link</a></code>, <code><a href="semantics.html#the-style-element">style</a></code>, and
+   <code><a href="semantics.html#meta">meta</a></code> elements that would be conforming if they were
+   children of the <code><a href="#the-noscript-element">noscript</a></code> element, and no <a href="#parse-error" title="parse error">parse errors</a>.</p></dd>
+
+   <dt>Outside of <code><a href="semantics.html#the-head-element-0">head</a></code> elements, if <a href="#concept-n-noscript" title="concept-n-noscript">scripting is disabled</a> for the
+   <code><a href="#the-noscript-element">noscript</a></code> element</dt>
+
+   <dd><p>The <code><a href="#the-noscript-element">noscript</a></code> element's content model is
+   <a href="content-models.html#transparent">transparent</a>, with the additional restriction that a
+   <code><a href="#the-noscript-element">noscript</a></code> element must not have a <code><a href="#the-noscript-element">noscript</a></code>
+   element as an ancestor (that is, <code><a href="#the-noscript-element">noscript</a></code> can't be
+   nested).</p></dd>
+
+   <dt>Outside of <code><a href="semantics.html#the-head-element-0">head</a></code> elements, if <a href="#concept-n-script" title="concept-n-script">scripting is enabled</a> for the
+   <code><a href="#the-noscript-element">noscript</a></code> element</dt>
+
+   <dd>
+
+    <p>The <code><a href="#the-noscript-element">noscript</a></code> element must contain only text,
+    except that the text must be such that running the following
+    algorithm results in a conforming document with no
+    <code><a href="#the-noscript-element">noscript</a></code> elements and no <code><a href="#script">script</a></code>
+    elements, and such that no step in the algorithm causes an
+    <a href="#html-parser">HTML parser</a> to flag a <a href="#parse-error">parse error</a>:</p>
+
+    <ol><li>Remove every <code><a href="#script">script</a></code> element from the
+     document.</li>
+
+     <li>Make a list of every <code><a href="#the-noscript-element">noscript</a></code> element in the
+     document. For every <code><a href="#the-noscript-element">noscript</a></code> element in that list,
+     perform the following steps:
+
+      <ol><li>Let the <var title="">parent element</var> be the parent
+       element of the <code><a href="#the-noscript-element">noscript</a></code> element.</li>
+
+       <li>Take all the children of the <var title="">parent element</var>
+       that come before the <code><a href="#the-noscript-element">noscript</a></code> element, and call these
+       elements <var title="">the before children</var>.</li>
+
+       <li>Take all the children of the <var title="">parent element</var>
+       that come <em>after</em> the <code><a href="#the-noscript-element">noscript</a></code> element, and
+       call these elements <var title="">the after children</var>.</li>
+
+       <li>Let <var title="">s</var> be the concatenation of all the
+       <a href="infrastructure.html#text-node">text node</a> children of the <code><a href="#the-noscript-element">noscript</a></code>
+       element.</li>
+
+       <li>Set the <code title="dom-innerHTML"><a href="apis-in-html-documents.html#dom-innerhtml">innerHTML</a></code>
+       attribute of the <var title="">parent element</var> to the value
+       of <var title="">s</var>. (This, as a side-effect, causes the
+       <code><a href="#the-noscript-element">noscript</a></code> element to be removed from the
+       document.)</li>
+
+       <li>Insert <var title="">the before children</var> at the start of
+       the <var title="">parent element</var>, preserving their original
+       relative order.</li>
+
+       <li>Insert <var title="">the after children</var> at the end of the
+       <var title="">parent element</var>, preserving their original
+       relative order.</li>
+
+      </ol></li>
+
+    </ol></dd>
+
+  </dl><p class="note">All these contortions are required because, for
+  historical reasons, the <code><a href="#the-noscript-element">noscript</a></code> element is handled
+  differently by the <a href="#html-parser">HTML parser</a> based on whether <a href="#scripting-flag" title="scripting flag">scripting was enabled or not</a> when the
+  parser was invoked.</p><p>The <code><a href="#the-noscript-element">noscript</a></code> element must not be used in <a href="dom.html#xml-documents">XML
+  documents</a>.</p><p class="note"><strong>The <code><a href="#the-noscript-element">noscript</a></code> element is only
+  effective in <a href="syntax.html#syntax">the HTML syntax</a>, it has no effect in
+  <a href="the-xhtml-syntax.html#the-xhtml-syntax">the XHTML syntax</a>.</strong></p><div class="example">
+
+   <p>In the following example, a <code><a href="#the-noscript-element">noscript</a></code> element is
+   used to provide fallback for a script.</p>
+
+   <pre>&lt;form action="calcSquare.php"&gt;
+ &lt;p&gt;
+  &lt;label for=x&gt;Number&lt;/label&gt;:
+  &lt;input id="x" name="x" type="number"&gt;
+ &lt;/p&gt;
+ &lt;script&gt;
+  var x = document.getElementById('x');
+  var output = document.createElement('p');
+  output.textContent = 'Type a number; it will be squared right then!';
+  x.form.appendChild(output);
+  x.form.onsubmit = function () { return false; }
+  x.oninput = function () {
+    var v = x.valueAsNumber;
+    output.textContent = v + ' squared is ' + v * v;
+  };
+ &lt;/script&gt;
+ &lt;noscript&gt;
+  &lt;input type=submit value="Calculate Square"&gt;
+ &lt;/noscript&gt;
+&lt;/form&gt;</pre>
+
+   <p>When script is disabled, a button appears to do the calculation
+   on the server side. When script is enabled, the value is computed
+   on-the-fly instead.</p>
+
+   <p>The <code><a href="#the-noscript-element">noscript</a></code> element is a blunt
+   instrument. Sometimes, scripts might be enabled, but for some
+   reason the page's script might fail. For this reason, it's
+   generally better to avoid using <code><a href="#the-noscript-element">noscript</a></code>, and to
+   instead design the script to change the page from being a
+   scriptless page to a scripted page on the fly, as in the next
+   example:</p>
+
+   <pre>&lt;form action="calcSquare.php"&gt;
+ &lt;p&gt;
+  &lt;label for=x&gt;Number&lt;/label&gt;:
+  &lt;input id="x" name="x" type="number"&gt;
+ &lt;/p&gt;
+ <strong>&lt;input id="submit" type=submit value="Calculate Square"&gt;</strong>
+ &lt;script&gt;
+  var x = document.getElementById('x');
+  var output = document.createElement('p');
+  output.textContent = 'Type a number; it will be squared right then!';
+  x.form.appendChild(output);
+  x.form.onsubmit = function () { return false; }
+  x.oninput = function () {
+    var v = x.valueAsNumber;
+    output.textContent = v + ' squared is ' + v * v;
+  };
+<strong>  var submit = document.getElementById('submit');
+  submit.parentNode.removeChild(submit);</strong>
+ &lt;/script&gt;
+&lt;/form&gt;</pre>
+
+   <p>The above technique is also useful in XHTML, since
+   <code><a href="#the-noscript-element">noscript</a></code> is not supported in <a href="the-xhtml-syntax.html#the-xhtml-syntax">the XHTML
+   syntax</a>.</p>
+
+  </div></body></html>
\ No newline at end of file

Index: the-map-element.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/the-map-element.html,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- the-map-element.html	6 Jan 2010 15:38:54 -0000	1.8
+++ the-map-element.html	6 Jan 2010 15:49:35 -0000	1.9
@@ -213,4 +213,331 @@
    .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-
\ No newline at end of file
+   .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="data:text/css," id="complete" rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" id="author" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" id="highlight" rel="alternate stylesheet" title="Highlight implementation requirements"><script>
+   function getCookie(name) {
+     var params = location.search.substr(1).split("&");
+     for (var index = 0; index < params.length; index++) {
+       if (params[index] == name)
+         return "1";
+       var data = params[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     var cookies = document.cookie.split("; ");
+     for (var index = 0; index < cookies.length; index++) {
+       var data = cookies[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     return null;
+   }
+   function load(script) {
+     var e = document.createElement('script');
+     e.setAttribute('src', 'http://www.whatwg.org/specs/web-apps/current-work/' + script + '?' + encodeURIComponent(location) + '&' + encodeURIComponent(document.referrer));
+     document.body.appendChild(e);
+   }
+   function init() {
+     if (location.search == '?slow-browser')
+       return;
+     var configUI = document.createElement('div');
+     configUI.id = 'configUI';
+     document.body.appendChild(configUI);
+     // load('reviewer.js'); // would need cross-site XHR
+     if (document.getElementById('head'))
+       load('toc.js');
+     
+     // load('updater.js'); // would need cross-site XHR
+     load('dfn.js');
+     // load('status.js'); // would need cross-site XHR
+     if (getCookie('profile') == '1')
+       document.getElementsByTagName('h2')[0].textContent += '; load: ' + (new Date() - loadTimer) + 'ms';
+     fixBrokenLink();
+   }
+  </script><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><link href="the-canvas-element.html" title="4.8.11 The canvas element" rel="prev">
+  <link href="Overview.html#contents" title="Table of contents" rel="index">
+  <link href="tabular-data.html" title="4.9 Tabular data" rel="next">
+  </head><body onload="fixBrokenLink(); init()"><div class="head" id="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 (Author Edition)</h1>
+   </div><div>
+   <a href="the-canvas-element.html">&#8592; 4.8.11 The canvas element</a> &#8211;
+   <a href="Overview.html#contents">Table of contents</a> &#8211;
+   <a href="tabular-data.html">4.9 Tabular data &#8594;</a>
+  <ol class="toc"><li><ol><li><ol><li><a href="the-map-element.html#the-map-element"><span class="secno">4.8.12 </span>The <code>map</code> element</a></li><li><a href="the-map-element.html#the-area-element"><span class="secno">4.8.13 </span>The <code>area</code> element</a></li><li><a href="the-map-element.html#image-maps"><span class="secno">4.8.14 </span>Image maps</a></li><li><a href="the-map-element.html#mathml"><span class="secno">4.8.15 </span>MathML</a></li><li><a href="the-map-element.html#svg-0"><span class="secno">4.8.16 </span>SVG</a></li><li><a href="the-map-element.html#dimension-attributes"><span class="secno">4.8.17 </span>Dimension attributes</a></li></ol></li></ol></li></ol></div>
+
+  <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="content-models.html#flow-content">Flow content</a>.</dd>
+   <dd>When the element only contains <a href="content-models.html#phrasing-content">phrasing content</a>: <a href="content-models.html#phrasing-content">phrasing content</a>.</dd>
+   <dt>Contexts in which this element may be used:</dt>
+   <dd>Where <a href="content-models.html#phrasing-content">phrasing content</a> is expected.</dd>
+   <dt>Content model:</dt>
+   <dd><a href="content-models.html#transparent">Transparent</a>.</dd>
+   <dt>Content attributes:</dt>
+   <dd><a href="elements.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="elements.html#htmlelement">HTMLElement</a> {
+           attribute DOMString <a href="#dom-map-name" title="dom-map-name">name</a>;
+  readonly attribute <a href="urls.html#htmlcollection">HTMLCollection</a> <a href="#dom-map-areas" title="dom-map-areas">areas</a>;
+  readonly attribute <a href="urls.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>. The value of the
+  <code title="attr-map-name"><a href="#attr-map-name">name</a></code> attribute must not be a
+  <a href="infrastructure.html#compatibility-caseless" title="compatibility caseless">compatibility-caseless</a>
+  match for the value of the <code title="attr-map-name"><a href="#attr-map-name">name</a></code>
+  attribute of another <code><a href="#the-map-element">map</a></code> element in the same
+  document. If the <code title="attr-id"><a href="elements.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="urls.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="urls.html#htmlcollection">HTMLCollection</a></code> of the <code><a href="embedded-content-1.html#the-img-element">img</a></code> and <code><a href="the-iframe-element.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="content-models.html#flow-content">Flow content</a>.</dd>
+   <dd><a href="content-models.html#phrasing-content">Phrasing content</a>.</dd>
+   <dt>Contexts in which this element may be used:</dt>
+   <dd>Where <a href="content-models.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="elements.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="links.html#attr-hyperlink-href">href</a></code></dd>
+   <dd><code title="attr-hyperlink-target"><a href="links.html#attr-hyperlink-target">target</a></code></dd>
+   <dd><code title="attr-hyperlink-ping"><a href="links.html#ping">ping</a></code></dd>
+   <dd><code title="attr-hyperlink-rel"><a href="links.html#attr-hyperlink-rel">rel</a></code></dd>
+   <dd><code title="attr-hyperlink-media"><a href="links.html#attr-hyperlink-media">media</a></code></dd>
+   <dd><code title="attr-hyperlink-hreflang"><a href="links.html#attr-hyperlink-hreflang">hreflang</a></code></dd>
+   <dd><code title="attr-hyperlink-type"><a href="links.html#attr-hyperlink-type">type</a></code></dd>
+   <dt>DOM interface:</dt>
+   <dd>
+<pre class="idl">interface <dfn id="htmlareaelement">HTMLAreaElement</dfn> : <a href="elements.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="urls.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="links.html#attr-hyperlink-href">href</a></code> attribute, then the
+  <code><a href="#the-area-element">area</a></code> element represents a <a href="links.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="links.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="common-microsyntaxes.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="common-microsyntaxes.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="links.html#attr-hyperlink-target">target</a></code>, <code title="attr-hyperlink-ping"><a href="links.html#ping">ping</a></code>, <code title="attr-hyperlink-rel"><a href="links.html#attr-hyperlink-rel">rel</a></code>, <code title="attr-hyperlink-media"><a href="links.html#attr-hyperlink-media">media</a></code>, <code title="attr-hyperlink-hreflang"><a href="links.html#attr-hyperlink-hreflang">hreflang</a></code>, and <code title="attr-hyperlink-type"><a href="links.html#attr-hyperlink-type">type</a></code> attributes must be omitted
+  if the <code title="attr-hyperlink-href"><a href="links.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="links.html#hyperlink" title="hyperlink">hyperlinks</a>.</p><p>An image, in the form of an <code><a href="embedded-content-1.html#the-img-element">img</a></code> element or an
+  <code><a href="the-iframe-element.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="embedded-content-1.html#the-img-element">img</a></code> or <code><a href="the-iframe-element.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="common-microsyntaxes.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>&lt;p&gt;
+ Please select a shape:
+ &lt;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."&gt;
+ &lt;map name="shapes"&gt;
+  &lt;area shape=rect coords="50,50,100,100"&gt; &lt;!-- the hole in the red box --&gt;
+  &lt;area shape=rect coords="25,25,125,125" href="red.html" alt="Red box."&gt;
+  &lt;area shape=circle coords="200,75,50" href="green.html" alt="Green circle."&gt;
+  &lt;area shape=poly coords="325,25,262,125,388,125" href="blue.html" alt="Blue triangle."&gt;
+  &lt;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."&gt;
+ &lt;/map&gt;
+&lt;/p&gt;</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="content-models.html#embedded-content">embedded content</a>,
+  <a href="content-models.html#phrasing-content">phrasing content</a>, and <a href="content-models.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>&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+ &lt;head&gt;
+  &lt;title&gt;The quadratic formula&lt;/title&gt;
+ &lt;/head&gt;
+ &lt;body&gt;
+  &lt;h1&gt;The quadratic formula&lt;/h1&gt;
+  &lt;p&gt;
+   &lt;math&gt;
+    &lt;mi&gt;x&lt;/mi&gt;
+    &lt;mo&gt;=&lt;/mo&gt;
+    &lt;mfrac&gt;
+     &lt;mrow&gt;
+      &lt;mo form="prefix"&gt;&#8722;&lt;/mo&gt; &lt;mi&gt;b&lt;/mi&gt;
+      &lt;mo&gt;&#177;&lt;/mo&gt;
+      &lt;msqrt&gt;
+       &lt;msup&gt; &lt;mi&gt;b&lt;/mi&gt; &lt;mn&gt;2&lt;/mn&gt; &lt;/msup&gt;
+       &lt;mo&gt;&#8722;&lt;/mo&gt;
+       &lt;mn&gt;4&lt;/mn&gt; &lt;mo&gt;&#8290;&lt;/mo&gt; &lt;mi&gt;a&lt;/mi&gt; &lt;mo&gt;&#8290;&lt;/mo&gt; &lt;mi&gt;c&lt;/mi&gt;
+      &lt;/msqrt&gt;
+     &lt;/mrow&gt;
+     &lt;mrow&gt;
+      &lt;mn&gt;2&lt;/mn&gt; &lt;mo&gt;&#8290;&lt;/mo&gt; &lt;mi&gt;a&lt;/mi&gt;
+     &lt;/mrow&gt;
+    &lt;/mfrac&gt;
+   &lt;/math&gt;
+  &lt;/p&gt;
+ &lt;/body&gt;
+&lt;/html&gt;</pre>
+
+  </div><h4 id="svg-0"><span class="secno">4.8.16 </span>SVG</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <dfn id="svg"><code>svg</code></dfn> element from the <a href="#svg-namespace">SVG
+  namespace</a> falls into the <a href="content-models.html#embedded-content">embedded content</a>,
+  <a href="content-models.html#phrasing-content">phrasing content</a>, and <a href="content-models.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="content-models.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="content-models.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><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="embedded-content-1.html#the-img-element">img</a></code>, <code><a href="the-iframe-element.html#the-iframe-element">iframe</a></code>, <code><a href="the-iframe-element.html#the-embed-element">embed</a></code>,
+  <code><a href="the-iframe-element.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="the-input-element.html#attr-input-type">type</a></code> attribute is in the <a href="number-state.html#image-button-state" title="attr-input-type-image">Image Button</a> state,
+  <code><a href="the-input-element.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="common-microsyntaxes.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 &#8804;
+             <var title="">specified height</var> * <var title="">target ratio</var> &#8804;
+             <var title="">specified width</var> + 0.5</span></li>
+
+   <li><span title=""><var title="">specified height</var> - 0.5 &#8804;
+             <var title="">specified width</var> / <var title="">target ratio</var> &#8804;
+             <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

Index: the-iframe-element.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/the-iframe-element.html,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- the-iframe-element.html	6 Jan 2010 15:38:54 -0000	1.11
+++ the-iframe-element.html	6 Jan 2010 15:49:35 -0000	1.12
@@ -0,0 +1,646 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<!DOCTYPE html>
+<!-- when publishing, change bits marked ZZZ --><html lang="en-US-x-Hixie" class="split chapter"><head><title>4.8.3 The iframe element &#8212; HTML5 (Author Edition)</title><script src="link-fixup.js"></script><link href="whatwg.css" rel="stylesheet"><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 tbody th { text-align: left; }
+   table td, table th { border-left: solid; border-right: solid; border-bottom: solid thin; vertical-align: top; padding: 0.2em; }
+   blockquote { margin: 0 0 0 2em; border: 0; padding: 0; font-style: italic; }
+
+   .bad, .bad *:not(.XXX) { color: gray; border-color: gray; background: transparent; }
+   .matrix, .matrix td { border: none; text-align: right; }
+   .matrix { margin-left: 2em; }
+   .dice-example { border-collapse: collapse; border-style: hidden solid solid hidden; border-width: thin; margin-left: 3em; }
+   .dice-example caption { width: 30em; font-size: smaller; font-style: italic; padding: 0.75em 0; text-align: left; }
+   .dice-example td, .dice-example th { border: solid thin; width: 1.35em; height: 1.05em; text-align: center; padding: 0; }
+
+   .toc dfn, h1 dfn, h2 dfn, h3 dfn, h4 dfn, h5 dfn, h6 dfn { font: inherit; }
+   img.extra { float: right; }
+   pre.idl { border: solid thin; background: #EEEEEE; color: black; padding: 0.5em 1em; }
+   pre.idl :link, pre.idl :visited { color: inherit; background: transparent; }
+   pre.css { border: solid thin; background: #FFFFEE; color: black; padding: 0.5em 1em; }
+   pre.css:first-line { color: #AAAA50; }
+   dl.domintro { color: green; margin: 2em 0 2em 2em; padding: 0.5em 1em; border: none; background: #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; }
+   div.head p.copyright, div.head p.alt { font-size: x-small; font-style: oblique; margin: 0; }
+
+   body > .toc > li { margin-top: 1em; margin-bottom: 1em; }
+   body > .toc.brief > li { margin-top: 0.35em; margin-bottom: 0.35em; }
+   body > .toc > li > * { margin-bottom: 0.5em; }
+   body > .toc > li > * > li > * { margin-bottom: 0.25em; }
+   .toc, .toc li { list-style: none; }
+
+   .brief { margin-top: 1em; margin-bottom: 1em; line-height: 1.1; }
+   .brief li { margin: 0; padding: 0; }
+   .brief li p { margin: 0; padding: 0; }
+
+   .category-list { margin-top: -0.75em; margin-bottom: 1em; line-height: 1.5; }
+   .category-list::before { content: '\21D2\A0'; font-size: 1.2em; font-weight: 900; }
+   .category-list li { display: inline; }
+   .category-list li:not(:last-child)::after { content: ', '; }
+   .category-list li > span, .category-list li > a { text-transform: lowercase; }
+   .category-list li * { text-transform: none; } /* don't affect <code> nested in <a> */
+
+   .XXX { color: #E50000; background: white; border: solid red; padding: 0.5em; margin: 1em 0; }
+   .XXX > :first-child { margin-top: 0; }
+   p .XXX { line-height: 3em; }
+   .annotation { border: solid thin black; background: #0C479D; color: white; position: relative; margin: 8px 0 20px 0; }
+   .annotation:before { position: absolute; left: 0; top: 0; width: 100%; height: 100%; margin: 6px -6px -6px 6px; background: #333333; z-index: -1; content: ''; }
+   .annotation :link, .annotation :visited { color: inherit; }
+   .annotation :link:hover, .annotation :visited:hover { background: transparent; }
+   .annotation span { border: none ! important; }
+   .note { color: green; background: transparent; font-family: sans-serif; }
+   .warning { color: red; background: transparent; }
+   .note, .warning { font-weight: bolder; font-style: italic; }
+   p.note, div.note { padding: 0.5em 2em; }
+   span.note { padding: 0 2em; }
+   .note p:first-child, .warning p:first-child { margin-top: 0; }
+   .note p:last-child, .warning p:last-child { margin-bottom: 0; }
+   .warning:before { font-style: normal; }
+   p.note:before { content: 'Note: '; }
+   p.warning:before { content: '\26A0 Warning! '; }
+
+   .bookkeeping:before { display: block; content: 'Bookkeeping details'; font-weight: bolder; font-style: italic; }
+   .bookkeeping { font-size: 0.8em; margin: 2em 0; }
+   .bookkeeping p { margin: 0.5em 2em; display: list-item; list-style: square; }
+
+   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; }
+
+   #configUI { position: absolute; z-index: 20; top: 10em; right: 1em; width: 11em; font-size: small; }
+   #configUI p { margin: 0.5em 0; padding: 0.3em; background: #EEEEEE; color: black; border: inset thin; }
+   #configUI p label { display: block; }
+   #configUI #updateUI, #configUI .loginUI { text-align: center; }
+   #configUI input[type=button] { display: block; margin: auto; }
+  </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="data:text/css," id="complete" rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" id="author" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" id="highlight" rel="alternate stylesheet" title="Highlight implementation requirements"><script>
+   function getCookie(name) {
+     var params = location.search.substr(1).split("&");
+     for (var index = 0; index < params.length; index++) {
+       if (params[index] == name)
+         return "1";
+       var data = params[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     var cookies = document.cookie.split("; ");
+     for (var index = 0; index < cookies.length; index++) {
+       var data = cookies[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     return null;
+   }
+   function load(script) {
+     var e = document.createElement('script');
+     e.setAttribute('src', 'http://www.whatwg.org/specs/web-apps/current-work/' + script + '?' + encodeURIComponent(location) + '&' + encodeURIComponent(document.referrer));
+     document.body.appendChild(e);
+   }
+   function init() {
+     if (location.search == '?slow-browser')
+       return;
+     var configUI = document.createElement('div');
+     configUI.id = 'configUI';
+     document.body.appendChild(configUI);
+     // load('reviewer.js'); // would need cross-site XHR
+     if (document.getElementById('head'))
+       load('toc.js');
+     
+     // load('updater.js'); // would need cross-site XHR
+     load('dfn.js');
+     // load('status.js'); // would need cross-site XHR
+     if (getCookie('profile') == '1')
+       document.getElementsByTagName('h2')[0].textContent += '; load: ' + (new Date() - loadTimer) + 'ms';
+     fixBrokenLink();
+   }
+  </script><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><link href="embedded-content-1.html" title="4.8 Embedded content" rel="prev">
+  <link href="Overview.html#contents" title="Table of contents" rel="index">
+  <link href="video.html" title="4.8.7 The video element" rel="next">
+  </head><body onload="fixBrokenLink(); init()"><div class="head" id="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 (Author Edition)</h1>
+   </div><div>
+   <a href="embedded-content-1.html">&#8592; 4.8 Embedded content</a> &#8211;
+   <a href="Overview.html#contents">Table of contents</a> &#8211;
+   <a href="video.html">4.8.7 The video element &#8594;</a>
+  <ol class="toc"><li><ol><li><ol><li><a href="the-iframe-element.html#the-iframe-element"><span class="secno">4.8.3 </span>The <code>iframe</code> element</a></li><li><a href="the-iframe-element.html#the-embed-element"><span class="secno">4.8.4 </span>The <code>embed</code> element</a></li><li><a href="the-iframe-element.html#the-object-element"><span class="secno">4.8.5 </span>The <code>object</code> element</a></li><li><a href="the-iframe-element.html#the-param-element"><span class="secno">4.8.6 </span>The <code>param</code> element</a></li></ol></li></ol></li></ol></div>
+
+  <h4 id="the-iframe-element"><span class="secno">4.8.3 </span>The <dfn><code>iframe</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="content-models.html#flow-content">Flow content</a>.</dd>
+   <dd><a href="content-models.html#phrasing-content">Phrasing content</a>.</dd>
+   <dd><a href="content-models.html#embedded-content">Embedded content</a>.</dd>
+   <dd><a href="content-models.html#interactive-content">Interactive content</a>.</dd>
+   <dt>Contexts in which this element may be used:</dt>
+   <dd>Where <a href="content-models.html#embedded-content">embedded content</a> is expected.</dd>
+   <dt>Content model:</dt>
+   <dd>Text that conforms to the requirements given in the prose.</dd>
+   <dt>Content attributes:</dt>
+   <dd><a href="elements.html#global-attributes">Global attributes</a></dd>
+   <dd><code title="attr-iframe-src"><a href="#attr-iframe-src">src</a></code></dd>
+   <dd><code title="attr-iframe-name"><a href="#attr-iframe-name">name</a></code></dd>
+   <dd><code title="attr-iframe-sandbox"><a href="#attr-iframe-sandbox">sandbox</a></code></dd>
+   <dd><code title="attr-iframe-seamless"><a href="#attr-iframe-seamless">seamless</a></code></dd>
+   <dd><code title="attr-dim-width"><a href="the-map-element.html#attr-dim-width">width</a></code></dd>
+   <dd><code title="attr-dim-height"><a href="the-map-element.html#attr-dim-height">height</a></code></dd>
+   <dt>DOM interface:</dt>
+   <dd>
+<pre class="idl">interface <dfn id="htmliframeelement">HTMLIFrameElement</dfn> : <a href="elements.html#htmlelement">HTMLElement</a> {
+           attribute DOMString <a href="#dom-iframe-src" title="dom-iframe-src">src</a>;
+           attribute DOMString <a href="#dom-iframe-name" title="dom-iframe-name">name</a>;
+           attribute DOMString <a href="#dom-iframe-sandbox" title="dom-iframe-sandbox">sandbox</a>;
+           attribute boolean <a href="#dom-iframe-seamless" title="dom-iframe-seamless">seamless</a>;
+           attribute DOMString <a href="#dom-dim-width" title="dom-dim-width">width</a>;
+           attribute DOMString <a href="#dom-dim-height" title="dom-dim-height">height</a>;
+  readonly attribute Document <a href="#dom-iframe-contentdocument" title="dom-iframe-contentDocument">contentDocument</a>;
+  readonly attribute <a href="#windowproxy">WindowProxy</a> <a href="#dom-iframe-contentwindow" title="dom-iframe-contentWindow">contentWindow</a>;
+};</pre>
+   </dd>
+  </dl><!-- v2 doc="" idea (awaiting implementation experience with seamless="" first):
+
+       http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2008-May/014874.html
+
+       doc="" would take a string which would then be interpreted as
+       the source document markup of an HTML document, much like the
+       above; it would override src="" if it was present, allowing
+       src="" to be used for legacy UAs:
+
+          <iframe seamless sandbox="allow-scripts allow-forms" doc="
+            <!DOCTYPE HTML>
+            <title></title>
+            Welcome to my blog!
+            </sandbox>
+            <a href='#' onclick='alert(document.cookie)'>Click here</a>
+          "></iframe>
+
+       (There are things we can do to make this better, e.g. make the
+       <!DOCTYPE HMTL> and <title></title> bits implicit, maybe
+       introducing type="" to say whether it's HTML or XML instead of
+       only supporting HTML, maybe saying that if src="" and doc=""
+       are both specified they must have identical data, etc.)
+
+  --><p>The <code><a href="#the-iframe-element">iframe</a></code> element <a href="#represents">represents</a> a
+  <a href="browsers.html#nested-browsing-context">nested browsing context</a>.</p><p>The <dfn id="attr-iframe-src" title="attr-iframe-src"><code>src</code></dfn> attribute
+  gives the address of a page that the <a href="browsers.html#nested-browsing-context">nested browsing
+  context</a> is to contain. The attribute, if present, must be a
+  <a href="urls.html#valid-url">valid URL</a>. </p><p>The <dfn id="attr-iframe-name" title="attr-iframe-name"><code>name</code></dfn>
+  attribute, if present, must be a <a href="browsers.html#valid-browsing-context-name">valid browsing context
+  name</a>. The given value is used to name the <a href="browsers.html#nested-browsing-context">nested
+  browsing context</a>. </p><hr><p>The <dfn id="attr-iframe-sandbox" title="attr-iframe-sandbox"><code>sandbox</code></dfn>
+  attribute, when specified, enables a set of extra restrictions on
+  any content hosted by the <code><a href="#the-iframe-element">iframe</a></code>. Its value must be an
+  <a href="common-microsyntaxes.html#unordered-set-of-unique-space-separated-tokens">unordered set of unique space-separated tokens</a>. The
+  allowed values are <code title="attr-iframe-sandbox-allow-same-origin"><a href="#attr-iframe-sandbox-allow-same-origin">allow-same-origin</a></code>,
+  <code title="attr-iframe-sandbox-allow-forms"><a href="#attr-iframe-sandbox-allow-forms">allow-forms</a></code>,
+  and <code title="attr-iframe-sandbox-allow-scripts"><a href="#attr-iframe-sandbox-allow-scripts">allow-scripts</a></code>. When
+  the attribute is set, the content is treated as being from a unique
+  <a href="#origin">origin</a>, forms and scripts are disabled, links are
+  prevented from targeting other <a href="browsers.html#browsing-context" title="browsing
+  context">browsing contexts</a>, and plugins are disabled. The
+  <code title="attr-iframe-sandbox-allow-same-origin"><a href="#attr-iframe-sandbox-allow-same-origin">allow-same-origin</a></code>
+  token allows the content to be treated as being from the same origin
+  instead of forcing it into a unique origin, and the <code title="attr-iframe-sandbox-allow-forms"><a href="#attr-iframe-sandbox-allow-forms">allow-forms</a></code> and <code title="attr-iframe-sandbox-allow-scripts"><a href="#attr-iframe-sandbox-allow-scripts">allow-scripts</a></code>
+  tokens re-enable forms and scripts respectively (though scripts are
+  still prevented from creating popups).</p><div class="example">
+
+   <p>In this example, some completely-unknown, potentially hostile,
+   user-provided HTML content is embedded in a page. Because it is
+   sandboxed, it is treated by the user agent as being from a unique
+   origin, despite the content being served from the same site. Thus
+   it is affected by all the normal cross-site restrictions. In
+   addition, the embedded page has scripting disabled, plugins
+   disabled, forms disabled, and it cannot navigate any frames or
+   windows other than itself (or any frames or windows it itself
+   embeds).</p>
+
+   <pre>&lt;p&gt;We're not scared of you! Here is your content, unedited:&lt;/p&gt;
+&lt;iframe sandbox src="getusercontent.cgi?id=12193"&gt;&lt;/iframe&gt;</pre>
+
+   <p>Note that cookies are still sent to the server in the <code title="">getusercontent.cgi</code> request, though they are not
+   visible in the <code title="dom-document-cookie"><a href="#dom-document-cookie">document.cookie</a></code> IDL
+   attribute.</p>
+
+  </div><div class="example">
+
+   <p>In this example, a gadget from another site is embedded. The
+   gadget has scripting and forms enabled, and the origin sandbox
+   restrictions are lifted, allowing the gadget to communicate with
+   its originating server. The sandbox is still useful, however, as it
+   disables plugins and popups, thus reducing the risk of the user
+   being exposed to malware and other annoyances.</p>
+
+   <pre>&lt;iframe sandbox="allow-same-origin allow-forms allow-scripts"
+        src="http://maps.example.com/embedded.html"&gt;&lt;/iframe&gt;</pre>
+
+  </div><hr><!-- v2: Might be interesting to have a value on seamless that
+  allowed event propagation of some sort, maybe based on the WICD
+  work: http://www.w3.org/TR/WICD/ --><p>The <dfn id="attr-iframe-seamless" title="attr-iframe-seamless"><code>seamless</code></dfn>
+  attribute is a <a href="common-microsyntaxes.html#boolean-attribute">boolean attribute</a>. When specified, it
+  indicates that the <code><a href="#the-iframe-element">iframe</a></code> element's <a href="browsers.html#browsing-context">browsing
+  context</a> is to be rendered in a manner that makes it appear to
+  be part of the containing document (seamlessly included in the
+  parent document). </p><p class="note">The attribute can be set or removed dynamically,
+  with the rendering updating in tandem.</p><div class="example">
+
+   <p>In this example, the site's navigation is embedded using a
+   client-side include using an <code><a href="#the-iframe-element">iframe</a></code>. Any links in the
+   <code><a href="#the-iframe-element">iframe</a></code> will, in new user agents, be automatically
+   opened in the <code><a href="#the-iframe-element">iframe</a></code>'s parent browsing context; for
+   legacy user agents, the site could also include a <code><a href="semantics.html#the-base-element">base</a></code>
+   element with a <code title="attr-base-target"><a href="semantics.html#attr-base-target">target</a></code>
+   attribute with the value <code title="">_parent</code>. Similarly,
+   in new user agents the styles of the parent page will be
+   automatically applied to the contents of the frame, but to support
+   legacy user agents authors might wish to include the styles
+   explicitly.</p>
+
+   <pre>&lt;nav&gt;&lt;iframe seamless src="nav.include.html"&gt;&lt;/iframe&gt;&lt;/nav&gt;</pre>
+
+  </div><hr><p>The <code><a href="#the-iframe-element">iframe</a></code> element supports <a href="the-map-element.html#dimension-attributes">dimension
+  attributes</a> for cases where the embedded content has specific
+  dimensions (e.g. ad units have well-defined dimensions).</p><p>An <code><a href="#the-iframe-element">iframe</a></code> element never has <a href="content-models.html#fallback-content">fallback
+  content</a>, as it will always create a nested <a href="browsers.html#browsing-context">browsing
+  context</a>, regardless of whether the specified initial contents
+  are successfully used.</p><p>Descendants of <code><a href="#the-iframe-element">iframe</a></code> elements represent
+  nothing. (In legacy user agents that do not support
+  <code><a href="#the-iframe-element">iframe</a></code> elements, the contents would be parsed as markup
+  that could act as fallback content.)</p><p>When used in <a href="dom.html#html-documents">HTML documents</a>, the allowed content
+  model of <code><a href="#the-iframe-element">iframe</a></code> elements is text, except that invoking
+  the <a href="#html-fragment-parsing-algorithm">HTML fragment parsing algorithm</a> with the
+  <code><a href="#the-iframe-element">iframe</a></code> element as the <var title="">context</var>
+  element and the text contents as the <var title="">input</var> must
+  result in a list of nodes that are all <a href="content-models.html#phrasing-content">phrasing
+  content</a>, with no <a href="#parse-error" title="parse error">parse
+  errors</a> having occurred, with no <code><a href="scripting-1.html#script">script</a></code> elements
+  being anywhere in the list or as descendants of elements in the
+  list, and with all the elements in the list (including their
+  descendants) being themselves conforming.</p><p>The <code><a href="#the-iframe-element">iframe</a></code> element must be empty in <a href="dom.html#xml-documents">XML
+  documents</a>.</p><p class="note">The <a href="#html-parser">HTML parser</a> treats markup inside
+  <code><a href="#the-iframe-element">iframe</a></code> elements as text.</p><div class="example">
+
+   <p>Here is an example of a page using an <code><a href="#the-iframe-element">iframe</a></code> to
+   include advertising from an advertising broker:</p>
+
+   <pre>&lt;iframe src="http://ads.example.com/?customerid=923513721&amp;amp;format=banner"
+        width="468" height="60"&gt;&lt;/iframe&gt;</pre>
+
+  </div><h4 id="the-embed-element"><span class="secno">4.8.4 </span>The <dfn><code>embed</code></dfn> element</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><!-- (v2?)
+ we have all kinds of quirks we should define if they come up during
+ testing, as e.g. shown in:
+ http://mxr.mozilla.org/mozilla-central/source/layout/generic/nsObjectFrame.cpp
+ http://trac.webkit.org/browser/trunk/WebCore/html/HTMLEmbedElement.cpp
+ http://trac.webkit.org/browser/trunk/WebCore/rendering/RenderPartObject.cpp (updateWidget)
+ e.g. - 240x200 default
+      - the attributes/params are sent in a name/value pair list as follows (for Gecko):
+         + attributes of the element, in source order
+         + a synthesised 'src' attribute, if there was no 'src' but
+           there was a 'data', with the value of the 'data' attribute
+         + PARAM/null
+         + the params, in source order
+        (WebKit does something different still)
+      - the HIDDEN attribute (might be moot now)
+--><dl class="element"><dt>Categories</dt>
+   <dd><a href="content-models.html#flow-content">Flow content</a>.</dd>
+   <dd><a href="content-models.html#phrasing-content">Phrasing content</a>.</dd>
+   <dd><a href="content-models.html#embedded-content">Embedded content</a>.</dd>
+   <dd><a href="content-models.html#interactive-content">Interactive content</a>.</dd>
+   <dt>Contexts in which this element may be used:</dt>
+   <dd>Where <a href="content-models.html#embedded-content">embedded content</a> is expected.</dd>
+   <dt>Content model:</dt>
+   <dd>Empty.</dd>
+   <dt>Content attributes:</dt>
+   <dd><a href="elements.html#global-attributes">Global attributes</a></dd>
+   <dd><code title="attr-embed-src"><a href="#attr-embed-src">src</a></code></dd>
+   <dd><code title="attr-embed-type"><a href="#attr-embed-type">type</a></code></dd>
+   <dd><code title="attr-dim-width"><a href="the-map-element.html#attr-dim-width">width</a></code></dd>
+   <dd><code title="attr-dim-height"><a href="the-map-element.html#attr-dim-height">height</a></code></dd>
+   <dd>Any other attribute that has no namespace (see prose).</dd>
+   <dt>DOM interface:</dt>
+   <dd>
+<pre class="idl">interface <dfn id="htmlembedelement">HTMLEmbedElement</dfn> : <a href="elements.html#htmlelement">HTMLElement</a> {
+           attribute DOMString <a href="#dom-embed-src" title="dom-embed-src">src</a>;
+           attribute DOMString <a href="#dom-embed-type" title="dom-embed-type">type</a>;
+           attribute DOMString <a href="#dom-dim-width" title="dom-dim-width">width</a>;
+           attribute DOMString <a href="#dom-dim-height" title="dom-dim-height">height</a>;
+};</pre>
+    
+   </dd>
+  </dl><p>The <code><a href="#the-embed-element">embed</a></code> element <a href="#represents">represents</a> an
+  integration point for an external (typically non-HTML) application
+  or interactive content.</p><p>The <dfn id="attr-embed-src" title="attr-embed-src"><code>src</code></dfn> attribute
+  gives the address of the resource being embedded. The attribute, if
+  present, must contain a <a href="urls.html#valid-url">valid URL</a>.</p><p>The <dfn id="attr-embed-type" title="attr-embed-type"><code>type</code></dfn>
+  attribute, if present, gives the <a href="infrastructure.html#mime-type">MIME type</a> of the plugin to
+  instantiate. The value must be a <a href="infrastructure.html#valid-mime-type">valid MIME type</a>,
+  optionally with parameters. If both the <code title="attr-embed-type"><a href="#attr-embed-type">type</a></code> attribute and the <code title="attr-embed-src"><a href="#attr-embed-src">src</a></code> attribute are present, then the
+  <code title="attr-embed-type"><a href="#attr-embed-type">type</a></code> attribute must specify the
+  same type as the <a href="#content-type" title="Content-Type">explicit Content-Type
+  metadata</a> of the resource given by the <code title="attr-embed-src"><a href="#attr-embed-src">src</a></code> attribute.</p><p>Any namespace-less attribute other than <code title="attr-embed-name"><a href="obsolete.html#attr-embed-name">name</a></code> and <code title="attr-embed-align"><a href="obsolete.html#attr-embed-align">align</a></code> <!-- when editing, see also
+  note below --> may be specified on the <code><a href="#the-embed-element">embed</a></code> element,
+  so long as its name is <a href="infrastructure.html#xml-compatible">XML-compatible</a> and contains no
+  characters in the range U+0041 to U+005A (LATIN CAPITAL LETTER A to
+  LATIN CAPITAL LETTER Z). These attributes are then passed as
+  parameters to the <a href="infrastructure.html#plugin">plugin</a>.</p><p class="note">All attributes in <a href="dom.html#html-documents">HTML documents</a> get
+  lowercased automatically, so the restriction on uppercase letters
+  doesn't affect such documents.</p><p class="note">The two exceptions are to exclude legacy attributes
+  that have side-effects beyond just sending parameters to the
+  <a href="infrastructure.html#plugin">plugin</a>.</p><p>The <code><a href="#the-embed-element">embed</a></code> element supports <a href="the-map-element.html#dimension-attributes">dimension
+  attributes</a>.</p><div class="example">
+
+   <p>Here's a way to embed a resource that requires a proprietary
+   plug-in, like Flash:</p>
+
+   <pre>&lt;embed src="catgame.swf"&gt;</pre>
+
+   <p>If the user does not have the plug-in (for example if the
+   plug-in vendor doesn't support the user's platform), then the user
+   will be unable to use the resource.</p>
+
+   <p>To pass the plugin a parameter "quality" with the value "high",
+   an attribute can be specified:</p>
+
+   <pre>&lt;embed src="catgame.swf" quality="high"&gt;</pre>
+
+   <p>This would be equivalent to the following, when using an
+   <code><a href="#the-object-element">object</a></code> element instead:</p>
+
+   <pre>&lt;object data="catgame.swf"&gt;
+ &lt;param name="quality" value="high"&gt;
+&lt;/object&gt;</pre>
+
+  </div><h4 id="the-object-element"><span class="secno">4.8.5 </span>The <dfn><code>object</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="content-models.html#flow-content">Flow content</a>.</dd>
+   <dd><a href="content-models.html#phrasing-content">Phrasing content</a>.</dd>
+   <dd><a href="content-models.html#embedded-content">Embedded content</a>.</dd>
+   <dd>If the element has a <code title="attr-hyperlink-usemap"><a href="the-map-element.html#attr-hyperlink-usemap">usemap</a></code> attribute: <a href="content-models.html#interactive-content">Interactive content</a>.</dd> <!-- also when showing a plugin or a nested browsing context, but checking that statically is hard...) -->
+   <dd><a href="forms.html#category-listed" title="category-listed">Listed</a>,  <a href="forms.html#category-submit" title="category-submit">submittable</a>, <a href="forms.html#form-associated-element">form-associated element</a>.</dd>
+   <dt>Contexts in which this element may be used:</dt>
+   <dd>Where <a href="content-models.html#embedded-content">embedded content</a> is expected.</dd>
+   <dt>Content model:</dt>
+   <dd>Zero or more <code><a href="#the-param-element">param</a></code> elements, then, <a href="content-models.html#transparent">transparent</a>.</dd>
+   <dt>Content attributes:</dt>
+   <dd><a href="elements.html#global-attributes">Global attributes</a></dd>
+   <dd><code title="attr-object-data"><a href="#attr-object-data">data</a></code></dd>
+   <dd><code title="attr-object-type"><a href="#attr-object-type">type</a></code></dd>
+   <dd><code title="attr-object-name"><a href="#attr-object-name">name</a></code></dd>
+   <dd><code title="attr-hyperlink-usemap"><a href="the-map-element.html#attr-hyperlink-usemap">usemap</a></code></dd>
+   <dd><code title="attr-fae-form"><a href="association-of-controls-and-forms.html#attr-fae-form">form</a></code></dd>
+   <dd><code title="attr-dim-width"><a href="the-map-element.html#attr-dim-width">width</a></code></dd>
+   <dd><code title="attr-dim-height"><a href="the-map-element.html#attr-dim-height">height</a></code></dd>
+   <dt>DOM interface:</dt>
+   <dd>
+<pre class="idl">interface <dfn id="htmlobjectelement">HTMLObjectElement</dfn> : <a href="elements.html#htmlelement">HTMLElement</a> {
+           attribute DOMString <a href="#dom-object-data" title="dom-object-data">data</a>;
+           attribute DOMString <a href="#dom-object-type" title="dom-object-type">type</a>;
+           attribute DOMString <a href="#dom-object-name" title="dom-object-name">name</a>;
+           attribute DOMString <a href="#dom-object-usemap" title="dom-object-useMap">useMap</a>;
+  readonly attribute <a href="forms.html#htmlformelement">HTMLFormElement</a> <a href="#dom-fae-form" title="dom-fae-form">form</a>;
+           attribute DOMString <a href="#dom-dim-width" title="dom-dim-width">width</a>;
+           attribute DOMString <a href="#dom-dim-height" title="dom-dim-height">height</a>;
+  readonly attribute Document <a href="#dom-object-contentdocument" title="dom-object-contentDocument">contentDocument</a>;
+  readonly attribute <a href="#windowproxy">WindowProxy</a> <a href="#dom-object-contentwindow" title="dom-object-contentWindow">contentWindow</a>;
+
+  readonly attribute boolean <a href="#dom-cva-willvalidate" title="dom-cva-willValidate">willValidate</a>;
+  readonly attribute <a href="#validitystate">ValidityState</a> <a href="#dom-cva-validity" title="dom-cva-validity">validity</a>;
+  readonly attribute DOMString <a href="#dom-cva-validationmessage" title="dom-cva-validationMessage">validationMessage</a>;
+  boolean <a href="#dom-cva-checkvalidatity" title="dom-cva-checkValidatity">checkValidity</a>();
+  void <a href="#dom-cva-setcustomvalidity" title="dom-cva-setCustomValidity">setCustomValidity</a>(in DOMString error);
+};</pre>
+    
+   </dd>
+  </dl><p>The <code><a href="#the-object-element">object</a></code> element can represent an external
+  resource, which, depending on the type of the resource, will either
+  be treated as an image, as a <a href="browsers.html#nested-browsing-context">nested browsing context</a>,
+  or as an external resource to be processed by a
+  <a href="infrastructure.html#plugin">plugin</a>.</p><p>The <dfn id="attr-object-data" title="attr-object-data"><code>data</code></dfn>
+  attribute, if present, specifies the address of the resource. If
+  present, the attribute must be a <a href="urls.html#valid-url">valid URL</a>.</p><p>The <dfn id="attr-object-type" title="attr-object-type"><code>type</code></dfn>
+  attribute, if present, specifies the type of the resource. If
+  present, the attribute must be a <a href="infrastructure.html#valid-mime-type">valid MIME type</a>,
+  optionally with parameters.</p><p>At least one of either the <code title="attr-object-data"><a href="#attr-object-data">data</a></code> attribute or the <code title="attr-object-type"><a href="#attr-object-type">type</a></code> attribute must be present.</p><p>The <dfn id="attr-object-name" title="attr-object-name"><code>name</code></dfn>
+  attribute, if present, must be a <a href="browsers.html#valid-browsing-context-name">valid browsing context
+  name</a>. The given value is used to name the <a href="browsers.html#nested-browsing-context">nested
+  browsing context</a>, if applicable.</p><p>The <code title="attr-hyperlink-usemap"><a href="the-map-element.html#attr-hyperlink-usemap">usemap</a></code> attribute,
+  if present while the <code><a href="#the-object-element">object</a></code> element represents an
+  image, can indicate that the object has an associated <a href="the-map-element.html#image-map">image
+  map</a>. </p><p>The <code title="attr-fae-form"><a href="association-of-controls-and-forms.html#attr-fae-form">form</a></code> attribute is used to
+  explicitly associate the <code><a href="#the-object-element">object</a></code> element with its
+  <a href="association-of-controls-and-forms.html#form-owner">form owner</a>.</p><p>The <code><a href="#the-object-element">object</a></code> element supports <a href="the-map-element.html#dimension-attributes">dimension
+  attributes</a>.</p><div class="example">
+
+   <p>In the following example, a Java applet is embedded in a page
+   using the <code><a href="#the-object-element">object</a></code> element. (Generally speaking, it is
+   better to avoid using applets like these and instead use native
+   JavaScript and HTML to provide the functionality, since that way
+   the application will work on all Web browsers without requiring a
+   third-party plugin. Many devices, especially embedded devices, do
+   not support third-party technologies like Java.)</p>
+
+   <pre>&lt;figure&gt;
+ &lt;dd&gt;
+  &lt;object type="application/x-java-applet"&gt;
+   &lt;param name="code" value="MyJavaClass"&gt;
+   &lt;p&gt;You do not have Java available, or it is disabled.&lt;/p&gt;
+  &lt;/object&gt;
+ &lt;/dd&gt;
+ &lt;dt&gt;My Java Clock&lt;/dt&gt;
+&lt;/figure&gt;</pre>
+
+  </div><div class="example">
+
+   <p>In this example, an HTML page is embedded in another using the
+   <code><a href="#the-object-element">object</a></code> element.</p>
+
+   <pre>&lt;figure&gt;
+ &lt;dd&gt;&lt;object data="clock.html"&gt;&lt;/object&gt;
+ &lt;dt&gt;My HTML Clock
+&lt;/figure&gt;</pre>
+
+  </div><h4 id="the-param-element"><span class="secno">4.8.6 </span>The <dfn><code>param</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>None.</dd>
+   <dt>Contexts in which this element may be used:</dt>
+   <dd>As a child of an <code><a href="#the-object-element">object</a></code> element, before any <a href="content-models.html#flow-content">flow content</a>.</dd>
+   <dt>Content model:</dt>
+   <dd>Empty.</dd>
+   <dt>Content attributes:</dt>
+   <dd><a href="elements.html#global-attributes">Global attributes</a></dd>
+   <dd><code title="attr-param-name"><a href="#attr-param-name">name</a></code></dd>
+   <dd><code title="attr-param-value"><a href="#attr-param-value">value</a></code></dd>
+   <dt>DOM interface:</dt>
+   <dd>
+<pre class="idl">interface <dfn id="htmlparamelement">HTMLParamElement</dfn> : <a href="elements.html#htmlelement">HTMLElement</a> {
+           attribute DOMString <a href="#dom-param-name" title="dom-param-name">name</a>;
+           attribute DOMString <a href="#dom-param-value" title="dom-param-value">value</a>;
+};</pre>
+   </dd>
+  </dl><p>The <code><a href="#the-param-element">param</a></code> element defines parameters for plugins
+  invoked by <code><a href="#the-object-element">object</a></code> elements. It does not <a href="#represents" title="represents">represent</a> anything on its own.</p><p>The <dfn id="attr-param-name" title="attr-param-name"><code>name</code></dfn>
+  attribute gives the name of the parameter.</p><p>The <dfn id="attr-param-value" title="attr-param-value"><code>value</code></dfn>
+  attribute gives the value of the parameter.</p><p>Both attributes must be present. They may have any value.</p><div class="example">
+
+   <p>The following example shows how the <code><a href="#the-param-element">param</a></code> element
+   can be used to pass a parameter to a plugin, in this case the Flash
+   plugin.</p>
+
+   <pre>&lt;!DOCTYPE HTML&gt;
+&lt;html lang="en"&gt;
+ &lt;head&gt;
+  &lt;title&gt;Flash test page&lt;/title&gt;
+ &lt;/head&gt;
+ &lt;body&gt;
+  &lt;p&gt;
+   &lt;object type="application/x-shockwave-flash"&gt;
+    <strong>&lt;param name=movie value="http://www.macromedia.com/shockwave/download/triggerpages_mmcom/flash.swf"&gt;</strong>
+    This page requires the use of a proprietary technology. Since you
+    have not installed the software product required to view this
+    page, you should try visiting another site that instead uses open
+    vendor-neutral technologies.
+   &lt;/object&gt; 
+  &lt;/p&gt;
+ &lt;/body&gt;
+&lt;/html&gt;</pre>
+
+  </div></body></html>
\ No newline at end of file

Index: microdata.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/microdata.html,v
retrieving revision 1.559
retrieving revision 1.560
diff -u -d -r1.559 -r1.560
--- microdata.html	6 Jan 2010 15:38:53 -0000	1.559
+++ microdata.html	6 Jan 2010 15:49:34 -0000	1.560
@@ -213,4 +213,796 @@
    .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
\ No newline at end of file
+   .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="data:text/css," id="complete" rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" id="author" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" id="highlight" rel="alternate stylesheet" title="Highlight implementation requirements"><script>
+   function getCookie(name) {
+     var params = location.search.substr(1).split("&");
+     for (var index = 0; index < params.length; index++) {
+       if (params[index] == name)
+         return "1";
+       var data = params[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     var cookies = document.cookie.split("; ");
+     for (var index = 0; index < cookies.length; index++) {
+       var data = cookies[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     return null;
+   }
+   function load(script) {
+     var e = document.createElement('script');
+     e.setAttribute('src', 'http://www.whatwg.org/specs/web-apps/current-work/' + script + '?' + encodeURIComponent(location) + '&' + encodeURIComponent(document.referrer));
+     document.body.appendChild(e);
+   }
+   function init() {
+     if (location.search == '?slow-browser')
+       return;
+     var configUI = document.createElement('div');
+     configUI.id = 'configUI';
+     document.body.appendChild(configUI);
+     // load('reviewer.js'); // would need cross-site XHR
+     if (document.getElementById('head'))
+       load('toc.js');
+     
+     // load('updater.js'); // would need cross-site XHR
+     load('dfn.js');
+     // load('status.js'); // would need cross-site XHR
+     if (getCookie('profile') == '1')
+       document.getElementsByTagName('h2')[0].textContent += '; load: ' + (new Date() - loadTimer) + 'ms';
+     fixBrokenLink();
+   }
+  </script><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><link href="commands.html" title="4.11.4 Commands" rel="prev">
+  <link href="Overview.html#contents" title="Table of contents" rel="index">
+  <link href="browsers.html" title="6 Web browsers" rel="next">
+  </head><body onload="fixBrokenLink(); init()"><div class="head" id="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 (Author Edition)</h1>
+   </div><div>
+   <a href="commands.html">&#8592; 4.11.4 Commands</a> &#8211;
+   <a href="Overview.html#contents">Table of contents</a> &#8211;
+   <a href="browsers.html">6 Web browsers &#8594;</a>
+  <ol class="toc"><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><li><a href="microdata.html#examples-1"><span class="secno">5.2.6 </span>Examples</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></ol></div>
+
+  <h2 id="microdata"><span class="secno">5 </span><dfn>Microdata</dfn></h2><p class="XXX annotation"><b>Status: </b><i>Controversial Working Draft. </i><span><a href="http://www.w3.org/html/wg/tracker/issues/76">ISSUE-76</a> (Microdata/RDFa) blocks progress to Last Call</span></p><!-- v2
+
+  * <itemref itemprop="foo" src="url#id"> to import the item with
+    id="id" from url into the current microdata block as the value of
+    property foo?
+
+  * splitting the 'content' part of a property into multiple sub-bits,
+    as in:
+
+     <span itemprop="tel" item-content-in-bits>
+       Telephone:
+       <span content-bit>+44</span> (0) <span content-bit>1223 123 123</span>
+     </span>
+
+    maybe vocabs that need this can use a sub vocabulary specifically
+    for this:
+
+     <span itemprop="tel" itemscope itemtype="http://bits.example/">
+       Telephone:
+       <span itemprop=bit>+44</span> (0) <span itemprop=bit>1223 123 123</span>
+     </span>
+
+--><h3 id="introduction-1"><span class="secno">5.1 </span>Introduction</h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><h4 id="overview"><span class="secno">5.1.1 </span>Overview</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p><i>This section is non-normative.</i></p><p>Sometimes, it is desirable to annotate content with specific
+  machine-readable labels, e.g. to allow generic scripts to provide
+  services that are customised to the page, or to enable content from
+  a variety of cooperating authors to be processed by a single script
+  in a consistent manner.</p><p>For this purpose, authors can use the microdata features
+  described in this section. Microdata allows nested groups of
+  name-value pairs to be added to documents, in parallel with the
+  existing content.</p><h4 id="the-basic-syntax"><span class="secno">5.1.2 </span>The basic syntax</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p><i>This section is non-normative.</i></p><p>At a high level, microdata consists of a group of name-value
+  pairs. The groups are called <a href="#concept-item" title="concept-item">items</a>, and each name-value pair is a
+  property. Items and properties are represented by regular
+  elements.</p><p>To create an item, the <code title="attr-itemscope"><a href="#attr-itemscope">itemscope</a></code> attribute is used.</p><p>To add a property to an item, the <code title="attr-itemprop"><a href="#names:-the-itemprop-attribute">itemprop</a></code> attribute is used on one of
+  the <a href="#concept-item" title="concept-item">item's</a> descendants.</p><div class="example">
+
+   <p>Here there are two items, each of which has the property "name":</p>
+
+   <pre>&lt;div itemscope&gt;
+ &lt;p&gt;My name is &lt;span itemprop="name"&gt;Elizabeth&lt;/span&gt;.&lt;/p&gt;
+&lt;/div&gt;
+
+&lt;div itemscope&gt;
+ &lt;p&gt;My name is &lt;span itemprop="name"&gt;Daniel&lt;/span&gt;.&lt;/p&gt;
+&lt;/div&gt;</pre>
+
+  </div><p>Properties generally have values that are strings.</p><div class="example">
+
+   <p>Here the item has three properties:</p>
+
+   <pre>&lt;div itemscope&gt;
+ &lt;p&gt;My name is &lt;span itemprop="name"&gt;Neil&lt;/span&gt;.&lt;/p&gt;
+ &lt;p&gt;My band is called &lt;span itemprop="band"&gt;Four Parts Water&lt;/span&gt;.&lt;/p&gt;
+ &lt;p&gt;I am &lt;span itemprop="nationality"&gt;British&lt;/span&gt;.&lt;/p&gt;
+&lt;/div&gt;</pre>
+
+  </div><p>Properties can also have values that are <a href="urls.html#url" title="URL">URLs</a>. This is achieved using the <code><a href="text-level-semantics.html#the-a-element">a</a></code>
+  element and its <code title="attr-hyperlink-href"><a href="links.html#attr-hyperlink-href">href</a></code>
+  attribute, the <code><a href="embedded-content-1.html#the-img-element">img</a></code> element and its <code title="attr-img-src"><a href="embedded-content-1.html#attr-img-src">src</a></code> attribute, or other elements that
+  link to or embed external resources.</p><div class="example">
+
+   <p>In this example, the item has one property, "image", whose value
+   is a URL:</p>
+
+   <pre>&lt;div itemscope&gt;
+ &lt;img itemprop="image" src="google-logo.png" alt="Google"&gt;
+&lt;/div&gt;</pre>
+
+  </div><p>Properties can also have values that are dates, times, or dates
+  and times. This is achieved using the <code><a href="text-level-semantics.html#the-time-element">time</a></code> element and
+  its <code title="attr-time-datetime"><a href="text-level-semantics.html#attr-time-datetime">datetime</a></code> attribute.</p><div class="example">
+
+   <p>In this example, the item has one property,
+   "birthday", whose value is a date:</p>
+
+   <pre>&lt;div itemscope&gt;
+ I was born on &lt;time itemprop="birthday" datetime="2009-05-10"&gt;May 10th 2009&lt;/time&gt;.
+&lt;/div&gt;</pre>
+
+  </div><p>Properties can also themselves be groups of name-value pairs, by
+  putting the <code title="attr-itemscope"><a href="#attr-itemscope">itemscope</a></code> attribute
+  on the element that declares the property.</p><p>Items that are not part of others are called <a href="#top-level-microdata-items">top-level
+  microdata items</a>.</p><div class="example">
+
+   <p>In this example, the outer item represents a person, and the
+   inner one represents a band:</p>
+
+   <pre>&lt;div itemscope&gt;
+ &lt;p&gt;Name: &lt;span itemprop="name"&gt;Amanda&lt;/span&gt;&lt;/p&gt;
+ &lt;p&gt;Band: &lt;span itemprop="band" itemscope&gt; &lt;span itemprop="name"&gt;Jazz Band&lt;/span&gt; (&lt;span itemprop="size"&gt;12&lt;/span&gt; players)&lt;/span&gt;&lt;/p&gt;
+&lt;/div&gt;</pre>
+
+   <p>The outer item here has two properties, "name" and
+   "band". The "name" is "Amanda", and the
+   "band" is an item in its own right, with two
+   properties, "name" and "size". The
+   "name" of the band is "Jazz Band", and the
+   "size" is "12".</p>
+
+   <p>The outer item in this example is a top-level microdata
+   item.</p>
+
+  </div><p>Properties that are not descendants of the element with the <code title="attr-itemscope"><a href="#attr-itemscope">itemscope</a></code> attribute can be associated
+  with the <a href="#concept-item" title="concept-item">item</a> using the <code title="attr-itemref"><a href="#attr-itemref">itemref</a></code> attribute. This attribute takes
+  a list of IDs of elements to crawl in addition to crawling the
+  children of the element with the <code title="attr-itemscope"><a href="#attr-itemscope">itemscope</a></code> attribute.</p><div class="example">
+
+   <p>This example is the same as the previous one, but all the
+   properties are separated from their <a href="#concept-item" title="concept-item">items</a>:</p>
+
+   <pre>&lt;div itemscope id="amanda" itemref="a b"&gt;&lt;/div&gt;
+&lt;p id="a"&gt;Name: &lt;span itemprop="name"&gt;Amanda&lt;/span&gt;&lt;/p&gt;
+&lt;div id="b" itemprop="band" itemscope itemref="c"&gt;&lt;/div&gt;
+&lt;div id="c"&gt;
+ &lt;p&gt;Band: &lt;span itemprop="name"&gt;Jazz Band&lt;/span&gt;&lt;/p&gt;
+ &lt;p&gt;Size: &lt;span itemprop="size"&gt;12&lt;/span&gt; players&lt;/p&gt;
+&lt;/div&gt;</pre>
+
+   <p>This gives the same result as the previous example. The first
+   item has two properties, "name", set to "Amanda", and "band", set
+   to another item. That second item has two further properties,
+   "name", set to "Jazz Band", and "size", set to "12".</p>
+
+  </div><p>An <a href="#concept-item" title="concept-item">item</a> can have multiple
+  properties with the same name and different values.</p><div class="example">
+
+   <p>This example describes an ice cream, with two flavors:</p>
+
+   <pre>&lt;div itemscope&gt;
+ &lt;p&gt;Flavors in my favorite ice cream:&lt;/p&gt;
+ &lt;ul&gt;
+  &lt;li itemprop="flavor"&gt;Lemon sorbet&lt;/li&gt;
+  &lt;li itemprop="flavor"&gt;Apricot sorbet&lt;/li&gt;
+ &lt;/ul&gt;
+&lt;/div&gt;</pre>
+
+   <p>This thus results in an item with two properties, both
+   "flavor", having the values "Lemon sorbet" and "Apricot
+   sorbet".</p>
+
+  </div><p>An element introducing a property can also introduce multiple
+  properties at once, to avoid duplication when some of the properties
+  have the same value.</p><div class="example">
+
+   <p>Here we see an item with two properties,
+   "favorite-color" and "favorite-fruit", both
+   set to the value "orange":</p>
+
+   <pre>&lt;div itemscope&gt;
+ &lt;span itemprop="favorite-color favorite-fruit"&gt;orange&lt;/span&gt;
+&lt;/div&gt;</pre>
+
+  </div><p>It's important to note that there is no relationship between the
+  microdata and the content of the document where the microdata is
+  marked up.</p><div class="example">
+
+   <p>There is no semantic difference, for instance, between the
+   following two examples:</p>
+
+   <pre>&lt;figure&gt;
+ &lt;dd&gt;&lt;img src="castle.jpeg"&gt;
+ &lt;dt&gt;&lt;span itemscope&gt;&lt;span itemprop="name"&gt;The Castle&lt;/span&gt;&lt;/span&gt; (1986)
+&lt;/figure&gt;</pre>
+
+   <pre>&lt;span itemscope&gt;&lt;meta itemprop="name" content="The Castle"&gt;&lt;/span&gt;
+&lt;figure&gt;
+ &lt;dd&gt;&lt;img src="castle.jpeg"&gt;
+ &lt;dt&gt;The Castle (1986)
+&lt;/figure&gt;</pre>
+
+   <p>Both have a figure with a caption, and both, completely
+   unrelated to the figure, have an item with a name-value pair with
+   the name "name" and the value "The Castle". The only
+   difference is that if the user drags the caption out of the
+   document, in the former case, the item will be included in the
+   drag-and-drop data. In neither case is the image in any way
+   associated with the item.</p>
+
+  </div><h4 id="typed-items"><span class="secno">5.1.3 </span>Typed items</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p><i>This section is non-normative.</i></p><p>The examples in the previous section show how information could
+  be marked up on a page that doesn't expect its microdata to be
+  re-used. Microdata is most useful, though, when it is used in
+  contexts where other authors and readers are able to cooperate to
+  make new uses of the markup.</p><p>For this purpose, it is necessary to give each <a href="#concept-item" title="concept-item">item</a> a type, such as
+  "http://example.com/person", or "http://example.org/cat", or
+  "http://band.example.net/". Types are identified as <a href="urls.html#url" title="URL">URLs</a>.</p><p>The type for an <a href="#concept-item" title="concept-item">item</a> is given
+  as the value of an <code title="attr-itemtype"><a href="#attr-itemtype">itemtype</a></code>
+  attribute on the same element as the <code title="attr-itemscope"><a href="#attr-itemscope">itemscope</a></code> attribute.</p><div class="example">
+
+   <p>Here, the item is "http://example.org/animals#cat":</p>
+
+<pre>&lt;section itemscope itemtype="http://example.org/animals#cat"&gt;
+ &lt;h1 itemprop="name"&gt;Hedral&lt;/h1&gt;
+ &lt;p itemprop="desc"&gt;Hedral is a male american domestic
+ shorthair, with a fluffy black fur with white paws and belly.&lt;/p&gt;
+ &lt;img itemprop="img" src="hedral.jpeg" alt="" title="Hedral, age 18 months"&gt;
+&lt;/section&gt;</pre>   
+
+   <p>In this example the "http://example.org/animals#cat" item has three
+   properties, a "name" ("Hedral"), a "desc" ("Hedral is..."), and an
+   "img" ("hedral.jpeg").</p>
+
+  </div><p>An item can only have one type. The type gives the context for
+  the properties, thus defining a vocabulary: a property named "class"
+  given for an item with the type "http://census.example/person" might
+  refer to the economic class of an individual, while a property named
+  "class" given for an item with the type "http://example.com/school/teacher"
+  might refer to the classroom a teacher has been assigned.</p><h4 id="global-identifiers-for-items"><span class="secno">5.1.4 </span>Global identifiers for items</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p><i>This section is non-normative.</i></p><p>Sometimes, an <a href="#concept-item" title="concept-item">item</a> gives
+  information about a topic that has a global identifier. For example,
+  books can be identified by their ISBN number.</p><p>Vocabularies (as identified by the <code title="attr-itemtype"><a href="#attr-itemtype">itemtype</a></code> attribute) can be designed
+  such that <a href="#concept-item" title="concept-item">items</a> get associated
+  with their global identifier in an unambiguous way by expressing the
+  global identifiers as <a href="urls.html#url" title="URL">URLs</a> given in an
+  <code title="attr-itemid"><a href="#attr-itemid">itemid</a></code> attribute.</p><p>The exact meaning of the <a href="urls.html#url" title="URL">URLs</a> given in
+  <code title="attr-itemid"><a href="#attr-itemid">itemid</a></code> attributes depends on the
+  vocabulary used.</p><div class="example">
+
+   <p>Here, an item is talking about a particular book:</p>
+
+<pre>&lt;dl itemscope
+    itemtype="http://vocab.example.net/book"
+    <strong>itemid="urn:isbn:0-330-34032-8"</strong>&gt;
+ &lt;dt&gt;Title
+ &lt;dd itemprop="title"&gt;The Reality Dysfunction
+ &lt;dt&gt;Author
+ &lt;dd itemprop="author"&gt;Peter F. Hamilton
+ &lt;dt&gt;Publication date
+ &lt;dd&gt;&lt;time itemprop="pubdate" datetime="1996-01-26"&gt;26 January 1996&lt;/time&gt;
+&lt;/dl&gt;</pre>
+
+   <p>The "<code title="">http://vocab.example.net/book</code>"
+   vocabulary in this example would define that the <code title="attr-itemid"><a href="#attr-itemid">itemid</a></code> attribute takes a <code title="">urn:</code> <a href="urls.html#url">URL</a> pointing to the ISBN of the
+   book.</p>
+
+  </div><!-- (commented out since itemtype="" defines the meaning of the
+        identifier for now)
+  <p>Although it is common practice, authors are encouraged not to use
+  the same URL to identify multiple topics; in particular, an HTTP URL
+  usually identifies a specific resource (such as an image or
+  document), and authors are encouraged to not use them to identify
+  people, non-Web resources like companies, movies, and products, or
+  other abstract concepts. Using an HTTP URL as a global identifier
+  for something other than the resource actually designated by the URL
+  leads to a situation where it is ambiguous whether the identifier,
+  and thus the set of properties specified in the microdata,
+  references the page or something else.</p>
+  --><h4 id="selecting-names-when-defining-vocabularies"><span class="secno">5.1.5 </span>Selecting names when defining vocabularies</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p><i>This section is non-normative.</i></p><p>Using microdata means using a vocabulary. For some purposes, an
+  ad-hoc vocabulary is adequate. For others, a vocabulary will need to
+  be designed. Where possible, authors are encouraged to re-use
+  existing vocabularies, as this makes content re-use easier.</p><p>When designing new vocabularies, identifiers can be created
+  either using <a href="urls.html#url" title="URL">URLs</a>, or, for properties, as
+  plain words (with no dots or colons). For URLs, conflicts with other
+  vocabularies can be avoided by only using identifiers that
+  correspond to pages that the author has control over.</p><div class="example">
+
+   <p>For instance, if Jon and Adam both write content at <code title="">example.com</code>, at <code title="">http://example.com/~jon/...</code> and <code title="">http://example.com/~adam/...</code> respectively, then
+   they could select identifiers of the form
+   "http://example.com/~jon/name" and "http://example.com/~adam/name"
+   respectively.</p>
+
+  </div><p>Properties whose names are just plain words can only be used
+  within the context of the types for which they are intended;
+  properties named using URLs can be reused in items of any type. If
+  an item has no type, and is not part of another item, then if its
+  properties have names that are just plain words, they are not
+  intended to be globally unique, and are instead only intended for
+  limited use. Generally speaking, authors are encouraged to use
+  either properties with globally unique names (URLs) or ensure that
+  their items are typed.</p><div class="example">
+
+   <p>Here, an item is an "http://example.org/animals#cat", and most of the
+   properties have names that are words defined in the context of that
+   type. There are also a few additional properties whose names come
+   from other vocabularies.</p>
+
+<pre>&lt;section itemscope itemtype="http://example.org/animals#cat"&gt;
+ &lt;h1 itemprop="name http://example.com/fn"&gt;Hedral&lt;/h1&gt;
+ &lt;p itemprop="desc"&gt;Hedral is a male american domestic
+ shorthair, with a fluffy &lt;span
+ itemprop="http://example.com/color"&gt;black&lt;/span&gt; fur with &lt;span
+ itemprop="http://example.com/color"&gt;white&lt;/span&gt; paws and belly.&lt;/p&gt;
+ &lt;img itemprop="img" src="hedral.jpeg" alt="" title="Hedral, age 18 months"&gt;
+&lt;/section&gt;</pre>   
+
+   <p>This example has one item with the type "http://example.org/animals#cat"
+   and the following properties:</p>
+
+   <table><thead><tr><td>Property
+      </td><td>Value
+    </td></tr></thead><tbody><tr><td>name
+      </td><td>Hedral
+     </td></tr><tr><td>http://example.com/fn
+      </td><td>Hedral
+     </td></tr><tr><td>desc
+      </td><td>Hedral is a male american domestic shorthair, with a fluffy black fur with white paws and belly.
+     </td></tr><tr><td>http://example.com/color
+      </td><td>black
+     </td></tr><tr><td>http://example.com/color
+      </td><td>white
+     </td></tr><tr><td>img
+      </td><td>.../hedral.jpeg
+   </td></tr></tbody></table></div><h4 id="using-the-microdata-dom-api"><span class="secno">5.1.6 </span>Using the microdata DOM API</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p><i>This section is non-normative.</i></p><p>The microdata becomes even more useful when scripts can use it to
+  expose information to the user, for example offering it in a form
+  that can be used by other applications.</p><p>The <code title="dom-document-getItems"><a href="#dom-document-getitems">document.getItems(<var title="">typeNames</var>)</a></code> method provides access to the
+  <a href="#top-level-microdata-items">top-level microdata items</a>. It returns a
+  <code>NodeList</code> containing the items with the specified types,
+  or all types if no argument is specified.</p><p>Each <a href="#concept-item" title="concept-item">item</a> is represented in the
+  DOM by the element on which the relevant <code title="attr-itemscope"><a href="#attr-itemscope">itemscope</a></code> attribute is found. These
+  elements have their <code title="dom-itemScope"><a href="#dom-itemscope">element.itemScope</a></code> IDL attribute set to
+  true.</p><p>The type of <a href="#concept-item" title="concept-item">items</a> can be
+  obtained using the <code title="dom-itemType"><a href="#dom-itemtype">element.itemType</a></code> IDL attribute on the
+  element with the <code title="attr-itemscope"><a href="#attr-itemscope">itemscope</a></code>
+  attribute.</p><div class="example">
+
+   <p>This sample shows how the <code title="dom-document-getItems"><a href="#dom-document-getitems">getItems()</a></code> method can be used
+   to obtain a list of all the top-level microdata items of one type
+   given in the document:</p>
+
+   <pre>var cats = document.getItems("http://example.com/feline");</pre>
+
+  </div><p>Once an element representing an <a href="#concept-item" title="concept-item">item</a> has been obtained, its properties
+  can be extracted using the <code title="dom-properties"><a href="#dom-properties">properties</a></code> IDL attribute. This
+  attribute returns an <code><a href="urls.html#htmlpropertiescollection">HTMLPropertiesCollection</a></code>, which can
+  be enumerated to go through each element that adds one or more
+  properties to the item. It can also be indexed by name, which will
+  return an object with a list of the elements that add properties
+  with that name.</p><p>Each element that adds a property also has a <code title="dom-itemValue"><a href="#dom-itemvalue">itemValue</a></code> IDL attribute that returns
+  its value.</p><div class="example">
+
+   <p>This sample gets the first item of type "http://example.net/user" and
+   then pops up an alert using the "name" property from
+   that item.</p>
+
+   <pre>var user = document.getItems('http://example.net/user')[0];
+alert('Hello ' + user.properties['name'][0].content + '!');</pre>
+
+  </div><p>The <code><a href="urls.html#htmlpropertiescollection">HTMLPropertiesCollection</a></code> object, when indexed by
+  name in this way, actually returns a <code><a href="urls.html#propertynodelist">PropertyNodeList</a></code>
+  object with all the matching properties. The
+  <code><a href="urls.html#propertynodelist">PropertyNodeList</a></code> object can be used to obtain all the
+  values at once using <em>its</em> <code title="dom-PropertyNodeList-values"><a href="#dom-propertynodelist-values">values</a></code> attribute, which
+  returns an array of all the values.</p><div class="example">
+
+   <p>In an earlier example, a "http://example.org/animals#cat" item had two
+   "http://example.com/color" values. This script looks up the first such
+   item and then lists all its values.</p>
+
+   <pre>var cat = document.getItems('http://example.org/animals#cat')[0];
+var colors = cat.properties['http://example.com/color'].values;
+var result;
+if (colors.length == 0) {
+  result = 'Color unknown.';
+} else if (colors.length == 1) {
+  result = 'Color: ' + colors[0];
+} else {
+  result = 'Colors:';
+  for (var i = 0; i &lt; colors.length; i += 1)
+    result += ' ' + colors[i];
+}</pre>
+
+  </div><p>It's also possible to get a list of all the <a href="#property-names">property
+  names</a> using the object's <code title="dom-HTMLPropertiesCollection-names"><a href="#dom-htmlpropertiescollection-names">names</a></code> IDL
+  attribute.</p><div class="example">
+
+   <p>This example creates a big list with a nested list for each item
+   on the page, each with of all the property names used in that
+   item.</p>
+
+   <pre>var outer = document.createElement('ul');
+var items = document.getItems();
+for (var item = 0; item &lt; items.length; item += 1) {
+  var itemLi = document.createElement('li');
+  var inner = document.createElement('ul');
+  for (var name = 0; name &lt; items[item].properties.names.length; name += 1) {
+    var propLi = document.createElement('li');
+    propLi.appendChild(document.createTextNode(items[item].properties.names[name]));
+    inner.appendChild(propLi);
+  }
+  itemLi.appendChild(inner);
+  outer.appendChild(itemLi);
+}
+document.body.appendChild(outer);</pre>
+
+   <p>If faced with the following from an earlier example:</p>
+
+   <pre>&lt;section itemscope itemtype="http://example.org/animals#cat"&gt;
+ &lt;h1 itemprop="name http://example.com/fn"&gt;Hedral&lt;/h1&gt;
+ &lt;p itemprop="desc"&gt;Hedral is a male american domestic
+ shorthair, with a fluffy &lt;span
+ itemprop="http://example.com/color"&gt;black&lt;/span&gt; fur with &lt;span
+ itemprop="http://example.com/color"&gt;white&lt;/span&gt; paws and belly.&lt;/p&gt;
+ &lt;img itemprop="img" src="hedral.jpeg" alt="" title="Hedral, age 18 months"&gt;
+&lt;/section&gt;</pre>
+
+   <p>...it would result in the following output:</p>
+
+   <ul><li>
+     <ul><li>name</li>
+      <li>http://example.com/fn</li>
+      <li>desc</li>
+      <li>http://example.com/color</li>
+      <li>img</li>
+     </ul></li>
+   </ul><p>(The duplicate occurrence of "http://example.com/color" is not included
+   in the list.)</p>
+
+  </div><h3 id="encoding-microdata"><span class="secno">5.2 </span>Encoding microdata</h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><h4 id="the-microdata-model"><span class="secno">5.2.1 </span>The microdata model</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The microdata model consists of groups of name-value pairs known
+  as <a href="#concept-item" title="concept-item">items</a>.</p><p>Each group is known as an <a href="#concept-item" title="concept-item">item</a>. Each <a href="#concept-item" title="concept-item">item</a> can have an <a href="#item-type">item type</a>,
+  a <a href="#global-identifier">global identifier</a> (if the <a href="#item-type">item type</a>
+  <a href="#support-global-identifiers-for-items" title="support global identifiers for items">supports global
+  identifiers for its items</a>), and a list of name-value
+  pairs. Each name in the name-value pair is known as a <a href="#the-properties-of-an-item" title="the properties of an item">property</a>, and each <a href="#the-properties-of-an-item" title="the properties of an item">property</a> has one or more
+  <a href="#concept-property-value" title="concept-property-value">values</a>. Each <a href="#concept-property-value" title="concept-property-value">value</a> is either a string or itself a group of
+  name-value pairs (an <a href="#concept-item" title="concept-item">item</a>).</p><p>An <a href="#concept-item" title="concept-item">item</a> is said to be a
+  <dfn id="typed-item">typed item</dfn> when either it has an <a href="#item-type">item type</a>,
+  or it is the <a href="#concept-property-value" title="concept-property-value">value</a> of a <a href="#the-properties-of-an-item" title="the properties of an
+  item">property</a> of a <a href="#typed-item">typed item</a>. The
+  <dfn id="relevant-type">relevant type</dfn> for a <a href="#typed-item">typed item</a> is the <a href="#concept-item" title="concept-item">item</a>'s <a href="#item-type">item type</a>, if it has
+  one, or else is the <a href="#relevant-type">relevant type</a> of the <a href="#concept-item" title="concept-item">item</a> for which it is a <a href="#the-properties-of-an-item" title="the
+  properties of an item">property</a>'s <a href="#concept-property-value" title="concept-property-value">value</a>.</p><h4 id="items"><span class="secno">5.2.2 </span>Items</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>Every <a href="infrastructure.html#html-elements" title="HTML elements">HTML element</a> may have an
+  <dfn id="attr-itemscope" title="attr-itemscope"><code>itemscope</code></dfn> attribute
+  specified. The <code title="attr-itemscope"><a href="#attr-itemscope">itemscope</a></code>
+  attribute is a <a href="common-microsyntaxes.html#boolean-attribute">boolean attribute</a>.</p><p>An element with the <code title="attr-itemscope"><a href="#attr-itemscope">itemscope</a></code>
+  attribute specified creates a new <dfn id="concept-item" title="concept-item">item</dfn>, a group of name-value pairs.</p><hr><p>Elements with an <code title="attr-itemscope"><a href="#attr-itemscope">itemscope</a></code>
+  attribute may have an <dfn id="attr-itemtype" title="attr-itemtype"><code>itemtype</code></dfn> attribute
+  specified, to give the <a href="#item-type">item type</a> of the <a href="#concept-item" title="concept-item">item</a>.</p><p>The <code title="attr-itemtype"><a href="#attr-itemtype">itemtype</a></code> attribute, if
+  specified, must have a value that is a <a href="urls.html#valid-url">valid URL</a> that
+  is an <a href="urls.html#absolute-url">absolute URL</a> for which the string "<code title="">http://www.w3.org/1999/xhtml/microdata#</code>" is not a
+  <a href="infrastructure.html#prefix-match">prefix match</a>.</p><!-- we disallow that prefix so that
+  we have somewhere to put future extensions, e.g. if we ever support
+  short type names --><p>The <dfn id="item-type">item type</dfn> of an <a href="#concept-item" title="concept-item">item</a> is the value of its element's <code title="attr-itemtype"><a href="#attr-itemtype">itemtype</a></code> attribute, if it has one and
+  its value is not the empty string. If the <code title="attr-itemtype"><a href="#attr-itemtype">itemtype</a></code> attribute is missing or its
+  value is the empty string, the <a href="#concept-item" title="concept-item">item</a> is said to have no <a href="#item-type">item
+  type</a>.</p><p>The <a href="#item-type">item type</a> must be a type defined in an <a href="#other-applicable-specifications" title="other applicable specifications">applicable
+  specification</a>.</p><p>The <code title="attr-itemtype"><a href="#attr-itemtype">itemtype</a></code> attribute must
+  not be specified on elements that do not have an <code title="attr-itemscope"><a href="#attr-itemscope">itemscope</a></code> attribute specified.</p><hr><p>Elements with an <code title="attr-itemscope"><a href="#attr-itemscope">itemscope</a></code>
+  attribute and an <code title="attr-itemtype"><a href="#attr-itemtype">itemtype</a></code>
+  attribute that references a vocabulary that is defined to
+  <dfn id="support-global-identifiers-for-items">support global identifiers for items</dfn> may also have an
+  <dfn id="attr-itemid" title="attr-itemid"><code>itemid</code></dfn> attribute
+  specified, to give a global identifier for the <a href="#concept-item" title="concept-item">item</a>, so that it can be related to other
+  <a href="#concept-item" title="concept-item">items</a> on pages elsewhere on the
+  Web.</p><p>The <code title="attr-itemid"><a href="#attr-itemid">itemid</a></code> attribute, if
+  specified, must have a value that is a <a href="urls.html#valid-url">valid URL</a>.</p><p>The <dfn id="global-identifier">global identifier</dfn> of an <a href="#concept-item" title="concept-item">item</a> is the value of its element's <code title="attr-itemid"><a href="#attr-itemid">itemid</a></code> attribute, if it has one, <a href="#resolve-a-url" title="resolve a url">resolved</a> relative to the element on
+  which the attribute is specified. If the <code title="attr-itemid"><a href="#attr-itemid">itemid</a></code> attribute is missing or if
+  resolving it fails, it is said to have no <a href="#global-identifier">global
+  identifier</a>.</p><p>The <code title="attr-itemid"><a href="#attr-itemid">itemid</a></code> attribute must not be
+  specified on elements that do not have both an <code title="attr-itemscope"><a href="#attr-itemscope">itemscope</a></code> attribute and an <code title="attr-itemtype"><a href="#attr-itemtype">itemtype</a></code> attribute specified, and must
+  not be specified on elements with an <code title="attr-itemscope"><a href="#attr-itemscope">itemscope</a></code> attribute whose <code title="attr-itemtype"><a href="#attr-itemtype">itemtype</a></code> attribute specifies a
+  vocabulary that does not <a href="#support-global-identifiers-for-items">support global identifiers for
+  items</a>, as defined by that vocabulary's specification.</p><hr><p>Elements with an <code title="attr-itemscope"><a href="#attr-itemscope">itemscope</a></code>
+  attribute may have an <dfn id="attr-itemref" title="attr-itemref"><code>itemref</code></dfn> attribute specified,
+  to give a list of additional elements to crawl to find the
+  name-value pairs of the <a href="#concept-item" title="concept-item">item</a>.</p><p>The <code title="attr-itemref"><a href="#attr-itemref">itemref</a></code> attribute, if
+  specified, must have a value that is an <a href="common-microsyntaxes.html#unordered-set-of-unique-space-separated-tokens">unordered set of
+  unique space-separated tokens</a> consisting of <a href="elements.html#concept-id" title="concept-ID">IDs</a> of elements in the same document; for
+  each one, the element's nearest ancestor element with an <code title="attr-itemscope"><a href="#attr-itemscope">itemscope</a></code> attribute specified, if any,
+  must not be the element with the referencing <code title="attr-itemref"><a href="#attr-itemref">itemref</a></code> attribute specified.</p><p>The <code title="attr-itemref"><a href="#attr-itemref">itemref</a></code> attribute must not
+  be specified on elements that do not have an <code title="attr-itemscope"><a href="#attr-itemscope">itemscope</a></code> attribute specified.</p><h4 id="names:-the-itemprop-attribute"><span class="secno">5.2.3 </span>Names: the <dfn title="attr-itemprop"><code>itemprop</code></dfn> attribute</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>Every <a href="infrastructure.html#html-elements" title="HTML elements">HTML element</a> may have an
+  <code title="attr-itemprop"><a href="#names:-the-itemprop-attribute">itemprop</a></code> attribute specified, if
+  doing so <a href="#the-properties-of-an-item" title="the properties of an item">adds a
+  property</a> to one or more <a href="#concept-item" title="concept-item">items</a> (as defined below).</p><p>The <code title="attr-itemprop"><a href="#names:-the-itemprop-attribute">itemprop</a></code> attribute, if
+  specified, must have a value that is an <a href="common-microsyntaxes.html#unordered-set-of-unique-space-separated-tokens">unordered set of
+  unique space-separated tokens</a> representing the names of the
+  name-value pairs that it adds. The attribute's value must have at
+  least one token.</p><p>Each token must be either:</p><ul><li>A <a href="urls.html#valid-url">valid URL</a> that is an <a href="urls.html#absolute-url">absolute URL</a>
+   for which the string "<code title="">http://www.w3.org/1999/xhtml/microdata#</code>" is not a
+   <a href="infrastructure.html#prefix-match">prefix match</a>, or</li>
+
+   <li>If the item is a <a href="#typed-item">typed item</a>: a <dfn id="defined-property-name">defined
+   property name</dfn> allowed in this situation according to the
+   specification that defines the <a href="#relevant-type">relevant type</a> for the
+   item, or</li>
+
+   <li>If the item is not a <a href="#typed-item">typed item</a>: a string that
+   contains no U+002E FULL STOP characters (.) and no U+003A COLON
+   characters (:).</li>
+
+  </ul><p>When an element with an <code title="concept-itemprop">itemprop</code> attribute <a href="#the-properties-of-an-item" title="the
+  properties of an item">adds a property</a> to multiple <a href="#concept-item" title="concept-item">items</a>, the requirement above regarding
+  the tokens applies for each <a href="#concept-item" title="concept-item">item</a>
+  individually.</p><!--
+
+   e.g.:
+
+     <div itemscope itemtype="http://example.com/a"> <ref refid="x"> </div>
+     <div itemscope itemtype="http://example.com/b"> <ref refid="x"> </div>
+     <meta id="x" itemprop="z" content="">
+
+     "z" had better be valid for both http://example.com/a and http://example.com/b
+
+  --><p>The <dfn id="property-names">property names</dfn> of an element are the tokens that
+  the element's <code title="attr-itemprop"><a href="#names:-the-itemprop-attribute">itemprop</a></code> attribute
+  is found to contain when its value is <a href="#split-a-string-on-spaces" title="split a string on
+  spaces">split on spaces</a>, with the order preserved but with
+  duplicates removed (leaving only the first occurrence of each
+  name).</p><p>Within an <a href="#concept-item" title="concept-item">item</a>, the properties
+  are unordered with respect to each other, except for properties with
+  the same name, which are ordered in the order they are given by the
+  algorithm that defines <a href="#the-properties-of-an-item">the properties of an item</a>.</p><div class="example">
+
+   <p>In the following example, the "a" property has the values "1"
+   and "2", <em>in that order</em>, but whether the "a" property comes
+   before the "b" property or not is not important:</p>
+
+   <pre>&lt;div itemscope&gt;
+ &lt;p itemprop="a"&gt;1&lt;/p&gt;
+ &lt;p itemprop="a"&gt;2&lt;/p&gt;
+ &lt;p itemprop="b"&gt;test&lt;/p&gt;
+&lt;/div&gt;</pre>
+
+   <p>Thus, the following is equivalent:</p>
+
+   <pre>&lt;div itemscope&gt;
+ &lt;p itemprop="b"&gt;test&lt;/p&gt;
+ &lt;p itemprop="a"&gt;1&lt;/p&gt;
+ &lt;p itemprop="a"&gt;2&lt;/p&gt;
+&lt;/div&gt;</pre>
+
+   <p>As is the following:</p>
+
+   <pre>&lt;div itemscope&gt;
+ &lt;p itemprop="a"&gt;1&lt;/p&gt;
+ &lt;p itemprop="b"&gt;test&lt;/p&gt;
+ &lt;p itemprop="a"&gt;2&lt;/p&gt;
+&lt;/div&gt;</pre>
+
+   <p>And the following:</p>
+
+   <pre>&lt;div itemscope itemref="x"&gt;
+ &lt;p itemprop="b"&gt;test&lt;/p&gt;
+ &lt;p itemprop="a"&gt;2&lt;/p&gt;
+&lt;/div&gt;
+&lt;div id="x"&gt;
+ &lt;p itemprop="a"&gt;1&lt;/p&gt;
+&lt;/div&gt;
+</pre>
+
+  </div><h4 id="values"><span class="secno">5.2.4 </span>Values</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <dfn id="concept-property-value" title="concept-property-value">property value</dfn> of a
+  name-value pair added by an element with an <code title="attr-itemprop"><a href="#names:-the-itemprop-attribute">itemprop</a></code> attribute depends on the
+  element, as follows:</p><dl><dt>If the element also has an <code title="attr-itemscope"><a href="#attr-itemscope">itemscope</a></code> attribute</dt>
+
+   <dd><p>The value is the <a href="#concept-item" title="concept-item">item</a>
+   created by the element.</p></dd>
+
+
+   <dt>If the element is a <code><a href="semantics.html#meta">meta</a></code> element</dt>
+
+   <dd><p>The value is the value of the element's <code title="attr-content">content</code> attribute, if any, or the empty
+   string if there is no such attribute.</p></dd>
+
+
+   <dt>If the element is an <code><a href="video.html#audio">audio</a></code>, <code><a href="the-iframe-element.html#the-embed-element">embed</a></code>,
+   <code><a href="the-iframe-element.html#the-iframe-element">iframe</a></code>, <code><a href="embedded-content-1.html#the-img-element">img</a></code>, <code><a href="video.html#the-source-element">source</a></code>, or
+   <code><a href="video.html#video">video</a></code> element</dt>
+
+   <dd><p>The value is the <a href="urls.html#absolute-url">absolute URL</a> that results from
+   <a href="#resolve-a-url" title="resolve a url">resolving</a> the value of the
+   element's <code title="">src</code> attribute relative to the
+   element at the time the attribute is set, or the empty string if
+   there is no such attribute or if <a href="#resolve-a-url" title="resolve a
+   url">resolving</a> it results in an error.</p></dd>
+
+
+   <dt>If the element is an <code><a href="text-level-semantics.html#the-a-element">a</a></code>, <code><a href="the-map-element.html#the-area-element">area</a></code>, or
+   <code><a href="semantics.html#the-link-element">link</a></code> element</dt>
+
+   <dd><p>The value is the <a href="urls.html#absolute-url">absolute URL</a> that results from
+   <a href="#resolve-a-url" title="resolve a url">resolving</a> the value of the
+   element's <code title="">href</code> attribute relative to the
+   element at the time the attribute is set, or the empty string if
+   there is no such attribute or if <a href="#resolve-a-url" title="resolve a
+   url">resolving</a> it results in an error.</p></dd>
+
+
+   <dt>If the element is an <code><a href="the-iframe-element.html#the-object-element">object</a></code> element</dt>
+
+   <dd><p>The value is the <a href="urls.html#absolute-url">absolute URL</a> that results from
+   <a href="#resolve-a-url" title="resolve a url">resolving</a> the value of the
+   element's <code title="">data</code> attribute relative to the
+   element at the time the attribute is set, or the empty string if
+   there is no such attribute or if <a href="#resolve-a-url" title="resolve a
+   url">resolving</a> it results in an error.</p></dd>
+
+
+   <dt>If the element is a <code><a href="text-level-semantics.html#the-time-element">time</a></code> element with a <code title="attr-datetime">datetime</code> attribute</dt>
+
+   <dd><p>The value is the value of the element's <code title="attr-datetime">datetime</code> attribute.</p></dd>
+
+
+   <dt>Otherwise</dt>
+
+   <dd><p>The value is the element's
+   <code>textContent</code>.</p></dd>
+
+  </dl><p>The <dfn id="url-property-elements">URL property elements</dfn> are the <code><a href="text-level-semantics.html#the-a-element">a</a></code>,
+  <code><a href="the-map-element.html#the-area-element">area</a></code>, <code><a href="video.html#audio">audio</a></code>, <code><a href="the-iframe-element.html#the-embed-element">embed</a></code>,
+  <code><a href="the-iframe-element.html#the-iframe-element">iframe</a></code>, <code><a href="embedded-content-1.html#the-img-element">img</a></code>, <code><a href="semantics.html#the-link-element">link</a></code>,
+  <code><a href="the-iframe-element.html#the-object-element">object</a></code>, <code><a href="video.html#the-source-element">source</a></code>, and <code><a href="video.html#video">video</a></code>
+  elements.</p><p>If a property's <a href="#concept-property-value" title="concept-property-value">value</a>
+  is an <a href="urls.html#absolute-url">absolute URL</a>, the property must be specified
+  using a <a href="#url-property-elements" title="URL property elements">URL property
+  element</a>.</p><h4 id="associating-names-with-items"><span class="secno">5.2.5 </span>Associating names with items</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>To find <dfn id="the-properties-of-an-item">the properties of an item</dfn>, the user agent must
+  run the following steps:</p><ol><li><p>Let <var title="">root</var> be the element with the <code title="attr-itemscope"><a href="#attr-itemscope">itemscope</a></code> attribute.</p></li>
+
+   <li><p>Let <var title="">pending</var> be a stack of elements
+   initially containing the child elements of <var title="">root</var>, if any. This list will be the one that holds
+   the elements that still need to be crawled.</p></li>
+
+   <li><p>Let <var title="">properties</var> be an empty list of
+   elements. This list will be the result of the algorithm: a list of
+   elements with properties that apply to <var title="">root</var>.</p></li>
+
+   <li><p>If <var title="">root</var> has an <code title="attr-itemref"><a href="#attr-itemref">itemref</a></code> attribute, <a href="#split-a-string-on-spaces" title="split a
+   string on spaces">split the value of that <code title="attr-itemref">itemref</code> attribute on spaces</a>. For
+   each resulting token, <var title="">ID</var>, if there is an
+   element in the document with the <a href="elements.html#concept-id" title="concept-ID">ID</a>
+   <var title="">ID</var>, then push the first such element onto <var title="">pending</var>.</p></li>
+
+   <li>
+
+    <p>For each element <var title="">candidate</var> in <var title="">pending</var>, run the following substeps:</p>
+
+    <ol><li><p>Let <var title="">scope</var> be <var title="">candidate</var>'s nearest ancestor element with an <code title="attr-itemscope"><a href="#attr-itemscope">itemscope</a></code> attribute specified, if
+     any, or null otherwise.</p></li>
+
+     <li><p>If one of the other elements in <var title="">pending</var>
+     is also <var title="">candidate</var>, then remove <var title="">candidate</var> from <var title="">pending</var>
+     (i.e. remove duplicates).</p></li>
+
+     <li><p>Otherwise, if one of the other elements in <var title="">pending</var> is an ancestor element of <var title="">candidate</var>, and that element is <var title="">scope</var>, then remove <var title="">candidate</var>
+     from <var title="">pending</var>.</p></li>
+
+     <li><p>Otherwise, if one of the other elements in <var title="">pending</var> is an ancestor element of <var title="">candidate</var>, and either <var title="">scope</var> is
+     null or that element also has <var title="">scope</var> as its
+     nearest ancestor element with an <code title="attr-itemscope"><a href="#attr-itemscope">itemscope</a></code> attribute specified, then
+     remove <var title="">candidate</var> from <var title="">pending</var>.</p></li>
+
+    </ol></li>
+
+   <li><p>Sort <var title="">pending</var> in <a href="infrastructure.html#tree-order">tree
+   order</a>.</p></li>
+
+   <li><p><i>Loop</i>: Pop the top element from <var title="">pending</var> and let <var title="">current</var> be that
+   element.</p></li>
+
+   <li><p>If <var title="">current</var> has an <code title="attr-itemprop"><a href="#names:-the-itemprop-attribute">itemprop</a></code> attribute, then append <var title="">current</var> to <var title="">properties</var>.</p></li>
+
+   <li><p>If <var title="">current</var> does not have an <code title="attr-itemscope"><a href="#attr-itemscope">itemscope</a></code> attribute, and <var title="">current</var> is an element with child elements, then:
+   push all the child elements of <var title="">current</var> onto
+   <var title="">pending</var>, in <a href="infrastructure.html#tree-order">tree order</a> (so the first
+   child of <var title="">current</var> will be the next element to be
+   popped from <var title="">pending</var>).</p></li>
+
+   <li><p><i>End of loop</i>: If <var title="">pending</var> is not
+   empty, return to the step marked <i>loop</i>.</p></li>
+
+   <li><p>Return <var title="">properties</var>. That is the list of
+   <a href="#the-properties-of-an-item" title="the properties of an item">properties of the
+   item</a> <var title="">root</var>. By definition, this list is
+   in <a href="infrastructure.html#tree-order">tree order</a>.</p></li>
+
+  </ol><p>A document must not contain any elements that have an <code title="attr-itemprop"><a href="#names:-the-itemprop-attribute">itemprop</a></code> attribute that would not be
+  found to be a property of any of the <a href="#concept-item" title="concept-item">items</a> in that document were their <a href="#the-properties-of-an-item" title="the properties of an item">properties</a> all to be
+  determined.</p><p>An <a href="#concept-item" title="concept-item">item</a> is a <dfn id="top-level-microdata-items" title="top-level microdata items">top-level microdata item</dfn> if
+  its element does not have an <code title="attr-itemprop"><a href="#names:-the-itemprop-attribute">itemprop</a></code> attribute.</p><h4 id="examples-1"><span class="secno">5.2.6 </span>Examples</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>Here is an example of some HTML using Microdata to express RDF
+  statements:</p><pre>&lt;dl itemscope
+    itemtype="http://purl.org/vocab/frbr/core#Work"
+    itemid="http://purl.oreilly.com/works/45U8QJGZSQKDH8N"&gt;
+ &lt;dt&gt;Title&lt;/dt&gt;
+ &lt;dd&gt;&lt;cite itemprop="http://purl.org/dc/terms/title"&gt;Just a Geek&lt;/cite&gt;&lt;/dd&gt;
+ &lt;dt&gt;By&lt;/dt&gt;
+ &lt;dd&gt;&lt;span itemprop="http://purl.org/dc/terms/creator"&gt;Wil Wheaton&lt;/span&gt;&lt;/dd&gt;
+ &lt;dt&gt;Format&lt;/dt&gt;
+ &lt;dd itemprop="http://purl.org/vocab/frbr/core#realization"
+     itemscope
+     itemtype="http://purl.org/vocab/frbr/core#Expression"
+     itemid="http://purl.oreilly.com/products/9780596007683.BOOK"&gt;
+  &lt;link itemprop="http://purl.org/dc/terms/type" href="http://purl.oreilly.com/product-types/BOOK"&gt;
+  Print
+ &lt;/dd&gt;
+ &lt;dd itemprop="http://purl.org/vocab/frbr/core#realization"
+     itemscope
+     itemtype="http://purl.org/vocab/frbr/core#Expression"
+     itemid="http://purl.oreilly.com/products/9780596802189.EBOOK"&gt;
+  &lt;link itemprop="http://purl.org/dc/terms/type" href="http://purl.oreilly.com/product-types/EBOOK"&gt;
+  Ebook
+ &lt;/dd&gt;
+&lt;/dl&gt;</pre><p>This is equivalent to the following Turtle:</p><pre>@prefix dc: &lt;http://purl.org/dc/terms/&gt; .
+@prefix frbr: &lt;http://purl.org/vocab/frbr/core#&gt; .
+
+&lt;http://purl.oreilly.com/works/45U8QJGZSQKDH8N&gt; a frbr:Work ;
+     dc:creator "Wil Wheaton"@en ;
+     dc:title "Just a Geek"@en ;
+     frbr:realization &lt;http://purl.oreilly.com/products/9780596007683.BOOK&gt;,
+         &lt;http://purl.oreilly.com/products/9780596802189.EBOOK&gt; . 
+
+&lt;http://purl.oreilly.com/products/9780596007683.BOOK&gt; a frbr:Expression ;
+     dc:type &lt;http://purl.oreilly.com/product-types/BOOK&gt; . 
+
+&lt;http://purl.oreilly.com/products/9780596802189.EBOOK&gt; a frbr:Expression ;
+     dc:type &lt;http://purl.oreilly.com/product-types/EBOOK&gt; .</pre><h3 id="microdata-dom-api"><span class="secno">5.3 </span>Microdata DOM API</h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><dl class="domintro"><dt><var title="">document</var> . <code title="dom-document-getItems"><a href="#dom-document-getitems">getItems</a></code>( [ <var title="">types</var> ] )</dt>
+
+   <dd>
+
+    <p>Returns a <code>NodeList</code> of the elements in the <code>Document</code> that create <a href="#concept-item" title="concept-item">items</a>, that are not part of other <a href="#concept-item" title="concept-item">items</a>, and that are of one of the types given in the argument, if any are listed.</p>
+
+    <p>The <var title="">types</var> argument is interpreted as a space-separated list of types.</p>
+
+   </dd>
+
+   <dt><var title="">element</var> . <code title="dom-properties"><a href="#dom-properties">properties</a></code></dt>
+
+   <dd>
+
+    <p>If the element has an <code title="attr-itemscope"><a href="#attr-itemscope">itemscope</a></code> attribute, returns an
+    <code><a href="urls.html#htmlpropertiescollection">HTMLPropertiesCollection</a></code> object with all the element's
+    properties. Otherwise, an empty
+    <code><a href="urls.html#htmlpropertiescollection">HTMLPropertiesCollection</a></code> object.</p>
+
+   </dd>
+
+   <dt><var title="">element</var> . <code title="dom-itemValue"><a href="#dom-itemvalue">itemValue</a></code> [ = <var title="">value</var> ]</dt>
+
+   <dd>
+
+    <p>Returns the element's <a href="#concept-property-value" title="concept-property-value">value</a>.</p>
+
+    <p>Can be set, to change the element's <a href="#concept-property-value" title="concept-property-value">value</a>. Setting the <a href="#concept-property-value" title="concept-property-value">value</a> when the element has
+    no <code title="attr-itemprop"><a href="#names:-the-itemprop-attribute">itemprop</a></code> attribute or when
+    the element's value is an <a href="#concept-item" title="concept-item">item</a>
+    throws an <code><a href="urls.html#invalid_access_err">INVALID_ACCESS_ERR</a></code> exception.</p>
+
+   </dd>
+
+  </dl></body></html>
\ No newline at end of file

Index: Overview.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/Overview.html,v
retrieving revision 1.610
retrieving revision 1.611
diff -u -d -r1.610 -r1.611
--- Overview.html	6 Jan 2010 15:38:52 -0000	1.610
+++ Overview.html	6 Jan 2010 15:49:33 -0000	1.611
@@ -0,0 +1,858 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<!DOCTYPE html>
+<!-- when publishing, change bits marked ZZZ --><html lang="en-US-x-Hixie" class="split index"><head><title>HTML5 (Author Edition)</title><script src="link-fixup.js"></script><link href="whatwg.css" rel="stylesheet"><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 tbody th { text-align: left; }
+   table td, table th { border-left: solid; border-right: solid; border-bottom: solid thin; vertical-align: top; padding: 0.2em; }
+   blockquote { margin: 0 0 0 2em; border: 0; padding: 0; font-style: italic; }
+
+   .bad, .bad *:not(.XXX) { color: gray; border-color: gray; background: transparent; }
+   .matrix, .matrix td { border: none; text-align: right; }
+   .matrix { margin-left: 2em; }
+   .dice-example { border-collapse: collapse; border-style: hidden solid solid hidden; border-width: thin; margin-left: 3em; }
+   .dice-example caption { width: 30em; font-size: smaller; font-style: italic; padding: 0.75em 0; text-align: left; }
+   .dice-example td, .dice-example th { border: solid thin; width: 1.35em; height: 1.05em; text-align: center; padding: 0; }
+
+   .toc dfn, h1 dfn, h2 dfn, h3 dfn, h4 dfn, h5 dfn, h6 dfn { font: inherit; }
+   img.extra { float: right; }
+   pre.idl { border: solid thin; background: #EEEEEE; color: black; padding: 0.5em 1em; }
+   pre.idl :link, pre.idl :visited { color: inherit; background: transparent; }
+   pre.css { border: solid thin; background: #FFFFEE; color: black; padding: 0.5em 1em; }
+   pre.css:first-line { color: #AAAA50; }
+   dl.domintro { color: green; margin: 2em 0 2em 2em; padding: 0.5em 1em; border: none; background: #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; }
+   div.head p.copyright, div.head p.alt { font-size: x-small; font-style: oblique; margin: 0; }
+
+   body > .toc > li { margin-top: 1em; margin-bottom: 1em; }
+   body > .toc.brief > li { margin-top: 0.35em; margin-bottom: 0.35em; }
+   body > .toc > li > * { margin-bottom: 0.5em; }
+   body > .toc > li > * > li > * { margin-bottom: 0.25em; }
+   .toc, .toc li { list-style: none; }
+
+   .brief { margin-top: 1em; margin-bottom: 1em; line-height: 1.1; }
+   .brief li { margin: 0; padding: 0; }
+   .brief li p { margin: 0; padding: 0; }
+
+   .category-list { margin-top: -0.75em; margin-bottom: 1em; line-height: 1.5; }
+   .category-list::before { content: '\21D2\A0'; font-size: 1.2em; font-weight: 900; }
+   .category-list li { display: inline; }
+   .category-list li:not(:last-child)::after { content: ', '; }
+   .category-list li > span, .category-list li > a { text-transform: lowercase; }
+   .category-list li * { text-transform: none; } /* don't affect <code> nested in <a> */
+
+   .XXX { color: #E50000; background: white; border: solid red; padding: 0.5em; margin: 1em 0; }
+   .XXX > :first-child { margin-top: 0; }
+   p .XXX { line-height: 3em; }
+   .annotation { border: solid thin black; background: #0C479D; color: white; position: relative; margin: 8px 0 20px 0; }
+   .annotation:before { position: absolute; left: 0; top: 0; width: 100%; height: 100%; margin: 6px -6px -6px 6px; background: #333333; z-index: -1; content: ''; }
+   .annotation :link, .annotation :visited { color: inherit; }
+   .annotation :link:hover, .annotation :visited:hover { background: transparent; }
+   .annotation span { border: none ! important; }
+   .note { color: green; background: transparent; font-family: sans-serif; }
+   .warning { color: red; background: transparent; }
+   .note, .warning { font-weight: bolder; font-style: italic; }
+   p.note, div.note { padding: 0.5em 2em; }
+   span.note { padding: 0 2em; }
+   .note p:first-child, .warning p:first-child { margin-top: 0; }
+   .note p:last-child, .warning p:last-child { margin-bottom: 0; }
+   .warning:before { font-style: normal; }
+   p.note:before { content: 'Note: '; }
+   p.warning:before { content: '\26A0 Warning! '; }
+
+   .bookkeeping:before { display: block; content: 'Bookkeeping details'; font-weight: bolder; font-style: italic; }
+   .bookkeeping { font-size: 0.8em; margin: 2em 0; }
+   .bookkeeping p { margin: 0.5em 2em; display: list-item; list-style: square; }
+
+   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; }
+
+   #configUI { position: absolute; z-index: 20; top: 10em; right: 1em; width: 11em; font-size: small; }
+   #configUI p { margin: 0.5em 0; padding: 0.3em; background: #EEEEEE; color: black; border: inset thin; }
+   #configUI p label { display: block; }
+   #configUI #updateUI, #configUI .loginUI { text-align: center; }
+   #configUI input[type=button] { display: block; margin: auto; }
+  </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="data:text/css," id="complete" rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" id="author" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" id="highlight" rel="alternate stylesheet" title="Highlight implementation requirements"><script>
+   function getCookie(name) {
+     var params = location.search.substr(1).split("&");
+     for (var index = 0; index < params.length; index++) {
+       if (params[index] == name)
+         return "1";
+       var data = params[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     var cookies = document.cookie.split("; ");
+     for (var index = 0; index < cookies.length; index++) {
+       var data = cookies[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     return null;
+   }
+   function load(script) {
+     var e = document.createElement('script');
+     e.setAttribute('src', 'http://www.whatwg.org/specs/web-apps/current-work/' + script + '?' + encodeURIComponent(location) + '&' + encodeURIComponent(document.referrer));
+     document.body.appendChild(e);
+   }
+   function init() {
+     if (location.search == '?slow-browser')
+       return;
+     var configUI = document.createElement('div');
+     configUI.id = 'configUI';
+     document.body.appendChild(configUI);
+     // load('reviewer.js'); // would need cross-site XHR
+     if (document.getElementById('head'))
+       load('toc.js');
+     
+     // load('updater.js'); // would need cross-site XHR
+     load('dfn.js');
+     // load('status.js'); // would need cross-site XHR
+     if (getCookie('profile') == '1')
+       document.getElementsByTagName('h2')[0].textContent += '; load: ' + (new Date() - loadTimer) + 'ms';
+     fixBrokenLink();
+   }
+  </script><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"></head><body onload="fixBrokenLink(); init()"><div class="head" id="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 (Author Edition)</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>
+
+   <h2 class="no-num no-toc" id="editor-s-draft-6-january-2010">Editor's Draft 6 January 2010</h2>
+   <dl><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.3627.
+   </p>
+   <p class="copyright"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a>
+   &#169; 2009 <a href="http://www.w3.org/"><abbr title="World Wide
+   Web Consortium">W3C</abbr></a><sup>&#174;</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><!-- 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&amp;component=Spec%20proposals&amp;product=HTML%20WG&amp;resolution=NEEDSINFO&amp;resolution=LATER&amp;resolution=REMIND&amp;resolution=---&amp;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.
+
+  This specification is the 6 January 2010 Editor's Draft.
+  </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><!-- UNDER NO CIRCUMSTANCES IS THE FOLLOWING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- temporarily moved to Status of this Document after discussion with plh in October 2009 --><!-- will be moved back to below W3C copyright in April 2010 --><p class="alt">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 --><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="common-microsyntaxes.html#common-microsyntaxes"><span class="secno">2.4 </span>Common microsyntaxes</a>
+    <ol><li><a href="common-microsyntaxes.html#boolean-attributes"><span class="secno">2.4.1 </span>Boolean attributes</a></li>
+     <li><a href="common-microsyntaxes.html#keywords-and-enumerated-attributes"><span class="secno">2.4.2 </span>Keywords and enumerated attributes</a></li>
+     <li><a href="common-microsyntaxes.html#numbers"><span class="secno">2.4.3 </span>Numbers</a>
+      <ol><li><a href="common-microsyntaxes.html#non-negative-integers"><span class="secno">2.4.3.1 </span>Non-negative integers</a></li>
+       <li><a href="common-microsyntaxes.html#signed-integers"><span class="secno">2.4.3.2 </span>Signed integers</a></li>
+       <li><a href="common-microsyntaxes.html#real-numbers"><span class="secno">2.4.3.3 </span>Real numbers</a></li>
+       <li><a href="common-microsyntaxes.html#lists-of-integers"><span class="secno">2.4.3.4 </span>Lists of integers</a></li></ol></li>
+     <li><a href="common-microsyntaxes.html#dates-and-times"><span class="secno">2.4.4 </span>Dates and times</a>
+      <ol><li><a href="common-microsyntaxes.html#months"><span class="secno">2.4.4.1 </span>Months</a></li>
+       <li><a href="common-microsyntaxes.html#dates"><span class="secno">2.4.4.2 </span>Dates</a></li>
+       <li><a href="common-microsyntaxes.html#times"><span class="secno">2.4.4.3 </span>Times</a></li>
+       <li><a href="common-microsyntaxes.html#local-dates-and-times"><span class="secno">2.4.4.4 </span>Local dates and times</a></li>
+       <li><a href="common-microsyntaxes.html#global-dates-and-times"><span class="secno">2.4.4.5 </span>Global dates and times</a></li>
+       <li><a href="common-microsyntaxes.html#weeks"><span class="secno">2.4.4.6 </span>Weeks</a></li>
+       <li><a href="common-microsyntaxes.html#vaguer-moments-in-time"><span class="secno">2.4.4.7 </span>Vaguer moments in time</a></li></ol></li>
+     <li><a href="common-microsyntaxes.html#colors"><span class="secno">2.4.5 </span>Colors</a></li>
+     <li><a href="common-microsyntaxes.html#space-separated-tokens"><span class="secno">2.4.6 </span>Space-separated tokens</a></li>
+     <li><a href="common-microsyntaxes.html#comma-separated-tokens"><span class="secno">2.4.7 </span>Comma-separated tokens</a></li>
+     <li><a href="common-microsyntaxes.html#syntax-references"><span class="secno">2.4.8 </span>References</a></li>
+     <li><a href="common-microsyntaxes.html#mq"><span class="secno">2.4.9 </span>Media queries</a></li></ol></li>
+   <li><a href="urls.html#urls"><span class="secno">2.5 </span>URLs</a>
+    <ol><li><a href="urls.html#terminology-0"><span class="secno">2.5.1 </span>Terminology</a></li>
+     <li><a href="urls.html#interfaces-for-url-manipulation"><span class="secno">2.5.2 </span>Interfaces for URL manipulation</a></li></ol></li>
+   <li><a href="urls.html#common-dom-interfaces"><span class="secno">2.6 </span>Common DOM interfaces</a>
+    <ol><li><a href="urls.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="urls.html#collections-0"><span class="secno">2.6.2 </span>Collections</a>
+      <ol><li><a href="urls.html#htmlcollection-0"><span class="secno">2.6.2.1 </span>HTMLCollection</a></li>
+       <li><a href="urls.html#htmlallcollection-0"><span class="secno">2.6.2.2 </span>HTMLAllCollection</a></li>
+       <li><a href="urls.html#htmlformcontrolscollection-0"><span class="secno">2.6.2.3 </span>HTMLFormControlsCollection</a></li>
+       <li><a href="urls.html#htmloptionscollection-0"><span class="secno">2.6.2.4 </span>HTMLOptionsCollection</a></li>
+       <li><a href="urls.html#htmlpropertiescollection-0"><span class="secno">2.6.2.5 </span>HTMLPropertiesCollection</a></li></ol></li>
+     <li><a href="urls.html#domtokenlist-0"><span class="secno">2.6.3 </span>DOMTokenList</a></li>
+     <li><a href="urls.html#domsettabletokenlist-0"><span class="secno">2.6.4 </span>DOMSettableTokenList</a></li>
+     <li><a href="urls.html#domstringmap-0"><span class="secno">2.6.5 </span>DOMStringMap</a></li>
+     <li><a href="urls.html#dom-feature-strings"><span class="secno">2.6.6 </span>DOM feature strings</a></li>
+     <li><a href="urls.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>
+     <li><a href="dom.html#creating-documents"><span class="secno">3.1.5 </span>Creating documents</a></li></ol></li>
+   <li><a href="elements.html#elements"><span class="secno">3.2 </span>Elements</a>
+    <ol><li><a href="elements.html#semantics-0"><span class="secno">3.2.1 </span>Semantics</a></li>
+     <li><a href="elements.html#elements-in-the-dom"><span class="secno">3.2.2 </span>Elements in the DOM</a></li>
+     <li><a href="elements.html#global-attributes"><span class="secno">3.2.3 </span>Global attributes</a>
+      <ol><li><a href="elements.html#the-id-attribute"><span class="secno">3.2.3.1 </span>The <code>id</code> attribute</a></li>
+       <li><a href="elements.html#the-title-attribute"><span class="secno">3.2.3.2 </span>The <code>title</code> attribute</a></li>
+       <li><a href="elements.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="elements.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="elements.html#the-dir-attribute"><span class="secno">3.2.3.5 </span>The <code>dir</code> attribute</a></li>
+       <li><a href="elements.html#classes"><span class="secno">3.2.3.6 </span>The <code>class</code> attribute</a></li>
+       <li><a href="elements.html#the-style-attribute"><span class="secno">3.2.3.7 </span>The <code>style</code> attribute</a></li>
+       <li><a href="elements.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="elements.html#element-definitions"><span class="secno">3.2.4 </span>Element definitions</a></li>
+     <li><a href="content-models.html#content-models"><span class="secno">3.2.5 </span>Content models</a>
+      <ol><li><a href="content-models.html#kinds-of-content"><span class="secno">3.2.5.1 </span>Kinds of content</a>
+        <ol><li><a href="content-models.html#metadata-content-0"><span class="secno">3.2.5.1.1 </span>Metadata content</a></li>
+         <li><a href="content-models.html#flow-content-0"><span class="secno">3.2.5.1.2 </span>Flow content</a></li>
+         <li><a href="content-models.html#sectioning-content-0"><span class="secno">3.2.5.1.3 </span>Sectioning content</a></li>
+         <li><a href="content-models.html#heading-content-0"><span class="secno">3.2.5.1.4 </span>Heading content</a></li>
+         <li><a href="content-models.html#phrasing-content-0"><span class="secno">3.2.5.1.5 </span>Phrasing content</a></li>
+         <li><a href="content-models.html#embedded-content-0"><span class="secno">3.2.5.1.6 </span>Embedded content</a></li>
+         <li><a href="content-models.html#interactive-content-0"><span class="secno">3.2.5.1.7 </span>Interactive content</a></li></ol></li>
+       <li><a href="content-models.html#transparent-content-models"><span class="secno">3.2.5.2 </span>Transparent content models</a></li>
+       <li><a href="content-models.html#paragraphs"><span class="secno">3.2.5.3 </span>Paragraphs</a></li></ol></li>
+     <li><a href="content-models.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="apis-in-html-documents.html#apis-in-html-documents"><span class="secno">3.3 </span>APIs in HTML documents</a></li>
+   <li><a href="apis-in-html-documents.html#dynamic-markup-insertion"><span class="secno">3.4 </span>Dynamic markup insertion</a>
+    <ol><li><a href="apis-in-html-documents.html#opening-the-input-stream"><span class="secno">3.4.1 </span>Opening the input stream</a></li>
+     <li><a href="apis-in-html-documents.html#closing-the-input-stream"><span class="secno">3.4.2 </span>Closing the input stream</a></li>
+     <li><a href="apis-in-html-documents.html#document.write"><span class="secno">3.4.3 </span><code title="dom-document-write">document.write()</code></a></li>
+     <li><a href="apis-in-html-documents.html#document.writeln"><span class="secno">3.4.4 </span><code title="dom-document-writeln">document.writeln()</code></a></li>
+     <li><a href="apis-in-html-documents.html#innerhtml"><span class="secno">3.4.5 </span><code title="dom-innerHTML">innerHTML</code></a></li>
+     <li><a href="apis-in-html-documents.html#outerhtml"><span class="secno">3.4.6 </span><code title="dom-outerHTML">outerHTML</code></a></li>
+     <li><a href="apis-in-html-documents.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#the-style-element"><span class="secno">4.2.6 </span>The <code>style</code> element</a></li>
+     <li><a href="semantics.html#styling"><span class="secno">4.2.7 </span>Styling</a></li></ol></li>
+   <li><a href="scripting-1.html#scripting-1"><span class="secno">4.3 </span>Scripting</a>
+    <ol><li><a href="scripting-1.html#script"><span class="secno">4.3.1 </span>The <code>script</code> element</a>
+      <ol><li><a href="scripting-1.html#scriptingLanguages"><span class="secno">4.3.1.1 </span>Scripting languages</a></li>
+       <li><a href="scripting-1.html#restrictions-for-contents-of-script-elements"><span class="secno">4.3.1.2 </span>Restrictions for contents of <code>script</code> elements</a></li>
+       <li><a href="scripting-1.html#inline-documentation-for-external-scripts"><span class="secno">4.3.1.3 </span>Inline documentation for external scripts</a></li></ol></li>
+     <li><a href="scripting-1.html#the-noscript-element"><span class="secno">4.3.2 </span>The <code>noscript</code> element</a></li></ol></li>
+   <li><a href="sections.html#sections"><span class="secno">4.4 </span>Sections</a>
+    <ol><li><a href="sections.html#the-body-element-0"><span class="secno">4.4.1 </span>The <code>body</code> element</a></li>
+     <li><a href="sections.html#the-section-element"><span class="secno">4.4.2 </span>The <code>section</code> element</a></li>
+     <li><a href="sections.html#the-nav-element"><span class="secno">4.4.3 </span>The <code>nav</code> element</a></li>
+     <li><a href="sections.html#the-article-element"><span class="secno">4.4.4 </span>The <code>article</code> element</a></li>
+     <li><a href="sections.html#the-aside-element"><span class="secno">4.4.5 </span>The <code>aside</code> element</a></li>
+     <li><a href="sections.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="sections.html#the-hgroup-element"><span class="secno">4.4.7 </span>The <code>hgroup</code> element</a></li>
+     <li><a href="sections.html#the-header-element"><span class="secno">4.4.8 </span>The <code>header</code> element</a></li>
+     <li><a href="sections.html#the-footer-element"><span class="secno">4.4.9 </span>The <code>footer</code> element</a></li>
+     <li><a href="sections.html#the-address-element"><span class="secno">4.4.10 </span>The <code>address</code> element</a></li>
+     <li><a href="sections.html#headings-and-sections"><span class="secno">4.4.11 </span>Headings and sections</a>
+      <ol><li><a href="sections.html#outlines"><span class="secno">4.4.11.1 </span>Creating an outline</a></li></ol></li></ol></li>
+   <li><a href="grouping-content.html#grouping-content"><span class="secno">4.5 </span>Grouping content</a>
+    <ol><li><a href="grouping-content.html#the-p-element"><span class="secno">4.5.1 </span>The <code>p</code> element</a></li>
+     <li><a href="grouping-content.html#the-hr-element"><span class="secno">4.5.2 </span>The <code>hr</code> element</a></li>
+     <li><a href="grouping-content.html#the-br-element"><span class="secno">4.5.3 </span>The <code>br</code> element</a></li>
+     <li><a href="grouping-content.html#the-pre-element"><span class="secno">4.5.4 </span>The <code>pre</code> element</a></li>
+     <li><a href="grouping-content.html#the-blockquote-element"><span class="secno">4.5.5 </span>The <code>blockquote</code> element</a></li>
+     <li><a href="grouping-content.html#the-ol-element"><span class="secno">4.5.6 </span>The <code>ol</code> element</a></li>
+     <li><a href="grouping-content.html#the-ul-element"><span class="secno">4.5.7 </span>The <code>ul</code> element</a></li>
+     <li><a href="grouping-content.html#the-li-element"><span class="secno">4.5.8 </span>The <code>li</code> element</a></li>
+     <li><a href="grouping-content.html#the-dl-element"><span class="secno">4.5.9 </span>The <code>dl</code> element</a></li>
+     <li><a href="grouping-content.html#the-dt-element"><span class="secno">4.5.10 </span>The <code>dt</code> element</a></li>
+     <li><a href="grouping-content.html#the-dd-element"><span class="secno">4.5.11 </span>The <code>dd</code> element</a></li>
+     <li><a href="grouping-content.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="edits.html#edits"><span class="secno">4.7 </span>Edits</a>
+    <ol><li><a href="edits.html#the-ins-element"><span class="secno">4.7.1 </span>The <code>ins</code> element</a></li>
+     <li><a href="edits.html#the-del-element"><span class="secno">4.7.2 </span>The <code>del</code> element</a></li>
+     <li><a href="edits.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="edits.html#edits-and-paragraphs"><span class="secno">4.7.4 </span>Edits and paragraphs</a></li>
+     <li><a href="edits.html#edits-and-lists"><span class="secno">4.7.5 </span>Edits and lists</a></li></ol></li>
+   <li><a href="embedded-content-1.html#embedded-content-1"><span class="secno">4.8 </span>Embedded content</a>
+    <ol><li><a href="embedded-content-1.html#the-figure-element"><span class="secno">4.8.1 </span>The <code>figure</code> element</a></li>
+     <li><a href="embedded-content-1.html#the-img-element"><span class="secno">4.8.2 </span>The <code>img</code> element</a>
+      <ol><li><a href="embedded-content-1.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="embedded-content-1.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="embedded-content-1.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="embedded-content-1.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="embedded-content-1.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="embedded-content-1.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="embedded-content-1.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="embedded-content-1.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="embedded-content-1.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="embedded-content-1.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="embedded-content-1.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="embedded-content-1.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="embedded-content-1.html#general-guidelines"><span class="secno">4.8.2.1.12 </span>General guidelines</a></li></ol></li></ol></li>
+     <li><a href="the-iframe-element.html#the-iframe-element"><span class="secno">4.8.3 </span>The <code>iframe</code> element</a></li>
+     <li><a href="the-iframe-element.html#the-embed-element"><span class="secno">4.8.4 </span>The <code>embed</code> element</a></li>
+     <li><a href="the-iframe-element.html#the-object-element"><span class="secno">4.8.5 </span>The <code>object</code> element</a></li>
+     <li><a href="the-iframe-element.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#focus-management-0"><span class="secno">4.8.11.1.9 </span>Focus management</a></li>
+         <li><a href="the-canvas-element.html#text"><span class="secno">4.8.11.1.10 </span>Text</a></li>
+         <li><a href="the-canvas-element.html#images"><span class="secno">4.8.11.1.11 </span>Images</a></li>
+         <li><a href="the-canvas-element.html#pixel-manipulation"><span class="secno">4.8.11.1.12 </span>Pixel manipulation</a></li>
+         <li><a href="the-canvas-element.html#examples"><span class="secno">4.8.11.1.13 </span>Examples</a></li></ol></li></ol></li>
+     <li><a href="the-map-element.html#the-map-element"><span class="secno">4.8.12 </span>The <code>map</code> element</a></li>
+     <li><a href="the-map-element.html#the-area-element"><span class="secno">4.8.13 </span>The <code>area</code> element</a></li>
+     <li><a href="the-map-element.html#image-maps"><span class="secno">4.8.14 </span>Image maps</a></li>
+     <li><a href="the-map-element.html#mathml"><span class="secno">4.8.15 </span>MathML</a></li>
+     <li><a href="the-map-element.html#svg-0"><span class="secno">4.8.16 </span>SVG</a></li>
+     <li><a href="the-map-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="the-input-element.html#the-input-element"><span class="secno">4.10.5 </span>The <code>input</code> element</a>
+      <ol><li><a href="states-of-the-type-attribute.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="states-of-the-type-attribute.html#hidden-state"><span class="secno">4.10.5.1.1 </span>Hidden state</a></li>
+         <li><a href="states-of-the-type-attribute.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="states-of-the-type-attribute.html#telephone-state"><span class="secno">4.10.5.1.3 </span>Telephone state</a></li>
+         <li><a href="states-of-the-type-attribute.html#url-state"><span class="secno">4.10.5.1.4 </span>URL state</a></li>
+         <li><a href="states-of-the-type-attribute.html#e-mail-state"><span class="secno">4.10.5.1.5 </span>E-mail state</a></li>
+         <li><a href="states-of-the-type-attribute.html#password-state"><span class="secno">4.10.5.1.6 </span>Password state</a></li>
+         <li><a href="states-of-the-type-attribute.html#date-and-time-state"><span class="secno">4.10.5.1.7 </span>Date and Time state</a></li>
+         <li><a href="states-of-the-type-attribute.html#date-state"><span class="secno">4.10.5.1.8 </span>Date state</a></li>
+         <li><a href="states-of-the-type-attribute.html#month-state"><span class="secno">4.10.5.1.9 </span>Month state</a></li>
+         <li><a href="states-of-the-type-attribute.html#week-state"><span class="secno">4.10.5.1.10 </span>Week state</a></li>
+         <li><a href="states-of-the-type-attribute.html#time-state"><span class="secno">4.10.5.1.11 </span>Time state</a></li>
+         <li><a href="states-of-the-type-attribute.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="number-state.html#number-state"><span class="secno">4.10.5.1.13 </span>Number state</a></li>
+         <li><a href="number-state.html#range-state"><span class="secno">4.10.5.1.14 </span>Range state</a></li>
+         <li><a href="number-state.html#color-state"><span class="secno">4.10.5.1.15 </span>Color state</a></li>
+         <li><a href="number-state.html#checkbox-state"><span class="secno">4.10.5.1.16 </span>Checkbox state</a></li>
+         <li><a href="number-state.html#radio-button-state"><span class="secno">4.10.5.1.17 </span>Radio Button state</a></li>
+         <li><a href="number-state.html#file-upload-state"><span class="secno">4.10.5.1.18 </span>File Upload state</a></li>
+         <li><a href="number-state.html#submit-button-state"><span class="secno">4.10.5.1.19 </span>Submit Button state</a></li>
+         <li><a href="number-state.html#image-button-state"><span class="secno">4.10.5.1.20 </span>Image Button state</a></li>
+         <li><a href="number-state.html#reset-button-state"><span class="secno">4.10.5.1.21 </span>Reset Button state</a></li>
+         <li><a href="number-state.html#button-state"><span class="secno">4.10.5.1.22 </span>Button state</a></li></ol></li>
+       <li><a href="common-input-element-attributes.html#common-input-element-attributes"><span class="secno">4.10.5.2 </span>Common <code>input</code> element attributes</a>
+        <ol><li><a href="common-input-element-attributes.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="common-input-element-attributes.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="common-input-element-attributes.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="common-input-element-attributes.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="common-input-element-attributes.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="common-input-element-attributes.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="common-input-element-attributes.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="common-input-element-attributes.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="common-input-element-attributes.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="common-input-element-attributes.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="common-input-element-attributes.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="common-input-element-attributes.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="the-button-element.html#the-button-element"><span class="secno">4.10.6 </span>The <code>button</code> element</a></li>
+     <li><a href="the-button-element.html#the-select-element"><span class="secno">4.10.7 </span>The <code>select</code> element</a></li>
+     <li><a href="the-button-element.html#the-datalist-element"><span class="secno">4.10.8 </span>The <code>datalist</code> element</a></li>
+     <li><a href="the-button-element.html#the-optgroup-element"><span class="secno">4.10.9 </span>The <code>optgroup</code> element</a></li>
+     <li><a href="the-button-element.html#the-option-element"><span class="secno">4.10.10 </span>The <code>option</code> element</a></li>
+     <li><a href="the-button-element.html#the-textarea-element"><span class="secno">4.10.11 </span>The <code>textarea</code> element</a></li>
+     <li><a href="the-button-element.html#the-keygen-element"><span class="secno">4.10.12 </span>The <code>keygen</code> element</a></li>
+     <li><a href="the-button-element.html#the-output-element"><span class="secno">4.10.13 </span>The <code>output</code> element</a></li>
+     <li><a href="association-of-controls-and-forms.html#association-of-controls-and-forms"><span class="secno">4.10.14 </span>Association of controls and forms</a></li>
+     <li><a href="association-of-controls-and-forms.html#attributes-common-to-form-controls"><span class="secno">4.10.15 </span>Attributes common to form controls</a>
+      <ol><li><a href="association-of-controls-and-forms.html#naming-form-controls"><span class="secno">4.10.15.1 </span>Naming form controls</a></li>
+       <li><a href="association-of-controls-and-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="association-of-controls-and-forms.html#autofocusing-a-form-control"><span class="secno">4.10.15.3 </span>Autofocusing a form control</a></li>
+       <li><a href="association-of-controls-and-forms.html#limiting-user-input-length"><span class="secno">4.10.15.4 </span>Limiting user input length</a></li>
+       <li><a href="association-of-controls-and-forms.html#form-submission-0"><span class="secno">4.10.15.5 </span>Form submission</a></li></ol></li>
+     <li><a href="association-of-controls-and-forms.html#constraints"><span class="secno">4.10.16 </span>Constraints</a>
+      <ol><li><a href="association-of-controls-and-forms.html#definitions"><span class="secno">4.10.16.1 </span>Definitions</a></li>
+       <li><a href="association-of-controls-and-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="association-of-controls-and-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="commands.html#commands"><span class="secno">4.11.4 </span>Commands</a></li></ol></li>
+   <li><a href="commands.html#common-idioms-without-dedicated-elements"><span class="secno">4.12 </span>Common idioms without dedicated elements</a>
+    <ol><li><a href="commands.html#tag-clouds"><span class="secno">4.12.1 </span>Tag clouds</a></li>
+     <li><a href="commands.html#conversations"><span class="secno">4.12.2 </span>Conversations</a></li>
+     <li><a href="commands.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>
+     <li><a href="microdata.html#examples-1"><span class="secno">5.2.6 </span>Examples</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="timers.html#timers"><span class="secno">6.4 </span>Timers</a></li>
+   <li><a href="timers.html#user-prompts"><span class="secno">6.5 </span>User prompts</a>
+    <ol><li><a href="timers.html#simple-dialogs"><span class="secno">6.5.1 </span>Simple dialogs</a></li>
+     <li><a href="timers.html#printing"><span class="secno">6.5.2 </span>Printing</a></li>
+     <li><a href="timers.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="timers.html#system-state-and-capabilities"><span class="secno">6.6 </span>System state and capabilities</a>
+    <ol><li><a href="timers.html#client-identification"><span class="secno">6.6.1 </span>Client identification</a></li>
+     <li><a href="timers.html#custom-handlers"><span class="secno">6.6.2 </span>Custom scheme and content handlers</a></li>
+     <li><a href="timers.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#appcacheevents"><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="links.html#links"><span class="secno">6.10 </span>Links</a>
+    <ol><li><a href="links.html#hyperlink-elements"><span class="secno">6.10.1 </span>Hyperlink elements</a></li>
+     <li><a href="links.html#linkTypes"><span class="secno">6.10.2 </span>Link types</a>
+      <ol><li><a href="links.html#link-type-alternate"><span class="secno">6.10.2.1 </span>Link type "<code>alternate</code>"</a></li>
+       <li><a href="links.html#link-type-archives"><span class="secno">6.10.2.2 </span>Link type "<code>archives</code>"</a></li>
+       <li><a href="links.html#link-type-author"><span class="secno">6.10.2.3 </span>Link type "<code>author</code>"</a></li>
+       <li><a href="links.html#link-type-bookmark"><span class="secno">6.10.2.4 </span>Link type "<code>bookmark</code>"</a></li>
+       <li><a href="links.html#link-type-external"><span class="secno">6.10.2.5 </span>Link type "<code>external</code>"</a></li>
+       <li><a href="links.html#link-type-help"><span class="secno">6.10.2.6 </span>Link type "<code>help</code>"</a></li>
+       <li><a href="links.html#rel-icon"><span class="secno">6.10.2.7 </span>Link type "<code>icon</code>"</a></li>
+       <li><a href="links.html#link-type-license"><span class="secno">6.10.2.8 </span>Link type "<code>license</code>"</a></li>
+       <li><a href="links.html#link-type-nofollow"><span class="secno">6.10.2.9 </span>Link type "<code>nofollow</code>"</a></li>
+       <li><a href="links.html#link-type-noreferrer"><span class="secno">6.10.2.10 </span>Link type "<code>noreferrer</code>"</a></li>
+       <li><a href="links.html#link-type-pingback"><span class="secno">6.10.2.11 </span>Link type "<code>pingback</code>"</a></li>
+       <li><a href="links.html#link-type-prefetch"><span class="secno">6.10.2.12 </span>Link type "<code>prefetch</code>"</a></li>
+       <li><a href="links.html#link-type-search"><span class="secno">6.10.2.13 </span>Link type "<code>search</code>"</a></li>
+       <li><a href="links.html#link-type-stylesheet"><span class="secno">6.10.2.14 </span>Link type "<code>stylesheet</code>"</a></li>
+       <li><a href="links.html#link-type-sidebar"><span class="secno">6.10.2.15 </span>Link type "<code>sidebar</code>"</a></li>
+       <li><a href="links.html#link-type-tag"><span class="secno">6.10.2.16 </span>Link type "<code>tag</code>"</a></li>
+       <li><a href="links.html#hierarchical-link-types"><span class="secno">6.10.2.17 </span>Hierarchical link types</a>
+        <ol><li><a href="links.html#link-type-index"><span class="secno">6.10.2.17.1 </span>Link type "<code>index</code>"</a></li>
+         <li><a href="links.html#link-type-up"><span class="secno">6.10.2.17.2 </span>Link type "<code>up</code>"</a></li></ol></li>
+       <li><a href="links.html#sequential-link-types"><span class="secno">6.10.2.18 </span>Sequential link types</a>
+        <ol><li><a href="links.html#link-type-first"><span class="secno">6.10.2.18.1 </span>Link type "<code>first</code>"</a></li>
+         <li><a href="links.html#link-type-last"><span class="secno">6.10.2.18.2 </span>Link type "<code>last</code>"</a></li>
+         <li><a href="links.html#link-type-next"><span class="secno">6.10.2.18.3 </span>Link type "<code>next</code>"</a></li>
+         <li><a href="links.html#link-type-prev"><span class="secno">6.10.2.18.4 </span>Link type "<code>prev</code>"</a></li></ol></li>
+       <li><a href="links.html#other-link-types"><span class="secno">6.10.2.19 </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="dnd.html#dnd"><span class="secno">7.9 </span>Drag and drop</a>
+    <ol><li><a href="dnd.html#introduction-4"><span class="secno">7.9.1 </span>Introduction</a></li>
+     <li><a href="dnd.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="dnd.html#dndevents"><span class="secno">7.9.3 </span>Events fired during a drag-and-drop action</a></li>
+     <li><a href="dnd.html#the-draggable-attribute"><span class="secno">7.9.4 </span>The <code>draggable</code> attribute</a></li>
+     <li><a href="dnd.html#copy-and-paste"><span class="secno">7.9.5 </span>Copy and paste</a></li></ol></li>
+   <li><a href="dnd.html#undo"><span class="secno">7.10 </span>Undo history</a>
+    <ol><li><a href="dnd.html#the-undomanager-interface"><span class="secno">7.10.1 </span>The <code>UndoManager</code> interface</a></li>
+     <li><a href="dnd.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="dnd.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#introduction-6"><span class="secno">8.3.1 </span>Introduction</a></li>
+     <li><a href="comms.html#message-channels"><span class="secno">8.3.2 </span>Message channels</a></li>
+     <li><a href="comms.html#message-ports"><span class="secno">8.3.3 </span>Message ports</a>
+      <ol><li><a href="comms.html#ports-and-garbage-collection"><span class="secno">8.3.3.1 </span>Ports and garbage collection</a></li></ol></li></ol></li></ol></li>
+ <li><a href="syntax.html#syntax"><span class="secno">9 </span>The HTML syntax</a>
+  <ol><li><a href="syntax.html#writing"><span class="secno">9.1 </span>Writing HTML documents</a>
+    <ol><li><a href="syntax.html#the-doctype"><span class="secno">9.1.1 </span>The DOCTYPE</a></li>
+     <li><a href="syntax.html#elements-0"><span class="secno">9.1.2 </span>Elements</a>
+      <ol><li><a href="syntax.html#start-tags"><span class="secno">9.1.2.1 </span>Start tags</a></li>
+       <li><a href="syntax.html#end-tags"><span class="secno">9.1.2.2 </span>End tags</a></li>
+       <li><a href="syntax.html#attributes"><span class="secno">9.1.2.3 </span>Attributes</a></li>
+       <li><a href="syntax.html#optional-tags"><span class="secno">9.1.2.4 </span>Optional tags</a></li>
+       <li><a href="syntax.html#element-restrictions"><span class="secno">9.1.2.5 </span>Restrictions on content models</a></li>
+       <li><a href="syntax.html#cdata-rcdata-restrictions"><span class="secno">9.1.2.6 </span>Restrictions on the contents of raw text and RCDATA elements</a></li></ol></li>
+     <li><a href="syntax.html#text-0"><span class="secno">9.1.3 </span>Text</a>
+      <ol><li><a href="syntax.html#newlines"><span class="secno">9.1.3.1 </span>Newlines</a></li></ol></li>
+     <li><a href="syntax.html#character-references"><span class="secno">9.1.4 </span>Character references</a></li>
+     <li><a href="syntax.html#cdata-sections"><span class="secno">9.1.5 </span>CDATA sections</a></li>
+     <li><a href="syntax.html#comments"><span class="secno">9.1.6 </span>Comments</a></li></ol></li>
+   <li><a href="named-character-references.html#named-character-references"><span class="secno">9.2 </span>Named character references</a></li></ol></li>
+ <li><a href="the-xhtml-syntax.html#the-xhtml-syntax"><span class="secno">10 </span>The XHTML syntax</a></li>
+ <li><a href="obsolete.html#obsolete"><span class="secno">11 </span>Obsolete features</a>
+  <ol><li><a href="obsolete.html#obsolete-but-conforming-features"><span class="secno">11.1 </span>Obsolete but conforming features</a></li>
+   <li><a href="obsolete.html#non-conforming-features"><span class="secno">11.2 </span>Non-conforming features</a></li></ol></li>
+ <li><a href="iana.html#iana"><span class="secno">12 </span>IANA considerations</a>
+  <ol><li><a href="iana.html#text-html"><span class="secno">12.1 </span><code>text/html</code></a></li>
+   <li><a href="iana.html#application-xhtml-xml"><span class="secno">12.2 </span><code>application/xhtml+xml</code></a></li>
+   <li><a href="iana.html#text-cache-manifest"><span class="secno">12.3 </span><code>text/cache-manifest</code></a></li>
+   <li><a href="iana.html#text-ping"><span class="secno">12.4 </span><code>text/ping</code></a></li>
+   <li><a href="iana.html#application-microdata-json"><span class="secno">12.5 </span><code>application/microdata+json</code></a></li>
+   <li><a href="iana.html#ping-from"><span class="secno">12.6 </span><code>Ping-From</code></a></li>
+   <li><a href="iana.html#ping-to"><span class="secno">12.7 </span><code>Ping-To</code></a></li></ol></li>
+ <li><a class="no-num" href="index.html#index">Index</a>
+  <ol><li><a class="no-num" href="index.html#elements-1">Elements</a></li>
+   <li><a class="no-num" href="index.html#attributes-0">Attributes</a></li>
+   <li><a class="no-num" href="index.html#interfaces">Interfaces</a></li>
+   <li><a class="no-num" href="index.html#events-0">Events</a></li></ol></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: history.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/history.html,v
retrieving revision 1.559
retrieving revision 1.560
diff -u -d -r1.559 -r1.560
--- history.html	6 Jan 2010 15:38:53 -0000	1.559
+++ history.html	6 Jan 2010 15:49:34 -0000	1.560
@@ -213,4 +213,379 @@
    .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; }
-   .
\ No newline at end of file
+   .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="data:text/css," id="complete" rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" id="author" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" id="highlight" rel="alternate stylesheet" title="Highlight implementation requirements"><script>
+   function getCookie(name) {
+     var params = location.search.substr(1).split("&");
+     for (var index = 0; index < params.length; index++) {
+       if (params[index] == name)
+         return "1";
+       var data = params[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     var cookies = document.cookie.split("; ");
+     for (var index = 0; index < cookies.length; index++) {
+       var data = cookies[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     return null;
+   }
+   function load(script) {
+     var e = document.createElement('script');
+     e.setAttribute('src', 'http://www.whatwg.org/specs/web-apps/current-work/' + script + '?' + encodeURIComponent(location) + '&' + encodeURIComponent(document.referrer));
+     document.body.appendChild(e);
+   }
+   function init() {
+     if (location.search == '?slow-browser')
+       return;
+     var configUI = document.createElement('div');
+     configUI.id = 'configUI';
+     document.body.appendChild(configUI);
+     // load('reviewer.js'); // would need cross-site XHR
+     if (document.getElementById('head'))
+       load('toc.js');
+     
+     // load('updater.js'); // would need cross-site XHR
+     load('dfn.js');
+     // load('status.js'); // would need cross-site XHR
+     if (getCookie('profile') == '1')
+       document.getElementsByTagName('h2')[0].textContent += '; load: ' + (new Date() - loadTimer) + 'ms';
+     fixBrokenLink();
+   }
+  </script><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><link href="offline.html" title="6.7 Offline Web applications" rel="prev">
+  <link href="Overview.html#contents" title="Table of contents" rel="index">
+  <link href="links.html" title="6.10 Links" rel="next">
+  </head><body onload="fixBrokenLink(); init()"><div class="head" id="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 (Author Edition)</h1>
+   </div><div>
+   <a href="offline.html">&#8592; 6.7 Offline Web applications</a> &#8211;
+   <a href="Overview.html#contents">Table of contents</a> &#8211;
+   <a href="links.html">6.10 Links &#8594;</a>
+  <ol class="toc"><li><ol><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></ol></li></ol></div>
+
+  <h3 id="history"><span class="secno">6.8 </span>Session history and navigation</h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><h4 id="the-session-history-of-browsing-contexts"><span class="secno">6.8.1 </span>The session history of browsing contexts</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The sequence of <code>Document</code>s in a <a href="browsers.html#browsing-context">browsing
+  context</a> is its <dfn id="session-history">session history</dfn>.</p><p><code><a href="#history-0">History</a></code> objects provide a representation of the
+  pages in the session history of <a href="browsers.html#browsing-context" title="browsing
+  context">browsing contexts</a>. Each <a href="browsers.html#browsing-context">browsing
+  context</a>, including <a href="browsers.html#nested-browsing-context">nested browsing context</a>, has
+  a distinct session history.</p><p>Each <code>Document</code> object in a <a href="browsers.html#browsing-context">browsing
+  context</a>'s <a href="#session-history">session history</a> is associated with a
+  unique instance of the <code><a href="#history-0">History</a></code> object, although they
+  all must model the same underlying <a href="#session-history">session history</a>.</p><p><code><a href="#history-0">History</a></code> objects represent their <a href="browsers.html#browsing-context">browsing
+  context</a>'s session history as a flat list of <a href="#session-history-entry" title="session history entry">session history entries</a>. Each
+  <dfn id="session-history-entry">session history entry</dfn> consists of either a
+  <a href="urls.html#url">URL</a> or a <a href="#state-object">state object</a>, or both.</p><p class="note">Titles associated with <a href="#session-history-entry" title="session history
+  entry">session history entries</a> need not have any relation
+  with the current <code><a href="semantics.html#the-title-element-0">title</a></code> of the
+  <code>Document</code>. The title of a <a href="#session-history-entry">session history
+  entry</a> is intended to explain the state of the document at
+  that point, so that the user can navigate the document's
+  history.</p><p>URLs without associated <a href="#state-object" title="state object">state
+  objects</a> are added to the session history as the user (or
+  script) navigates from page to page.</p><p>A <dfn id="state-object">state object</dfn> is an object representing a user
+  interface state.</p><p>Pages can <a href="#dom-history-pushstate" title="dom-history-pushState">add</a> <a href="#state-object" title="state object">state objects</a> between their entry in the
+  session history and the next ("forward") entry. These are then <a href="#event-popstate" title="event-popstate">returned to the script</a> when the user
+  (or script) goes back in the history, thus enabling authors to use
+  the "navigation" metaphor even in one-page applications.</p><p>At any point, one of the entries in the session history is the
+  <dfn id="current-entry">current entry</dfn>. This is the entry representing the
+  <a href="browsers.html#active-document">active document</a> of the <a href="browsers.html#browsing-context">browsing
+  context</a>. The <a href="#current-entry">current entry</a> is usually an entry
+  for the <a href="#dom-location-href" title="dom-location-href">location</a> of the
+  <code>Document</code>. However, it can also be one of the entries
+  for <a href="#state-object" title="state object">state objects</a> added to the
+  history by that document.</p><p>Entries that consist of <a href="#state-object" title="state object">state
+  objects</a> share the same <code>Document</code> as the entry for
+  the page that was active when they were added.</p><p>Contiguous entries that differ just by fragment identifier also
+  share the same <code>Document</code>.</p><p class="note">All entries that share the same
+  <code>Document</code> (and that are therefore merely different
+  states of one particular document) are contiguous by definition.</p><h4 id="the-history-interface"><span class="secno">6.8.2 </span>The <code><a href="#history-0">History</a></code> interface</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><pre class="idl">interface <dfn id="history-0">History</dfn> {
+  readonly attribute long <a href="#dom-history-length" title="dom-history-length">length</a>;
+  void <a href="#dom-history-go" title="dom-history-go">go</a>(in optional long delta);
+  void <a href="#dom-history-back" title="dom-history-back">back</a>();
+  void <a href="#dom-history-forward" title="dom-history-forward">forward</a>();
+  void <a href="#dom-history-pushstate" title="dom-history-pushState">pushState</a>(in any data, in DOMString title, in optional DOMString url);
+  void <a href="#dom-history-replacestate" title="dom-history-replaceState">replaceState</a>(in any data, in DOMString title, in optional DOMString url);
+};</pre><dl class="domintro"><dt><var title="">window</var> . <code title="dom-history"><a href="#dom-history">history</a></code> . <code title="dom-history-length"><a href="#dom-history-length">length</a></code></dt>
+
+   <dd>
+
+    <p>Returns the number of entries in the <a href="#joint-session-history">joint session history</a>.</p>
+
+   </dd>
+
+   <dt><var title="">window</var> . <code title="dom-history"><a href="#dom-history">history</a></code> . <code title="dom-history-go"><a href="#dom-history-go">go</a></code>( [ <var title="">delta</var> ] )</dt>
+
+   <dd>
+
+    <p>Goes back or forward the specified number of steps in the <a href="#joint-session-history">joint session history</a>.</p>
+
+    <p>A zero delta will reload the current page.</p>
+
+    <p>If the delta is out of range, does nothing.</p>
+
+   </dd>
+
+   <dt><var title="">window</var> . <code title="dom-history"><a href="#dom-history">history</a></code> . <code title="dom-history-back"><a href="#dom-history-back">back</a></code>()</dt>
+
+   <dd>
+
+    <p>Goes back one step in the <a href="#joint-session-history">joint session history</a>.</p>
+
+    <p>If there is no previous page, does nothing.</p>
+
+   </dd>
+
+   <dt><var title="">window</var> . <code title="dom-history"><a href="#dom-history">history</a></code> . <code title="dom-history-forward"><a href="#dom-history-forward">forward</a></code>()</dt>
+
+   <dd>
+
+    <p>Goes forward one step in the <a href="#joint-session-history">joint session history</a>.</p>
+
+    <p>If there is no next page, does nothing.</p>
+
+   </dd>
+
+   <dt><var title="">window</var> . <code title="dom-history"><a href="#dom-history">history</a></code> . <code title="dom-history-pushState"><a href="#dom-history-pushstate">pushState</a></code>(<var title="">data</var>, <var title="">title</var> [, <var title="">url</var> ] )</dt>
+
+   <dd>
+
+    <p>Pushes the given data onto the session history, with the given title, and, if provided, the given URL.</p>
+
+   </dd>
+
+   <dt><var title="">window</var> . <code title="dom-history"><a href="#dom-history">history</a></code> . <code title="dom-history-replaceState"><a href="#dom-history-replacestate">replaceState</a></code>(<var title="">data</var>, <var title="">title</var> [, <var title="">url</var> ] )</dt>
+
+   <dd>
+
+    <p>Updates the current entry in the session histor to have the given data, title, and, if provided, URL.</p>
+
+   </dd>
+
+  </dl><p>The <dfn id="joint-session-history">joint session history</dfn> of a <code><a href="#history-0">History</a></code>
+  object is the union of all the <a href="#session-history" title="session history">session
+  histories</a> of all <a href="browsers.html#browsing-context" title="browsing context">browsing
+  contexts</a> of all the <a href="browsers.html#fully-active">fully active</a>
+  <code>Document</code> objects that share the <code><a href="#history-0">History</a></code>
+  object's <a href="browsers.html#top-level-browsing-context">top-level browsing context</a>, with all the
+  entries that are <a href="#current-entry" title="current entry">current entries</a>
+  in their respective <a href="#session-history" title="session history">session
+  histories</a> removed except for the <a href="#current-entry-of-the-joint-session-history">current entry of the
+  joint session history</a>.</p><p>The <dfn id="current-entry-of-the-joint-session-history">current entry of the joint session history</dfn> is the
+  entry that was the most recently became a <a href="#current-entry">current entry</a>
+  in its <a href="#session-history">session history</a>.</p><p>Entries in the <a href="#joint-session-history">joint session history</a> are ordered
+  chronologically by the time they were added to their respective
+  <a href="#session-history" title="session history">session histories</a>. (Since all
+  these <a href="browsers.html#browsing-context" title="browsing context">browsing contexts</a> by
+  definition share an <a href="#event-loop">event loop</a>, there is always a
+  well-defined sequential order in which their <a href="#session-history" title="session
+  history">session histories</a> had their entries added.) Each
+  entry has an index; the earliest entry has index 0, and the
+  subsequent entries are numbered with consecutively increasing
+  integers (1, 2, 3, etc).</p><div class="example">
+
+   <p>Consider a game where the user can navigate along a line, such
+   that the user is always at some coordinate, and such that the user
+   can bookmark the page corresponding to a particular coordinate, to
+   return to it later.</p>
+
+   <p>A static page implementing the x=5 position in such a game could
+   look like the following:</p>
+
+   <pre>&lt;!DOCTYPE HTML&gt;
+&lt;!-- this is http://example.com/line?x=5 --&gt;
+&lt;title&gt;Line Game - 5&lt;/title&gt;
+&lt;p&gt;You are at coordinate 5 on the line.&lt;/p&gt;
+&lt;p&gt;
+ &lt;a href="?x=6"&gt;Advance to 6&lt;/a&gt; or
+ &lt;a href="?x=4"&gt;retreat to 4&lt;/a&gt;?
+&lt;/p&gt;</pre>
+
+   <p>The problem with such a system is that each time the user
+   clicks, the whole page has to be reloaded. Here instead is another
+   way of doing it, using script:</p>
+
+   <pre>&lt;!DOCTYPE HTML&gt;
+&lt;!-- this starts off as http://example.com/line?x=5 --&gt;
+&lt;title&gt;Line Game - 5&lt;/title&gt;
+&lt;p&gt;You are at coordinate &lt;span id="coord"&gt;5&lt;/span&gt; on the line.&lt;/p&gt;
+&lt;p&gt;
+ &lt;a href="?x=6" onclick="go(1)"&gt;Advance to 6&lt;/a&gt; or
+ &lt;a href="?x=4" onclick="go(-1)"&gt;retreat to 4&lt;/a&gt;?
+&lt;/p&gt;
+&lt;script&gt;
+ var currentPage = 5; // prefilled by server
+ function go(d) {
+   history.pushState(currentPage, 'Line Game - ' + currentPage, '?x=' + currentPage);
+   setupPage(currentPage + d);
+ }
+ onpopstate = function(event) {
+   setupPage(event.state);
+ }
+ function setupPage(page) {
+   currentPage = page;
+   document.title = 'Line Game - ' + currentPage;
+   document.getElementById('coord').textContent = currentPage;
+   document.links[0].href = '?x=' + (currentPage+1);
+   document.links[0].textContent = 'Advance to ' + (currentPage+1);
+   document.links[1].href = '?x=' + (currentPage-1);
+   document.links[1].textContent = 'retreat to ' + (currentPage-1);
+ }
+&lt;/script&gt;</pre>
+
+   <p>In systems without script, this still works like the previous
+   example. However, users that <em>do</em> have script support can
+   now navigate much faster, since there is no network access for the
+   same experience. Furthermore, contrary to the experience the user
+   would have with just a na&#239;ve script-based approach,
+   bookmarking and navigating the session history still work.</p>
+
+   <p>In the example above, the <var title="">data</var> argument to
+   the <code title="dom-history-pushState"><a href="#dom-history-pushstate">pushState()</a></code> method
+   is the same information as would be sent to the server, but in a
+   more convenient form, so that the script doesn't have to parse the
+   URL each time the user navigates.</p>
+
+  </div><div class="example">
+
+   <p>Applications might not use the same title for a <a href="#session-history-entry">session
+   history entry</a> as the value of the document's
+   <code><a href="semantics.html#the-title-element-0">title</a></code> element at that time. For example, here is a
+   simple page that shows a block in the <code><a href="semantics.html#the-title-element-0">title</a></code> element.
+   Clearly, when navigating backwards to a previous state the user
+   does not go back in time, and therefore it would be inappropriate
+   to put the time in the session history title.</p>
+
+   <pre>&lt;!DOCTYPE HTML&gt; 
+&lt;TITLE&gt;Line&lt;/TITLE&gt;
+&lt;SCRIPT&gt;
+ setInterval(function () { document.title = 'Line - ' + new Date(); }, 1000);
+ var i = 1;
+ function inc() {
+   set(i+1);
+   history.pushState(i, 'Line - ' + i);
+ }
+ function set(newI) {
+   i = newI;
+   document.forms.F.I.value = newI;
+ }
+&lt;/SCRIPT&gt;
+&lt;BODY ONPOPSTATE="recover(event.state)"&gt;
+&lt;FORM NAME=F&gt;
+State: &lt;OUTPUT NAME=I&gt;1&lt;/OUTPUT&gt; &lt;INPUT VALUE="Increment" TYPE=BUTTON ONCLICK="inc()"&gt;
+&lt;/FORM&gt;</pre>
+
+  </div><h4 id="activating-state-object-entries"><span class="secno">6.8.3 </span><dfn title="activate the state object">Activating state object entries</dfn></h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><pre class="idl">interface <dfn id="popstateevent">PopStateEvent</dfn> : Event {
+  readonly attribute any <a href="#dom-popstateevent-state" title="dom-PopStateEvent-state">state</a>;
+  void <a href="#dom-popstateevent-initpopstateevent" title="dom-PopStateEvent-initPopStateEvent">initPopStateEvent</a>(in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in any stateArg);
+};</pre><dl class="domintro"><dt><var title="">event</var> . <code title="dom-PopStateEvent-state"><a href="#dom-popstateevent-state">state</a></code></dt>
+
+   <dd>
+
+    <p>Returns the information that was provided to <code title="dom-history-pushState"><a href="#dom-history-pushstate">pushState()</a></code> or <code title="dom-history-replaceState"><a href="#dom-history-replacestate">replaceState()</a></code>.</p>
+
+   </dd>
+
+  </dl><h4 id="the-location-interface"><span class="secno">6.8.4 </span>The <code><a href="#location">Location</a></code> interface</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>Each <code>Document</code> object in a <a href="browsers.html#browsing-context">browsing
+  context</a>'s session history is associated with a unique
+  instance of a <code><a href="#location">Location</a></code> object.</p><dl class="domintro"><dt><var title="">document</var> . <code title="dom-document-location"><a href="#dom-document-location">location</a></code> [ = <var title="">value</var> ]</dt>
+   <dt><var title="">window</var> . <code title="dom-location"><a href="#dom-location">location</a></code> [ = <var title="">value</var> ]</dt>
+
+   <dd>
+
+    <p>Returns a <code><a href="#location">Location</a></code> object with the current page's location.</p>
+
+    <p>Can be set, to navigate to another page.</p>
+
+   </dd>
+
+  </dl><p><code><a href="#location">Location</a></code> objects provide a representation of <a href="dom.html#the-document-s-current-address" title="the document's current address">their document's current
+  address</a>, and allow the <a href="#current-entry">current entry</a> of the
+  <a href="browsers.html#browsing-context">browsing context</a>'s session history to be changed, by
+  adding or replacing entries in the <code title="dom-history"><a href="#dom-history">history</a></code> object.</p><pre class="idl">interface <dfn id="location">Location</dfn> {
+  stringifier readonly attribute DOMString <a href="#dom-location-href" title="dom-location-href">href</a>;
+  void <a href="#dom-location-assign" title="dom-location-assign">assign</a>(in DOMString url);
+  void <a href="#dom-location-replace" title="dom-location-replace">replace</a>(in DOMString url);
+  void <a href="#dom-location-reload" title="dom-location-reload">reload</a>();
+
+  // <a href="urls.html#url-decomposition-idl-attributes">URL decomposition IDL attributes</a> <!-- blame brendan for these "innovative" names -->
+           attribute DOMString <a href="#dom-location-protocol" title="dom-location-protocol">protocol</a>;
+           attribute DOMString <a href="#dom-location-host" title="dom-location-host">host</a>;
+           attribute DOMString <a href="#dom-location-hostname" title="dom-location-hostname">hostname</a>;
+           attribute DOMString <a href="#dom-location-port" title="dom-location-port">port</a>;
+           attribute DOMString <a href="#dom-location-pathname" title="dom-location-pathname">pathname</a>;
+           attribute DOMString <a href="#dom-location-search" title="dom-location-search">search</a>;
+           attribute DOMString <a href="#dom-location-hash" title="dom-location-hash">hash</a>;
+
+  // resolving relative URLs
+  DOMString <a href="#dom-location-resolveurl" title="dom-location-resolveURL">resolveURL</a>(in DOMString url);
+};</pre><dl class="domintro"><dt><var title="">location</var> . <code title="dom-location-href"><a href="#dom-location-href">href</a></code> [ = <var title="">value</var> ]</dt>
+
+   <dd>
+
+    <p>Returns the current page's location.</p>
+
+    <p>Can be set, to navigate to another page.</p>
+
+   </dd>
+
+   <dt><var title="">location</var> . <code title="dom-location-assign"><a href="#dom-location-assign">assign</a></code>(<var title="">url</var>)</dt>
+
+   <dd>
+
+    <p>Navigates to the given page.</p>
+
+   </dd>
+
+   <dt><var title="">location</var> . <code title="dom-location-replace"><a href="#dom-location-replace">replace</a></code>(<var title="">url</var>)</dt>
+
+   <dd>
+
+    <p>Removes the current page from the session history and navigates to the given page.</p>
+
+   </dd>
+
+   <dt><var title="">location</var> . <code title="dom-location-reload"><a href="#dom-location-reload">reload</a></code>()</dt>
+
+   <dd>
+
+    <p>Reloads the current page.</p>
+
+   </dd>
+
+   <dt><var title="">url</var> = <var title="">location</var> . <code title="dom-location-resolveURL"><a href="#dom-location-resolveurl">resolveURL</a></code>(<var title="">url</var>)</dt>
+
+   <dd>
+
+    <p>Resolves the given relative URL to an absolute URL.</p>
+
+   </dd>
+
+  </dl><p>The <code><a href="#location">Location</a></code> interface also has the complement of
+  <a href="urls.html#url-decomposition-idl-attributes">URL decomposition IDL attributes</a>, <dfn id="dom-location-protocol" title="dom-location-protocol"><code>protocol</code></dfn>, <dfn id="dom-location-host" title="dom-location-host"><code>host</code></dfn>, <dfn id="dom-location-port" title="dom-location-port"><code>port</code></dfn>, <dfn id="dom-location-hostname" title="dom-location-hostname"><code>hostname</code></dfn>, <dfn id="dom-location-pathname" title="dom-location-pathname"><code>pathname</code></dfn>, <dfn id="dom-location-search" title="dom-location-search"><code>search</code></dfn>, and <dfn id="dom-location-hash" title="dom-location-hash"><code>hash</code></dfn>. </p><h3 id="browsing-the-web"><span class="secno">6.9 </span>Browsing the Web</h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><h4 id="unloading-documents"><span class="secno">6.9.1 </span>Unloading documents</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><pre class="il">interface <dfn id="beforeunloadevent">BeforeUnloadEvent</dfn> : Event {
+           attribute DOMString <a href="#dom-beforeunloadevent-returnvalue" title="dom-BeforeUnloadEvent-returnValue">returnValue</a>;
+};</pre><dl class="domintro"><dt><var title="">event</var> . <code title="dom-BeforeUnloadEvent-returnValue"><a href="#dom-beforeunloadevent-returnvalue">returnValue</a></code> [ = <var title="">value</var> ]</dt>
+
+   <dd>
+
+    <p>Returns the current return value of the event (the message to show the user).</p>
+
+    <p>Can be set, to update the message.</p>
+
+   </dd>
+
+  </dl><p class="note">There are no <code><a href="#beforeunloadevent">BeforeUnloadEvent</a></code>-specific
+  initialization methods.</p><h4 id="aborting-a-document-load"><span class="secno">6.9.2 </span>Aborting a document load</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>If the user cancels any instance of the <a href="#fetch" title="fetch">fetching algorithm</a> in the context of a
+  <code>Document</code> in a <a href="browsers.html#browsing-context">browsing context</a>, then, if
+  that <code>Document</code> is an <a href="browsers.html#active-document">active document</a>, the
+  user agent must <a href="#queue-a-task">queue a task</a> to <a href="#fire-a-simple-event">fire a simple
+  event</a> named <code title="event-abort">abort</code> at that
+  <code>Document</code>'s <code><a href="browsers.html#window">Window</a></code> object.</p><!-- I'd love to make this more precise, anyone have any suggestions
+  on what it should say? --></body></html>
\ No newline at end of file

Index: common-input-element-attributes.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/common-input-element-attributes.html,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- common-input-element-attributes.html	6 Jan 2010 15:38:52 -0000	1.13
+++ common-input-element-attributes.html	6 Jan 2010 15:49:33 -0000	1.14
@@ -0,0 +1,694 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<!DOCTYPE html>
+<!-- when publishing, change bits marked ZZZ --><html lang="en-US-x-Hixie" class="split chapter"><head><title>4.10.5.2 Common input element attributes &#8212; HTML5 (Author Edition)</title><script src="link-fixup.js"></script><link href="whatwg.css" rel="stylesheet"><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 tbody th { text-align: left; }
+   table td, table th { border-left: solid; border-right: solid; border-bottom: solid thin; vertical-align: top; padding: 0.2em; }
+   blockquote { margin: 0 0 0 2em; border: 0; padding: 0; font-style: italic; }
+
+   .bad, .bad *:not(.XXX) { color: gray; border-color: gray; background: transparent; }
+   .matrix, .matrix td { border: none; text-align: right; }
+   .matrix { margin-left: 2em; }
+   .dice-example { border-collapse: collapse; border-style: hidden solid solid hidden; border-width: thin; margin-left: 3em; }
+   .dice-example caption { width: 30em; font-size: smaller; font-style: italic; padding: 0.75em 0; text-align: left; }
+   .dice-example td, .dice-example th { border: solid thin; width: 1.35em; height: 1.05em; text-align: center; padding: 0; }
+
+   .toc dfn, h1 dfn, h2 dfn, h3 dfn, h4 dfn, h5 dfn, h6 dfn { font: inherit; }
+   img.extra { float: right; }
+   pre.idl { border: solid thin; background: #EEEEEE; color: black; padding: 0.5em 1em; }
+   pre.idl :link, pre.idl :visited { color: inherit; background: transparent; }
+   pre.css { border: solid thin; background: #FFFFEE; color: black; padding: 0.5em 1em; }
+   pre.css:first-line { color: #AAAA50; }
+   dl.domintro { color: green; margin: 2em 0 2em 2em; padding: 0.5em 1em; border: none; background: #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; }
+   div.head p.copyright, div.head p.alt { font-size: x-small; font-style: oblique; margin: 0; }
+
+   body > .toc > li { margin-top: 1em; margin-bottom: 1em; }
+   body > .toc.brief > li { margin-top: 0.35em; margin-bottom: 0.35em; }
+   body > .toc > li > * { margin-bottom: 0.5em; }
+   body > .toc > li > * > li > * { margin-bottom: 0.25em; }
+   .toc, .toc li { list-style: none; }
+
+   .brief { margin-top: 1em; margin-bottom: 1em; line-height: 1.1; }
+   .brief li { margin: 0; padding: 0; }
+   .brief li p { margin: 0; padding: 0; }
+
+   .category-list { margin-top: -0.75em; margin-bottom: 1em; line-height: 1.5; }
+   .category-list::before { content: '\21D2\A0'; font-size: 1.2em; font-weight: 900; }
+   .category-list li { display: inline; }
+   .category-list li:not(:last-child)::after { content: ', '; }
+   .category-list li > span, .category-list li > a { text-transform: lowercase; }
+   .category-list li * { text-transform: none; } /* don't affect <code> nested in <a> */
+
+   .XXX { color: #E50000; background: white; border: solid red; padding: 0.5em; margin: 1em 0; }
+   .XXX > :first-child { margin-top: 0; }
+   p .XXX { line-height: 3em; }
+   .annotation { border: solid thin black; background: #0C479D; color: white; position: relative; margin: 8px 0 20px 0; }
+   .annotation:before { position: absolute; left: 0; top: 0; width: 100%; height: 100%; margin: 6px -6px -6px 6px; background: #333333; z-index: -1; content: ''; }
+   .annotation :link, .annotation :visited { color: inherit; }
+   .annotation :link:hover, .annotation :visited:hover { background: transparent; }
+   .annotation span { border: none ! important; }
+   .note { color: green; background: transparent; font-family: sans-serif; }
+   .warning { color: red; background: transparent; }
+   .note, .warning { font-weight: bolder; font-style: italic; }
+   p.note, div.note { padding: 0.5em 2em; }
+   span.note { padding: 0 2em; }
+   .note p:first-child, .warning p:first-child { margin-top: 0; }
+   .note p:last-child, .warning p:last-child { margin-bottom: 0; }
+   .warning:before { font-style: normal; }
+   p.note:before { content: 'Note: '; }
+   p.warning:before { content: '\26A0 Warning! '; }
+
+   .bookkeeping:before { display: block; content: 'Bookkeeping details'; font-weight: bolder; font-style: italic; }
+   .bookkeeping { font-size: 0.8em; margin: 2em 0; }
+   .bookkeeping p { margin: 0.5em 2em; display: list-item; list-style: square; }
+
+   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; }
+
+   #configUI { position: absolute; z-index: 20; top: 10em; right: 1em; width: 11em; font-size: small; }
+   #configUI p { margin: 0.5em 0; padding: 0.3em; background: #EEEEEE; color: black; border: inset thin; }
+   #configUI p label { display: block; }
+   #configUI #updateUI, #configUI .loginUI { text-align: center; }
+   #configUI input[type=button] { display: block; margin: auto; }
+  </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="data:text/css," id="complete" rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" id="author" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" id="highlight" rel="alternate stylesheet" title="Highlight implementation requirements"><script>
+   function getCookie(name) {
+     var params = location.search.substr(1).split("&");
+     for (var index = 0; index < params.length; index++) {
+       if (params[index] == name)
+         return "1";
+       var data = params[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     var cookies = document.cookie.split("; ");
+     for (var index = 0; index < cookies.length; index++) {
+       var data = cookies[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     return null;
+   }
+   function load(script) {
+     var e = document.createElement('script');
+     e.setAttribute('src', 'http://www.whatwg.org/specs/web-apps/current-work/' + script + '?' + encodeURIComponent(location) + '&' + encodeURIComponent(document.referrer));
+     document.body.appendChild(e);
+   }
+   function init() {
+     if (location.search == '?slow-browser')
+       return;
+     var configUI = document.createElement('div');
+     configUI.id = 'configUI';
+     document.body.appendChild(configUI);
+     // load('reviewer.js'); // would need cross-site XHR
+     if (document.getElementById('head'))
+       load('toc.js');
+     
+     // load('updater.js'); // would need cross-site XHR
+     load('dfn.js');
+     // load('status.js'); // would need cross-site XHR
+     if (getCookie('profile') == '1')
+       document.getElementsByTagName('h2')[0].textContent += '; load: ' + (new Date() - loadTimer) + 'ms';
+     fixBrokenLink();
+   }
+  </script><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><link href="number-state.html" title="4.10.5.1.13 Number state" rel="prev">
+  <link href="Overview.html#contents" title="Table of contents" rel="index">
+  <link href="the-button-element.html" title="4.10.6 The button element" rel="next">
+  </head><body onload="fixBrokenLink(); init()"><div class="head" id="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 (Author Edition)</h1>
+   </div><div>
+   <a href="number-state.html">&#8592; 4.10.5.1.13 Number state</a> &#8211;
+   <a href="Overview.html#contents">Table of contents</a> &#8211;
+   <a href="the-button-element.html">4.10.6 The button element &#8594;</a>
+  <ol class="toc"><li><ol><li><ol><li><ol><li><a href="common-input-element-attributes.html#common-input-element-attributes"><span class="secno">4.10.5.2 </span>Common <code>input</code> element attributes</a>
+        <ol><li><a href="common-input-element-attributes.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="common-input-element-attributes.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="common-input-element-attributes.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="common-input-element-attributes.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="common-input-element-attributes.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="common-input-element-attributes.html#the-multiple-attribute"><span class="secno">4.10.5..6 </span>The <code title="attr-input-multiple">multiple</code> attribute</a></li><li><a href="common-input-element-attributes.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="common-input-element-attributes.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="common-input-element-attributes.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="common-input-element-attributes.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="common-input-element-attributes.html#the-placeholder-attribute"><span class="secno">4.10.5.2.11 </span>The <code title="attr-input-placeholder">placeholder</code> ttribute</a></li></ol></li><li><a href="common-input-element-attributes.html#common-input-element-apis"><span class="secno">4.10.5.3 </span>Common <code>input</code> element APIs</a></li></ol></li></ol></li></ol></li></ol></div>
+
+  <h5 id="common-input-element-attributes"><span class="secno">4.10.5.2 </span>Common <code><a href="the-input-element.html#the-input-element">input</a></code> element attributes</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><h6 id="the-autocomplete-attribute"><span class="secno">4.10.5.2.1 </span>The <code title="attr-input-autocomplete"><a href="#attr-input-autocomplete">autocomplete</a></code> attribute</h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>User agents sometimes have features for helping users fill forms
+  in, for example prefilling the user's address based on earlier user
+  input.</p><p>The <dfn id="attr-input-autocomplete" title="attr-input-autocomplete"><code>autocomplete</code></dfn>
+  attribute is an <a href="common-microsyntaxes.html#enumerated-attribute">enumerated attribute</a>. The attribute has
+  three states. The <code title="attr-input-autocomplete-on">on</code>
+  keyword maps to the <dfn id="attr-input-autocomplete-on-state" title="attr-input-autocomplete-on-state">on</dfn> state, and the
+  <code title="attr-input-autocomplete-off">off</code> keyword maps to
+  the <dfn id="attr-input-autocomplete-off-state" title="attr-input-autocomplete-off-state">off</dfn>
+  state. The attribute may also be omitted. The <i>missing value
+  default</i> is the <dfn id="attr-input-autocomplete-default-state" title="attr-input-autocomplete-default-state">default</dfn>
+  state.</p><p>The <a href="#attr-input-autocomplete-off-state" title="attr-input-autocomplete-off-state">off</a>
+  state indicates either that the control's input data is particularly
+  sensitive (for example the activation code for a nuclear weapon); or
+  that it is a value that will never be reused (for example a
+  one-time-key for a bank login) and the user will therefore have to
+  explicitly enter the data each time, instead of being able to rely
+  on the UA to prefill the value for him; or that the document
+  provides its own autocomplete mechanism and does not want the user
+  agent to provide autocompletion values.</p><p>Conversely, the <a href="#attr-input-autocomplete-on-state" title="attr-input-autocomplete-on-state">on</a> state indicates
+  that the value is not particularly sensitive and the user can expect
+  to be able to rely on his user agent to remember values he has
+  entered for that control.</p><p>The <a href="#attr-input-autocomplete-default-state" title="attr-input-autocomplete-default-state">default</a> state
+  indicates that the user agent is to use the <code title="attr-form-autocomplete"><a href="forms.html#attr-form-autocomplete">autocomplete</a></code> attribute on the
+  element's <a href="association-of-controls-and-forms.html#form-owner">form owner</a> instead. (By default, the <code title="attr-form-autocomplete"><a href="forms.html#attr-form-autocomplete">autocomplete</a></code> attribute of
+  <code><a href="forms.html#the-form-element">form</a></code> elements is in the <a href="forms.html#attr-form-autocomplete-on-state" title="attr-form-autocomplete-on-state">on</a> state.)</p><div class="example">
+
+   <p>Banks frequently do not want UAs to prefill login
+   information:</p>
+
+   <pre>&lt;p&gt;&lt;label&gt;Account: &lt;input type="text" name="ac" autocomplete="off"&gt;&lt;/label&gt;&lt;/p&gt;
+&lt;p&gt;&lt;label&gt;PIN: &lt;input type="password" name="pin" autocomplete="off"&gt;&lt;/label&gt;&lt;/p&gt;</pre>
+
+  </div><h6 id="the-list-attribute"><span class="secno">4.10.5.2.2 </span>The <code title="attr-input-list"><a href="#attr-input-list">list</a></code> attribute</h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <dfn id="attr-input-list" title="attr-input-list"><code>list</code></dfn>
+  attribute is used to identify an element that lists predefined
+  options suggested to the user.</p><p>If present, its value must be the ID of a <code><a href="the-button-element.html#the-datalist-element">datalist</a></code>
+  element in the same document.</p><div class="example">
+
+   <p>This URL field offers some suggestions.</p>
+
+   <pre>&lt;label&gt;Homepage: &lt;input name=hp type=url list=hpurls&gt;&lt;/label&gt;
+&lt;datalist id=hpurls&gt;
+ &lt;option value="http://www.google.com/" label="Google"&gt;
+ &lt;option value="http://www.reddit.com/" label="Reddit"&gt;
+&lt;/datalist&gt;</pre>
+
+   <p>Other URLs from the user's history might show also; this is up
+   to the user agent.</p>
+
+  </div><div class="example">
+
+   <p>This example demonstrates how to design a form that uses the
+   autocompletion list feature while still degrading usefully in
+   legacy user agents.</p>
+
+   <p>If the autocompletion list is merely an aid, and is not
+   important to the content, then simply using a <code><a href="the-button-element.html#the-datalist-element">datalist</a></code>
+   element with children <code><a href="the-button-element.html#the-option-element">option</a></code> elements is enough. To
+   prevent the values from being rendered in legacy user agents, they
+   should be placed inside the <code title="attr-option-value"><a href="the-button-element.html#attr-option-value">value</a></code> attribute instead of
+   inline.</p>
+
+   <pre>&lt;p&gt;
+ &lt;label&gt;
+  Enter a breed:
+  &lt;input type="text" name="breed" list="breeds"&gt;
+  &lt;datalist id="breeds"&gt;
+   &lt;option value="Abyssinian"&gt;
+   &lt;option value="Alpaca"&gt;
+   &lt;!-- ... --&gt;
+  &lt;/datalist&gt;
+ &lt;/label&gt;
+&lt;/p&gt;</pre>
+
+   <p>However, if the values need to be shown in legacy UAs, then
+   fallback content can be placed inside the <code><a href="the-button-element.html#the-datalist-element">datalist</a></code>
+   element, as follows:</p>
+
+   <pre>&lt;p&gt;
+ &lt;label&gt;
+  Enter a breed:
+  &lt;input type="text" name="breed" list="breeds"&gt;
+ &lt;/label&gt;
+ &lt;datalist id="breeds"&gt;
+  &lt;label&gt;
+   or select one from the list:
+   &lt;select name="breed"&gt;
+    &lt;option value=""&gt; (none selected)
+    &lt;option&gt;Abyssinian
+    &lt;option&gt;Alpaca
+    &lt;!-- ... --&gt;
+   &lt;/select&gt;
+  &lt;/label&gt;
+ &lt;/datalist&gt;
+&lt;/p&gt;
+</pre>
+
+   <p>The fallback content will only be shown in UAs that don't
+   support <code><a href="the-button-element.html#the-datalist-element">datalist</a></code>. The options, on the other hand, will
+   be detected by all UAs, even though they are not direct children of
+   the <code><a href="the-button-element.html#the-datalist-element">datalist</a></code> element.</p>
+
+   <p>Note that if an <code><a href="the-button-element.html#the-option-element">option</a></code> element used in a
+   <code><a href="the-button-element.html#the-datalist-element">datalist</a></code> is <code title="attr-option-selected"><a href="the-button-element.html#attr-option-selected">selected</a></code>, it will be selected
+   by default by legacy UAs (because it affects the
+   <code><a href="the-button-element.html#the-select-element">select</a></code>), but it will not have any effect on the
+   <code><a href="the-input-element.html#the-input-element">input</a></code> element in UAs that support
+   <code><a href="the-button-element.html#the-datalist-element">datalist</a></code>.</p>
+
+  </div><h6 id="the-readonly-attribute"><span class="secno">4.10.5.2.3 </span>The <code title="attr-input-readonly"><a href="#attr-input-readonly">readonly</a></code> attribute</h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <dfn id="attr-input-readonly" title="attr-input-readonly"><code>readonly</code></dfn>
+  attribute is a <a href="common-microsyntaxes.html#boolean-attribute">boolean attribute</a> that controls whether
+  or not the use can edit the form control. </p><div class="example">
+
+   <p>In the following example, the existing product identifiers
+   cannot be modified, but they are still displayed as part of the
+   form, for consistency with the row representing a new product
+   (where the identifier is not yet filled in).</p>
+
+   <pre>&lt;form action="products.cgi" method=post enctype="multipart/formdata"&gt;
+ &lt;table&gt;
+  &lt;tr&gt; &lt;th&gt; Product ID &lt;th&gt; Product name &lt;th&gt; Price &lt;th&gt; Action
+  &lt;tr&gt;
+   &lt;td&gt; &lt;input readonly name="1.pid" value="H412"&gt;
+   &lt;td&gt; &lt;input required name="1.pname" value="Floor lamp Ulke"&gt;
+   &lt;td&gt; $&lt;input required type=number min=0 step=0.01 name="1.pprice" value="49.99"&gt;
+   &lt;td&gt; &lt;button formnovalidate name="action" value="delete:1"&gt;Delete&lt;/button&gt;
+  &lt;tr&gt;
+   &lt;td&gt; &lt;input readonly name="2.pid" value="FG28"&gt;
+   &lt;td&gt; &lt;input required name="2.pname" value="Table lamp Ulke"&gt;
+   &lt;td&gt; $&lt;input required type=number min=0 step=0.01 name="2.pprice" value="24.99"&gt;
+   &lt;td&gt; &lt;button formnovalidate name="action" value="delete:2"&gt;Delete&lt;/button&gt;
+  &lt;tr&gt;
+   &lt;td&gt; &lt;input required name="3.pid" value="" pattern="[A-Z0-9]+"&gt;
+   &lt;td&gt; &lt;input required name="3.pname" value=""&gt;
+   &lt;td&gt; $&lt;input required type=number min=0 step=0.01 name="3.pprice" value=""&gt;
+   &lt;td&gt; &lt;button formnovalidate name="action" value="delete:3"&gt;Delete&lt;/button&gt;
+ &lt;/table&gt;
+ &lt;p&gt; &lt;button formnovalidate name="action" value="add"&gt;Add&lt;/button&gt; &lt;/p&gt;
+ &lt;p&gt; &lt;button name="action" value="update"&gt;Save&lt;/button&gt; &lt;/p&gt;
+&lt;/form&gt;</pre>
+
+  </div><h6 id="the-size-attribute"><span class="secno">4.10.5.2.4 </span>The <code title="attr-input-size"><a href="#attr-input-size">size</a></code> attribute</h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <dfn id="attr-input-size" title="attr-input-size"><code>size</code></dfn>
+  attribute gives the number of characters that, in a visual
+  rendering, the user agent is to allow the user to see while editing
+  the element's <a href="#concept-fe-value" title="concept-fe-value">value</a>.</p><p>The <code title="attr-input-size"><a href="#attr-input-size">size</a></code> attribute, if
+  specified, must have a value that is a <a href="common-microsyntaxes.html#valid-non-negative-integer">valid non-negative
+  integer</a> greater than zero.</p><h6 id="the-required-attribute"><span class="secno">4.10.5.2.5 </span>The <code title="attr-input-required"><a href="#attr-input-required">required</a></code> attribute</h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <dfn id="attr-input-required" title="attr-input-required"><code>required</code></dfn>
+  attribute is a <a href="common-microsyntaxes.html#boolean-attribute">boolean attribute</a>. When specified, the
+  element is <dfn id="concept-input-required" title="concept-input-required"><i>required</i></dfn>.</p><div class="example">
+
+   <p>The following form has two required fields, one for an e-mail
+   address and one for a password. It also has a third field that is
+   only considerd valid if the user types the same password in the
+   password field and this third field.</p>
+
+   <pre>&lt;h1&gt;Create new account&lt;/h1&gt;
+&lt;form action="/newaccount" method=post&gt;
+ &lt;p&gt;
+  &lt;label for="username"&gt;E-mail address:&lt;/label&gt;
+  &lt;input id="username" type=email required name=un&gt;
+ &lt;p&gt;
+  &lt;label for="password1"&gt;Password:&lt;/label&gt;
+  &lt;input id="password1" type=password required name=up&gt;
+ &lt;p&gt;
+  &lt;label for="password2"&gt;Confirm password:&lt;/label&gt;
+  &lt;input id="password2" type=password onforminput="setCustomValidity(value != password1.value ? 'Passwords do not match.' : '')"&gt;
+ &lt;p&gt;
+  &lt;input type=submit value="Create account"&gt;
+&lt;/form&gt;</pre>
+
+  </div><h6 id="the-multiple-attribute"><span class="secno">4.10.5.2.6 </span>The <code title="attr-input-multiple"><a href="#attr-input-multiple">multiple</a></code> attribute</h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <dfn id="attr-input-multiple" title="attr-input-multiple"><code>multiple</code></dfn>
+  attribute is a <a href="common-microsyntaxes.html#boolean-attribute">boolean attribute</a> that indicates whether
+  the user is to be allowed to specify more than one value.</p><div class="example">
+
+   <p>The following extract shows how an e-mail client's "Cc" field
+   could accept multiple e-mail addresses.</p>
+
+   <pre>&lt;label&gt;Cc: &lt;input type=email multiple name=cc&gt;&lt;/label&gt;</pre>
+
+   <p>If the user had, amongst many friends in his user contacts
+   database, two friends "Arthur Dent" (with address
+   "art@example.net") and "Adam Josh" (with address
+   "adamjosh@example.net"), then, after the user has typed "a", the
+   user agent might suggest these two e-mail addresses to the
+   user.</p>
+
+   <p><img alt="" src="images/sample-email-1.png"></p>
+
+   <p>The page could also link in the user's contacts database from the site:</p>
+
+   <pre>&lt;label&gt;Cc: &lt;input type=email multiple name=cc list=contacts&gt;&lt;/label&gt;
+...
+&lt;datalist id="contacts"&gt;
+ &lt;option value="hedral@damowmow.com"&gt;
+ &lt;option value="pillar@example.com"&gt;
+ &lt;option value="astrophy@cute.example"&gt;
+ &lt;option value="astronomy@science.example.org"&gt;
+&lt;/datalist&gt;</pre>
+
+   <p>Suppose the user had entered "bob@example.net" into this text
+   field, and then started typing a second e-mail address starting
+   with "a". The user agent might show both the two friends mentioned
+   earlier, as well as the "astrophy" and "astronomy" values given in
+   the <code><a href="the-button-element.html#the-datalist-element">datalist</a></code> element.</p>
+
+   <p><img alt="" src="images/sample-email-2.png"></p>
+
+  </div><div class="example">
+
+   <p>The following extract shows how an e-mail client's "Attachments"
+   field could accept multiple files for upload.</p>
+
+   <pre>&lt;label&gt;Attachments: &lt;input type=file multiple name=att&gt;&lt;/label&gt;</pre>
+
+  </div><h6 id="the-maxlength-attribute"><span class="secno">4.10.5.2.7 </span>The <code title="attr-input-maxlength"><a href="#attr-input-maxlength">maxlength</a></code> attribute</h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <dfn id="attr-input-maxlength" title="attr-input-maxlength"><code>maxlength</code></dfn>
+  attribute is a <a href="association-of-controls-and-forms.html#attr-fe-maxlength" title="attr-fe-maxlength">form control <code title="">maxlength</code> attribute</a>.</p><p>If the <code><a href="the-input-element.html#the-input-element">input</a></code> element has a <a href="association-of-controls-and-forms.html#maximum-allowed-value-length">maximum allowed
+  value length</a>, then the <a href="#code-point-length">code-point length</a> of the
+  value of the element's <code title="attr-input-value"><a href="the-input-element.html#attr-input-value">value</a></code>
+  attribute must be equal to or less than the element's <a href="association-of-controls-and-forms.html#maximum-allowed-value-length">maximum
+  allowed value length</a>.</p><div class="example">
+
+   <p>The following extract shows how a messaging client's text entry
+   could be arbitrarily restricted to a fixed number of characters,
+   thus forcing any conversion through this medium to be terse and
+   discouraging intelligent discourse.</p>
+
+   <pre>What are you doing? &lt;input name=status maxlength=140&gt;</pre>
+
+  </div><h6 id="the-pattern-attribute"><span class="secno">4.10.5.2.8 </span>The <code title="attr-input-pattern"><a href="#attr-input-pattern">pattern</a></code> attribute</h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <dfn id="attr-input-pattern" title="attr-input-pattern"><code>pattern</code></dfn>
+  attribute specifies a regular expression against which the control's
+  <a href="#concept-fe-value" title="concept-fe-value">value</a> is to be checked.</p><p>If specified, the attribute's value must match the JavaScript <i title="">Pattern</i> production. <a href="references.html#refsECMA262">[ECMA262]</a></p><p>When an <code><a href="the-input-element.html#the-input-element">input</a></code> element has a <code title="attr-input-pattern"><a href="#attr-input-pattern">pattern</a></code> attribute specified,
+  authors should include a <code title="attr-title"><a href="elements.html#the-title-attribute">title</a></code>
+  attribute to give a description of the pattern. User agents may use
+  the contents of this attribute, if it is present, when informing the
+  user that the pattern is not matched, or at any other suitable time,
+  such as in a tooltip or read out by assistive technology when the
+  control gains focus.</p><div class="example">
+   <p>For example, the following snippet:</p>
+   <pre>&lt;label&gt; Part number:
+ &lt;input pattern="[0-9][A-Z]{3}" name="part"
+        title="A part number is a digit followed by three uppercase letters."/&gt;
+&lt;/label&gt;</pre>
+   <p>...could cause the UA to display an alert such as:</p>
+   <pre><samp>A part number is a digit followed by three uppercase letters.
+You cannot complete this form until the field is correct.</samp></pre>
+  </div><p>When a control has a <code>pattern</code> attribute, the
+  <code><a href="semantics.html#the-title-element-0">title</a></code> attribute, if used, must describe the pattern.
+  Additional information could also be included, so long as it assists
+  the user in filling in the control. Otherwise, assistive technology
+  would be impaired.</p><p class="example">For instance, if the title attribute contained
+  the caption of the control, assistive technology could end up saying
+  something like <samp>The text you have entered does not match the
+  required pattern. Birthday</samp>, which is not useful.</p><p>UAs may still show the <code><a href="semantics.html#the-title-element-0">title</a></code> in non-error situations
+  (for example, as a tooltip when hovering over the control), so
+  authors should be careful not to word <code><a href="semantics.html#the-title-element-0">title</a></code>s as if an
+  error has necessarily occurred.</p><h6 id="the-min-and-max-attributes"><span class="secno">4.10.5.2.9 </span>The <code title="attr-input-min"><a href="#attr-input-min">min</a></code> and <code title="attr-input-max"><a href="#attr-input-max">max</a></code> attributes</h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <dfn id="attr-input-min" title="attr-input-min"><code>min</code></dfn> and <dfn id="attr-input-max" title="attr-input-max"><code>max</code></dfn> attributes indicate
+  the allowed range of values for the element.</p><p>The <code title="attr-input-max"><a href="#attr-input-max">max</a></code> attribute's value
+  (the <a href="#concept-input-max" title="concept-input-max">maximum</a>) must not be
+  less than the <code title="attr-input-min"><a href="#attr-input-min">min</a></code> attribute's
+  value (its <a href="#concept-input-min" title="concept-input-min">minimum</a>).</p><div class="example">
+
+   <p>The following date control limits input to dates that are before
+   the 1980s:</p>
+
+   <pre>&lt;input name=bday type=date max="1979-12-31"&gt;</pre>
+
+  </div><div class="example">
+
+   <p>The following number control limits input to whole numbers
+   greater than zero:</p>
+
+   <pre>&lt;input name=quantity required type=number min=1 value=1&gt;</pre>
+
+  </div><h6 id="the-step-attribute"><span class="secno">4.10.5.2.10 </span>The <code title="attr-input-step"><a href="#attr-input-step">step</a></code> attribute</h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <dfn id="attr-input-step" title="attr-input-step"><code>step</code></dfn>
+  attribute indicates the granularity that is expected (and required)
+  of the <a href="#concept-fe-value" title="concept-fe-value">value</a>, by limiting the
+  allowed values. </p><p>The <code title="attr-input-step"><a href="#attr-input-step">step</a></code> attribute, if
+  specified, must either have a value that is a <a href="common-microsyntaxes.html#valid-floating-point-number">valid floating
+  point number</a> that <a href="#rules-for-parsing-floating-point-number-values" title="rules for parsing floating
+  point number values">parses</a> to a number that is greater than
+  zero, or must have a value that is an <a href="infrastructure.html#ascii-case-insensitive">ASCII
+  case-insensitive</a> match for the string "<code title="">any</code>".</p><div class="example">
+
+   <p>The following range control only accepts values in the range
+   0..1, and allows 256 steps in that range:</p>
+
+   <pre>&lt;input name=opacity type=range min=0 max=1 step=0.00392156863&gt;</pre>
+
+  </div><div class="example">
+
+   <p>The following control allows any time in the day to be selected,
+   with any accuracy (e.g. thousandth-of-a-second accuracy or
+   more):</p>
+
+   <pre>&lt;input name=favtime type=time step=any&gt;</pre>
+
+   <p>Normally, time controls are limited to an accuracy of one
+   minute.</p>
+
+  </div><h6 id="the-placeholder-attribute"><span class="secno">4.10.5.2.11 </span>The <code title="attr-input-placeholder"><a href="#attr-input-placeholder">placeholder</a></code> attribute</h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><!-- similar text in the <textarea> section --><p>The <dfn id="attr-input-placeholder" title="attr-input-placeholder"><code>placeholder</code></dfn>
+  attribute represents a <em>short</em> hint (a word or short phrase)
+  intended to aid the user with data entry. A hint could be a sample
+  value or a brief description of the expected format. The attribute,
+  if specified, must have a value that contains no U+000A LINE FEED
+  (LF) or U+000D CARRIAGE RETURN (CR) characters.</p><p class="note">For a longer hint or other advisory text, the <code title="attr-title"><a href="elements.html#the-title-attribute">title</a></code> attribute is more appropriate.</p><p>The <code title="attr-input-placeholder"><a href="#attr-input-placeholder">placeholder</a></code>
+  attribute should not be used as an alternative to a
+  <code><a href="forms.html#the-label-element">label</a></code>.</p><div class="example">
+
+   <p>Here is an example of a mail configuration user interface that
+   uses the <code title="attr-input-placeholder"><a href="#attr-input-placeholder">placeholder</a></code>
+   attribute:</p>
+
+   <pre>&lt;fieldset&gt;
+ &lt;legend&gt;Mail Account&lt;/legend&gt;
+ &lt;p&gt;&lt;label&gt;Name: &lt;input type="text" name="fullname" placeholder="John Ratzenberger"&gt;&lt;/label&gt;&lt;/p&gt;
+ &lt;p&gt;&lt;label&gt;Address: &lt;input type="email" name="address" placeholder="john@example.net"&gt;&lt;/label&gt;&lt;/p&gt;
+ &lt;p&gt;&lt;label&gt;Password: &lt;input type="password" name="password"&gt;&lt;/label&gt;&lt;/p&gt;
+ &lt;p&gt;&lt;label&gt;Description: &lt;input type="text" name="desc" placeholder="My Email Account"&gt;&lt;/label&gt;&lt;/p&gt;
+&lt;/fieldset&gt;</pre>
+
+  </div><h5 id="common-input-element-apis"><span class="secno">4.10.5.3 </span>Common <code><a href="the-input-element.html#the-input-element">input</a></code> element APIs</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><dl class="domintro"><dt><var title="">input</var> . <code title="dom-input-value"><a href="#dom-input-value">value</a></code> [ = <var title="">value</var> ]</dt>
+
+   <dd>
+
+    <p>Returns the current <a href="#concept-fe-value" title="concept-fe-value">value</a>
+    of the form control.</p>
+
+    <p>Can be set, to change the value.</p>
+
+    <p>Throws an <code><a href="urls.html#invalid_state_err">INVALID_STATE_ERR</a></code> exception if it is
+    set to any value other than the empty string when the control is a
+    file upload control.</p>
+
+   </dd>
+
+   <dt><var title="">input</var> . <code title="dom-input-checked"><a href="#dom-input-checked">checked</a></code> [ = <var title="">value</var> ]</dt>
+
+   <dd>
+
+    <p>Returns the current <a href="#concept-fe-checked" title="concept-fe-checked">checkedness</a> of the form
+    control.</p>
+
+    <p>Can be set, to change the <a href="#concept-fe-checked" title="concept-fe-checked">checkedness</a>.</p>
+
+   </dd>
+
+   <dt><var title="">input</var> . <code title="dom-input-files"><a href="#dom-input-files">files</a></code></dt>
+
+   <dd>
+
+    <p>Returns a <code>FileList</code> object listing the <a href="number-state.html#concept-input-type-file-selected" title="concept-input-type-file-selected">selected files</a> of
+    the form control.</p>
+
+    <p>Throws an <code><a href="urls.html#invalid_state_err">INVALID_STATE_ERR</a></code> exception if the
+    control isn't a file control.</p>
+
+   </dd>
+
+   <dt><var title="">input</var> . <code title="dom-input-valueAsDate"><a href="#dom-input-valueasdate">valueAsDate</a></code> [ = <var title="">value</var> ]</dt>
+
+   <dd>
+
+    <p>Returns a <code>Date</code> object representing the form
+    control's <a href="#concept-fe-value" title="concept-fe-value">value</a>, if
+    applicable; otherwise, returns null.</p>
+
+    <p>Can be set, to change the value.</p>
+
+    <p>Throws an <code><a href="urls.html#invalid_state_err">INVALID_STATE_ERR</a></code> exception if the
+    control isn't date- or time-based.</p>
+
+   </dd>
+
+   <dt><var title="">input</var> . <code title="dom-input-valueAsNumber"><a href="#dom-input-valueasnumber">valueAsNumber</a></code> [ = <var title="">value</var> ]</dt>
+
+   <dd>
+
+    <p>Returns a number representing the form control's <a href="#concept-fe-value" title="concept-fe-value">value</a>, if applicable; otherwise,
+    returns null.</p>
+
+    <p>Can be set, to change the value.</p>
+
+    <p>Throws an <code><a href="urls.html#invalid_state_err">INVALID_STATE_ERR</a></code> exception if the
+    control is neither date- or time-based nor numeric.</p>
+
+   </dd>
+
+   <dt><var title="">input</var> . <code title="dom-input-stepUp"><a href="#dom-input-stepup">stepUp</a></code>( [ <var title="">n</var> ] )</dt>
+   <dt><var title="">input</var> . <code title="dom-input-stepDown"><a href="#dom-input-stepdown">stepDown</a></code>( [ <var title="">n</var> ] )</dt>
+
+   <dd>
+
+    <p>Changes the form control's <a href="#concept-fe-value" title="concept-fe-value">value</a> by the value given in the
+    <code title="attr-input-step"><a href="#attr-input-step">step</a></code> attribute, multiplied by
+    <var title="">n</var>. The default is 1.</p>
+
+    <p>Throws <code><a href="urls.html#invalid_state_err">INVALID_STATE_ERR</a></code> exception if the control
+    is neither date- or time-based nor numeric, if the <code title="attr-input-step"><a href="#attr-input-step">step</a></code> attribute's value is "<code title="">any</code>", if the current <a href="#concept-fe-value" title="concept-fe-value">value</a> could not be parsed, or if
+    stepping in the given direction by the given amount would take the
+    value out of range.</p>
+
+   </dd>
+
+   <dt><var title="">input</var> . <code title="dom-input-list"><a href="#dom-input-list">list</a></code></dt>
+
+   <dd>
+
+    <p>Returns the <code><a href="the-button-element.html#the-datalist-element">datalist</a></code> element indicated by the
+    <code title="attr-input-list"><a href="#attr-input-list">list</a></code> attribute.</p>
+
+   </dd>
+
+   <dt><var title="">input</var> . <code title="dom-input-selectedOption"><a href="#dom-input-selectedoption">selectedOption</a></code></dt>
+
+   <dd>
+
+    <p>Returns the <code><a href="the-button-element.html#the-option-element">option</a></code> element from the
+    <code><a href="the-button-element.html#the-datalist-element">datalist</a></code> element indicated by the <code title="attr-input-list"><a href="#attr-input-list">list</a></code> attribute that matches the
+    form control's <a href="#concept-fe-value" title="concept-fe-value">value</a>.</p>
+
+   </dd>
+
+  </dl></body></html>
\ No newline at end of file

Index: embedded-content-1.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/embedded-content-1.html,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- embedded-content-1.html	6 Jan 2010 15:38:52 -0000	1.11
+++ embedded-content-1.html	6 Jan 2010 15:49:34 -0000	1.12
@@ -213,4 +213,1073 @@
    .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-ex
\ No newline at end of file
+   .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="data:text/css," id="complete" rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" id="author" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" id="highlight" rel="alternate stylesheet" title="Highlight implementation requirements"><script>
+   function getCookie(name) {
[...1045 lines suppressed...]
+  kind of image involved, as described in the above entries), so that
+  the e-mail is still usable should the user use a mail client that
+  does not support images, or should the document be forwarded on to
+  other users whose abilities might not include easily seeing
+  images.</p><h6 id="general-guidelines"><span class="secno">4.8.2.1.12 </span>General guidelines</h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The most general rule to consider when writing alternative text
+  is the following: <strong>the intent is that replacing every image
+  with the text of its <code title="attr-img-alt"><a href="#attr-img-alt">alt</a></code> attribute
+  not change the meaning of the page</strong>.</p><p>So, in general, alternative text can be written by considering
+  what one would have written had one not been able to include the
+  image.</p><p>A corollary to this is that the <code title="attr-img-alt"><a href="#attr-img-alt">alt</a></code> attribute's value should never
+  contain text that could be considered the image's <em>caption</em>,
+  <em>title</em>, or <em>legend</em>. It is supposed to contain
+  replacement text that could be used by users <em>instead</em> of the
+  image; it is not meant to supplement the image. The <code title="attr-title"><a href="elements.html#the-title-attribute">title</a></code> attribute can be used for
+  supplemental information.</p><p class="note">One way to think of alternative text is to think
+  about how you would read the page containing the image to someone
+  over the phone, without mentioning that there is an image
+  present. Whatever you say instead of the image is typically a good
+  start for writing the alternative text.</p></body></html>
\ No newline at end of file

Index: the-input-element.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/the-input-element.html,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- the-input-element.html	6 Jan 2010 15:38:54 -0000	1.10
+++ the-input-element.html	6 Jan 2010 15:49:35 -0000	1.11
@@ -213,4 +213,1199 @@
    .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-tabl
\ No newline at end of file
+   .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="data:text/css," id="complete" rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" id="author" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" id="highlight" rel="alternate stylesheet" title="Highlight implementation requirements"><script>
+   function getCookie(name) {
[...1171 lines suppressed...]
+<!-- <td class="yes"> Yes          Radio Button -->
+     </td><td class="yes"> Yes     <!-- File Upload -->
+     </td><td class="no"> &#183; <!-- Submit Button -->
+     </td><td class="no"> &#183; <!-- Image Button -->
+     </td><td class="no"> &#183; <!-- Reset Button -->
+<!-- <td class="no"> &middot;      Button -->
+
+  </td></tr></tbody></table><p>The <dfn id="attr-input-value" title="attr-input-value"><code>value</code></dfn>
+  content attribute gives the default <a href="#concept-fe-value" title="concept-fe-value">value</a> of the <code><a href="#the-input-element">input</a></code>
+  element. </p><p>The <dfn id="attr-input-checked" title="attr-input-checked"><code>checked</code></dfn>
+  content attribute is a <a href="common-microsyntaxes.html#boolean-attribute">boolean attribute</a> that gives the
+  default <a href="#concept-fe-checked" title="concept-fe-checked">checkedness</a> of the
+  <code><a href="#the-input-element">input</a></code> element. </p><p>The <code title="attr-fae-form"><a href="association-of-controls-and-forms.html#attr-fae-form">form</a></code> attribute is used to
+  explicitly associate the <code><a href="#the-input-element">input</a></code> element with its
+  <a href="association-of-controls-and-forms.html#form-owner">form owner</a>. The <code title="attr-fe-name"><a href="association-of-controls-and-forms.html#attr-fe-name">name</a></code>
+  attribute represents the element's name. The <code title="attr-fe-disabled"><a href="association-of-controls-and-forms.html#attr-fe-disabled">disabled</a></code> attribute is used to make
+  the control non-interactive and to prevent its value from being
+  submitted. The <code title="attr-fe-autofocus"><a href="association-of-controls-and-forms.html#attr-fe-autofocus">autofocus</a></code>
+  attribute controls focus.</p></body></html>
\ No newline at end of file

Index: comms.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/comms.html,v
retrieving revision 1.559
retrieving revision 1.560
diff -u -d -r1.559 -r1.560
--- comms.html	6 Jan 2010 15:38:52 -0000	1.559
+++ comms.html	6 Jan 2010 15:49:33 -0000	1.560
@@ -0,0 +1,499 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<!DOCTYPE html>
+<!-- when publishing, change bits marked ZZZ --><html lang="en-US-x-Hixie" class="split chapter"><head><title>8 Communication &#8212; HTML5 (Author Edition)</title><script src="link-fixup.js"></script><link href="whatwg.css" rel="stylesheet"><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 tbody th { text-align: left; }
+   table td, table th { border-left: solid; border-right: solid; border-bottom: solid thin; vertical-align: top; padding: 0.2em; }
+   blockquote { margin: 0 0 0 2em; border: 0; padding: 0; font-style: italic; }
+
+   .bad, .bad *:not(.XXX) { color: gray; border-color: gray; background: transparent; }
+   .matrix, .matrix td { border: none; text-align: right; }
+   .matrix { margin-left: 2em; }
+   .dice-example { border-collapse: collapse; border-style: hidden solid solid hidden; border-width: thin; margin-left: 3em; }
+   .dice-example caption { width: 30em; font-size: smaller; font-style: italic; padding: 0.75em 0; text-align: left; }
+   .dice-example td, .dice-example th { border: solid thin; width: 1.35em; height: 1.05em; text-align: center; padding: 0; }
+
+   .toc dfn, h1 dfn, h2 dfn, h3 dfn, h4 dfn, h5 dfn, h6 dfn { font: inherit; }
+   img.extra { float: right; }
+   pre.idl { border: solid thin; background: #EEEEEE; color: black; padding: 0.5em 1em; }
+   pre.idl :link, pre.idl :visited { color: inherit; background: transparent; }
+   pre.css { border: solid thin; background: #FFFFEE; color: black; padding: 0.5em 1em; }
+   pre.css:first-line { color: #AAAA50; }
+   dl.domintro { color: green; margin: 2em 0 2em 2em; padding: 0.5em 1em; border: none; background: #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; }
+   div.head p.copyright, div.head p.alt { font-size: x-small; font-style: oblique; margin: 0; }
+
+   body > .toc > li { margin-top: 1em; margin-bottom: 1em; }
+   body > .toc.brief > li { margin-top: 0.35em; margin-bottom: 0.35em; }
+   body > .toc > li > * { margin-bottom: 0.5em; }
+   body > .toc > li > * > li > * { margin-bottom: 0.25em; }
+   .toc, .toc li { list-style: none; }
+
+   .brief { margin-top: 1em; margin-bottom: 1em; line-height: 1.1; }
+   .brief li { margin: 0; padding: 0; }
+   .brief li p { margin: 0; padding: 0; }
+
+   .category-list { margin-top: -0.75em; margin-bottom: 1em; line-height: 1.5; }
+   .category-list::before { content: '\21D2\A0'; font-size: 1.2em; font-weight: 900; }
+   .category-list li { display: inline; }
+   .category-list li:not(:last-child)::after { content: ', '; }
+   .category-list li > span, .category-list li > a { text-transform: lowercase; }
+   .category-list li * { text-transform: none; } /* don't affect <code> nested in <a> */
+
+   .XXX { color: #E50000; background: white; border: solid red; padding: 0.5em; margin: 1em 0; }
+   .XXX > :first-child { margin-top: 0; }
+   p .XXX { line-height: 3em; }
+   .annotation { border: solid thin black; background: #0C479D; color: white; position: relative; margin: 8px 0 20px 0; }
+   .annotation:before { position: absolute; left: 0; top: 0; width: 100%; height: 100%; margin: 6px -6px -6px 6px; background: #333333; z-index: -1; content: ''; }
+   .annotation :link, .annotation :visited { color: inherit; }
+   .annotation :link:hover, .annotation :visited:hover { background: transparent; }
+   .annotation span { border: none ! important; }
+   .note { color: green; background: transparent; font-family: sans-serif; }
+   .warning { color: red; background: transparent; }
+   .note, .warning { font-weight: bolder; font-style: italic; }
+   p.note, div.note { padding: 0.5em 2em; }
+   span.note { padding: 0 2em; }
+   .note p:first-child, .warning p:first-child { margin-top: 0; }
+   .note p:last-child, .warning p:last-child { margin-bottom: 0; }
+   .warning:before { font-style: normal; }
+   p.note:before { content: 'Note: '; }
+   p.warning:before { content: '\26A0 Warning! '; }
+
+   .bookkeeping:before { display: block; content: 'Bookkeeping details'; font-weight: bolder; font-style: italic; }
+   .bookkeeping { font-size: 0.8em; margin: 2em 0; }
+   .bookkeeping p { margin: 0.5em 2em; display: list-item; list-style: square; }
+
+   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; }
+
+   #configUI { position: absolute; z-index: 20; top: 10em; right: 1em; width: 11em; font-size: small; }
+   #configUI p { margin: 0.5em 0; padding: 0.3em; background: #EEEEEE; color: black; border: inset thin; }
+   #configUI p label { display: block; }
+   #configUI #updateUI, #configUI .loginUI { text-align: center; }
+   #configUI input[type=button] { display: block; margin: auto; }
+  </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="data:text/css," id="complete" rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" id="author" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" id="highlight" rel="alternate stylesheet" title="Highlight implementation requirements"><script>
+   function getCookie(name) {
+     var params = location.search.substr(1).split("&");
+     for (var index = 0; index < params.length; index++) {
+       if (params[index] == name)
+         return "1";
+       var data = params[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     var cookies = document.cookie.split("; ");
+     for (var index = 0; index < cookies.length; index++) {
+       var data = cookies[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     return null;
+   }
+   function load(script) {
+     var e = document.createElement('script');
+     e.setAttribute('src', 'http://www.whatwg.org/specs/web-apps/current-work/' + script + '?' + encodeURIComponent(location) + '&' + encodeURIComponent(document.referrer));
+     document.body.appendChild(e);
+   }
+   function init() {
+     if (location.search == '?slow-browser')
+       return;
+     var configUI = document.createElement('div');
+     configUI.id = 'configUI';
+     document.body.appendChild(configUI);
+     // load('reviewer.js'); // would need cross-site XHR
+     if (document.getElementById('head'))
+       load('toc.js');
+     
+     // load('updater.js'); // would need cross-site XHR
+     load('dfn.js');
+     // load('status.js'); // would need cross-site XHR
+     if (getCookie('profile') == '1')
+       document.getElementsByTagName('h2')[0].textContent += '; load: ' + (new Date() - loadTimer) + 'ms';
+     fixBrokenLink();
+   }
+  </script><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><link href="dnd.html" title="7.9 Drag and drop" 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(); init()"><div class="head" id="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 (Author Edition)</h1>
+   </div><div>
+   <a href="dnd.html">&#8592; 7.9 Drag and drop</a> &#8211;
+   <a href="Overview.html#contents">Table of contents</a> &#8211;
+   <a href="syntax.html">9 The HTML syntax &#8594;</a>
+  <ol class="toc"><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#introduction-6"><span class="secno">8.3.1 </span>Introduction</a></li><li><a href="comms.html#message-channels"><span class="secno">8.3.2 </span>Message channels</a></li><li><a href="comms.html#message-ports"><span class="secno">8.3.3 </span>Message ports</a>
+      <ol><li><a href="comms.html#ports-and-garbage-collection"><span class="secno">8.3.3.1 </span>Ports and garbage collection</a></li></ol></li></ol></li></ol></li></ol></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 class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><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);
+};</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>Last call for comments</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 class="XXX annotation"><b>Status: </b><i>Working draft</i></p><p><i>This section is non-normative.</i></p><div class="example">
+
+   <p>For example, if document A contains an <code><a href="the-iframe-element.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="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><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><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><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="urls.html#invalid_state_err">INVALID_STATE_ERR</a></code> if the <var title="">ports</var> array is not null and it contains either null
+    entries or duplicate ports.</p>
+
+   </dd>
+
+  </dl><h3 id="channel-messaging"><span class="secno">8.3 </span><dfn>Channel messaging</dfn></h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><h4 id="introduction-6"><span class="secno">8.3.1 </span>Introduction</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p><i>This section is non-normative.</i></p><p>To enable independent pieces of code (e.g. running in different
+  <a href="browsers.html#browsing-context" title="browsing context">browsing contexts</a>) to
+  communicate directly, authors can use <a href="#channel-messaging">channel
+  messaging</a>.</p><p>Communication channels in this mechanisms are implemented as
+  two-ways pipes, with a port at each end. Messages sent in one port
+  are delivered at the other port, and vice-versa. Messages are
+  asynchronous, and delivered as DOM events.</p><p>To create a connection (two "entangled" ports), the <code title="">MessageChannel()</code> constructor is called:</p><pre>var channel = new MessageChannel();</pre><p>One of the ports is kept as the local port, and the other port is
+  sent to the remote code, e.g. using <code title="dom-window-postMessage-3"><a href="#dom-window-postmessage-3">postMessage()</a></code>:</p><pre>otherWindow.postMessage('hello', [channel.port2], 'http://example.com');</pre><p>To send messages, the <code title="dom-MessagpePort-postMessage">postMessage()</code> method on
+  the port is used:</p><pre>channel.port1.postMessage('hello');</pre><p>To receive messages, one listens to <code title="event-message"><a href="#event-message">message</a></code> events:</p><pre>channel.port1.onmessage = handleMessage;
+function handleMessage(event) {
+  // message is in event.data
+  // ...
+}</pre><h4 id="message-channels"><span class="secno">8.3.2 </span>Message channels</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><pre class="idl">[<a href="#dom-messagechannel" title="dom-MessageChannel">Constructor</a>]
+interface <dfn id="messagechannel">MessageChannel</dfn> {
+  readonly attribute <a href="#messageport">MessagePort</a> <a href="#dom-channel-port1" title="dom-channel-port1">port1</a>;
+  readonly attribute <a href="#messageport">MessagePort</a> <a href="#dom-channel-port2" title="dom-channel-port2">port2</a>;
+};</pre><dl class="domintro"><dt><var title="">channel</var> = new <code title="dom-MessageChannel"><a href="#dom-messagechannel">MessageChannel</a></code>()</dt>
+
+   <dd>
+
+    <p>Returns a new <code><a href="#messagechannel">MessageChannel</a></code> object with two new <code><a href="#messageport">MessagePort</a></code> objects.</p>
+
+   </dd>
+
+   <dt><var title="">channel</var> . <code title="dom-MessageChannel-port1">port1</code></dt>
+
+   <dd>
+
+    <p>Returns the first <code><a href="#messageport">MessagePort</a></code> object.</p>
+
+   </dd>
+
+   <dt><var title="">channel</var> . <code title="dom-MessageChannel-port2">port2</code></dt>
+
+   <dd>
+
+    <p>Returns the second <code><a href="#messageport">MessagePort</a></code> object.</p>
+
+   </dd>
+
+  </dl><h4 id="message-ports"><span class="secno">8.3.3 </span>Message ports</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><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&lt;MessagePort&gt; <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="browsers.html#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="urls.html#invalid_state_err">INVALID_STATE_ERR</a></code> if the <var title="">ports</var> array is not null and it contains either null
+    entries, duplicate ports, or the source or target port.</p>
+
+   </dd>
+
+   <dt><var title="">port</var> . <code title="dom-MessagePort-start"><a href="#dom-messageport-start">start</a></code>()</dt>
+
+   <dd>
+
+    <p>Begins dispatching messages received on the port.</p>
+
+   </dd>
+
+   <dt><var title="">port</var> . <code title="dom-MessagePort-close"><a href="#dom-messageport-close">close</a></code>()</dt>
+
+   <dd>
+
+    <p>Disconnects the port, so that it is no longer active.</p>
+
+   </dd>
+
+  </dl><h5 id="ports-and-garbage-collection"><span class="secno">8.3.3.1 </span>Ports and garbage collection</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><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: grouping-content.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/grouping-content.html,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- grouping-content.html	6 Jan 2010 15:38:53 -0000	1.11
+++ grouping-content.html	6 Jan 2010 15:49:34 -0000	1.12
@@ -0,0 +1,965 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<!DOCTYPE html>
+<!-- when publishing, change bits marked ZZZ --><html lang="en-US-x-Hixie" class="split chapter"><head><title>4.5 Grouping content &#8212; HTML5 (Author Edition)</title><script src="link-fixup.js"></script><link href="whatwg.css" rel="stylesheet"><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 tbody th { text-align: left; }
+   table td, table th { border-left: solid; border-right: solid; border-bottom: solid thin; vertical-align: top; padding: 0.2em; }
+   blockquote { margin: 0 0 0 2em; border: 0; padding: 0; font-style: italic; }
+
+   .bad, .bad *:not(.XXX) { color: gray; border-color: gray; background: transparent; }
+   .matrix, .matrix td { border: none; text-align: right; }
+   .matrix { margin-left: 2em; }
+   .dice-example { border-collapse: collapse; border-style: hidden solid solid hidden; border-width: thin; margin-left: 3em; }
+   .dice-example caption { width: 30em; font-size: smaller; font-style: italic; padding: 0.75em 0; text-align: left; }
+   .dice-example td, .dice-example th { border: solid thin; width: 1.35em; height: 1.05em; text-align: center; padding: 0; }
+
+   .toc dfn, h1 dfn, h2 dfn, h3 dfn, h4 dfn, h5 dfn, h6 dfn { font: inherit; }
+   img.extra { float: right; }
+   pre.idl { border: solid thin; background: #EEEEEE; color: black; padding: 0.5em 1em; }
+   pre.idl :link, pre.idl :visited { color: inherit; background: transparent; }
+   pre.css { border: solid thin; background: #FFFFEE; color: black; padding: 0.5em 1em; }
+   pre.css:first-line { color: #AAAA50; }
+   dl.domintro { color: green; margin: 2em 0 2em 2em; padding: 0.5em 1em; border: none; background: #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; }
+   div.head p.copyright, div.head p.alt { font-size: x-small; font-style: oblique; margin: 0; }
+
+   body > .toc > li { margin-top: 1em; margin-bottom: 1em; }
+   body > .toc.brief > li { margin-top: 0.35em; margin-bottom: 0.35em; }
+   body > .toc > li > * { margin-bottom: 0.5em; }
+   body > .toc > li > * > li > * { margin-bottom: 0.25em; }
+   .toc, .toc li { list-style: none; }
+
+   .brief { margin-top: 1em; margin-bottom: 1em; line-height: 1.1; }
+   .brief li { margin: 0; padding: 0; }
+   .brief li p { margin: 0; padding: 0; }
+
+   .category-list { margin-top: -0.75em; margin-bottom: 1em; line-height: 1.5; }
+   .category-list::before { content: '\21D2\A0'; font-size: 1.2em; font-weight: 900; }
+   .category-list li { display: inline; }
+   .category-list li:not(:last-child)::after { content: ', '; }
+   .category-list li > span, .category-list li > a { text-transform: lowercase; }
+   .category-list li * { text-transform: none; } /* don't affect <code> nested in <a> */
+
+   .XXX { color: #E50000; background: white; border: solid red; padding: 0.5em; margin: 1em 0; }
+   .XXX > :first-child { margin-top: 0; }
+   p .XXX { line-height: 3em; }
+   .annotation { border: solid thin black; background: #0C479D; color: white; position: relative; margin: 8px 0 20px 0; }
+   .annotation:before { position: absolute; left: 0; top: 0; width: 100%; height: 100%; margin: 6px -6px -6px 6px; background: #333333; z-index: -1; content: ''; }
+   .annotation :link, .annotation :visited { color: inherit; }
+   .annotation :link:hover, .annotation :visited:hover { background: transparent; }
+   .annotation span { border: none ! important; }
+   .note { color: green; background: transparent; font-family: sans-serif; }
+   .warning { color: red; background: transparent; }
+   .note, .warning { font-weight: bolder; font-style: italic; }
+   p.note, div.note { padding: 0.5em 2em; }
+   span.note { padding: 0 2em; }
+   .note p:first-child, .warning p:first-child { margin-top: 0; }
+   .note p:last-child, .warning p:last-child { margin-bottom: 0; }
+   .warning:before { font-style: normal; }
+   p.note:before { content: 'Note: '; }
+   p.warning:before { content: '\26A0 Warning! '; }
+
+   .bookkeeping:before { display: block; content: 'Bookkeeping details'; font-weight: bolder; font-style: italic; }
+   .bookkeeping { font-size: 0.8em; margin: 2em 0; }
+   .bookkeeping p { margin: 0.5em 2em; display: list-item; list-style: square; }
+
+   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; }
+
+   #configUI { position: absolute; z-index: 20; top: 10em; right: 1em; width: 11em; font-size: small; }
+   #configUI p { margin: 0.5em 0; padding: 0.3em; background: #EEEEEE; color: black; border: inset thin; }
+   #configUI p label { display: block; }
+   #configUI #updateUI, #configUI .loginUI { text-align: center; }
+   #configUI input[type=button] { display: block; margin: auto; }
+  </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="data:text/css," id="complete" rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" id="author" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" id="highlight" rel="alternate stylesheet" title="Highlight implementation requirements"><script>
+   function getCookie(name) {
+     var params = location.search.substr(1).split("&");
+     for (var index = 0; index < params.length; index++) {
+       if (params[index] == name)
+         return "1";
+       var data = params[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     var cookies = document.cookie.split("; ");
+     for (var index = 0; index < cookies.length; index++) {
+       var data = cookies[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     return null;
+   }
+   function load(script) {
+     var e = document.createElement('script');
+     e.setAttribute('src', 'http://www.whatwg.org/specs/web-apps/current-work/' + script + '?' + encodeURIComponent(location) + '&' + encodeURIComponent(document.referrer));
+     document.body.appendChild(e);
+   }
+   function init() {
+     if (location.search == '?slow-browser')
+       return;
+     var configUI = document.createElement('div');
+     configUI.id = 'configUI';
+     document.body.appendChild(configUI);
+     // load('reviewer.js'); // would need cross-site XHR
+     if (document.getElementById('head'))
+       load('toc.js');
+     
+     // load('updater.js'); // would need cross-site XHR
+     load('dfn.js');
+     // load('status.js'); // would need cross-site XHR
+     if (getCookie('profile') == '1')
+       document.getElementsByTagName('h2')[0].textContent += '; load: ' + (new Date() - loadTimer) + 'ms';
+     fixBrokenLink();
+   }
+  </script><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><link href="sections.html" title="4.4 Sections" 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(); init()"><div class="head" id="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 (Author Edition)</h1>
+   </div><div>
+   <a href="sections.html">&#8592; 4.4 Sections</a> &#8211;
+   <a href="Overview.html#contents">Table of contents</a> &#8211;
+   <a href="text-level-semantics.html">4.6 Text-level semantics &#8594;</a>
+  <ol class="toc"><li><ol><li><a href="grouping-content.html#grouping-content"><span class="secno">4.5 </span>Grouping content</a>
+    <ol><li><a href="grouping-content.html#the-p-element"><span class="secno">4.5.1 </span>The <code>p</code> element</a></li><li><a href="grouping-content.html#the-hr-element"><span class="secno">4.5.2 </span>The <code>hr</code> element</a></li><li><a href="grouping-content.html#the-br-element"><span class="secno">4.5.3 </span>The <code>br</code> element</a></li><li><a href="grouping-content.html#the-pre-element"><span class="secno">4.5.4 </span>The <code>pre</code> element</a></li><li><a href="grouping-content.html#the-blockquote-element"><span class="secno">4.5.5 </span>The <code>blockquote</code> element</a></li><li><a href="grouping-content.html#the-ol-element"><span class="secno">4.5.6 </span>The <code>ol</code> element</a></li><li><a href="grouping-content.html#the-ul-element"><span class="secno">4.5.7 </span>The <code>ul</code> element</a></li><li><a href="grouping-content.html#the-li-element"><span class="secno">4.5.8 </span>The <code>li</code> element</a></li><li><a href="grouping-content.html#th-dl-element"><span class="secno">4.5.9 </span>The <code>dl</code> element</a></li><li><a href="grouping-content.html#the-dt-element"><span class="secno">4.5.10 </span>The <code>dt</code> element</a></li><li><a href="grouping-content.html#the-dd-element"><span class="secno">4.5.11 </span>The <code>dd</code> element</a></li><li><a href="grouping-content.html#the-div-element"><span class="secno">4.5.12 </span>The <code>div</code> element</a></li></ol></li></ol></li></ol></div>
+
+  <h3 id="grouping-content"><span class="secno">4.5 </span>Grouping content</h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><h4 id="the-p-element"><span class="secno">4.5.1 </span>The <dfn><code>p</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="content-models.html#flow-content">Flow content</a>.</dd>
+   <dd><a href="dnd.html#formatblock-candidate"><code title="">formatBlock</code> candidate</a>.</dd>
+   <dt>Contexts in which this element may be used:</dt>
+   <dd>Where <a href="content-models.html#flow-content">flow content</a> is expected.</dd>
+   <dt>Content model:</dt>
+   <dd><a href="content-models.html#phrasing-content">Phrasing content</a>.</dd>
+   <dt>Content attributes:</dt>
+   <dd><a href="elements.html#global-attributes">Global attributes</a></dd>
+   <dt>DOM interface:</dt>
+   <dd>
+    <pre class="idl">interface <dfn id="htmlparagraphelement">HTMLParagraphElement</dfn> : <a href="elements.html#htmlelement">HTMLElement</a> {};</pre>
+   </dd>
+  </dl><p>The <code><a href="#the-p-element">p</a></code> element <a href="#represents">represents</a> a
+  <a href="content-models.html#paragraph">paragraph</a>.</p><div class="example">
+   <p>The following examples are conforming HTML fragments:</p>
+   <pre>&lt;p&gt;The little kitten gently seated himself on a piece of
+carpet. Later in his life, this would be referred to as the time the
+cat sat on the mat.&lt;/p&gt;</pre>
+   <pre>&lt;fieldset&gt;
+ &lt;legend&gt;Personal information&lt;/legend&gt;
+ &lt;p&gt;
+   &lt;label&gt;Name: &lt;input name="n"&gt;&lt;/label&gt;
+   &lt;label&gt;&lt;input name="anon" type="checkbox"&gt; Hide from other users&lt;/label&gt;
+ &lt;/p&gt;
+ &lt;p&gt;&lt;label&gt;Address: &lt;textarea name="a"&gt;&lt;/textarea&gt;&lt;/label&gt;&lt;/p&gt;
+&lt;/fieldset&gt;</pre>
+   <pre>&lt;p&gt;There was once an example from Femley,&lt;br&gt;
+Whose markup was of dubious quality.&lt;br&gt;
+The validator complained,&lt;br&gt;
+So the author was pained,&lt;br&gt;
+To move the error from the markup to the rhyming.&lt;/p&gt;</pre>
+  </div><p>The <code><a href="#the-p-element">p</a></code> element should not be used when a more
+  specific element is more appropriate.</p><div class="example">
+
+   <p>The following example is technically correct:</p>
+
+<pre>&lt;section&gt;
+ &lt;!-- ... --&gt;
+ &lt;p&gt;Last modified: 2001-04-23&lt;/p&gt;
+ &lt;p&gt;Author: fred@example.com&lt;/p&gt;
+&lt;/section&gt;</pre>
+
+   <p>However, it would be better marked-up as:</p>
+
+<pre>&lt;section&gt;
+ &lt;!-- ... --&gt;
+ &lt;footer&gt;Last modified: 2001-04-23&lt;/footer&gt;
+ &lt;address&gt;Author: fred@example.com&lt;/address&gt;
+&lt;/section&gt;</pre>
+
+   <p>Or:</p>
+
+<pre>&lt;section&gt;
+ &lt;!-- ... --&gt;
+ &lt;footer&gt;
+  &lt;p&gt;Last modified: 2001-04-23&lt;/p&gt;
+  &lt;address&gt;Author: fred@example.com&lt;/address&gt;
+ &lt;/footer&gt;
+&lt;/section&gt;</pre>
+
+  </div><h4 id="the-hr-element"><span class="secno">4.5.2 </span>The <dfn><code>hr</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="content-models.html#flow-content">Flow content</a>.</dd>
+   <dt>Contexts in which this element may be used:</dt>
+   <dd>Where <a href="content-models.html#flow-content">flow content</a> is expected.</dd>
+   <dt>Content model:</dt>
+   <dd>Empty.</dd>
+   <dt>Content attributes:</dt>
+   <dd><a href="elements.html#global-attributes">Global attributes</a></dd>
+   <dt>DOM interface:</dt>
+   <dd>
+    <pre class="idl">interface <dfn id="htmlhrelement">HTMLHRElement</dfn> : <a href="elements.html#htmlelement">HTMLElement</a> {};</pre>
+   </dd>
+  </dl><p>The <code><a href="#the-hr-element">hr</a></code> element <a href="#represents">represents</a> a
+  <a href="content-models.html#paragraph">paragraph</a>-level thematic break, e.g. a scene change in
+  a story, or a transition to another topic within a section of a
+  reference book.</p><div class="example">
+
+   <p>The following extract from <cite>Pandora's Star</cite> by Peter
+   F. Hamilton shows two paragraphs that precede a scene change and
+   the paragraph that follows it. The scene change, represented in the
+   printed book by a gap containing a solitary centered star between
+   the second and third paragraphs, is here represented using the
+   <code><a href="#the-hr-element">hr</a></code> element.</p>
+
+   <!-- ISBN 1-4050-0020-1; bottom of page 14 -->
+
+   <pre lang="en-GB">&lt;p&gt;Dudley was ninety-two, in his second life, and fast approaching
+time for another rejuvenation. Despite his body having the physical
+age of a standard fifty-year-old, the prospect of a long degrading
+campaign within academia was one he regarded with dread. For a
+supposedly advanced civilization, the Intersolar Commonwearth could be
+appallingly backward at times, not to mention cruel.&lt;/p&gt;
+&lt;p&gt;&lt;i&gt;Maybe it won't be that bad&lt;/i&gt;, he told himself. The lie was
+comforting enough to get him through the rest of the night's
+shift.&lt;/p&gt;
+<strong>&lt;hr&gt;</strong>
+&lt;p&gt;The Carlton AllLander drove Dudley home just after dawn. Like the
+astronomer, the vehicle was old and worn, but perfectly capable of
+doing its job. It had a cheap diesel engine, common enough on a
+semi-frontier world like Gralmond, although its drive array was a
+thoroughly modern photoneural processor. With its high suspension and
+deep-tread tyres it could plough along the dirt track to the
+observatory in all weather and seasons, including the metre-deep snow
+of Gralmond's winters.&lt;/p&gt;</pre>
+
+  </div><h4 id="the-br-element"><span class="secno">4.5.3 </span>The <dfn><code>br</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="content-models.html#flow-content">Flow content</a>.</dd>
+   <dd><a href="content-models.html#phrasing-content">Phrasing content</a>.</dd>
+   <dt>Contexts in which this element may be used:</dt>
+   <dd>Where <a href="content-models.html#phrasing-content">phrasing content</a> is expected.</dd>
+   <dt>Content model:</dt>
+   <dd>Empty.</dd>
+   <dt>Content attributes:</dt>
+   <dd><a href="elements.html#global-attributes">Global attributes</a></dd>
+   <dt>DOM interface:</dt>
+   <dd>
+    <pre class="idl">interface <dfn id="htmlbrelement">HTMLBRElement</dfn> : <a href="elements.html#htmlelement">HTMLElement</a> {};</pre>
+   </dd>
+  </dl><p>The <code><a href="#the-br-element">br</a></code> element <a href="#represents">represents</a> a line
+  break.</p><p><code><a href="#the-br-element">br</a></code> elements must be used only for line breaks that
+  are actually part of the content, as in poems or addresses.</p><div class="example">
+
+  <p>The following example is correct usage of the <code><a href="#the-br-element">br</a></code>
+  element:</p>
+
+   <pre>&lt;p&gt;P. Sherman&lt;br&gt;
+42 Wallaby Way&lt;br&gt;
+Sydney&lt;/p&gt;</pre>
+
+  </div><p><code><a href="#the-br-element">br</a></code> elements must not be used for separating thematic
+  groups in a paragraph.</p><div class="example">
+
+   <p>The following examples are non-conforming, as they abuse the
+   <code><a href="#the-br-element">br</a></code> element:</p>
+
+   <pre>&lt;p&gt;&lt;a ...&gt;34 comments.&lt;/a&gt;&lt;br&gt;
+&lt;a ...&gt;Add a comment.&lt;/a&gt;&lt;/p&gt;</pre>
+
+   <pre>&lt;p&gt;&lt;label&gt;Name: &lt;input name="name"&gt;&lt;/label&gt;&lt;br&gt;
+&lt;label&gt;Address: &lt;input name="address"&gt;&lt;/label&gt;&lt;/p&gt;</pre>
+
+   <p>Here are alternatives to the above, which are correct:</p>
+
+   <pre>&lt;p&gt;&lt;a ...&gt;34 comments.&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;&lt;a ...&gt;Add a comment.&lt;/a&gt;&lt;/p&gt;</pre>
+
+   <pre>&lt;p&gt;&lt;label&gt;Name: &lt;input name="name"&gt;&lt;/label&gt;&lt;/p&gt;
+&lt;p&gt;&lt;label&gt;Address: &lt;input name="address"&gt;&lt;/label&gt;&lt;/p&gt;</pre>
+
+  </div><p>If a <a href="content-models.html#paragraph">paragraph</a> consists of nothing but a single
+  <code><a href="#the-br-element">br</a></code> element, it represents a placeholder blank line
+  (e.g. as in a template). Such blank lines must not be used for
+  presentation purposes.</p><h4 id="the-pre-element"><span class="secno">4.5.4 </span>The <dfn><code>pre</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="content-models.html#flow-content">Flow content</a>.</dd>
+   <dd><a href="dnd.html#formatblock-candidate"><code title="">formatBlock</code> candidate</a>.</dd>
+   <dt>Contexts in which this element may be used:</dt>
+   <dd>Where <a href="content-models.html#flow-content">flow content</a> is expected.</dd>
+   <dt>Content model:</dt>
+   <dd><a href="content-models.html#phrasing-content">Phrasing content</a>.</dd>
+   <dt>Content attributes:</dt>
+   <dd><a href="elements.html#global-attributes">Global attributes</a></dd>
+   <dt>DOM interface:</dt>
+   <dd>
+    <pre class="idl">interface <dfn id="htmlpreelement">HTMLPreElement</dfn> : <a href="elements.html#htmlelement">HTMLElement</a> {};</pre>
+   </dd>
+  </dl><p>The <code><a href="#the-pre-element">pre</a></code> element <a href="#represents">represents</a> a block of
+  preformatted text, in which structure is represented by typographic
+  conventions rather than by elements.</p><p class="note">In <a href="syntax.html#syntax">the HTML syntax</a>, a leading
+  newline character immediately following the <code><a href="#the-pre-element">pre</a></code> element
+  start tag is stripped.</p><p>Some examples of cases where the <code><a href="#the-pre-element">pre</a></code> element could
+  be used:</p><ul><li>Including an e-mail, with paragraphs indicated by blank lines,
+   lists indicated by lines prefixed with a bullet, and so on.</li>
+
+   <li>Including fragments of computer code, with structure indicated
+   according to the conventions of that language.</li>
+
+   <li>Displaying ASCII art.</li>
+
+  </ul><p class="note">Authors are encouraged to consider how preformatted
+  text will be experienced when the formatting is lost, as will be the
+  case for users of speech synthesizers, braille displays, and the
+  like. For cases like ASCII art, it is likely that an alternative
+  presentation, such as a textual description, would be more
+  universally accessible to the readers of the document.</p><p>To represent a block of computer code, the <code><a href="#the-pre-element">pre</a></code>
+  element can be used with a <code><a href="text-level-semantics.html#the-code-element">code</a></code> element; to represent a
+  block of computer output the <code><a href="#the-pre-element">pre</a></code> element can be used
+  with a <code><a href="text-level-semantics.html#the-samp-element">samp</a></code> element. Similarly, the <code><a href="text-level-semantics.html#the-kbd-element">kbd</a></code>
+  element can be used within a <code><a href="#the-pre-element">pre</a></code> element to indicate
+  text that the user is to enter.</p><div class="example">
+
+   <p>In the following snippet, a sample of computer code is
+   presented.</p>
+
+   <pre>&lt;p&gt;This is the &lt;code&gt;Panel&lt;/code&gt; constructor:&lt;/p&gt;
+&lt;pre&gt;&lt;code&gt;function Panel(element, canClose, closeHandler) {
+  this.element = element;
+  this.canClose = canClose;
+  this.closeHandler = function () { if (closeHandler) closeHandler() };
+}&lt;/code&gt;&lt;/pre&gt;</pre>
+
+  </div><div class="example">
+
+   <p>In the following snippet, <code><a href="text-level-semantics.html#the-samp-element">samp</a></code> and <code><a href="text-level-semantics.html#the-kbd-element">kbd</a></code>
+   elements are mixed in the contents of a <code><a href="#the-pre-element">pre</a></code> element to
+   show a session of Zork I.</p>
+
+   <pre>&lt;pre&gt;&lt;samp&gt;You are in an open field west of a big white house with a boarded
+front door.
+There is a small mailbox here.
+
+&gt;&lt;/samp&gt; &lt;kbd&gt;open mailbox&lt;/kbd&gt;
+
+&lt;samp&gt;Opening the mailbox reveals:
+A leaflet.
+
+&gt;&lt;/samp&gt;&lt;/pre&gt;</pre>
+
+  </div><div class="example">
+
+   <p>The following shows a contemporary poem that uses the
+   <code><a href="#the-pre-element">pre</a></code> element to preserve its unusual formatting, which
+   forms an intrinsic part of the poem itself.</p>
+
+   <pre>&lt;pre&gt;                maxling
+
+it is with a          heart
+               heavy
+
+that i admit loss of a feline
+        so           loved
+
+a friend lost to the
+        unknown
+                                (night)
+
+~cdr 11dec07&lt;/pre&gt;</pre>
+
+  </div><h4 id="the-blockquote-element"><span class="secno">4.5.5 </span>The <dfn><code>blockquote</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="content-models.html#flow-content">Flow content</a>.</dd>
+   <dd><a href="sections.html#sectioning-root">Sectioning root</a>.</dd>
+   <dd><a href="dnd.html#formatblock-candidate"><code title="">formatBlock</code> candidate</a>.</dd>
+   <dt>Contexts in which this element may be used:</dt>
+   <dd>Where <a href="content-models.html#flow-content">flow content</a> is expected.</dd>
+   <dt>Content model:</dt>
+   <dd><a href="content-models.html#flow-content">Flow content</a>.</dd>
+   <dt>Content attributes:</dt>
+   <dd><a href="elements.html#global-attributes">Global attributes</a></dd>
+   <dd><code title="attr-blockquote-cite"><a href="#attr-blockquote-cite">cite</a></code></dd>
+   <dt>DOM interface:</dt>
+   <dd>
+<pre class="idl">interface <dfn id="htmlquoteelement">HTMLQuoteElement</dfn> : <a href="elements.html#htmlelement">HTMLElement</a> {
+           attribute DOMString <a href="#dom-quote-cite" title="dom-quote-cite">cite</a>;
+};</pre>
+    <p class="note">The <code><a href="#htmlquoteelement">HTMLQuoteElement</a></code> interface is
+    also used by the <code><a href="text-level-semantics.html#the-q-element">q</a></code> element.</p>
+   </dd>
+  </dl><p>The <code><a href="#the-blockquote-element">blockquote</a></code> element <a href="#represents">represents</a> a
+  section that is quoted from another source.</p><p>Content inside a <code><a href="#the-blockquote-element">blockquote</a></code> must be quoted from
+  another source, whose address, if it has one, should be cited in the
+  <dfn id="attr-blockquote-cite" title="attr-blockquote-cite"><code>cite</code></dfn>
+  attribute.</p><p>If the <code title="attr-blockquote-cite"><a href="#attr-blockquote-cite">cite</a></code> attribute
+  is present, it must be a <a href="urls.html#valid-url">valid URL</a>. </p><div class="example">
+
+   <p>This next example shows the use of <code><a href="text-level-semantics.html#the-cite-element">cite</a></code> alongside
+   <code><a href="#the-blockquote-element">blockquote</a></code>:</p>
+
+   <pre>&lt;p&gt;His next piece was the aptly named &lt;cite&gt;Sonnet 130&lt;/cite&gt;:&lt;/p&gt;
+&lt;blockquote cite="http://quotes.example.org/s/sonnet130.html"&gt;
+  &lt;p&gt;My mistress' eyes are nothing like the sun,&lt;br&gt;
+  Coral is far more red, than her lips red,&lt;br&gt;
+  ...</pre>
+
+  </div><div class="example">
+
+   <p>This example shows how a forum post could use
+   <code><a href="#the-blockquote-element">blockquote</a></code> to show what post a user is replying
+   to. The <code><a href="sections.html#the-article-element">article</a></code> element is used for each post, to mark
+   up the threading.</p>
+
+   <pre>&lt;article&gt;
+ &lt;h1&gt;&lt;a href="http://bacon.example.com/?blog=109431"&gt;Bacon on a crowbar&lt;/a&gt;&lt;/h1&gt;
+ &lt;article&gt;
+  &lt;header&gt;&lt;strong&gt;t3yw&lt;/strong&gt; 12 points 1 hour ago&lt;/header&gt;
+  &lt;p&gt;I bet a narwhal would love that.&lt;/p&gt;
+  &lt;footer&gt;&lt;a href="?pid=29578"&gt;permalink&lt;/a&gt;&lt;/footer&gt;
+  &lt;article&gt;
+   &lt;header&gt;&lt;strong&gt;greg&lt;/strong&gt; 8 points 1 hour ago&lt;/header&gt;
+   &lt;blockquote&gt;&lt;p&gt;I bet a narwhal would love that.&lt;/p&gt;&lt;/blockquote&gt;
+   &lt;p&gt;Dude narwhals don't eat bacon.&lt;/p&gt;
+   &lt;footer&gt;&lt;a href="?pid=29579"&gt;permalink&lt;/a&gt;&lt;/footer&gt;
+   &lt;article&gt;
+    &lt;header&gt;&lt;strong&gt;t3yw&lt;/strong&gt; 15 points 1 hour ago&lt;/header&gt;
+    &lt;blockquote&gt;
+     &lt;blockquote&gt;&lt;p&gt;I bet a narwhal would love that.&lt;/p&gt;&lt;/blockquote&gt;
+     &lt;p&gt;Dude narwhals don't eat bacon.&lt;/p&gt;
+    &lt;/blockquote&gt;
+    &lt;p&gt;Next thing you'll be saying they don't get capes and wizard
+    hats either!&lt;/p&gt;
+    &lt;footer&gt;&lt;a href="?pid=29580"&gt;permalink&lt;/a&gt;&lt;/footer&gt;
+    &lt;article&gt;
+     &lt;article&gt;
+      &lt;header&gt;&lt;strong&gt;boing&lt;/strong&gt; -5 points 1 hour ago&lt;/header&gt;
+      &lt;p&gt;narwhals are worse than ceiling cat&lt;/p&gt;
+      &lt;footer&gt;&lt;a href="?pid=29581"&gt;permalink&lt;/a&gt;&lt;/footer&gt;
+     &lt;/article&gt;
+    &lt;/article&gt;
+   &lt;/article&gt;
+  &lt;/article&gt;
+  &lt;article&gt;
+   &lt;header&gt;&lt;strong&gt;fred&lt;/strong&gt; 1 points 23 minutes ago&lt;/header&gt;
+   &lt;blockquote&gt;&lt;p&gt;I bet a narwhal would love that.&lt;/p&gt;&lt;/blockquote&gt;
+   &lt;p&gt;I bet they'd love to peel a banana too.&lt;/p&gt;
+   &lt;footer&gt;&lt;a href="?pid=29582"&gt;permalink&lt;/a&gt;&lt;/footer&gt;
+  &lt;/article&gt;
+ &lt;/article&gt;
+&lt;/article&gt;</pre>
+
+  </div><p class="note"><a href="commands.html#conversations">Examples of how to
+  represent a conversation</a> are shown in a later section; it is not
+  appropriate to use the <code><a href="text-level-semantics.html#the-cite-element">cite</a></code> and <code><a href="#the-blockquote-element">blockquote</a></code>
+  elements for this purpose.</p><h4 id="the-ol-element"><span class="secno">4.5.6 </span>The <dfn><code>ol</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="content-models.html#flow-content">Flow content</a>.</dd>
+   <dt>Contexts in which this element may be used:</dt>
+   <dd>Where <a href="content-models.html#flow-content">flow content</a> is expected.</dd>
+   <dt>Content model:</dt>
+   <dd>Zero or more <code><a href="#the-li-element">li</a></code> elements.</dd>
+   <dt>Content attributes:</dt>
+   <dd><a href="elements.html#global-attributes">Global attributes</a></dd>
+   <dd><code title="attr-ol-reversed"><a href="#attr-ol-reversed">reversed</a></code></dd>
+   <dd><code title="attr-ol-start"><a href="#attr-ol-start">start</a></code></dd>
+   <dt>DOM interface:</dt>
+   <dd>
+<pre class="idl">interface <dfn id="htmlolistelement">HTMLOListElement</dfn> : <a href="elements.html#htmlelement">HTMLElement</a> {
+           attribute boolean <a href="#dom-ol-reversed" title="dom-ol-reversed">reversed</a>;
+           attribute long <a href="#dom-ol-start" title="dom-ol-start">start</a>;
+};</pre>
+   </dd>
+  </dl><p>The <code><a href="#the-ol-element">ol</a></code> element <a href="#represents">represents</a> a list of
+  items, where the items have been intentionally ordered, such that
+  changing the order would change the meaning of the document.</p><p>The items of the list are the <code><a href="#the-li-element">li</a></code> element child nodes
+  of the <code><a href="#the-ol-element">ol</a></code> element, in <a href="infrastructure.html#tree-order">tree order</a>.</p><p>The <dfn id="attr-ol-reversed" title="attr-ol-reversed"><code>reversed</code></dfn>
+  attribute is a <a href="common-microsyntaxes.html#boolean-attribute">boolean attribute</a>. If present, it
+  indicates that the list is a descending list (..., 3, 2, 1). If the
+  attribute is omitted, the list is an ascending list (1, 2, 3,
+  ...).</p><p>The <dfn id="attr-ol-start" title="attr-ol-start"><code>start</code></dfn>
+  attribute, if present, must be a <a href="common-microsyntaxes.html#valid-integer">valid integer</a> giving
+  the ordinal value of the first list item.</p><!-- v2: resuming numbering of lists from previous lists? --><div class="example">
+
+   <p>The following markup shows a list where the order matters, and
+   where the <code><a href="#the-ol-element">ol</a></code> element is therefore appropriate. Compare
+   this list to the equivalent list in the <code><a href="#the-ul-element">ul</a></code> section to
+   see an example of the same items using the <code><a href="#the-ul-element">ul</a></code>
+   element.</p>
+
+   <pre>&lt;p&gt;I have lived in the following countries (given in the order of when
+I first lived there):&lt;/p&gt;
+&lt;ol&gt;
+ &lt;li&gt;Switzerland
+ &lt;li&gt;United Kingdom
+ &lt;li&gt;United States
+ &lt;li&gt;Norway
+&lt;/ol&gt;</pre>
+
+   <p>Note how changing the order of the list changes the meaning of
+   the document. In the following example, changing the relative order
+   of the first two items has changed the birthplace of the
+   author:</p>
+
+   <pre>&lt;p&gt;I have lived in the following countries (given in the order of when
+I first lived there):&lt;/p&gt;
+&lt;ol&gt;
+ &lt;li&gt;United Kingdom
+ &lt;li&gt;Switzerland
+ &lt;li&gt;United States
+ &lt;li&gt;Norway
+&lt;/ol&gt;</pre>
+
+  </div><h4 id="the-ul-element"><span class="secno">4.5.7 </span>The <dfn><code>ul</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="content-models.html#flow-content">Flow content</a>.</dd>
+   <dt>Contexts in which this element may be used:</dt>
+   <dd>Where <a href="content-models.html#flow-content">flow content</a> is expected.</dd>
+   <dt>Content model:</dt>
+   <dd>Zero or more <code><a href="#the-li-element">li</a></code> elements.</dd>
+   <dt>Content attributes:</dt>
+   <dd><a href="elements.html#global-attributes">Global attributes</a></dd>
+   <dt>DOM interface:</dt>
+   <dd>
+    <pre class="idl">interface <dfn id="htmlulistelement">HTMLUListElement</dfn> : <a href="elements.html#htmlelement">HTMLElement</a> {};</pre>
+   </dd>
+  </dl><p>The <code><a href="#the-ul-element">ul</a></code> element <a href="#represents">represents</a> a list of
+  items, where the order of the items is not important &#8212; that
+  is, where changing the order would not materially change the meaning
+  of the document.</p><p>The items of the list are the <code><a href="#the-li-element">li</a></code> element child nodes
+  of the <code><a href="#the-ul-element">ul</a></code> element.</p><div class="example">
+
+   <p>The following markup shows a list where the order does not
+   matter, and where the <code><a href="#the-ul-element">ul</a></code> element is therefore
+   appropriate. Compare this list to the equivalent list in the
+   <code><a href="#the-ol-element">ol</a></code> section to see an example of the same items using
+   the <code><a href="#the-ol-element">ol</a></code> element.</p>
+
+   <pre>&lt;p&gt;I have lived in the following countries:&lt;/p&gt;
+&lt;ul&gt;
+ &lt;li&gt;Norway
+ &lt;li&gt;Switzerland
+ &lt;li&gt;United Kingdom
+ &lt;li&gt;United States
+&lt;/ul&gt;</pre>
+
+   <p>Note that changing the order of the list does not change the
+   meaning of the document. The items in the snippet above are given
+   in alphabetical order, but in the snippet below they are given in
+   order of the size of their current account balance in 2007, without
+   changing the meaning of the document whatsoever:</p>
+
+   <pre>&lt;p&gt;I have lived in the following countries:&lt;/p&gt;
+&lt;ul&gt;
+ &lt;li&gt;Switzerland
+ &lt;li&gt;Norway
+ &lt;li&gt;United Kingdom
+ &lt;li&gt;United States
+&lt;/ul&gt;</pre>
+
+  </div><h4 id="the-li-element"><span class="secno">4.5.8 </span>The <dfn><code>li</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>None.</dd>
+   <dt>Contexts in which this element may be used:</dt>
+   <dd>Inside <code><a href="#the-ol-element">ol</a></code> elements.</dd>
+   <dd>Inside <code><a href="#the-ul-element">ul</a></code> elements.</dd>
+   <dd>Inside <code><a href="interactive-elements.html#menus">menu</a></code> elements.</dd>
+   <dt>Content model:</dt>
+   <dd><a href="content-models.html#flow-content">Flow content</a>.</dd>
+   <dt>Content attributes:</dt>
+   <dd><a href="elements.html#global-attributes">Global attributes</a></dd>
+   <dd>If the element is a child of an <code><a href="#the-ol-element">ol</a></code> element: <code title="attr-li-value"><a href="#attr-li-value">value</a></code></dd>
+   <dt>DOM interface:</dt>
+   <dd>
+<pre class="idl">interface <dfn id="htmllielement">HTMLLIElement</dfn> : <a href="elements.html#htmlelement">HTMLElement</a> {
+           attribute long <a href="#dom-li-value" title="dom-li-value">value</a>;
+};</pre>
+   </dd>
+  </dl><p>The <code><a href="#the-li-element">li</a></code> element <a href="#represents">represents</a> a list
+  item. If its parent element is an <code><a href="#the-ol-element">ol</a></code>, <code><a href="#the-ul-element">ul</a></code>,
+  or <code><a href="interactive-elements.html#menus">menu</a></code> element, then the element is an item of the
+  parent element's list, as defined for those elements. Otherwise, the
+  list item has no defined list-related relationship to any other
+  <code><a href="#the-li-element">li</a></code> element.</p><p>The <dfn id="attr-li-value" title="attr-li-value"><code>value</code></dfn>
+  attribute, if present, must be a <a href="common-microsyntaxes.html#valid-integer">valid integer</a> giving
+  the ordinal value of the list item.</p><div class="example">
+   <p>The following example, the top ten movies are listed (in reverse
+   order). Note the way the list is given a title by using a
+   <code><a href="embedded-content-1.html#the-figure-element">figure</a></code> element and its <code><a href="#the-dt-element">dt</a></code> element.</p>
+   <pre>&lt;figure&gt;
+ &lt;dt&gt;The top 10 movies of all time&lt;/dt&gt;
+ &lt;dd&gt;
+  &lt;ol&gt;
+   &lt;li value="10"&gt;&lt;cite&gt;Josie and the Pussycats&lt;/cite&gt;, 2001&lt;/li&gt;
+   &lt;li value="9"&gt;&lt;cite lang="sh"&gt;&#1062;&#1088;&#1085;&#1072; &#1084;&#1072;&#1095;&#1082;&#1072;, &#1073;&#1077;&#1083;&#1080; &#1084;&#1072;&#1095;&#1086;&#1088;&lt;/cite&gt;, 1998&lt;/li&gt;
+   &lt;li value="8"&gt;&lt;cite&gt;A Bug's Life&lt;/cite&gt;, 1998&lt;/li&gt;
+   &lt;li value="7"&gt;&lt;cite&gt;Toy Story&lt;/cite&gt;, 1995&lt;/li&gt;
+   &lt;li value="6"&gt;&lt;cite&gt;Monsters, Inc&lt;/cite&gt;, 2001&lt;/li&gt;
+   &lt;li value="5"&gt;&lt;cite&gt;Cars&lt;/cite&gt;, 2006&lt;/li&gt;
+   &lt;li value="4"&gt;&lt;cite&gt;Toy Story 2&lt;/cite&gt;, 1999&lt;/li&gt;
+   &lt;li value="3"&gt;&lt;cite&gt;Finding Nemo&lt;/cite&gt;, 2003&lt;/li&gt;
+   &lt;li value="2"&gt;&lt;cite&gt;The Incredibles&lt;/cite&gt;, 2004&lt;/li&gt;
+   &lt;li value="1"&gt;&lt;cite&gt;Ratatouille&lt;/cite&gt;, 2007&lt;/li&gt;
+  &lt;/ol&gt;
+ &lt;dd&gt;
+&lt;/figure&gt;</pre>
+
+   <p>The markup could also be written as follows, using the <code title="attr-ol-reversed"><a href="#attr-ol-reversed">reversed</a></code> attribute on the
+   <code><a href="#the-ol-element">ol</a></code> element:</p>
+
+   <pre>&lt;figure&gt;
+ &lt;dt&gt;The top 10 movies of all time&lt;/dt&gt;
+ &lt;dd&gt;
+  &lt;ol reversed&gt;
+   &lt;li&gt;&lt;cite&gt;Josie and the Pussycats&lt;/cite&gt;, 2001&lt;/li&gt;
+   &lt;li&gt;&lt;cite lang="sh"&gt;&#1062;&#1088;&#1085;&#1072; &#1084;&#1072;&#1095;&#1082;&#1072;, &#1073;&#1077;&#1083;&#1080; &#1084;&#1072;&#1095;&#1086;&#1088;&lt;/cite&gt;, 1998&lt;/li&gt;
+   &lt;li&gt;&lt;cite&gt;A Bug's Life&lt;/cite&gt;, 1998&lt;/li&gt;
+   &lt;li&gt;&lt;cite&gt;Toy Story&lt;/cite&gt;, 1995&lt;/li&gt;
+   &lt;li&gt;&lt;cite&gt;Monsters, Inc&lt;/cite&gt;, 2001&lt;/li&gt;
+   &lt;li&gt;&lt;cite&gt;Cars&lt;/cite&gt;, 2006&lt;/li&gt;
+   &lt;li&gt;&lt;cite&gt;Toy Story 2&lt;/cite&gt;, 1999&lt;/li&gt;
+   &lt;li&gt;&lt;cite&gt;Finding Nemo&lt;/cite&gt;, 2003&lt;/li&gt;
+   &lt;li&gt;&lt;cite&gt;The Incredibles&lt;/cite&gt;, 2004&lt;/li&gt;
+   &lt;li&gt;&lt;cite&gt;Ratatouille&lt;/cite&gt;, 2007&lt;/li&gt;
+  &lt;/ol&gt;
+ &lt;/dd&gt;
+&lt;/figure&gt;</pre>
+  </div><p class="note">If the <code><a href="#the-li-element">li</a></code> element is the child of a
+  <code><a href="interactive-elements.html#menus">menu</a></code> element and itself has a child that defines a
+  <a href="commands.html#concept-command" title="concept-command">command</a>, then the
+  <code><a href="#the-li-element">li</a></code> element will match the <code title="selector-enabled"><a href="#selector-enabled">:enabled</a></code> and <code title="selector-disabled"><a href="#selector-disabled">:disabled</a></code> pseudo-classes in the
+  same way as the first such child element does.</p><h4 id="the-dl-element"><span class="secno">4.5.9 </span>The <dfn><code>dl</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="content-models.html#flow-content">Flow content</a>.</dd>
+   <dt>Contexts in which this element may be used:</dt>
+   <dd>Where <a href="content-models.html#flow-content">flow content</a> is expected.</dd>
+   <dt>Content model:</dt>
+   <dd>Zero or more groups each consisting of one or more
+   <code><a href="#the-dt-element">dt</a></code> elements followed by one or more <code><a href="#the-dd-element">dd</a></code>
+   elements.</dd>
+   <dt>Content attributes:</dt>
+   <dd><a href="elements.html#global-attributes">Global attributes</a></dd>
+   <dt>DOM interface:</dt>
+   <dd>
+    <pre class="idl">interface <dfn id="htmldlistelement">HTMLDListElement</dfn> : <a href="elements.html#htmlelement">HTMLElement</a> {};</pre>
+   </dd>
+  </dl><p>The <code><a href="#the-dl-element">dl</a></code> element <a href="#represents">represents</a> an
+  association list consisting of zero or more name-value groups (a
+  description list). Each group must consist of one or more names
+  (<code><a href="#the-dt-element">dt</a></code> elements) followed by one or more values
+  (<code><a href="#the-dd-element">dd</a></code> elements). Within a single <code><a href="#the-dl-element">dl</a></code> element,
+  there should not be more than one <code><a href="#the-dt-element">dt</a></code> element for each
+  name.</p><p>Name-value groups may be terms and definitions, metadata topics
+  and values, or any other groups of name-value data.</p><p>The values within a group are alternatives; multiple paragraphs
+  forming part of the same value must all be given within the same
+  <code><a href="#the-dd-element">dd</a></code> element.</p><p>The order of the list of groups, and of the names and values
+  within each group, may be significant.</p><div class="example">
+   <p>In the following example, one entry ("Authors") is linked to two
+   values ("John" and "Luke").</p>
+   <pre>&lt;dl&gt;
+ &lt;dt&gt; Authors
+ &lt;dd&gt; John
+ &lt;dd&gt; Luke
+ &lt;dt&gt; Editor
+ &lt;dd&gt; Frank
+&lt;/dl&gt;</pre>
+  </div><div class="example">
+   <p>In the following example, one definition is linked to two
+   terms.</p>
+   <pre>&lt;dl&gt;
+ &lt;dt lang="en-US"&gt; &lt;dfn&gt;color&lt;/dfn&gt; &lt;/dt&gt;
+ &lt;dt lang="en-GB"&gt; &lt;dfn&gt;colour&lt;/dfn&gt; &lt;/dt&gt;
+ &lt;dd&gt; A sensation which (in humans) derives from the ability of
+ the fine structure of the eye to distinguish three differently
+ filtered analyses of a view. &lt;/dd&gt;
+&lt;/dl&gt;</pre>
+  </div><div class="example">
+   <p>The following example illustrates the use of the <code><a href="#the-dl-element">dl</a></code>
+   element to mark up metadata of sorts. At the end of the example,
+   one group has two metadata labels ("Authors" and "Editors") and two
+   values ("Robert Rothman" and "Daniel Jackson").</p>
+   <pre>&lt;dl&gt;
+ &lt;dt&gt; Last modified time &lt;/dt&gt;
+ &lt;dd&gt; 2004-12-23T23:33Z &lt;/dd&gt;
+ &lt;dt&gt; Recommended update interval &lt;/dt&gt;
+ &lt;dd&gt; 60s &lt;/dd&gt;
+ &lt;dt&gt; Authors &lt;/dt&gt;
+ &lt;dt&gt; Editors &lt;/dt&gt;
+ &lt;dd&gt; Robert Rothman &lt;/dd&gt;
+ &lt;dd&gt; Daniel Jackson &lt;/dd&gt;
+&lt;/dl&gt;</pre>
+  </div><div class="example">
+
+   <p>The following example shows the <code><a href="#the-dl-element">dl</a></code> element used to
+   give a set of instructions. The order of the instructions here is
+   important (in the other examples, the order of the blocks was not
+   important).</p>
+
+   <pre>&lt;p&gt;Determine the victory points as follows (use the
+first matching case):&lt;/p&gt;
+&lt;dl&gt;
+ &lt;dt&gt; If you have exactly five gold coins &lt;/dt&gt;
+ &lt;dd&gt; You get five victory points &lt;/dd&gt;
+ &lt;dt&gt; If you have one or more gold coins, and you have one or more silver coins &lt;/dt&gt;
+ &lt;dd&gt; You get two victory points &lt;/dd&gt;
+ &lt;dt&gt; If you have one or more silver coins &lt;/dt&gt;
+ &lt;dd&gt; You get one victory point &lt;/dd&gt;
+ &lt;dt&gt; Otherwise &lt;/dt&gt;
+ &lt;dd&gt; You get no victory points &lt;/dd&gt;
+&lt;/dl&gt;</pre>
+  </div><div class="example">
+   <p>The following snippet shows a <code><a href="#the-dl-element">dl</a></code> element being used
+   as a glossary. Note the use of <code><a href="text-level-semantics.html#the-dfn-element">dfn</a></code> to indicate the
+   word being defined.</p>
+   <pre>&lt;dl&gt;
+ &lt;dt&gt;&lt;dfn&gt;Apartment&lt;/dfn&gt;, n.&lt;/dt&gt;
+ &lt;dd&gt;An execution context grouping one or more threads with one or
+ more COM objects.&lt;/dd&gt;
+ &lt;dt&gt;&lt;dfn&gt;Flat&lt;/dfn&gt;, n.&lt;/dt&gt;
+ &lt;dd&gt;A deflated tire.&lt;/dd&gt;
+ &lt;dt&gt;&lt;dfn&gt;Home&lt;/dfn&gt;, n.&lt;/dt&gt;
+ &lt;dd&gt;The user's login directory.&lt;/dd&gt;
+&lt;/dl&gt;</pre>
+  </div><p class="note">The <code><a href="#the-dl-element">dl</a></code> element is inappropriate for
+  marking up dialogue. <a href="commands.html#conversations">Examples of how to
+  mark up dialogue</a> are shown below.</p><h4 id="the-dt-element"><span class="secno">4.5.10 </span>The <dfn><code>dt</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>None.</dd>
+   <dt>Contexts in which this element may be used:</dt>
+   <dd>Before <code><a href="#the-dd-element">dd</a></code> or <code><a href="#the-dt-element">dt</a></code> elements inside <code><a href="#the-dl-element">dl</a></code> elements.</dd>
+   <dd>In a <code><a href="embedded-content-1.html#the-figure-element">figure</a></code> element containing no other <code><a href="#the-dt-element">dt</a></code> element children.</dd>
+   <dd>As the first child of a <code><a href="interactive-elements.html#the-details-element">details</a></code> element.</dd>
+   <dt>Content model:</dt>
+   <dd>When the parent node is a <code><a href="embedded-content-1.html#the-figure-element">figure</a></code> element: <a href="content-models.html#flow-content">flow content</a>, but with no descendant <code><a href="embedded-content-1.html#the-figure-element">figure</a></code> elements.</dd>
+   <dd>Otherwise: <a href="content-models.html#phrasing-content">phrasing content</a>.</dd>   
+   <dt>Content attributes:</dt>
+   <dd><a href="elements.html#global-attributes">Global attributes</a></dd>
+   <dt>DOM interface:</dt>
+   <dd>Uses <code><a href="elements.html#htmlelement">HTMLElement</a></code>.</dd>
+  </dl><p>The <code><a href="#the-dt-element">dt</a></code> element <a href="#represents">represents</a> either: the
+  term, or name, part of a term-description group in a description
+  list (<code><a href="#the-dl-element">dl</a></code> element); or, the caption of a
+  <code><a href="embedded-content-1.html#the-figure-element">figure</a></code> element; or, the summary of a
+  <code><a href="interactive-elements.html#the-details-element">details</a></code> element.</p><p class="note">The <code><a href="#the-dt-element">dt</a></code> element itself, when used in a
+  <code><a href="#the-dl-element">dl</a></code> element, does not indicate that its contents are a
+  term being defined, but this can be indicated using the
+  <code><a href="text-level-semantics.html#the-dfn-element">dfn</a></code> element.</p><h4 id="the-dd-element"><span class="secno">4.5.11 </span>The <dfn><code>dd</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>None.</dd>
+   <dt>Contexts in which this element may be used:</dt>
+   <dd>After <code><a href="#the-dt-element">dt</a></code> or <code><a href="#the-dd-element">dd</a></code> elements inside <code><a href="#the-dl-element">dl</a></code> elements.</dd>
+   <dd>In a <code><a href="embedded-content-1.html#the-figure-element">figure</a></code> element containing no other <code><a href="#the-dd-element">dd</a></code> element children.</dd>
+   <dd>As the last child of a <code><a href="interactive-elements.html#the-details-element">details</a></code> element.</dd>
+   <dt>Content model:</dt>
+   <dd><a href="content-models.html#flow-content">Flow content</a>.</dd>
+   <dt>Content attributes:</dt>
+   <dd><a href="elements.html#global-attributes">Global attributes</a></dd>
+   <dt>DOM interface:</dt>
+   <dd>Uses <code><a href="elements.html#htmlelement">HTMLElement</a></code>.</dd>
+  </dl><p>The <code><a href="#the-dd-element">dd</a></code> element <a href="#represents">represents</a> either: the
+  description, definition, or value, part of a term-description group
+  in a description list (<code><a href="#the-dl-element">dl</a></code> element); or, the data of a
+  <code><a href="embedded-content-1.html#the-figure-element">figure</a></code> element; or, the details of a
+  <code><a href="interactive-elements.html#the-details-element">details</a></code> element.</p><div class="example">
+
+   <p>A <code><a href="#the-dl-element">dl</a></code> can be used to define a vocabulary list, like
+   in a dictionary. In the following example, each entry, given by a
+   <code><a href="#the-dt-element">dt</a></code> with a <code><a href="text-level-semantics.html#the-dfn-element">dfn</a></code>, has several
+   <code><a href="#the-dd-element">dd</a></code>s, showing the various parts of the definition.</p>
+
+   <!-- the actual pronunciations below are nonsense. -->
+   <pre>&lt;dl&gt;
+ &lt;dt&gt;&lt;dfn&gt;happiness&lt;/dfn&gt;&lt;/dt&gt;
+ &lt;dd class="pronunciation"&gt;/'h&#230; p. nes/&lt;/dd&gt;
+ &lt;dd class="part-of-speech"&gt;&lt;i&gt;&lt;abbr&gt;n.&lt;/abbr&gt;&lt;/i&gt;&lt;/dd&gt;
+ &lt;dd&gt;The state of being happy.&lt;/dd&gt;
+ &lt;dd&gt;Good fortune; success. &lt;q&gt;Oh &lt;b&gt;happiness&lt;/b&gt;! It worked!&lt;/q&gt;&lt;/dd&gt;
+ &lt;dt&gt;&lt;dfn&gt;rejoice&lt;/dfn&gt;&lt;/dt&gt;
+ &lt;dd class="pronunciation"&gt;/ri jois'/&lt;/dd&gt;
+ &lt;dd&gt;&lt;i class="part-of-speech"&gt;&lt;abbr&gt;v.intr.&lt;/abbr&gt;&lt;/i&gt; To be delighted oneself.&lt;/dd&gt;
+ &lt;dd&gt;&lt;i class="part-of-speech"&gt;&lt;abbr&gt;v.tr.&lt;/abbr&gt;&lt;/i&gt; To cause one to be delighted.&lt;/dd&gt;
+&lt;/dl&gt;</pre>
+  </div><h4 id="the-div-element"><span class="secno">4.5.12 </span>The <dfn><code>div</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="content-models.html#flow-content">Flow content</a>.</dd>
+   <dd><a href="dnd.html#formatblock-candidate"><code title="">formatBlock</code> candidate</a>.</dd>
+   <dt>Contexts in which this element may be used:</dt>
+   <dd>Where <a href="content-models.html#flow-content">flow content</a> is expected.</dd>
+   <dt>Content model:</dt>
+   <dd><a href="content-models.html#flow-content">Flow content</a>.</dd>
+   <dt>Content attributes:</dt>
+   <dd><a href="elements.html#global-attributes">Global attributes</a></dd>
+   <dt>DOM interface:</dt>
+   <dd>
+    <pre class="idl">interface <dfn id="htmldivelement">HTMLDivElement</dfn> : <a href="elements.html#htmlelement">HTMLElement</a> {};</pre>
+   </dd>
+  </dl><p>The <code><a href="#the-div-element">div</a></code> element has no special meaning at all. It
+  <a href="#represents">represents</a> its children. It can be used with the <code title="attr-class"><a href="elements.html#classes">class</a></code>, <code title="attr-lang"><a href="elements.html#attr-lang">lang</a></code>, and <code title="attr-title"><a href="elements.html#the-title-attribute">title</a></code> attributes to mark up semantics
+  common to a group of consecutive elements.</p><p class="note">Authors are strongly encouraged to view the
+  <code><a href="#the-div-element">div</a></code> element as an element of last resort, for when no
+  other element is suitable. Use of the <code><a href="#the-div-element">div</a></code> element
+  instead of more appropriate elements leads to poor accessibility for
+  readers and poor maintainability for authors.</p><div class="example">
+
+   <p>For example, a blog post would be marked up using
+   <code><a href="sections.html#the-article-element">article</a></code>, a chapter using <code><a href="sections.html#the-section-element">section</a></code>, a
+   page's navigation aids using <code><a href="sections.html#the-nav-element">nav</a></code>, and a group of form
+   controls using <code><a href="forms.html#the-fieldset-element">fieldset</a></code>.</p>
+
+   <p>On the other hand, <code><a href="#the-div-element">div</a></code> elements can be useful for
+   stylistic purposes or to wrap multiple paragraphs within a section
+   that are all to be annotated in a similar way. In the following
+   example, we see <code><a href="#the-div-element">div</a></code> elements used as a way to set the
+   language of two paragraphs at once, instead of setting the language
+   on the two paragraph elements separately:</p>
+
+   <pre>&lt;article lang="en-US"&gt;
+ &lt;h1&gt;My use of language and my cats&lt;/h1&gt;
+ &lt;p&gt;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.&lt;/p&gt;
+ &lt;div lang="en-GB"&gt;
+  &lt;p&gt;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.&lt;/p&gt;
+  &lt;p&gt;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"...&lt;/p&gt;
+ &lt;/div&gt;
+ &lt;p&gt;I should say "sidewalk" and "apartment" and "color"!&lt;/p&gt;
+&lt;/article&gt;</pre>
+
+  </div></body></html>
\ No newline at end of file

Index: timers.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/timers.html,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- timers.html	6 Jan 2010 15:38:54 -0000	1.10
+++ timers.html	6 Jan 2010 15:49:35 -0000	1.11
@@ -213,4 +213,325 @@
    .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 
\ No newline at end of file
+   .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="data:text/css," id="complete" rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" id="author" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" id="highlight" rel="alternate stylesheet" title="Highlight implementation requirements"><script>
+   function getCookie(name) {
+     var params = location.search.substr(1).split("&");
+     for (var index = 0; index < params.length; index++) {
+       if (params[index] == name)
+         return "1";
+       var data = params[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     var cookies = document.cookie.split("; ");
+     for (var index = 0; index < cookies.length; index++) {
+       var data = cookies[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     return null;
+   }
+   function load(script) {
+     var e = document.createElement('script');
+     e.setAttribute('src', 'http://www.whatwg.org/specs/web-apps/current-work/' + script + '?' + encodeURIComponent(location) + '&' + encodeURIComponent(document.referrer));
+     document.body.appendChild(e);
+   }
+   function init() {
+     if (location.search == '?slow-browser')
+       return;
+     var configUI = document.createElement('div');
+     configUI.id = 'configUI';
+     document.body.appendChild(configUI);
+     // load('reviewer.js'); // would need cross-site XHR
+     if (document.getElementById('head'))
+       load('toc.js');
+     
+     // load('updater.js'); // would need cross-site XHR
+     load('dfn.js');
+     // load('status.js'); // would need cross-site XHR
+     if (getCookie('profile') == '1')
+       document.getElementsByTagName('h2')[0].textContent += '; load: ' + (new Date() - loadTimer) + 'ms';
+     fixBrokenLink();
+   }
+  </script><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><link href="browsers.html" title="6 Web browsers" 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(); init()"><div class="head" id="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 (Author Edition)</h1>
+   </div><div>
+   <a href="browsers.html">&#8592; 6 Web browsers</a> &#8211;
+   <a href="Overview.html#contents">Table of contents</a> &#8211;
+   <a href="offline.html">6.7 Offline Web applications &#8594;</a>
+  <ol class="toc"><li><ol><li><a href="timers.html#timers"><span class="secno">6.4 </span>Timers</a></li><li><a href="timers.html#user-prompts"><span class="secno">6.5 </span>User prompts</a>
+    <ol><li><a href="timers.html#simple-dialogs"><span class="secno">6.5.1 </span>Simple dialogs</a></li><li><a href="timers.html#printing"><span class="secno">6.5.2 </span>Printing</a></li><li><a href="timers.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="timers.html#system-state-and-capabilities"><span class="secno">6.6 </span>System state and capabilities</a>
+    <ol><li><a href="timers.html#client-identification"><span class="secno">6.6.1 </span>Client identification</a></li><li><a href="timers.html#custom-handlers"><span class="secno">6.6.2 </span>Custom scheme and content handlers</a></li><li><a href="timers.html#manually-releasing-the-storage-mutex"><span class="secno">6.6.3 </span>Manually releasing the storage mutex</a></li></ol></li></ol></li></ol></div>
+
+  <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="browsers.html#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><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><!--
+   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><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><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>Last call for comments</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><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><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="browsers.html#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><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><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 class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><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>Last call for comments</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="urls.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="urls.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><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><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

Index: elements.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/elements.html,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- elements.html	6 Jan 2010 15:38:52 -0000	1.14
+++ elements.html	6 Jan 2010 15:49:34 -0000	1.15
@@ -0,0 +1,819 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<!DOCTYPE html>
+<!-- when publishing, change bits marked ZZZ --><html lang="en-US-x-Hixie" class="split chapter"><head><title>3.2 Elements &#8212; HTML5 (Author Edition)</title><script src="link-fixup.js"></script><link href="whatwg.css" rel="stylesheet"><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 tbody th { text-align: left; }
+   table td, table th { border-left: solid; border-right: solid; border-bottom: solid thin; vertical-align: top; padding: 0.2em; }
+   blockquote { margin: 0 0 0 2em; border: 0; padding: 0; font-style: italic; }
+
+   .bad, .bad *:not(.XXX) { color: gray; border-color: gray; background: transparent; }
+   .matrix, .matrix td { border: none; text-align: right; }
+   .matrix { margin-left: 2em; }
+   .dice-example { border-collapse: collapse; border-style: hidden solid solid hidden; border-width: thin; margin-left: 3em; }
+   .dice-example caption { width: 30em; font-size: smaller; font-style: italic; padding: 0.75em 0; text-align: left; }
+   .dice-example td, .dice-example th { border: solid thin; width: 1.35em; height: 1.05em; text-align: center; padding: 0; }
+
+   .toc dfn, h1 dfn, h2 dfn, h3 dfn, h4 dfn, h5 dfn, h6 dfn { font: inherit; }
+   img.extra { float: right; }
+   pre.idl { border: solid thin; background: #EEEEEE; color: black; padding: 0.5em 1em; }
+   pre.idl :link, pre.idl :visited { color: inherit; background: transparent; }
+   pre.css { border: solid thin; background: #FFFFEE; color: black; padding: 0.5em 1em; }
+   pre.css:first-line { color: #AAAA50; }
+   dl.domintro { color: green; margin: 2em 0 2em 2em; padding: 0.5em 1em; border: none; background: #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; }
+   div.head p.copyright, div.head p.alt { font-size: x-small; font-style: oblique; margin: 0; }
+
+   body > .toc > li { margin-top: 1em; margin-bottom: 1em; }
+   body > .toc.brief > li { margin-top: 0.35em; margin-bottom: 0.35em; }
+   body > .toc > li > * { margin-bottom: 0.5em; }
+   body > .toc > li > * > li > * { margin-bottom: 0.25em; }
+   .toc, .toc li { list-style: none; }
+
+   .brief { margin-top: 1em; margin-bottom: 1em; line-height: 1.1; }
+   .brief li { margin: 0; padding: 0; }
+   .brief li p { margin: 0; padding: 0; }
+
+   .category-list { margin-top: -0.75em; margin-bottom: 1em; line-height: 1.5; }
+   .category-list::before { content: '\21D2\A0'; font-size: 1.2em; font-weight: 900; }
+   .category-list li { display: inline; }
+   .category-list li:not(:last-child)::after { content: ', '; }
+   .category-list li > span, .category-list li > a { text-transform: lowercase; }
+   .category-list li * { text-transform: none; } /* don't affect <code> nested in <a> */
+
+   .XXX { color: #E50000; background: white; border: solid red; padding: 0.5em; margin: 1em 0; }
+   .XXX > :first-child { margin-top: 0; }
+   p .XXX { line-height: 3em; }
+   .annotation { border: solid thin black; background: #0C479D; color: white; position: relative; margin: 8px 0 20px 0; }
+   .annotation:before { position: absolute; left: 0; top: 0; width: 100%; height: 100%; margin: 6px -6px -6px 6px; background: #333333; z-index: -1; content: ''; }
+   .annotation :link, .annotation :visited { color: inherit; }
+   .annotation :link:hover, .annotation :visited:hover { background: transparent; }
+   .annotation span { border: none ! important; }
+   .note { color: green; background: transparent; font-family: sans-serif; }
+   .warning { color: red; background: transparent; }
+   .note, .warning { font-weight: bolder; font-style: italic; }
+   p.note, div.note { padding: 0.5em 2em; }
+   span.note { padding: 0 2em; }
+   .note p:first-child, .warning p:first-child { margin-top: 0; }
+   .note p:last-child, .warning p:last-child { margin-bottom: 0; }
+   .warning:before { font-style: normal; }
+   p.note:before { content: 'Note: '; }
+   p.warning:before { content: '\26A0 Warning! '; }
+
+   .bookkeeping:before { display: block; content: 'Bookkeeping details'; font-weight: bolder; font-style: italic; }
+   .bookkeeping { font-size: 0.8em; margin: 2em 0; }
+   .bookkeeping p { margin: 0.5em 2em; display: list-item; list-style: square; }
+
+   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; }
+
+   #configUI { position: absolute; z-index: 20; top: 10em; right: 1em; width: 11em; font-size: small; }
+   #configUI p { margin: 0.5em 0; padding: 0.3em; background: #EEEEEE; color: black; border: inset thin; }
+   #configUI p label { display: block; }
+   #configUI #updateUI, #configUI .loginUI { text-align: center; }
+   #configUI input[type=button] { display: block; margin: auto; }
+  </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="data:text/css," id="complete" rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" id="author" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" id="highlight" rel="alternate stylesheet" title="Highlight implementation requirements"><script>
+   function getCookie(name) {
+     var params = location.search.substr(1).split("&");
+     for (var index = 0; index < params.length; index++) {
+       if (params[index] == name)
+         return "1";
+       var data = params[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     var cookies = document.cookie.split("; ");
+     for (var index = 0; index < cookies.length; index++) {
+       var data = cookies[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     return null;
+   }
+   function load(script) {
+     var e = document.createElement('script');
+     e.setAttribute('src', 'http://www.whatwg.org/specs/web-apps/current-work/' + script + '?' + encodeURIComponent(location) + '&' + encodeURIComponent(document.referrer));
+     document.body.appendChild(e);
+   }
+   function init() {
+     if (location.search == '?slow-browser')
+       return;
+     var configUI = document.createElement('div');
+     configUI.id = 'configUI';
+     document.body.appendChild(configUI);
+     // load('reviewer.js'); // would need cross-site XHR
+     if (document.getElementById('head'))
+       load('toc.js');
+     
+     // load('updater.js'); // would need cross-site XHR
+     load('dfn.js');
+     // load('status.js'); // would need cross-site XHR
+     if (getCookie('profile') == '1')
+       document.getElementsByTagName('h2')[0].textContent += '; load: ' + (new Date() - loadTimer) + 'ms';
+     fixBrokenLink();
+   }
+  </script><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><link href="dom.html" title="3 Semantics, structure, and APIs of HTML documents" rel="prev">
+  <link href="Overview.html#contents" title="Table of contents" rel="index">
+  <link href="content-models.html" title="3.2.5 Content models" rel="next">
+  </head><body onload="fixBrokenLink(); init()"><div class="head" id="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 (Author Edition)</h1>
+   </div><div>
+   <a href="dom.html">&#8592; 3 Semantics, structure, and APIs of HTML documents</a> &#8211;
+   <a href="Overview.html#contents">Table of contents</a> &#8211;
+   <a href="content-models.html">3.2.5 Content models &#8594;</a>
+  <ol class="toc"><li><ol><li><a href="elements.html#elements"><span class="secno">3.2 </span>Elements</a>
+    <ol><li><a href="elements.html#semantics-0"><span class="secno">3.2.1 </span>Semantics</a></li><li><a href="elements.html#elements-in-the-dom"><span class="secno">3.2.2 </span>Elements in the DOM</a></li><li><a href="elements.html#global-attributes"><span class="secno">3.2.3 </span>Global attributes</a>
+      <ol><li><a href="elements.html#the-id-attribute"><span class="secno">3.2.3.1 </span>The <code>id</code> attribute</a></li><li><a href="elements.html#the-title-attribute"><span class="secno">3.2.3.2 </span>The <code>title</code> attribute</a></li><li><a href="elements.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="elements.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="elements.html#the-dir-attribute"><span class="secno">3.2.3.5 </span>The <code>dir</code> attribute</a></li><li><a href="elements.html#classes"><span class="secno">3.2.3.6 </span>The <code>class</code> attribute</a></li><li><a href="elements.html#the-style-attribute"><span class="secno">3.2.3.7 </span>The <code>style</code> attribute</a></li><li><a href="elements.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="elements.html#element-definitions"><span class="secno">3.2.4 </span>Element definitions</a></li></ol></li></ol></li></ol></div>
+
+  <h3 id="elements"><span class="secno">3.2 </span>Elements</h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><h4 id="semantics-0"><span class="secno">3.2.1 </span>Semantics</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments. </i><span><a href="http://www.w3.org/html/wg/tracker/issues/41">ISSUE-41</a> (Decentralized-extensibility) blocks progress to Last Call</span></p><p>Elements, attributes, and attribute values in HTML are defined
+  (by this specification) to have certain meanings (semantics). For
+  example, the <code><a href="grouping-content.html#the-ol-element">ol</a></code> element represents an ordered list, and
+  the <code title="attr-lang"><a href="#attr-lang">lang</a></code> attribute represents the
+  language of the content.</p><p>Authors must not use elements, attributes, or attribute values
+  for purposes other than their appropriate intended semantic
+  purpose. Authors must not use elements, attributes, or attribute
+  values that are not permitted by this specification or <a href="#other-applicable-specifications">other
+  applicable specifications</a>.</p><div class="example">
+   <p>For example, the following document is non-conforming, despite
+   being syntactically correct:</p>
+
+   <pre class="bad">&lt;!DOCTYPE HTML&gt;
+&lt;html lang="en-GB"&gt;
+ &lt;head&gt; &lt;title&gt; Demonstration &lt;/title&gt; &lt;/head&gt;
+ &lt;body&gt;
+  &lt;table&gt;
+   &lt;tr&gt; &lt;td&gt; My favourite animal is the cat. &lt;/td&gt; &lt;/tr&gt;
+   &lt;tr&gt;
+    &lt;td&gt;
+     &#8212;&lt;a href="http://example.org/~ernest/"&gt;&lt;cite&gt;Ernest&lt;/cite&gt;&lt;/a&gt;,
+     in an essay from 1992
+    &lt;/td&gt;
+   &lt;/tr&gt;
+  &lt;/table&gt;
+ &lt;/body&gt;
+&lt;/html&gt;</pre>
+
+   <p>...because the data placed in the cells is clearly not tabular
+   data (and the <code><a href="text-level-semantics.html#the-cite-element">cite</a></code> element mis-used). A corrected
+   version of this document might be:</p>
+
+   <pre>&lt;!DOCTYPE HTML&gt;
+&lt;html lang="en-GB"&gt;
+ &lt;head&gt; &lt;title&gt; Demonstration &lt;/title&gt; &lt;/head&gt;
+ &lt;body&gt;
+  &lt;blockquote&gt;
+   &lt;p&gt; My favourite animal is the cat. &lt;/p&gt;
+  &lt;/blockquote&gt;
+  &lt;p&gt;
+   &#8212;&lt;a href="http://example.org/~ernest/"&gt;Ernest&lt;/a&gt;,
+   in an essay from 1992
+  &lt;/p&gt;
+ &lt;/body&gt;
+&lt;/html&gt;</pre>
+
+   <p>This next document fragment, intended to represent the heading
+   of a corporate site, is similarly non-conforming because the second
+   line is not intended to be a heading of a subsection, but merely a
+   subheading or subtitle (a subordinate heading for the same
+   section).</p>
+
+   <pre class="bad">&lt;body&gt;
+ &lt;h1&gt;ABC Company&lt;/h1&gt;
+ &lt;h2&gt;Leading the way in widget design since 1432&lt;/h2&gt;
+ ...</pre>
+
+   <p>The <code><a href="sections.html#the-hgroup-element">hgroup</a></code> element is intended for these kinds of
+   situations:</p>
+
+   <pre>&lt;body&gt;
+ &lt;hgroup&gt;
+  &lt;h1&gt;ABC Company&lt;/h1&gt;
+  &lt;h2&gt;Leading the way in widget design since 1432&lt;/h2&gt;
+ &lt;/hgroup&gt;
+ ...</pre>
+
+   <p>In the next example, there is a non-conforming attribute value
+   ("carpet") and a non-conforming attribute ("texture"), which
+   is not permitted by this specification:</p>
+
+   <pre class="bad">&lt;label&gt;Carpet: &lt;input type="carpet" name="c" texture="deep pile"&gt;&lt;/label&gt;</pre>
+
+   <p>Here would be an alternative and correct way to mark this up:</p>
+
+   <pre>&lt;label&gt;Carpet: &lt;input type="text" class="carpet" name="c" data-texture="deep pile"&gt;&lt;/label&gt;</pre>
+
+  </div><p>Through scripting and using other mechanisms, the values of
+  attributes, text, and indeed the entire structure of the document
+  may change dynamically while a user agent is processing it. The
+  semantics of a document at an instant in time are those represented
+  by the state of the document at that instant in time, and the
+  semantics of a document can therefore change over time. User agents
+  must</p><p class="example">HTML has a <code><a href="text-level-semantics.html#the-progress-element">progress</a></code> element that
+  describes a progress bar. If its "value" attribute is dynamically
+  updated by a script, the UA would update the rendering to show the
+  progress changing.</p><h4 id="elements-in-the-dom"><span class="secno">3.2.2 </span>Elements in the DOM</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The nodes representing <a href="infrastructure.html#html-elements">HTML elements</a> in the DOM
+   implement, and expose to scripts, the
+  interfaces listed for them in the relevant sections of this
+  specification. This includes <a href="infrastructure.html#html-elements">HTML elements</a> in <a href="dom.html#xml-documents">XML
+  documents</a>, even when those documents are in another context
+  (e.g. inside an XSLT transform).</p><p>Elements in the DOM <a href="#represents" title="represents">represent</a>
+  things; that is, they have intrinsic <em>meaning</em>, also known as
+  semantics.</p><p class="example">For example, an <code><a href="grouping-content.html#the-ol-element">ol</a></code> element
+  represents an ordered list.</p><p>The basic interface, from which all the <a href="infrastructure.html#html-elements">HTML
+  elements</a>' interfaces inherit,  is the <code><a href="#htmlelement">HTMLElement</a></code> interface.</p><pre class="idl">interface <dfn id="htmlelement">HTMLElement</dfn> : <span>Element</span> {
+  // <a href="dom.html#dom-tree-accessors">DOM tree accessors</a>
+  NodeList <a href="#dom-getelementsbyclassname" title="dom-getElementsByClassName">getElementsByClassName</a>(in DOMString classNames);
+
+  // <a href="apis-in-html-documents.html#dynamic-markup-insertion">dynamic markup insertion</a>
+           attribute DOMString <a href="apis-in-html-documents.html#dom-innerhtml" title="dom-innerHTML">innerHTML</a>;
+           attribute DOMString <a href="apis-in-html-documents.html#dom-outerhtml" title="dom-outerHTML">outerHTML</a>;
+  void <a href="#dom-insertadjacenthtml" title="dom-insertAdjacentHTML">insertAdjacentHTML</a>(in DOMString position, in DOMString text);
+
+  // <span>metadata attributes</span>
+           attribute DOMString <a href="#dom-id" title="dom-id">id</a>;
+           attribute DOMString <a href="#dom-title" title="dom-title">title</a>;
+           attribute DOMString <a href="#dom-lang" title="dom-lang">lang</a>;
+           attribute DOMString <a href="#dom-dir" title="dom-dir">dir</a>;
+           attribute <span>DOMString</span> <a href="#dom-classname" title="dom-className">className</a>;
+  readonly attribute <a href="urls.html#domtokenlist">DOMTokenList</a> <a href="#dom-classlist" title="dom-classList">classList</a>;
+  readonly attribute <a href="#domstringmap">DOMStringMap</a> <a href="#dom-dataset" title="dom-dataset">dataset</a>;
+
+  // <a href="microdata.html#microdata">microdata</a>
+           attribute boolean <a href="#dom-itemscope" title="dom-itemScope">itemScope</a>;
+           attribute DOMString <a href="#dom-itemtype" title="dom-itemType">itemType</a>;
+           attribute DOMString <a href="#dom-itemid" title="dom-itemId">itemId</a>;
+           attribute DOMString <a href="#dom-itemref" title="dom-itemRef">itemRef</a>;
+  [PutForwards=<a href="#dom-domsettabletokenlist-value" title="dom-DOMSettableTokenList-value">value</a>] readonly attribute <a href="urls.html#domsettabletokenlist">DOMSettableTokenList</a> <a href="#dom-itemprop" title="dom-itemProp">itemProp</a>;
+  readonly attribute <a href="urls.html#htmlpropertiescollection">HTMLPropertiesCollection</a> <a href="#dom-properties" title="dom-properties">properties</a>;
+           attribute any <a href="#dom-itemvalue" title="dom-itemValue">itemValue</a>;
+
+  // <a href="editing.html#editing">user interaction</a>
+           attribute boolean <a href="#dom-hidden" title="dom-hidden">hidden</a>;
+  void <a href="#dom-click" title="dom-click">click</a>();
+  void <a href="#dom-scrollintoview" title="dom-scrollIntoView">scrollIntoView</a>();
+  void <a href="#dom-scrollintoview" title="dom-scrollIntoView">scrollIntoView</a>(in boolean top);
+           attribute long <a href="#dom-tabindex" title="dom-tabindex">tabIndex</a>;
+  void <a href="#dom-focus" title="dom-focus">focus</a>();
+  void <a href="#dom-blur" title="dom-blur">blur</a>();
+           attribute DOMString <a href="#dom-accesskey" title="dom-accessKey">accessKey</a>;
+  readonly attribute DOMString <a href="#dom-accesskeylabel" title="dom-accessKeyLabel">accessKeyLabel</a>;
+           attribute boolean <a href="#dom-draggable" title="dom-draggable">draggable</a>;
+           attribute DOMString <a href="#dom-contenteditable" title="dom-contentEditable">contentEditable</a>;
+  readonly attribute boolean <a href="#dom-iscontenteditable" title="dom-isContentEditable">isContentEditable</a>;
+           attribute <a href="interactive-elements.html#htmlmenuelement">HTMLMenuElement</a> <a href="#dom-contextmenu" title="dom-contextMenu">contextMenu</a>;
+           attribute DOMString <a href="#dom-spellcheck" title="dom-spellcheck">spellcheck</a>;
+
+  // <a href="commands.html#command-api">command API</a>
+  readonly attribute DOMString <a href="#dom-command-ro-commandtype" title="dom-command-ro-commandType">commandType</a>;
+  readonly attribute DOMString <a href="#dom-command-ro-label" title="dom-command-ro-label">label</a>;
+  readonly attribute DOMString <a href="#dom-command-ro-icon" title="dom-command-ro-icon">icon</a>;
+  readonly attribute boolean <a href="#dom-command-ro-disabled" title="dom-command-ro-disabled">disabled</a>;
+  readonly attribute boolean <a href="#dom-command-ro-checked" title="dom-command-ro-checked">checked</a>;<!-- v2COMMAND
+  readonly attribute <span>HTMLCollection</span> <span title="dom-command-ro-triggers">triggers</span>;-->
+
+  // <span>styling</span>
+  readonly attribute <span>CSSStyleDeclaration</span> <a href="#dom-style" title="dom-style">style</a>;
+
+  // <a href="#event-handler-idl-attributes">event handler IDL attributes</a>
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onabort" title="handler-onabort">onabort</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onblur" title="handler-onblur">onblur</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-oncanplay" title="handler-oncanplay">oncanplay</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-oncanplaythrough" title="handler-oncanplaythrough">oncanplaythrough</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onchange" title="handler-onchange">onchange</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onclick" title="handler-onclick">onclick</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-oncontextmenu" title="handler-oncontextmenu">oncontextmenu</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-ondblclick" title="handler-ondblclick">ondblclick</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-ondrag" title="handler-ondrag">ondrag</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-ondragend" title="handler-ondragend">ondragend</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-ondragenter" title="handler-ondragenter">ondragenter</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-ondragleave" title="handler-ondragleave">ondragleave</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-ondragover" title="handler-ondragover">ondragover</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-ondragstart" title="handler-ondragstart">ondragstart</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-ondrop" title="handler-ondrop">ondrop</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-ondurationchange" title="handler-ondurationchange">ondurationchange</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onemptied" title="handler-onemptied">onemptied</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onended" title="handler-onended">onended</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onerror" title="handler-onerror">onerror</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onfocus" title="handler-onfocus">onfocus</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onformchange" title="handler-onformchange">onformchange</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onforminput" title="handler-onforminput">onforminput</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-oninput" title="handler-oninput">oninput</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-oninvalid" title="handler-oninvalid">oninvalid</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onkeydown" title="handler-onkeydown">onkeydown</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onkeypress" title="handler-onkeypress">onkeypress</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onkeyup" title="handler-onkeyup">onkeyup</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onload" title="handler-onload">onload</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onloadeddata" title="handler-onloadeddata">onloadeddata</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onloadedmetadata" title="handler-onloadedmetadata">onloadedmetadata</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onloadstart" title="handler-onloadstart">onloadstart</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onmousedown" title="handler-onmousedown">onmousedown</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onmousemove" title="handler-onmousemove">onmousemove</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onmouseout" title="handler-onmouseout">onmouseout</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onmouseover" title="handler-onmouseover">onmouseover</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onmouseup" title="handler-onmouseup">onmouseup</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onmousewheel" title="handler-onmousewheel">onmousewheel</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onpause" title="handler-onpause">onpause</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onplay" title="handler-onplay">onplay</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onplaying" title="handler-onplaying">onplaying</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onprogress" title="handler-onprogress">onprogress</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onratechange" title="handler-onratechange">onratechange</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onreadystatechange" title="handler-onreadystatechange">onreadystatechange</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onscroll" title="handler-onscroll">onscroll</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onseeked" title="handler-onseeked">onseeked</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onseeking" title="handler-onseeking">onseeking</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onselect" title="handler-onselect">onselect</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onshow" title="handler-onshow">onshow</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onstalled" title="handler-onstalled">onstalled</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onsubmit" title="handler-onsubmit">onsubmit</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onsuspend" title="handler-onsuspend">onsuspend</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-ontimeupdate" title="handler-ontimeupdate">ontimeupdate</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onvolumechange" title="handler-onvolumechange">onvolumechange</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-onwaiting" title="handler-onwaiting">onwaiting</a>;
+};
+
+interface <dfn id="htmlunknownelement">HTMLUnknownElement</dfn> : <a href="#htmlelement">HTMLElement</a> { };</pre><p>The <code><a href="#htmlelement">HTMLElement</a></code> interface holds methods and
+  attributes related to a number of disparate features, and the
+  members of this interface are therefore described in various
+  different sections of this specification.</p><h4 id="global-attributes"><span class="secno">3.2.3 </span><dfn>Global attributes</dfn></h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The following attributes are common to and may be specified on
+  all <a href="infrastructure.html#html-elements">HTML elements</a>:</p><ul class="brief"><li><code title="attr-accesskey"><a href="editing.html#the-accesskey-attribute">accesskey</a></code></li>
+   <li><code title="attr-class"><a href="#classes">class</a></code></li>
+   <li><code title="attr-contenteditable"><a href="editing.html#attr-contenteditable">contenteditable</a></code></li>
+   <li><code title="attr-contextmenu"><a href="interactive-elements.html#attr-contextmenu">contextmenu</a></code></li>
+   <li><code title="attr-dir"><a href="#the-dir-attribute">dir</a></code></li>
+   <li><code title="attr-draggable"><a href="dnd.html#the-draggable-attribute">draggable</a></code></li>
+   <li><code title="attr-hidden"><a href="editing.html#the-hidden-attribute">hidden</a></code></li>
+   <li><code title="attr-id"><a href="#the-id-attribute">id</a></code></li>
+   <li><code title="attr-itemid"><a href="microdata.html#attr-itemid">itemid</a></code></li>
+   <li><code title="attr-itemprop"><a href="microdata.html#names:-the-itemprop-attribute">itemprop</a></code></li>
+   <li><code title="attr-itemref"><a href="microdata.html#attr-itemref">itemref</a></code></li>
+   <li><code title="attr-itemscope"><a href="microdata.html#attr-itemscope">itemscope</a></code></li>
+   <li><code title="attr-itemtype"><a href="microdata.html#attr-itemtype">itemtype</a></code></li>
+   <li><code title="attr-lang"><a href="#attr-lang">lang</a></code></li>
+   <li><code title="attr-spellcheck"><a href="editing.html#attr-spellcheck">spellcheck</a></code></li>
+   <li><code title="attr-style"><a href="#the-style-attribute">style</a></code></li>
+   <li><code title="attr-tabindex"><a href="editing.html#attr-tabindex">tabindex</a></code></li>
+   <li><code title="attr-title"><a href="#the-title-attribute">title</a></code></li>
+  </ul><hr><p>The following <a href="browsers.html#event-handler-content-attributes">event handler content attributes</a> may
+  be specified on any <a href="infrastructure.html#html-elements" title="HTML elements">HTML
+  element</a>:</p><ul class="brief"><li><code title="handler-onabort"><a href="#handler-onabort">onabort</a></code></li>
+   <li><code title="handler-onblur"><a href="#handler-onblur">onblur</a></code>*</li>
+   <li><code title="handler-oncanplay"><a href="#handler-oncanplay">oncanplay</a></code></li>
+   <li><code title="handler-oncanplaythrough"><a href="#handler-oncanplaythrough">oncanplaythrough</a></code></li>
+   <li><code title="handler-onchange"><a href="#handler-onchange">onchange</a></code></li>
+   <li><code title="handler-onclick"><a href="#handler-onclick">onclick</a></code></li>
+   <li><code title="handler-oncontextmenu"><a href="#handler-oncontextmenu">oncontextmenu</a></code></li>
+   <li><code title="handler-ondblclick"><a href="#handler-ondblclick">ondblclick</a></code></li>
+   <li><code title="handler-ondrag"><a href="#handler-ondrag">ondrag</a></code></li>
+   <li><code title="handler-ondragend"><a href="#handler-ondragend">ondragend</a></code></li>
+   <li><code title="handler-ondragenter"><a href="#handler-ondragenter">ondragenter</a></code></li>
+   <li><code title="handler-ondragleave"><a href="#handler-ondragleave">ondragleave</a></code></li>
+   <li><code title="handler-ondragover"><a href="#handler-ondragover">ondragover</a></code></li>
+   <li><code title="handler-ondragstart"><a href="#handler-ondragstart">ondragstart</a></code></li>
+   <li><code title="handler-ondrop"><a href="#handler-ondrop">ondrop</a></code></li>
+   <li><code title="handler-ondurationchange"><a href="#handler-ondurationchange">ondurationchange</a></code></li>
+   <li><code title="handler-onemptied"><a href="#handler-onemptied">onemptied</a></code></li>
+   <li><code title="handler-onended"><a href="#handler-onended">onended</a></code></li>
+   <li><code title="handler-onerror"><a href="#handler-onerror">onerror</a></code>*</li>
+   <li><code title="handler-onfocus"><a href="#handler-onfocus">onfocus</a></code>*</li>
+   <li><code title="handler-onformchange"><a href="#handler-onformchange">onformchange</a></code></li>
+   <li><code title="handler-onforminput"><a href="#handler-onforminput">onforminput</a></code></li>
+   <li><code title="handler-oninput"><a href="#handler-oninput">oninput</a></code></li>
+   <li><code title="handler-oninvalid"><a href="#handler-oninvalid">oninvalid</a></code></li>
+   <li><code title="handler-onkeydown"><a href="#handler-onkeydown">onkeydown</a></code></li>
+   <li><code title="handler-onkeypress"><a href="#handler-onkeypress">onkeypress</a></code></li>
+   <li><code title="handler-onkeyup"><a href="#handler-onkeyup">onkeyup</a></code></li>
+   <li><code title="handler-onload"><a href="#handler-onload">onload</a></code>*</li>
+   <li><code title="handler-onloadeddata"><a href="#handler-onloadeddata">onloadeddata</a></code></li>
+   <li><code title="handler-onloadedmetadata"><a href="#handler-onloadedmetadata">onloadedmetadata</a></code></li>
+   <li><code title="handler-onloadstart"><a href="#handler-onloadstart">onloadstart</a></code></li>
+   <li><code title="handler-onmousedown"><a href="#handler-onmousedown">onmousedown</a></code></li>
+   <li><code title="handler-onmousemove"><a href="#handler-onmousemove">onmousemove</a></code></li>
+   <li><code title="handler-onmouseout"><a href="#handler-onmouseout">onmouseout</a></code></li>
+   <li><code title="handler-onmouseover"><a href="#handler-onmouseover">onmouseover</a></code></li>
+   <li><code title="handler-onmouseup"><a href="#handler-onmouseup">onmouseup</a></code></li>
+   <li><code title="handler-onmousewheel"><a href="#handler-onmousewheel">onmousewheel</a></code></li>
+   <li><code title="handler-onpause"><a href="#handler-onpause">onpause</a></code></li>
+   <li><code title="handler-onplay"><a href="#handler-onplay">onplay</a></code></li>
+   <li><code title="handler-onplaying"><a href="#handler-onplaying">onplaying</a></code></li>
+   <li><code title="handler-onprogress"><a href="#handler-onprogress">onprogress</a></code></li>
+   <li><code title="handler-onratechange"><a href="#handler-onratechange">onratechange</a></code></li>
+   <li><code title="handler-onreadystatechange"><a href="#handler-onreadystatechange">onreadystatechange</a></code></li>
+   <li><code title="handler-onscroll"><a href="#handler-onscroll">onscroll</a></code></li>
+   <li><code title="handler-onseeked"><a href="#handler-onseeked">onseeked</a></code></li>
+   <li><code title="handler-onseeking"><a href="#handler-onseeking">onseeking</a></code></li>
+   <li><code title="handler-onselect"><a href="#handler-onselect">onselect</a></code></li>
+   <li><code title="handler-onshow"><a href="#handler-onshow">onshow</a></code></li>
+   <li><code title="handler-onstalled"><a href="#handler-onstalled">onstalled</a></code></li>
+   <li><code title="handler-onsubmit"><a href="#handler-onsubmit">onsubmit</a></code></li>
+   <li><code title="handler-onsuspend"><a href="#handler-onsuspend">onsuspend</a></code></li>
+   <li><code title="handler-ontimeupdate"><a href="#handler-ontimeupdate">ontimeupdate</a></code></li>
+   <li><code title="handler-onvolumechange"><a href="#handler-onvolumechange">onvolumechange</a></code></li>
+   <li><code title="handler-onwaiting"><a href="#handler-onwaiting">onwaiting</a></code></li>
+  </ul><p class="note">The attributes marked with an asterisk have a
+  different meaning when specified on <code><a href="sections.html#the-body-element-0">body</a></code> elements as
+  those elements expose <a href="browsers.html#event-handlers">event handlers</a> of the
+  <code><a href="browsers.html#window">Window</a></code> object with the same names.</p><p class="note">While these attributes apply to all elements, they
+  are not useful on all elements. For example, only <a href="video.html#media-element" title="media
+  element">media elements</a> will ever receive a <code title="event-media-volumechange"><a href="video.html#event-media-volumechange">volumechange</a></code> event fired by
+  the user agent.</p><hr><p><a href="#custom-data-attribute" title="custom data attribute">Custom data attributes</a>
+  (e.g. <code title="">data-foldername</code> or <code title="">data-msgid</code>) can be specified on any <a href="infrastructure.html#html-elements" title="HTML elements">HTML element</a>, to store custom data
+  specific to the page.</p><hr><p>In <a href="dom.html#html-documents">HTML documents</a>, elements in the <a href="#html-namespace-0">HTML
+  namespace</a> may have an <code title="">xmlns</code> attribute
+  specified, if, and only if, it has the exact value
+  "<code>http://www.w3.org/1999/xhtml</code>". This does not apply to
+  <a href="dom.html#xml-documents">XML documents</a>.</p><p class="note">In HTML, the <code title="">xmlns</code> attribute
+  has absolutely no effect. It is basically a talisman. It is allowed
+  merely to make migration to and from XHTML mildly easier. When
+  parsed by an <a href="#html-parser">HTML parser</a>, the attribute ends up in no
+  namespace, not the "<code>http://www.w3.org/2000/xmlns/</code>"
+  namespace like namespace declaration attributes in XML do.</p><p class="note">In XML, an <code title="">xmlns</code> attribute is
+  part of the namespace declaration mechanism, and an element cannot
+  actually have an <code title="">xmlns</code> attribute in no
+  namespace specified.</p><hr><p>To enable assistive technology products to expose a more
+  fine-grained interface than is otherwise possible with HTML elements
+  and attributes, a set of <a href="content-models.html#annotations-for-assistive-technology-products-aria">annotations for assistive technology
+  products</a> can be specified.</p><h5 id="the-id-attribute"><span class="secno">3.2.3.1 </span>The <dfn title="attr-id"><code>id</code></dfn> attribute</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code title="attr-id"><a href="#the-id-attribute">id</a></code> attribute specifies its
+  element's <dfn id="concept-id" title="concept-id">unique identifier (ID)</dfn>. The
+  value must be unique amongst all the IDs in the element's <a href="infrastructure.html#home-subtree">home
+  subtree</a> and must contain at least one character. The value
+  must not contain any <a href="#space-character" title="space character">space
+  characters</a>.</p><!-- space characters are disallowed because space-separated lists
+  of IDs otherwise would not be able to reach all valid IDs --><p class="note">An element's <a href="#concept-id" title="concept-id">unique
+  identifier</a> can be used for a variety of purposes, most
+  notably as a way to link to specific parts of a document using
+  fragment identifiers, as a way to target an element when scripting,
+  and as a way to style a specific element from CSS.</p><h5 id="the-title-attribute"><span class="secno">3.2.3.2 </span>The <dfn title="attr-title"><code>title</code></dfn> attribute</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code title="attr-title"><a href="#the-title-attribute">title</a></code> attribute
+  <a href="#represents">represents</a> advisory information for the element, such
+  as would be appropriate for a tooltip. On a link, this could be the
+  title or a description of the target resource; on an image, it could
+  be the image credit or a description of the image; on a paragraph,
+  it could be a footnote or commentary on the text; on a citation, it
+  could be further information about the source; and so forth. The
+  value is text.</p><p>If this attribute is omitted from an element, then it implies
+  that the <code title="attr-title"><a href="#the-title-attribute">title</a></code> attribute of the
+  nearest ancestor <a href="infrastructure.html#html-elements" title="HTML elements">HTML element</a>
+  with a <code title="attr-title"><a href="#the-title-attribute">title</a></code> attribute set is also
+  relevant to this element. Setting the attribute overrides this,
+  explicitly stating that the advisory information of any ancestors is
+  not relevant to this element. Setting the attribute to the empty
+  string indicates that the element has no advisory information.</p><p>If the <code title="attr-title"><a href="#the-title-attribute">title</a></code> attribute's value
+  contains U+000A LINE FEED (LF) characters, the content is split into
+  multiple lines. Each U+000A LINE FEED (LF) character represents a
+  line break.</p><div class="example">
+
+   <p>Caution is advised with respect to the use of newlines in <code title="attr-title"><a href="#the-title-attribute">title</a></code> attributes.</p>
+
+   <p>For instance, the following snippet actually defines an
+   abbreviation's expansion <em>with a line break in it</em>:</p>
+
+   <pre class="bad">&lt;p&gt;My logs show that there was some interest in &lt;abbr title="Hypertext
+Transport Protocol"&gt;HTTP&lt;/abbr&gt; today.&lt;/p&gt;</pre>
+
+  </div><p>Some elements, such as <code><a href="semantics.html#the-link-element">link</a></code>, <code><a href="text-level-semantics.html#the-abbr-element">abbr</a></code>, and
+  <code><a href="the-input-element.html#the-input-element">input</a></code>, define additional semantics for the <code title="attr-title"><a href="#the-title-attribute">title</a></code> attribute beyond the semantics
+  described above.</p><h5 id="the-lang-and-xml:lang-attributes"><span class="secno">3.2.3.3 </span>The <code title="attr-lang"><a href="#attr-lang">lang</a></code> and <code title="attr-xml-lang"><a href="#attr-xml-lang">xml:lang</a></code> attributes</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <dfn id="attr-lang" title="attr-lang"><code>lang</code></dfn> attribute (in
+  no namespace) specifies the primary <dfn id="language">language</dfn> for the
+  element's contents and for any of the element's attributes that
+  contain text. Its value must be a valid BCP 47 language code, or
+  the empty string. <a href="references.html#refsBCP47">[BCP47]</a></p><p>The <dfn id="attr-xml-lang" title="attr-xml-lang"><code title="">lang</code></dfn>
+  attribute in the <a href="#xml-namespace">XML namespace</a> is defined in XML. <a href="references.html#refsXML">[XML]</a></p><p>If these attributes are omitted from an element, then the
+  language of this element is the same as the language of its parent
+  element, if any. Setting the attribute to the empty string indicates
+  that the primary language is unknown.</p><!-- UA conformance
+  requires for this are below --><p>The <code title="attr-lang"><a href="#attr-lang">lang</a></code> attribute in no namespace
+  may be used on any <a href="infrastructure.html#html-elements" title="HTML elements">HTML
+  element</a>.</p><p>The <a href="#attr-xml-lang" title="attr-xml-lang"><code title="">lang</code>
+  attribute in the <span>XML namespace</span></a> may be used on
+  <a href="infrastructure.html#html-elements">HTML elements</a> in <a href="dom.html#xml-documents">XML documents</a>, as well as
+  elements in other namespaces if the relevant specifications allow it
+  (in particular, MathML and SVG allow <a href="#attr-xml-lang" title="attr-xml-lang"><code title="">lang</code> attributes in the
+  <span>XML namespace</span></a> to be specified on their
+  elements). If both the <code title="attr-lang"><a href="#attr-lang">lang</a></code> attribute
+  in no namespace and the <a href="#attr-xml-lang" title="attr-xml-lang"><code title="">lang</code> attribute in the <span>XML
+  namespace</span></a> are specified on the same element, they must
+  have exactly the same value when compared in an <a href="infrastructure.html#ascii-case-insensitive">ASCII
+  case-insensitive</a> manner.</p><p>Authors must not use the <a href="#attr-xml-lang" title="attr-xml-lang"><code title="">lang</code> attribute in the <span>XML
+  namespace</span></a> on <a href="infrastructure.html#html-elements">HTML elements</a> in <a href="dom.html#html-documents">HTML
+  documents</a>. To ease migration to and from XHTML, authors may
+  specify an attribute in no namespace with no prefix and with the
+  literal localname "<code title="">xml:lang</code>" on <a href="infrastructure.html#html-elements">HTML
+  elements</a> in <a href="dom.html#html-documents">HTML documents</a>, but such attributes
+  must only be specified if a <code title="attr-lang"><a href="#attr-lang">lang</a></code>
+  attribute in no namespace is also specified, and both attributes
+  must have the same value when compared in an <a href="infrastructure.html#ascii-case-insensitive">ASCII
+  case-insensitive</a> manner.</p><p class="note">The attribute in no namespace with no prefix and
+  with the literal localname "<code title="">xml:lang</code>" has no
+  effect on language processing.</p><h5 id="the-xml:base-attribute-xml-only"><span class="secno">3.2.3.4 </span>The <dfn title="attr-xml-base"><code>xml:base</code></dfn>
+  attribute (XML only)</h5><p>The <code title="attr-xml-base"><a href="#the-xml:base-attribute-xml-only">xml:base</a></code> attribute is
+  defined in XML Base. <a href="references.html#refsXMLBASE">[XMLBASE]</a></p><p>The <code title="attr-xml-base"><a href="#the-xml:base-attribute-xml-only">xml:base</a></code> attribute may be
+  used on elements of <a href="dom.html#xml-documents">XML documents</a>. Authors must not
+  use the <code title="attr-xml-base"><a href="#the-xml:base-attribute-xml-only">xml:base</a></code> attribute in
+  <a href="dom.html#html-documents">HTML documents</a>.</p><h5 id="the-dir-attribute"><span class="secno">3.2.3.5 </span>The <dfn title="attr-dir"><code>dir</code></dfn> attribute</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code title="attr-dir"><a href="#the-dir-attribute">dir</a></code> attribute specifies the
+  element's text directionality. The attribute is an <a href="common-microsyntaxes.html#enumerated-attribute">enumerated
+  attribute</a> with the keyword <code title="">ltr</code> mapping
+  to the state <i>ltr</i>, and the keyword <code title="">rtl</code>
+  mapping to the state <i>rtl</i>. The attribute has no
+  defaults.</p><p><dfn id="the-directionality">The directionality</dfn> of an element, which is used in
+  particular by the <code><a href="the-canvas-element.html#the-canvas-element">canvas</a></code> element's text rendering API,
+  is either 'ltr' or 'rtl'. If the user agent supports CSS and the
+  'direction' property on this element has a computed value of either
+  'ltr' or 'rtl', then that is <a href="#the-directionality">the directionality</a> of the
+  element. Otherwise, if the element is <a href="#being-rendered">being rendered</a>,
+  then <a href="#the-directionality">the directionality</a> of the element is the
+  directionality used by the presentation layer, potentially
+  determined from the value of the <code title="attr-dir"><a href="#the-dir-attribute">dir</a></code>
+  attribute on the element. Otherwise, if the element's <code title="attr-dir"><a href="#the-dir-attribute">dir</a></code> attribute has the state <i>ltr</i>, the
+  element's directionality is 'ltr' (left-to-right); if the attribute
+  has the state <i>rtl</i>, the element's directionality is 'rtl'
+  (right-to-left); and otherwise, the element's directionality is the
+  same as its parent element, or 'ltr' if there is no parent
+  element.</p><hr><dl class="domintro"><dt><var title="">document</var> . <code title="dom-dir"><a href="#dom-dir">dir</a></code> [ = <var title="">value</var> ]</dt>
+   <dd>
+    <p>Returns <a href="dom.html#the-html-element">the <code>html</code> element</a>'s <code title="attr-dir"><a href="#the-dir-attribute">dir</a></code> attribute's value, if any.</p>
+    <p>Can be set, to either "<code title="">ltr</code>" or "<code title="">rtl</code>", to replace <a href="dom.html#the-html-element">the <code>html</code> element</a>'s <code title="attr-dir"><a href="#the-dir-attribute">dir</a></code> attribute's value.</p>
+    <p>If there is no <a href="dom.html#the-html-element" title="the html element"><code>html</code> element</a>, returns the empty string and ignores new values.</p>
+   </dd>
+
+  </dl><p class="note">Authors are strongly encouraged to use the <code title="attr-dir"><a href="#the-dir-attribute">dir</a></code> attribute to indicate text direction
+  rather than using CSS, since that way their documents will continue
+  to render correctly even in the absence of CSS (e.g. as interpreted
+  by search engines).</p><h5 id="classes"><span class="secno">3.2.3.6 </span>The <dfn title="attr-class"><code>class</code></dfn> attribute</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>Every <a href="infrastructure.html#html-elements" title="HTML elements">HTML element</a> may have a
+  <code title="attr-class"><a href="#classes">class</a></code> attribute specified.</p><p>The attribute, if specified, must have a value that is a
+  <a href="common-microsyntaxes.html#set-of-space-separated-tokens">set of space-separated tokens</a> representing the various
+  classes that the element belongs to.</p><p class="note">Assigning classes to an element affects class
+  matching in selectors in CSS, the <code title="dom-document-getElementsByClassName"><a href="#dom-document-getelementsbyclassname">getElementsByClassName()</a></code>
+  method in the DOM, and other such features.</p><p>There are no additional restrictions on the tokens authors can
+  use in the <code title="attr-class"><a href="#classes">class</a></code> attribute, but
+  authors are encouraged to use values that describe the nature of the
+  content, rather than values that describe the desired presentation
+  of the content.</p><h5 id="the-style-attribute"><span class="secno">3.2.3.7 </span>The <dfn title="attr-style"><code>style</code></dfn> attribute</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>All <a href="infrastructure.html#html-elements">HTML elements</a> may have the <code title="attr-style"><a href="#the-style-attribute">style</a></code> content attribute set. If specified,
+  the attribute must contain only a list of zero or more
+  semicolon-separated (;) CSS declarations, matching the CSS Style
+  Attribute <code title="">inline-stylesheet</code> production. <a href="references.html#refsCSSATTR">[CSSATTR]</a></p><p>Documents that use <code title="attr-style"><a href="#the-style-attribute">style</a></code>
+  attributes on any of their elements must still be comprehensible and
+  usable if those attributes were removed.</p><p class="note">In particular, using the <code title="attr-style"><a href="#the-style-attribute">style</a></code> attribute to hide and show content,
+  or to convey meaning that is otherwise not included in the document,
+  is non-conforming. (To hide and show content, use the <code title="attr-hidden"><a href="editing.html#the-hidden-attribute">hidden</a></code> attribute.)</p><hr><dl class="domintro"><dt><var title="">element</var> . <code title="dom-style"><a href="#dom-style">style</a></code></dt>
+   <dd>
+    <p>Returns a <code>CSSStyleDeclaration</code> object for the element's <code title="attr-style"><a href="#the-style-attribute">style</a></code> attribute.</p>
+   </dd>
+
+  </dl><div class="example">
+
+   <p>In the following example, the words that refer to colors are
+   marked up using the <code><a href="text-level-semantics.html#the-span-element">span</a></code> element and the <code title="attr-style"><a href="#the-style-attribute">style</a></code> attribute to make those words show
+   up in the relevant colors in visual media.</p>
+
+   <pre>&lt;p&gt;My sweat suit is &lt;span style="color: green; background:
+transparent"&gt;green&lt;/span&gt; and my eyes are &lt;span style="color: blue;
+background: transparent"&gt;blue&lt;/span&gt;.&lt;/p&gt;</pre>
+
+  </div><h5 id="embedding-custom-non-visible-data"><span class="secno">3.2.3.8 </span><dfn>Embedding custom non-visible data</dfn></h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>A <dfn id="custom-data-attribute">custom data attribute</dfn> is an attribute in no
+  namespace whose name starts with the string "<dfn id="attr-data" title="attr-data-*"><code>data-</code></dfn>", has at least one
+  character after the hyphen, is <a href="infrastructure.html#xml-compatible">XML-compatible</a>, and
+  contains no characters in the range U+0041 to U+005A (LATIN CAPITAL
+  LETTER A to LATIN CAPITAL LETTER Z).</p><p class="note">All attributes on <a href="infrastructure.html#html-elements">HTML elements</a> in
+  <a href="dom.html#html-documents">HTML documents</a> get ASCII-lowercased automatically, so
+  the restriction on ASCII uppercase letters doesn't affect such
+  documents.</p><p><a href="#custom-data-attribute" title="custom data attribute">Custom data attributes</a>
+  are intended to store custom data private to the page or
+  application, for which there are no more appropriate attributes or
+  elements.</p><p>These attributes are not intended for use by software that is
+  independent of the site that uses the attributes.</p><div class="example">
+
+   <p>For instance, a site about music could annotate list items
+   representing tracks in an album with custom data attributes
+   containing the length of each track. This information could then be
+   used by the site itself to allow the user to sort the list by track
+   length, or to filter the list for tracks of certain lengths.</p>
+
+   <pre>&lt;ol&gt;
+ &lt;li data-length="2m11s"&gt;Beyond The Sea&lt;/li&gt;
+ ...
+&lt;/ol&gt;</pre>
+
+   <p>It would be inappropriate, however, for the user to use generic
+   software not associated with that music site to search for tracks
+   of a certain length by looking at this data.</p>
+
+   <p>This is because these attributes are intended for use by the
+   site's own scripts, and are not a generic extension mechanism for
+   publicly-usable metadata.</p>
+
+  </div><p>Every <a href="infrastructure.html#html-elements" title="HTML elements">HTML element</a> may have
+  any number of <a href="#custom-data-attribute" title="custom data attribute">custom data
+  attributes</a> specified, with any value.</p><hr><dl class="domintro"><dt><var title="">element</var> . <code title="dom-dataset"><a href="#dom-dataset">dataset</a></code></dt>
+   <dd>
+    <p>Returns a <code><a href="#domstringmap">DOMStringMap</a></code> object for the element's <code title="attr-data-*"><a href="#attr-data">data-*</a></code> attributes.</p>
+   </dd>
+
+  </dl><div class="example">
+
+   <p>If a Web page wanted an element to represent a space ship,
+   e.g. as part of a game, it would have to use the <code class="attr-class">class</code> attribute along with <code title="attr-data-*"><a href="#attr-data">data-*</a></code> attributes:</p>
+
+   <pre>&lt;div class="spaceship" data-id="92432"
+     data-weapons="laser 2" data-shields="50%"
+     data-x="30" data-y="10" data-z="90"&gt;
+ &lt;button class="fire"
+         onclick="spaceships[this.parentNode.dataset.id].fire()"&gt;
+  Fire
+ &lt;/button&gt;
+&lt;/div&gt;</pre>
+
+  </div><p>Authors should carefully design such extensions so that when the
+  attributes are ignored and any associated CSS dropped, the page is
+  still usable.</p><p>JavaScript libraries may use the <span>custom data
+  attributes</span>, as they are considered to be part of the page on
+  which they are used. Authors of libraries that are reused by many
+  authors are encouraged to include their name in the attribute names,
+  to reduce the risk of clashes.</p><div class="example">
+
+   <p>For example, a library called "DoQuery" could use attribute
+   names like <code title="">data-doquery-range</code>, and a library
+   called "jJo" could use attributes names like <code title="">data-jjo-range</code>.</p>
+
+  </div><h4 id="element-definitions"><span class="secno">3.2.4 </span>Element definitions</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>Each element in this specification has a definition that includes
+  the following information:</p><dl><dt>Categories</dt>
+
+   <dd>A list of <a href="content-models.html#content-categories" title="content categories">categories</a> to
+   which the element belongs. These are used when defining the
+   <a href="content-models.html#content-models">content models</a> for each element.</dd>
+
+
+   <dt>Contexts in which this element may be used</dt>
+
+   <dd>A <em>non-normative</em> description of where the element can
+   be used. This information is redundant with the content models of
+   elements that allow this one as a child, and is provided only as a
+   convenience.</dd>
+
+
+   <dt>Content model</dt>
+
+   <dd>A normative description of what content must be included as
+   children and descendants of the element.</dd>
+
+
+   <dt>Content attributes</dt>
+
+   <dd>A normative list of attributes that may be specified on the
+   element.</dd>
+
+
+   <dt>DOM interface</dt>
+
+   <dd>A normative definition of a DOM interface that such elements
+   must implement.</dd>
+
+  </dl><p>This is then followed by a description of what the element
+  <a href="#represents">represents</a>, along with any additional normative
+  conformance criteria that may apply to authors. Examples are sometimes
+  also included.</p></body></html>
\ No newline at end of file

Index: urls.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/urls.html,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- urls.html	6 Jan 2010 15:38:54 -0000	1.12
+++ urls.html	6 Jan 2010 15:49:35 -0000	1.13
@@ -0,0 +1,710 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<!DOCTYPE html>
+<!-- when publishing, change bits marked ZZZ --><html lang="en-US-x-Hixie" class="split chapter"><head><title>2.5 URLs &#8212; HTML5 (Author Edition)</title><script src="link-fixup.js"></script><link href="whatwg.css" rel="stylesheet"><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 tbody th { text-align: left; }
+   table td, table th { border-left: solid; border-right: solid; border-bottom: solid thin; vertical-align: top; padding: 0.2em; }
+   blockquote { margin: 0 0 0 2em; border: 0; padding: 0; font-style: italic; }
+
+   .bad, .bad *:not(.XXX) { color: gray; border-color: gray; background: transparent; }
+   .matrix, .matrix td { border: none; text-align: right; }
+   .matrix { margin-left: 2em; }
+   .dice-example { border-collapse: collapse; border-style: hidden solid solid hidden; border-width: thin; margin-left: 3em; }
+   .dice-example caption { width: 30em; font-size: smaller; font-style: italic; padding: 0.75em 0; text-align: left; }
+   .dice-example td, .dice-example th { border: solid thin; width: 1.35em; height: 1.05em; text-align: center; padding: 0; }
+
+   .toc dfn, h1 dfn, h2 dfn, h3 dfn, h4 dfn, h5 dfn, h6 dfn { font: inherit; }
+   img.extra { float: right; }
+   pre.idl { border: solid thin; background: #EEEEEE; color: black; padding: 0.5em 1em; }
+   pre.idl :link, pre.idl :visited { color: inherit; background: transparent; }
+   pre.css { border: solid thin; background: #FFFFEE; color: black; padding: 0.5em 1em; }
+   pre.css:first-line { color: #AAAA50; }
+   dl.domintro { color: green; margin: 2em 0 2em 2em; padding: 0.5em 1em; border: none; background: #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; }
+   div.head p.copyright, div.head p.alt { font-size: x-small; font-style: oblique; margin: 0; }
+
+   body > .toc > li { margin-top: 1em; margin-bottom: 1em; }
+   body > .toc.brief > li { margin-top: 0.35em; margin-bottom: 0.35em; }
+   body > .toc > li > * { margin-bottom: 0.5em; }
+   body > .toc > li > * > li > * { margin-bottom: 0.25em; }
+   .toc, .toc li { list-style: none; }
+
+   .brief { margin-top: 1em; margin-bottom: 1em; line-height: 1.1; }
+   .brief li { margin: 0; padding: 0; }
+   .brief li p { margin: 0; padding: 0; }
+
+   .category-list { margin-top: -0.75em; margin-bottom: 1em; line-height: 1.5; }
+   .category-list::before { content: '\21D2\A0'; font-size: 1.2em; font-weight: 900; }
+   .category-list li { display: inline; }
+   .category-list li:not(:last-child)::after { content: ', '; }
+   .category-list li > span, .category-list li > a { text-transform: lowercase; }
+   .category-list li * { text-transform: none; } /* don't affect <code> nested in <a> */
+
+   .XXX { color: #E50000; background: white; border: solid red; padding: 0.5em; margin: 1em 0; }
+   .XXX > :first-child { margin-top: 0; }
+   p .XXX { line-height: 3em; }
+   .annotation { border: solid thin black; background: #0C479D; color: white; position: relative; margin: 8px 0 20px 0; }
+   .annotation:before { position: absolute; left: 0; top: 0; width: 100%; height: 100%; margin: 6px -6px -6px 6px; background: #333333; z-index: -1; content: ''; }
+   .annotation :link, .annotation :visited { color: inherit; }
+   .annotation :link:hover, .annotation :visited:hover { background: transparent; }
+   .annotation span { border: none ! important; }
+   .note { color: green; background: transparent; font-family: sans-serif; }
+   .warning { color: red; background: transparent; }
+   .note, .warning { font-weight: bolder; font-style: italic; }
+   p.note, div.note { padding: 0.5em 2em; }
+   span.note { padding: 0 2em; }
+   .note p:first-child, .warning p:first-child { margin-top: 0; }
+   .note p:last-child, .warning p:last-child { margin-bottom: 0; }
+   .warning:before { font-style: normal; }
+   p.note:before { content: 'Note: '; }
+   p.warning:before { content: '\26A0 Warning! '; }
+
+   .bookkeeping:before { display: block; content: 'Bookkeeping details'; font-weight: bolder; font-style: italic; }
+   .bookkeeping { font-size: 0.8em; margin: 2em 0; }
+   .bookkeeping p { margin: 0.5em 2em; display: list-item; list-style: square; }
+
+   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; }
+
+   #configUI { position: absolute; z-index: 20; top: 10em; right: 1em; width: 11em; font-size: small; }
+   #configUI p { margin: 0.5em 0; padding: 0.3em; background: #EEEEEE; color: black; border: inset thin; }
+   #configUI p label { display: block; }
+   #configUI #updateUI, #configUI .loginUI { text-align: center; }
+   #configUI input[type=button] { display: block; margin: auto; }
+  </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="data:text/css," id="complete" rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" id="author" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" id="highlight" rel="alternate stylesheet" title="Highlight implementation requirements"><script>
+   function getCookie(name) {
+     var params = location.search.substr(1).split("&");
+     for (var index = 0; index < params.length; index++) {
+       if (params[index] == name)
+         return "1";
+       var data = params[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     var cookies = document.cookie.split("; ");
+     for (var index = 0; index < cookies.length; index++) {
+       var data = cookies[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     return null;
+   }
+   function load(script) {
+     var e = document.createElement('script');
+     e.setAttribute('src', 'http://www.whatwg.org/specs/web-apps/current-work/' + script + '?' + encodeURIComponent(location) + '&' + encodeURIComponent(document.referrer));
+     document.body.appendChild(e);
+   }
+   function init() {
+     if (location.search == '?slow-browser')
+       return;
+     var configUI = document.createElement('div');
+     configUI.id = 'configUI';
+     document.body.appendChild(configUI);
+     // load('reviewer.js'); // would need cross-site XHR
+     if (document.getElementById('head'))
+       load('toc.js');
+     
+     // load('updater.js'); // would need cross-site XHR
+     load('dfn.js');
+     // load('status.js'); // would need cross-site XHR
+     if (getCookie('profile') == '1')
+       document.getElementsByTagName('h2')[0].textContent += '; load: ' + (new Date() - loadTimer) + 'ms';
+     fixBrokenLink();
+   }
+  </script><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><link href="common-microsyntaxes.html" title="2.4 Common microsyntaxes" rel="prev">
+  <link href="Overview.html#contents" title="Table of contents" rel="index">
+  <link href="dom.html" title="3 Semantics, structure, and APIs of HTML documents" rel="next">
+  </head><body onload="fixBrokenLink(); init()"><div class="head" id="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 (Author Edition)</h1>
+   </div><div>
+   <a href="common-microsyntaxes.html">&#8592; 2.4 Common microsyntaxes</a> &#8211;
+   <a href="Overview.html#contents">Table of contents</a> &#8211;
+   <a href="dom.html">3 Semantics, structure, and APIs of HTML documents &#8594;</a>
+  <ol class="toc"><li><ol><li><a href="urls.html#urls"><span class="secno">2.5 </span>URLs</a>
+    <ol><li><a href="urls.html#terminology-0"><span class="secno">2.5.1 </span>Terminology</a></li><li><a href="urls.html#interfaces-for-url-manipulation"><span class="secno">2.5.2 </span>Interfaces for URL manipulation</a></li></ol></li><li><a href="urls.html#common-dom-interfaces"><span class="secno">2.6 </span>Common DOM interfaces</a>
+    <ol><li><a href="urls.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="urls.html#collections-0"><span class="secno">2.6.2 </span>Collections</a>
+      <ol><li><a href="urls.html#htmlcollection-0"><span class="secno">2.6.2.1 </span>HTMLCollection</a></li><li><a href="urls.html#htmlallcollection-0"><span class="secno">2.6.2.2 </span>HTMLAllCollection</a></li><li><a href="urls.html#htmlformcontrolscollection-0"><span class="secno">2.6.2.3 </span>HTMLFormControlsCollection</a></li><li><a href="urls.html#htmloptionscollection-0"><span class="secno">2.6.2.4 </span>HTMLOptionsCollection</a></li><li><a href="urls.html#htmlpropertiescollection-0"><span class="secno">2.6.2.5 </span>HTMLPropertiesCollection</a></li></ol></li><li><a href="urls.html#domtokenlist-0"><span class="secno">2.6.3 </span>DOMTokenList</a></li><li><a href="urls.html#domsettabletokenlist-0"><span class="secno">2.6.4 </span>DOMSettableTokenList</a></li><li><a href="urls.html#domstringmap-0"><span class="secno">2.6.5 </span>DOMStringMap</a></li><li><a href="urls.html#dom-feature-strings"><span class="secno">2.6.6 </span>DOM feature strings</a></li><li><a href="urls.html#exceptions"><span cass="secno">2.6.7 </span>Exceptions</a></li></ol></li></ol></li></ol></div>
+
+  <h3 id="urls"><span class="secno">2.5 </span>URLs</h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments. </i><span><a href="http://www.w3.org/html/wg/tracker/issues/56">ISSUE-56</a> (urls-webarch) blocks progress to Last Call</span></p><h4 id="terminology-0"><span class="secno">2.5.1 </span>Terminology</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>A <dfn id="url">URL</dfn> is a string used to identify a resource.</p><p>A <a href="#url">URL</a> is a <dfn id="valid-url">valid URL</dfn> if it is a
+  <span>valid Web address</span> as defined by the Web addresses
+  specification. <a href="references.html#refsWEBADDRESSES">[WEBADDRESSES]</a></p><p>A <a href="#url">URL</a> is an <dfn id="absolute-url">absolute URL</dfn> if it is an
+  <span>absolute Web address</span> as defined by the Web addresses
+  specification. <a href="references.html#refsWEBADDRESSES">[WEBADDRESSES]</a></p><p class="note">The term "URL" in this specification is used in a
+  manner distinct from the precise technical meaning it is given in
+  RFC 3986. Readers familiar with that RFC will find it easier to read
+  <em>this</em> specification if they pretend the term "URL" as used
+  herein is really called something else altogether. This is a
+  <a href="introduction.html#willful-violation">willful violation</a> of RFC 3986. <a href="references.html#refsRFC3986">[RFC3986]</a></p><h4 id="interfaces-for-url-manipulation"><span class="secno">2.5.2 </span>Interfaces for URL manipulation</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>An interface that has a complement of <dfn id="url-decomposition-idl-attributes">URL decomposition IDL
+  attributes</dfn> will have seven attributes with the following
+  definitions:</p><pre class="idl extract">           attribute DOMString <a href="#dom-uda-protocol" title="dom-uda-protocol">protocol</a>;
+           attribute DOMString <a href="#dom-uda-host" title="dom-uda-host">host</a>;
+           attribute DOMString <a href="#dom-uda-hostname" title="dom-uda-hostname">hostname</a>;
+           attribute DOMString <a href="#dom-uda-port" title="dom-uda-port">port</a>;
+           attribute DOMString <a href="#dom-uda-pathname" title="dom-uda-pathname">pathname</a>;
+           attribute DOMString <a href="#dom-uda-search" title="dom-uda-search">search</a>;
+           attribute DOMString <a href="#dom-uda-hash" title="dom-uda-hash">hash</a>;</pre><dl class="domintro"><dt><var title="">o</var> . <code title="dom-uda-protocol"><a href="#dom-uda-protocol">protocol</a></code> [ = <var title="">value</var> ]</dt>
+   <dd>
+    <p>Returns the current scheme of the underlying URL.</p>
+    <p>Can be set, to change the underlying URL's scheme.</p>
+   </dd>
+
+   <dt><var title="">o</var> . <code title="dom-uda-host"><a href="#dom-uda-host">host</a></code> [ = <var title="">value</var> ]</dt>
+   <dd>
+    <p>Returns the current host and port (if it's not the default port) in the underlying URL.</p>
+    <p>Can be set, to change the underlying URL's host and port.</p>
+    <p>The host and the port are separated by a colon. The port part,
+    if omitted, will be assumed to be the current scheme's default
+    port.</p>
+   </dd>
+
+   <dt><var title="">o</var> . <code title="dom-uda-hostname"><a href="#dom-uda-hostname">hostname</a></code> [ = <var title="">value</var> ]</dt>
+   <dd>
+    <p>Returns the current host in the underlying URL.</p>
+    <p>Can be set, to change the underlying URL's host.</p>
+   </dd>
+
+   <dt><var title="">o</var> . <code title="dom-uda-port"><a href="#dom-uda-port">port</a></code> [ = <var title="">value</var> ]</dt>
+   <dd>
+    <p>Returns the current port in the underlying URL.</p>
+    <p>Can be set, to change the underlying URL's port.</p>
+   </dd>
+
+   <dt><var title="">o</var> . <code title="dom-uda-pathname"><a href="#dom-uda-pathname">pathname</a></code> [ = <var title="">value</var> ]</dt>
+   <dd>
+    <p>Returns the current path in the underlying URL.</p>
+    <p>Can be set, to change the underlying URL's path.</p>
+   </dd>
+
+   <dt><var title="">o</var> . <code title="dom-uda-search"><a href="#dom-uda-search">search</a></code> [ = <var title="">value</var> ]</dt>
+   <dd>
+    <p>Returns the current query component in the underlying URL.</p>
+    <p>Can be set, to change the underlying URL's query component.</p>
+   </dd>
+
+   <dt><var title="">o</var> . <code title="dom-uda-hash"><a href="#dom-uda-hash">hash</a></code> [ = <var title="">value</var> ]</dt>
+   <dd>
+    <p>Returns the current fragment identifier in the underlying URL.</p>
+    <p>Can be set, to change the underlying URL's fragment identifier.</p>
+   </dd>
+
+  </dl><div class="example">
+
+   <p>The table below demonstrates how the getter condition<code title="dom-uda-search"><a href="#dom-uda-search">search</a></code> results in different results
+   depending on the exact original syntax of the URL:</p>
+
+   <table><thead><tr><th> Input URL
+      </th><th> <code title="dom-uda-search"><a href="#dom-uda-search">search</a></code> value
+      </th><th> Explanation
+    </th></tr></thead><tbody><tr><td> <code title="">http://example.com/</code>
+      </td><td> <i>empty string</i>
+      </td><td> No <a href="#url-query" title="url-query">&lt;query&gt;</a> component in input URL.
+     </td></tr><tr><td> <code title="">http://example.com/?</code>
+      </td><td> <code title="">?</code>
+      </td><td> There is a <a href="#url-query" title="url-query">&lt;query&gt;</a> component, but it is empty.
+           
+     </td></tr><tr><td> <code title="">http://example.com/?test</code>
+      </td><td> <code title="">?test</code>
+      </td><td> The <a href="#url-query" title="url-query">&lt;query&gt;</a> component has the value "<code title="">test</code>".
+     </td></tr><tr><td> <code title="">http://example.com/?test#</code>
+      </td><td> <code title="">?test</code>
+      </td><td> The (empty) <a href="#url-fragment" title="url-fragment">&lt;fragment&gt;</a> component is not part of the <a href="#url-query" title="url-query">&lt;query&gt;</a> component.
+   </td></tr></tbody></table></div><h3 id="common-dom-interfaces"><span class="secno">2.6 </span>Common DOM interfaces</h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><h4 id="reflecting-content-attributes-in-idl-attributes"><span class="secno">2.6.1 </span>Reflecting content attributes in IDL attributes</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>Some IDL attributes are defined to <dfn id="reflect">reflect</dfn> a
+  particular content attribute. This means that on getting, the IDL
+  attribute returns the current value of the content attribute, and on
+  setting, the IDL attribute changes the value of the content
+  attribute to the given value.</p><!-- v2 for completeness: (also search for REFLECTIDL)
+  <p class="note">A list of <span>reflecting IDL attributes</span> and
+  their corresponding content attributes is given in the index.</p>
+--><h4 id="collections-0"><span class="secno">2.6.2 </span>Collections</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code><a href="#htmlcollection">HTMLCollection</a></code>, <code><a href="#htmlallcollection">HTMLAllCollection</a></code>,
+  <code><a href="#htmlformcontrolscollection">HTMLFormControlsCollection</a></code>,
+  <code><a href="#htmloptionscollection">HTMLOptionsCollection</a></code>, and
+  <code><a href="#htmlpropertiescollection">HTMLPropertiesCollection</a></code> interfaces represent various
+  lists of DOM nodes. Collectively, objects implementing these
+  interfaces are called <dfn id="collections">collections</dfn>.</p><p>When a <a href="#collections" title="collections">collection</a> is created, a
+  filter and a root are associated with the collection.</p><p class="example">For example, when the <code><a href="#htmlcollection">HTMLCollection</a></code>
+  object for the <code title="dom-document-images"><a href="#dom-document-images">document.images</a></code> attribute is
+  created, it is associated with a filter that selects only
+  <code><a href="embedded-content-1.html#the-img-element">img</a></code> elements, and rooted at the root of the
+  document.</p><p>The <a href="#collections" title="collections">collection</a> then <dfn id="represented-by-the-collection" title="represented by the collection">represents</dfn> a
+  <a href="infrastructure.html#live">live</a> view of the subtree rooted at the collection's
+  root, containing only nodes that match the given filter. The view is
+  linear. </p><h5 id="htmlcollection-0"><span class="secno">2.6.2.1 </span>HTMLCollection</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code><a href="#htmlcollection">HTMLCollection</a></code> interface represents a generic
+  <a href="#collections" title="collections">collection</a> of elements.</p><pre class="idl">interface <dfn id="htmlcollection">HTMLCollection</dfn> {
+  readonly attribute unsigned long <a href="#dom-htmlcollection-length" title="dom-HTMLCollection-length">length</a>;
+  caller getter object <a href="#dom-htmlcollection-item" title="dom-HTMLCollection-item">item</a>(in unsigned long index); // only returns Element
+  caller getter object <a href="#dom-htmlcollection-nameditem" title="dom-HTMLCollection-namedItem">namedItem</a>(in DOMString name); // only returns Element
+};</pre><dl class="domintro"><dt><var title="">collection</var> . <code title="dom-HTMLCollection-length"><a href="#dom-htmlcollection-length">length</a></code></dt>
+   <dd>
+    <p>Returns the number of elements in the collection.</p>
+   </dd>
+
+   <dt><var title="">element</var> = <var title="">collection</var> . <code title="dom-HTMLCollection-item"><a href="#dom-htmlcollection-item">item</a></code>(<var title="">index</var>)</dt>
+   <dt><var title="">collection</var>[<var title="">index</var>]</dt>
+   <dt><var title="">collection</var>(<var title="">index</var>)</dt>
+   <dd>
+    <p>Returns the item with index <var title="">index</var> from the collection. The items are sorted in <a href="infrastructure.html#tree-order">tree order</a>.</p>
+    <p>Returns null if <var title="">index</var> is out of range.</p>
+   </dd>
+
+   <dt><var title="">element</var> = <var title="">collection</var> . <code title="dom-HTMLCollection-item"><a href="#dom-htmlcollection-item">namedItem</a></code>(<var title="">name</var>)</dt>
+   <dt><var title="">collection</var>[<var title="">name</var>]</dt>
+   <dt><var title="">collection</var>(<var title="">name</var>)</dt>
+   <dd>
+    <p>Returns the first item with <a href="elements.html#concept-id" title="concept-id">ID</a> or name <var title="">name</var>
+    from the collection.</p>
+    <p>Returns null if no element with that <a href="elements.html#concept-id" title="concept-id">ID</a> or name could be found.</p>
+    <p>Only <code><a href="text-level-semantics.html#the-a-element">a</a></code>, <code><a href="#the-applet-element">applet</a></code>, <code><a href="the-map-element.html#the-area-element">area</a></code>,
+    <code><a href="the-iframe-element.html#the-embed-element">embed</a></code>, <code><a href="forms.html#the-form-element">form</a></code>, <code><a href="#frame">frame</a></code>,
+    <code><a href="#frameset">frameset</a></code>, <code><a href="the-iframe-element.html#the-iframe-element">iframe</a></code>, <code><a href="embedded-content-1.html#the-img-element">img</a></code>, and
+    <code><a href="the-iframe-element.html#the-object-element">object</a></code> elements can have a name for the purpose of
+    this method; their name is given by the value of their <code title="">name</code> attribute.</p>
+   </dd>
+  </dl><h5 id="htmlallcollection-0"><span class="secno">2.6.2.2 </span>HTMLAllCollection</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code><a href="#htmlallcollection">HTMLAllCollection</a></code> interface represents a generic
+  <a href="#collections" title="collections">collection</a> of elements just like
+  <code><a href="#htmlcollection">HTMLCollection</a></code>, with the exception that its <code title="dom-HTMLAllCollection-namedItem"><a href="#dom-htmlallcollection-nameditem">namedItem()</a></code> method
+  returns an <code><a href="#htmlcollection">HTMLCollection</a></code> object when there are
+  multiple matching elements.</p><pre class="idl">interface <dfn id="htmlallcollection">HTMLAllCollection</dfn> : <a href="#htmlcollection">HTMLCollection</a> {
+  // inherits <a href="#dom-htmlcollection-length" title="dom-HTMLCollection-length">length</a> and <a href="#dom-htmlcollection-item" title="dom-HTMLCollection-item">item</a>()
+  caller getter object <a href="#dom-htmlallcollection-nameditem" title="dom-HTMLAllCollection-namedItem">namedItem</a>(in DOMString name); // overrides inherited namedItem()
+  <a href="#htmlallcollection">HTMLAllCollection</a> <a href="#dom-htmlallcollection-tags" title="dom-HTMLAllCollection-tags">tags</a>(in DOMString tagName);
+};</pre><dl class="domintro"><dt><var title="">collection</var> . <code title="dom-HTMLCollection-length"><a href="#dom-htmlcollection-length">length</a></code></dt>
+   <dd>
+    <p>Returns the number of elements in the collection.</p>
+   </dd>
+
+   <dt><var title="">element</var> = <var title="">collection</var> . <code title="dom-HTMLCollection-item"><a href="#dom-htmlcollection-item">item</a></code>(<var title="">index</var>)</dt>
+   <dt><var title="">collection</var>[<var title="">index</var>]</dt>
+   <dt><var title="">collection</var>(<var title="">index</var>)</dt>
+   <dd>
+    <p>Returns the item with index <var title="">index</var> from the collection. The items are sorted in <a href="infrastructure.html#tree-order">tree order</a>.</p>
+    <p>Returns null if <var title="">index</var> is out of range.</p>
+   </dd>
+
+   <dt><var title="">element</var> = <var title="">collection</var> . <code title="dom-HTMLAllCollection-namedItem"><a href="#dom-htmlallcollection-nameditem">namedItem</a></code>(<var title="">name</var>)</dt>
+   <dt><var title="">collection</var> = <var title="">collection</var> . <code title="dom-HTMLAllCollection-namedItem"><a href="#dom-htmlallcollection-nameditem">namedItem</a></code>(<var title="">name</var>)</dt>
+   <dt><var title="">collection</var>[<var title="">name</var>]</dt>
+   <dt><var title="">collection</var>(<var title="">name</var>)</dt>
+   <dd>
+    <p>Returns the item with <a href="elements.html#concept-id" title="concept-id">ID</a> or name <var title="">name</var> from the collection.</p>
+    <p>If there are multiple matching items, then an <code><a href="#htmlallcollection">HTMLAllCollection</a></code> object containing all those elements is returned.</p>
+    <p>Returns null if no element with that <a href="elements.html#concept-id" title="concept-id">ID</a> or name could be found.</p>
+    <p>Only <code><a href="text-level-semantics.html#the-a-element">a</a></code>, <code><a href="#the-applet-element">applet</a></code>, <code><a href="the-map-element.html#the-area-element">area</a></code>,
+    <code><a href="the-iframe-element.html#the-embed-element">embed</a></code>, <code><a href="forms.html#the-form-element">form</a></code>, <code><a href="#frame">frame</a></code>,
+    <code><a href="#frameset">frameset</a></code>, <code><a href="the-iframe-element.html#the-iframe-element">iframe</a></code>, <code><a href="embedded-content-1.html#the-img-element">img</a></code>, and
+    <code><a href="the-iframe-element.html#the-object-element">object</a></code> elements can have a name for the purpose of
+    this method; their name is given by the value of their <code title="">name</code> attribute.</p>
+   </dd>
+
+   <dt><var title="">collection</var> = <var title="">collection</var> . <code title="dom-HTMLAllCollection-tags"><a href="#dom-htmlallcollection-tags">tags</a></code>(<var title="">tagName</var>)</dt>
+   <dd>
+    <p>Returns a collection that is a filtered view of the current collection, containing only elements with the given tag name.</p>
+   </dd>
+
+  </dl><h5 id="htmlformcontrolscollection-0"><span class="secno">2.6.2.3 </span>HTMLFormControlsCollection</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code><a href="#htmlformcontrolscollection">HTMLFormControlsCollection</a></code> interface represents
+  a <a href="#collections" title="collections">collection</a> of <a href="forms.html#category-listed" title="category-listed">listed</a> elements in <code><a href="forms.html#the-form-element">form</a></code>
+  and <code><a href="forms.html#the-fieldset-element">fieldset</a></code> elements.</p><pre class="idl">interface <dfn id="htmlformcontrolscollection">HTMLFormControlsCollection</dfn> : <a href="#htmlcollection">HTMLCollection</a> {
+  // inherits <a href="#dom-htmlcollection-length" title="dom-HTMLCollection-length">length</a> and <a href="#dom-htmlcollection-item" title="dom-HTMLCollection-item">item</a>()
+  caller getter object <a href="#dom-htmlformcontrolscollection-nameditem" title="dom-HTMLFormControlsCollection-namedItem">namedItem</a>(in DOMString name); // overrides inherited namedItem()
+};
+
+interface <dfn id="radionodelist">RadioNodeList</dfn> : <span>NodeList</span> {
+          attribute DOMString <a href="#dom-radionodelist-value" title="dom-RadioNodeList-value">value</a>;
+};</pre><dl class="domintro"><dt><var title="">collection</var> . <code title="dom-HTMLCollection-length"><a href="#dom-htmlcollection-length">length</a></code></dt>
+   <dd>
+    <p>Returns the number of elements in the collection.</p>
+   </dd>
+
+   <dt><var title="">element</var> = <var title="">collection</var> . <code title="dom-HTMLCollection-item"><a href="#dom-htmlcollection-item">item</a></code>(<var title="">index</var>)</dt>
+   <dt><var title="">collection</var>[<var title="">index</var>]</dt>
+   <dt><var title="">collection</var>(<var title="">index</var>)</dt>
+   <dd>
+    <p>Returns the item with index <var title="">index</var> from the collection. The items are sorted in <a href="infrastructure.html#tree-order">tree order</a>.</p>
+    <p>Returns null if <var title="">index</var> is out of range.</p>
+   </dd>
+
+   <dt><var title="">element</var> = <var title="">collection</var> . <code title="dom-HTMLFormControlsCollection-namedItem"><a href="#dom-htmlformcontrolscollection-nameditem">namedItem</a></code>(<var title="">name</var>)</dt>
+   <dt><var title="">radioNodeList</var> = <var title="">collection</var> . <code title="dom-HTMLFormControlsCollection-namedItem"><a href="#dom-htmlformcontrolscollection-nameditem">namedItem</a></code>(<var title="">name</var>)</dt>
+   <dt><var title="">collection</var>[<var title="">name</var>]</dt>
+   <dt><var title="">collection</var>(<var title="">name</var>)</dt>
+   <dd>
+    <p>Returns the item with <a href="elements.html#concept-id" title="concept-id">ID</a> or <code title="attr-fe-name"><a href="association-of-controls-and-forms.html#attr-fe-name">name</a></code> <var title="">name</var> from the collection.</p>
+    <p>If there are multiple matching items, then a <code><a href="#radionodelist">RadioNodeList</a></code> object containing all those elements is returned.</p>
+    <p>Returns null if no element with that <a href="elements.html#concept-id" title="concept-id">ID</a> or <code title="attr-fe-name"><a href="association-of-controls-and-forms.html#attr-fe-name">name</a></code> could be found.</p>
+   </dd>
+
+   <dt><var title="">radioNodeList</var> . <var title="">value</var> [ = <var title="">value</var> ]</dt>
+   <dd>
+    <p>Returns the value of the first checked radio button represented by the object.</p>
+    <p>Can be set, to check the first radio button with the given value represented by the object.</p>
+   </dd>
+
+  </dl><h5 id="htmloptionscollection-0"><span class="secno">2.6.2.4 </span>HTMLOptionsCollection</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code><a href="#htmloptionscollection">HTMLOptionsCollection</a></code> interface represents a
+  list of <code><a href="the-button-element.html#the-option-element">option</a></code> elements. It is always rooted on a
+  <code><a href="the-button-element.html#the-select-element">select</a></code> element and has attributes and methods that
+  manipulate that element's descendants.</p><pre class="idl">interface <dfn id="htmloptionscollection">HTMLOptionsCollection</dfn> : <a href="#htmlcollection">HTMLCollection</a> {
+  // inherits <a href="#dom-htmlcollection-item" title="dom-HTMLCollection-item">item</a>()
+           attribute unsigned long <a href="#dom-htmloptionscollection-length" title="dom-HTMLOptionsCollection-length">length</a>; // overrides inherited length
+  caller getter object <a href="#dom-htmloptionscollection-nameditem" title="dom-HTMLOptionsCollection-namedItem">namedItem</a>(in DOMString name); // overrides inherited namedItem()
+  void <a href="#dom-htmloptionscollection-add" title="dom-HTMLOptionsCollection-add">add</a>(in <a href="elements.html#htmlelement">HTMLElement</a> element, in optional <a href="elements.html#htmlelement">HTMLElement</a> before);
+  void <a href="#dom-htmloptionscollection-add" title="dom-HTMLOptionsCollection-add">add</a>(in <a href="elements.html#htmlelement">HTMLElement</a> element, in long before);
+  void <a href="#dom-htmloptionscollection-remove" title="dom-HTMLOptionsCollection-remove">remove</a>(in long index);
+};</pre><dl class="domintro"><dt><var title="">collection</var> . <code title="dom-HTMLOptionsCollection-length"><a href="#dom-htmloptionscollection-length">length</a></code> [ = <var title="">value</var> ]</dt>
+   <dd>
+    <p>Returns the number of elements in the collection.</p>
+    <p>When set to a smaller number, truncates the number of <code><a href="the-button-element.html#the-option-element">option</a></code> elements in the corresponding container.</p>
+    <p>When set to a greater number, adds new blank <code><a href="the-button-element.html#the-option-element">option</a></code> elements to that container.</p>
+   </dd>
+
+   <dt><var title="">element</var> = <var title="">collection</var> . <code title="dom-HTMLCollection-item"><a href="#dom-htmlcollection-item">item</a></code>(<var title="">index</var>)</dt>
+   <dt><var title="">collection</var>[<var title="">index</var>]</dt>
+   <dt><var title="">collection</var>(<var title="">index</var>)</dt>
+   <dd>
+    <p>Returns the item with index <var title="">index</var> from the collection. The items are sorted in <a href="infrastructure.html#tree-order">tree order</a>.</p>
+    <p>Returns null if <var title="">index</var> is out of range.</p>
+   </dd>
+
+   <dt><var title="">element</var> = <var title="">collection</var> . <code title="dom-HTMLOptionsCollection-namedItem"><a href="#dom-htmloptionscollection-nameditem">namedItem</a></code>(<var title="">name</var>)</dt>
+   <dt><var title="">nodeList</var> = <var title="">collection</var> . <code title="dom-HTMLOptionsCollection-namedItem"><a href="#dom-htmloptionscollection-nameditem">namedItem</a></code>(<var title="">name</var>)</dt>
+   <dt><var title="">collection</var>[<var title="">name</var>]</dt>
+   <dt><var title="">collection</var>(<var title="">name</var>)</dt>
+   <dd>
+    <p>Returns the item with <a href="elements.html#concept-id" title="concept-id">ID</a> or <code title="attr-option-name">name</code> <var title="">name</var> from the collection.</p>
+    <p>If there are multiple matching items, then a <code>NodeList</code> object containing all those elements is returned.</p>
+    <p>Returns null if no element with that <a href="elements.html#concept-id" title="concept-id">ID</a> could be found.</p>
+   </dd>
+
+   <dt><var title="">collection</var> . <code title="dom-HTMLOptionsCollection-add"><a href="#dom-htmloptionscollection-add">add</a></code>(<var title="">element</var> [, <var title="">before</var> ] )</dt>
+   <dd>
+    <p>Inserts <var title="">element</var> before the node given by <var title="">before</var>.</p>
+    <p>The <var title="">before</var> argument can be a number, in
+    which case <var title="">element</var> is inserted before the item
+    with that number, or an element from the collection, in which case
+    <var title="">element</var> is inserted before that element.</p>
+    <p>If <var title="">before</var> is omitted, null, or a number out
+    of range, then <var title="">element</var> will be added at the
+    end of the list.</p>
+    <p>This method will throw a <code><a href="#hierarchy_request_err">HIERARCHY_REQUEST_ERR</a></code>
+    exception if <var title="">element</var> is an ancestor of the
+    element into which it is to be inserted. If <var title="">element</var> is not an <code><a href="the-button-element.html#the-option-element">option</a></code> or
+    <code><a href="the-button-element.html#the-optgroup-element">optgroup</a></code> element, then the method does nothing.</p>
+   </dd>
+
+  </dl><h5 id="htmlpropertiescollection-0"><span class="secno">2.6.2.5 </span>HTMLPropertiesCollection</h5><p>The <code><a href="#htmlpropertiescollection">HTMLPropertiesCollection</a></code> interface represents a
+  <a href="#collections" title="collections">collection</a> of elements that add
+  name-value pairs to a particular <a href="microdata.html#concept-item" title="concept-item">item</a> in the <a href="microdata.html#microdata">microdata</a>
+  model.</p><pre class="idl">interface <dfn id="htmlpropertiescollection">HTMLPropertiesCollection</dfn> : <a href="#htmlcollection">HTMLCollection</a> {
+  // inherits <a href="#dom-htmlcollection-length" title="dom-HTMLCollection-length">length</a> and <a href="#dom-htmlcollection-item" title="dom-HTMLCollection-item">item</a>()
+  caller getter <a href="#propertynodelist">PropertyNodeList</a> <a href="#dom-htmlpropertiescollection-nameditem" title="dom-HTMLPropertiesCollection-namedItem">namedItem</a>(in DOMString name); // overrides inherited namedItem()
+  readonly attribute <span>DOMStringList</span> <a href="#dom-htmlpropertiescollection-names" title="dom-HTMLPropertiesCollection-names">names</a>;
+};
+
+typedef sequence&lt;any&gt; <dfn id="propertyvaluearray">PropertyValueArray</dfn>;
+
+interface <dfn id="propertynodelist">PropertyNodeList</dfn> : <span>NodeList</span> {
+  readonly attribute <a href="#propertyvaluearray">PropertyValueArray</a> <a href="#dom-propertynodelist-values" title="dom-PropertyNodeList-values">values</a>;
+};</pre><dl class="domintro"><dt><var title="">collection</var> . <code title="dom-HTMLCollection-length"><a href="#dom-htmlcollection-length">length</a></code></dt>
+   <dd>
+    <p>Returns the number of elements in the collection.</p>
+   </dd>
+
+   <dt><var title="">element</var> = <var title="">collection</var> . <code title="dom-HTMLCollection-item"><a href="#dom-htmlcollection-item">item</a></code>(<var title="">index</var>)</dt>
+   <dt><var title="">collection</var>[<var title="">index</var>]</dt>
+   <dt><var title="">collection</var>(<var title="">index</var>)</dt>
+   <dd>
+    <p>Returns the element with index <var title="">index</var> from the collection. The items are sorted in <a href="infrastructure.html#tree-order">tree order</a>.</p>
+    <p>Returns null if <var title="">index</var> is out of range.</p>
+   </dd>
+
+   <dt><var title="">propertyNodeList</var> = <var title="">collection</var> . <code title="dom-HTMLPropertiesCollection-namedItem"><a href="#dom-htmlpropertiescollection-nameditem">namedItem</a></code>(<var title="">name</var>)</dt>
+   <dt><var title="">collection</var>[<var title="">name</var>]</dt>
+   <dt><var title="">collection</var>(<var title="">name</var>)</dt>
+   <dd>
+    <p>Returns a <code><a href="#propertynodelist">PropertyNodeList</a></code> object containing any elements that add a property named <var title="">name</var>.</p>
+   </dd>
+
+   <dt><var title="">collection</var> . <code title="dom-HTMLPropertiesCollection-names"><a href="#dom-htmlpropertiescollection-names">names</a></code></dt>
+   <dd>
+    <p>Returns a <code>DOMStringList</code> with the <a href="microdata.html#property-names">property names</a> of the elements in the collection.</p>
+   </dd>
+
+   <dt><var title="">propertyNodeList</var> . <code title="dom-PropertyNodeList-values"><a href="#dom-propertynodelist-values">values</a></code></dt>
+   <dd>
+    <p>Returns an array of the various values that the relevant elements have.</p>
+   </dd>
+
+  </dl><h4 id="domtokenlist-0"><span class="secno">2.6.3 </span>DOMTokenList</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code><a href="#domtokenlist">DOMTokenList</a></code> interface represents an interface
+  to an underlying string that consists of a <a href="common-microsyntaxes.html#set-of-space-separated-tokens">set of
+  space-separated tokens</a>.</p><p class="note"><code><a href="#domtokenlist">DOMTokenList</a></code> objects are always
+  <a href="infrastructure.html#case-sensitive">case-sensitive</a>, even when the underlying string might
+  ordinarily be treated in a case-insensitive manner.</p><pre class="idl">interface <dfn id="domtokenlist">DOMTokenList</dfn> {
+  readonly attribute unsigned long <a href="#dom-tokenlist-length" title="dom-tokenlist-length">length</a>;
+  getter DOMString <a href="#dom-tokenlist-item" title="dom-tokenlist-item">item</a>(in unsigned long index);
+  boolean <a href="#dom-tokenlist-contains" title="dom-tokenlist-contains">contains</a>(in DOMString token);
+  void <a href="#dom-tokenlist-add" title="dom-tokenlist-add">add</a>(in DOMString token);
+  void <a href="#dom-tokenlist-remove" title="dom-tokenlist-remove">remove</a>(in DOMString token);
+  boolean <a href="#dom-tokenlist-toggle" title="dom-tokenlist-toggle">toggle</a>(in DOMString token);
+  <a href="#dom-tokenlist-tostring" title="dom-tokenlist-toString">stringifier</a> DOMString ();
+};</pre><dl class="domintro"><dt><var title="">tokenlist</var> . <code title="dom-tokenlist-length"><a href="#dom-tokenlist-length">length</a></code></dt>
+   <dd>
+    <p>Returns the number of tokens in the string.</p>
+   </dd>
+
+   <dt><var title="">element</var> = <var title="">tokenlist</var> . <code title="dom-tokenlist-item"><a href="#dom-tokenlist-item">item</a></code>(<var title="">index</var>)</dt>
+   <dt><var title="">tokenlist</var>[<var title="">index</var>]</dt>
+   <dd>
+    <p>Returns the token with index <var title="">index</var>. The tokens are returned in the order they are found in the underlying string.</p>
+    <p>Returns null if <var title="">index</var> is out of range.</p>
+   </dd>
+
+   <dt><var title="">hastoken</var> = <var title="">tokenlist</var> . <code title="dom-tokenlist-contains"><a href="#dom-tokenlist-contains">contains</a></code>(<var title="">token</var>)</dt>
+   <dd>
+    <p>Returns true if the <var title="">token</var> is present; false otherwise.</p>
+    <p>Throws a <code><a href="#syntax_err">SYNTAX_ERR</a></code> exception if <var title="">token</var> is empty.</p>
+    <p>Throws an <code><a href="#invalid_character_err">INVALID_CHARACTER_ERR</a></code> exception if <var title="">token</var> contains any spaces.</p>
+   </dd>
+
+   <dt><var title="">tokenlist</var> . <code title="dom-tokenlist-add"><a href="#dom-tokenlist-add">add</a></code>(<var title="">token</var>)</dt>
+   <dd>
+    <p>Adds <var title="">token</var>, unless it is already present.</p>
+    <p>Throws a <code><a href="#syntax_err">SYNTAX_ERR</a></code> exception if <var title="">token</var> is empty.</p>
+    <p>Throws an <code><a href="#invalid_character_err">INVALID_CHARACTER_ERR</a></code> exception if <var title="">token</var> contains any spaces.</p>
+   </dd>
+
+   <dt><var title="">tokenlist</var> . <code title="dom-tokenlist-remove"><a href="#dom-tokenlist-remove">remove</a></code>(<var title="">token</var>)</dt>
+   <dd>
+    <p>Removes <var title="">token</var> if it is present.</p>
+    <p>Throws a <code><a href="#syntax_err">SYNTAX_ERR</a></code> exception if <var title="">token</var> is empty.</p>
+    <p>Throws an <code><a href="#invalid_character_err">INVALID_CHARACTER_ERR</a></code> exception if <var title="">token</var> contains any spaces.</p>
+   </dd>
+
+   <dt><var title="">hastoken</var> = <var title="">tokenlist</var> . <code title="dom-tokenlist-toggle"><a href="#dom-tokenlist-toggle">toggle</a></code>(<var title="">token</var>)</dt>
+   <dd>
+    <p>Adds <var title="">token</var> if it is not present, or removes
+    it if it is. Returns true if <var title="">token</var> is now
+    present (it was added); returns false if it is not (it was
+    removed).</p>
+    <p>Throws a <code><a href="#syntax_err">SYNTAX_ERR</a></code> exception if <var title="">token</var> is empty.</p>
+    <p>Throws an <code><a href="#invalid_character_err">INVALID_CHARACTER_ERR</a></code> exception if <var title="">token</var> contains any spaces.</p>
+   </dd>
+
+  </dl><h4 id="domsettabletokenlist-0"><span class="secno">2.6.4 </span>DOMSettableTokenList</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code><a href="#domsettabletokenlist">DOMSettableTokenList</a></code> interface is the same as the
+  <code><a href="#domtokenlist">DOMTokenList</a></code> interface, except that it allows the
+  underlying string to be directly changed.</p><pre class="idl">interface <dfn id="domsettabletokenlist">DOMSettableTokenList</dfn> : <a href="#domtokenlist">DOMTokenList</a> {
+            attribute DOMString <a href="#dom-domsettabletokenlist-value" title="dom-DOMSettableTokenList-value">value</a>;
+};</pre><dl class="domintro"><dt><var title="">tokenlist</var> . <code title="dom-DOMSettableTokenList-value"><a href="#dom-domsettabletokenlist-value">value</a></code></dt>
+   <dd>
+    <p>Returns the underlying string.</p>
+    <p>Can be set, to change the underlying string.</p>
+   </dd>
+
+  </dl><h4 id="domstringmap-0"><span class="secno">2.6.5 </span>DOMStringMap</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code><a href="#domstringmap">DOMStringMap</a></code> interface represents a set of
+  name-value pairs. It exposes these using the scripting language's
+  native mechanisms for property access.</p><div class="example">
+
+   <p>The <code title="dom-dataset"><a href="#dom-dataset">dataset</a></code> attribute on
+   elements exposes the <code title="attr-data-*"><a href="elements.html#attr-data">data-*</a></code>
+   attributes on the element.</p>
+
+   <p>Given the following fragment and elements with similar
+   constructions:</p>
+
+   <pre>&lt;img class="tower" id="tower5" data-x="12" data-y="5"
+     data-ai="robotarget" data-hp="46" data-ability="flames"
+     src="towers/rocket.png alt="Rocket Tower"&gt;</pre>
+
+   <p>...one could imagine a function <code title="">splashDamage()</code> that takes some arguments, the first
+   of which is the element to process:</p>
+
+   <pre>function splashDamage(node, x, y, damage) {
+  if (node.classList.contains('tower') &amp;&amp; // checking the 'class' attribute
+      node.dataset.x == x &amp;&amp; // reading the 'data-x' attribute
+      node.dataset.y == y) { // reading the 'data-y' attribute
+    var hp = parseInt(node.dataset.hp); // reading the 'data-hp' attribute
+    hp = hp - damage;
+    if (hp &lt; 0) {
+      hp = 0;
+      node.dataset.ai = 'dead'; // setting the 'data-ai' attribute
+      delete node.dataset.ability; // removing the 'data-ability' attribute
+    }
+    node.dataset.hp = hp; // setting the 'data-hp' attribute
+  }
+}</pre>
+
+  </div><h4 id="dom-feature-strings"><span class="secno">2.6.6 </span>DOM feature strings</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>DOM3 Core defines mechanisms for checking for interface support,
+  and for obtaining implementations of interfaces, using <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMFeatures">feature
+  strings</a>. <a href="references.html#refsDOMCORE">[DOMCORE]</a></p><p>Authors are strongly discouraged from using these, as they are
+  notoriously unreliable and imprecise. Authors are encouraged to rely
+  on explicit feature testing or the graceful degradation behavior
+  intrinsic to some of the features in this specification.</p><h4 id="exceptions"><span class="secno">2.6.7 </span>Exceptions</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The following are <code>DOMException</code> codes. <a href="references.html#refsDOMCORE">[DOMCORE]</a></p><ol class="brief"><li value="1"><dfn id="index_size_err"><code>INDEX_SIZE_ERR</code></dfn></li>
+   <li value="2"><dfn id="domstring_size_err"><code>DOMSTRING_SIZE_ERR</code></dfn></li>
+   <li value="3"><dfn id="hierarchy_request_err"><code>HIERARCHY_REQUEST_ERR</code></dfn></li>
+   <li value="4"><dfn id="wrong_document_err"><code>WRONG_DOCUMENT_ERR</code></dfn></li>
+   <li value="5"><dfn id="invalid_character_err"><code>INVALID_CHARACTER_ERR</code></dfn></li>
+   <li value="6"><dfn id="no_data_allowed_err"><code>NO_DATA_ALLOWED_ERR</code></dfn></li>
+   <li value="7"><dfn id="no_modification_allowed_err"><code>NO_MODIFICATION_ALLOWED_ERR</code></dfn></li>
+   <li value="8"><dfn id="not_found_err"><code>NOT_FOUND_ERR</code></dfn></li>
+   <li value="9"><dfn id="not_supported_err"><code>NOT_SUPPORTED_ERR</code></dfn></li>
+   <li value="10"><dfn id="inuse_attribute_err"><code>INUSE_ATTRIBUTE_ERR</code></dfn></li>
+   <li value="11"><dfn id="invalid_state_err"><code>INVALID_STATE_ERR</code></dfn></li>
+   <li value="12"><dfn id="syntax_err"><code>SYNTAX_ERR</code></dfn></li>
+   <li value="13"><dfn id="invalid_modification_err"><code>INVALID_MODIFICATION_ERR</code></dfn></li>
+   <li value="14"><dfn id="namespace_err"><code>NAMESPACE_ERR</code></dfn></li>
+   <li value="15"><dfn id="invalid_access_err"><code>INVALID_ACCESS_ERR</code></dfn></li>
+   <li value="16"><dfn id="validation_err"><code>VALIDATION_ERR</code></dfn></li>
+   <li value="17"><dfn id="type_mismatch_err"><code>TYPE_MISMATCH_ERR</code></dfn></li>
+   <li value="18"><dfn id="security_err"><code>SECURITY_ERR</code></dfn></li> <!-- actually in XHR for now -->
+   <li value="19"><dfn id="network_err"><code>NETWORK_ERR</code></dfn></li> <!-- actually in XHR for now -->
+   <li value="20"><dfn id="abort_err"><code>ABORT_ERR</code></dfn></li> <!-- actually in XHR for now -->
+   <li value="21"><dfn id="url_mismatch_err"><code>URL_MISMATCH_ERR</code></dfn></li> <!-- actually in workers for now -->
+   <li value="22"><dfn id="quota_exceeded_err"><code>QUOTA_EXCEEDED_ERR</code></dfn></li> <!-- actually defined right here for now -->
+<!--v2DATAGRID   <li value="23"><dfn><code>DATAGRID_MODEL_ERR</code></dfn></li> --> <!-- actually defined right here for now -->
+   <li value="81"><dfn id="parse_err"><code>PARSE_ERR</code></dfn></li> <!-- actually defined in dom3ls -->
+   <li value="82"><dfn id="serialize_err"><code>SERIALIZE_ERR</code></dfn></li> <!-- actually defined in dom3ls -->
+  </ol></body></html>
\ No newline at end of file

Index: iana.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/iana.html,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- iana.html	6 Jan 2010 15:38:53 -0000	1.14
+++ iana.html	6 Jan 2010 15:49:34 -0000	1.15
@@ -0,0 +1,630 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<!DOCTYPE html>
+<!-- when publishing, change bits marked ZZZ --><html lang="en-US-x-Hixie" class="split chapter"><head><title>12 IANA considerations &#8212; HTML5 (Author Edition)</title><script src="link-fixup.js"></script><link href="whatwg.css" rel="stylesheet"><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 tbody th { text-align: left; }
+   table td, table th { border-left: solid; border-right: solid; border-bottom: solid thin; vertical-align: top; padding: 0.2em; }
+   blockquote { margin: 0 0 0 2em; border: 0; padding: 0; font-style: italic; }
+
+   .bad, .bad *:not(.XXX) { color: gray; border-color: gray; background: transparent; }
+   .matrix, .matrix td { border: none; text-align: right; }
+   .matrix { margin-left: 2em; }
+   .dice-example { border-collapse: collapse; border-style: hidden solid solid hidden; border-width: thin; margin-left: 3em; }
+   .dice-example caption { width: 30em; font-size: smaller; font-style: italic; padding: 0.75em 0; text-align: left; }
+   .dice-example td, .dice-example th { border: solid thin; width: 1.35em; height: 1.05em; text-align: center; padding: 0; }
+
+   .toc dfn, h1 dfn, h2 dfn, h3 dfn, h4 dfn, h5 dfn, h6 dfn { font: inherit; }
+   img.extra { float: right; }
+   pre.idl { border: solid thin; background: #EEEEEE; color: black; padding: 0.5em 1em; }
+   pre.idl :link, pre.idl :visited { color: inherit; background: transparent; }
+   pre.css { border: solid thin; background: #FFFFEE; color: black; padding: 0.5em 1em; }
+   pre.css:first-line { color: #AAAA50; }
+   dl.domintro { color: green; margin: 2em 0 2em 2em; padding: 0.5em 1em; border: none; background: #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; }
+   div.head p.copyright, div.head p.alt { font-size: x-small; font-style: oblique; margin: 0; }
+
+   body > .toc > li { margin-top: 1em; margin-bottom: 1em; }
+   body > .toc.brief > li { margin-top: 0.35em; margin-bottom: 0.35em; }
+   body > .toc > li > * { margin-bottom: 0.5em; }
+   body > .toc > li > * > li > * { margin-bottom: 0.25em; }
+   .toc, .toc li { list-style: none; }
+
+   .brief { margin-top: 1em; margin-bottom: 1em; line-height: 1.1; }
+   .brief li { margin: 0; padding: 0; }
+   .brief li p { margin: 0; padding: 0; }
+
+   .category-list { margin-top: -0.75em; margin-bottom: 1em; line-height: 1.5; }
+   .category-list::before { content: '\21D2\A0'; font-size: 1.2em; font-weight: 900; }
+   .category-list li { display: inline; }
+   .category-list li:not(:last-child)::after { content: ', '; }
+   .category-list li > span, .category-list li > a { text-transform: lowercase; }
+   .category-list li * { text-transform: none; } /* don't affect <code> nested in <a> */
+
+   .XXX { color: #E50000; background: white; border: solid red; padding: 0.5em; margin: 1em 0; }
+   .XXX > :first-child { margin-top: 0; }
+   p .XXX { line-height: 3em; }
+   .annotation { border: solid thin black; background: #0C479D; color: white; position: relative; margin: 8px 0 20px 0; }
+   .annotation:before { position: absolute; left: 0; top: 0; width: 100%; height: 100%; margin: 6px -6px -6px 6px; background: #333333; z-index: -1; content: ''; }
+   .annotation :link, .annotation :visited { color: inherit; }
+   .annotation :link:hover, .annotation :visited:hover { background: transparent; }
+   .annotation span { border: none ! important; }
+   .note { color: green; background: transparent; font-family: sans-serif; }
+   .warning { color: red; background: transparent; }
+   .note, .warning { font-weight: bolder; font-style: italic; }
+   p.note, div.note { padding: 0.5em 2em; }
+   span.note { padding: 0 2em; }
+   .note p:first-child, .warning p:first-child { margin-top: 0; }
+   .note p:last-child, .warning p:last-child { margin-bottom: 0; }
+   .warning:before { font-style: normal; }
+   p.note:before { content: 'Note: '; }
+   p.warning:before { content: '\26A0 Warning! '; }
+
+   .bookkeeping:before { display: block; content: 'Bookkeeping details'; font-weight: bolder; font-style: italic; }
+   .bookkeeping { font-size: 0.8em; margin: 2em 0; }
+   .bookkeeping p { margin: 0.5em 2em; display: list-item; list-style: square; }
+
+   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; }
+
+   #configUI { position: absolute; z-index: 20; top: 10em; right: 1em; width: 11em; font-size: small; }
+   #configUI p { margin: 0.5em 0; padding: 0.3em; background: #EEEEEE; color: black; border: inset thin; }
+   #configUI p label { display: block; }
+   #configUI #updateUI, #configUI .loginUI { text-align: center; }
+   #configUI input[type=button] { display: block; margin: auto; }
+  </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="data:text/css," id="complete" rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" id="author" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" id="highlight" rel="alternate stylesheet" title="Highlight implementation requirements"><script>
+   function getCookie(name) {
+     var params = location.search.substr(1).split("&");
+     for (var index = 0; index < params.length; index++) {
+       if (params[index] == name)
+         return "1";
+       var data = params[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     var cookies = document.cookie.split("; ");
+     for (var index = 0; index < cookies.length; index++) {
+       var data = cookies[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     return null;
+   }
+   function load(script) {
+     var e = document.createElement('script');
+     e.setAttribute('src', 'http://www.whatwg.org/specs/web-apps/current-work/' + script + '?' + encodeURIComponent(location) + '&' + encodeURIComponent(document.referrer));
+     document.body.appendChild(e);
+   }
+   function init() {
+     if (location.search == '?slow-browser')
+       return;
+     var configUI = document.createElement('div');
+     configUI.id = 'configUI';
+     document.body.appendChild(configUI);
+     // load('reviewer.js'); // would need cross-site XHR
+     if (document.getElementById('head'))
+       load('toc.js');
+     
+     // load('updater.js'); // would need cross-site XHR
+     load('dfn.js');
+     // load('status.js'); // would need cross-site XHR
+     if (getCookie('profile') == '1')
+       document.getElementsByTagName('h2')[0].textContent += '; load: ' + (new Date() - loadTimer) + 'ms';
+     fixBrokenLink();
+   }
+  </script><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><link href="obsolete.html" title="11 Obsolete features" rel="prev">
+  <link href="Overview.html#contents" title="Table of contents" rel="index">
+  <link href="index.html" title="Index" rel="next">
+  </head><body onload="fixBrokenLink(); init()"><div class="head" id="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 (Author Edition)</h1>
+   </div><div>
+   <a href="obsolete.html">&#8592; 11 Obsolete features</a> &#8211;
+   <a href="Overview.html#contents">Table of contents</a> &#8211;
+   <a href="index.html">Index &#8594;</a>
+  <ol class="toc"><li><a href="iana.html#iana"><span class="secno">12 </span>IANA considerations</a>
+  <ol><li><a href="iana.html#text-html"><span class="secno">12.1 </span><code>text/html</code></a></li><li><a href="iana.html#application-xhtml-xml"><span class="secno">12.2 </span><code>application/xhtml+xml</code></a></li><li><a href="iana.html#text-cache-manifest"><span class="secno">12.3 </span><code>text/cache-manifest</code></a></li><li><a href="iana.html#text-ping"><span class="secno">12.4 </span><code>text/ping</code></a></li><li><a href="iana.html#application-microdata-json"><span class="secno">12.5 </span><code>application/microdata+json</code></a></li><li><a href="iana.html#ping-from"><span class="secno">12.6 </span><code>Ping-From</code></a></li><li><a href="iana.html#ping-to"><span class="secno">12.7 </span><code>Ping-To</code></a></li></ol></li></ol></div>
+
+  <h2 id="iana"><span class="secno">12 </span>IANA considerations</h2><!-- http://www.w3.org/2002/06/registering-mediatype.html --><h3 id="text-html"><span class="secno">12.1 </span><dfn><code>text/html</code></dfn></h3><p>This registration is for community review and will be submitted
+  to the IESG for review, approval, and registration with IANA.</p><!--
+   To: ietf-types@iana.org
+   Subject: Registration of media type text/html
+  --><!--
+   Obsoletes:
+   http://www.ietf.org/rfc/rfc2854
+
+   Include a request to retire RFC 2854 persuant to section 6.4 of RFC 2026.
+  --><dl><dt>Type name:</dt>
+   <dd>text</dd>
+   <dt>Subtype name:</dt>
+   <dd>html</dd>
+   <dt>Required parameters:</dt>
+   <dd>No required parameters</dd>
+   <dt>Optional parameters:</dt>
+   <dd>
+    <dl><dt><code title="">charset</code></dt>
+     <dd>
+      <p>The <code title="">charset</code> parameter may be provided
+      to definitively specify the <a href="#document-s-character-encoding">document's character
+      encoding</a>, overriding any <a href="semantics.html#character-encoding-declaration" title="character encoding
+      declaration">character encoding declarations</a> in the
+      document. The parameter's value must be the name of the
+      character encoding used to serialize the file, must be a valid
+      character encoding name, and must be an <a href="infrastructure.html#ascii-case-insensitive">ASCII
+      case-insensitive</a> match for the <a href="infrastructure.html#preferred-mime-name">preferred MIME
+      name</a> for that encoding. <a href="references.html#refsIANACHARSET">[IANACHARSET]</a></p>
+     </dd>
+    </dl></dd>
+   <dt>Encoding considerations:</dt>
+   <dd>See the section on <a href="semantics.html#character-encoding-declaration" title="character encoding
+   declaration">character encoding declarations</a>.</dd>
+   <dt>Security considerations:</dt>
+   <dd>
+
+    <p>Entire novels have been written about the security
+    considerations that apply to HTML documents. Many are listed in
+    this document, to which the reader is referred for more
+    details. Some general concerns bear mentioning here, however:</p>
+
+    <p>HTML is scripted language, and has a large number of APIs (some
+    of which are described in this document). Script can expose the
+    user to potential risks of information leakage, credential
+    leakage, cross-site scripting attacks, cross-site request
+    forgeries, and a host of other problems. While the designs in this
+    specification are intended to be safe if implemented correctly, a
+    full implementation is a massive undertaking and, as with any
+    software, user agents are likely to have security bugs.</p>
+
+    <p>Even without scripting, there are specific features in HTML
+    which, for historical reasons, are required for broad
+    compatibility with legacy content but that expose the user to
+    unfortunate security problems. In particular, the <code><a href="embedded-content-1.html#the-img-element">img</a></code>
+    element can be used in conjunction with some other features as a
+    way to effect a port scan from the user's location on the
+    Internet. This can expose local network topologies that the
+    attacker would otherwise not be able to determine.</p>
+
+   </dd>
+   <dt>Interoperability considerations:</dt>
+   <dd>
+    Rules for processing both conforming and non-conforming content
+    are defined in this specification.
+   </dd>
+   <dt>Published specification:</dt>
+   <dd id="authors-using-html">
+    This document is the relevant specification. Labeling a resource
+    with the <code><a href="#text-html">text/html</a></code> type asserts that the resource is
+    an <a href="dom.html#html-documents" title="HTML documents">HTML document</a> using
+    <a href="syntax.html#syntax">the HTML syntax</a>.
+   </dd>
+   <dt>Applications that use this media type:</dt>
+   <dd>
+    Web browsers, tools for processing Web content, HTML authoring
+    tools, search engines, validators.
+   </dd>
+   <dt>Additional information:</dt>
+   <dd>
+    <dl><dt>Magic number(s):</dt>
+     <dd>No sequence of bytes can uniquely identify an HTML
+     document. More information on detecting HTML documents is
+     available in the Content-Type Processing Model specification. <a href="references.html#refsMIMESNIFF">[MIMESNIFF]</a></dd>
+     <dt>File extension(s):</dt>
+     <dd>"<code title="">html</code>" and "<code title="">htm</code>"
+     are commonly, but certainly not exclusively, used as the
+     extension for HTML documents.</dd>
+     <dt>Macintosh file type code(s):</dt>
+     <dd><code title="">TEXT</code></dd>
+    </dl></dd>
+   <dt>Person &amp; email address to contact for further information:</dt>
+   <dd>Ian Hickson &lt;ian@hixie.ch&gt;</dd>
+   <dt>Intended usage:</dt>
+   <dd>Common</dd>
+   <dt>Restrictions on usage:</dt>
+   <dd>No restrictions apply.</dd>
+   <dt>Author:</dt>
+   <dd>Ian Hickson &lt;ian@hixie.ch&gt;</dd>
+   <dt>Change controller:</dt>
+   <dd>W3C and WHATWG</dd>
+  </dl><p>Fragment identifiers used with <code><a href="#text-html">text/html</a></code> resources
+  refer to <a href="#the-indicated-part-of-the-document">the indicated part of the document</a>.</p><h3 id="application-xhtml-xml"><span class="secno">12.2 </span><dfn><code>application/xhtml+xml</code></dfn></h3><p>This registration is for community review and will be submitted
+  to the IESG for review, approval, and registration with IANA.</p><!--
+   To: ietf-types@iana.org
+   Subject: Registration of media type application/xhtml+xml
+  --><!--
+   Obsoletes:
+   http://www.ietf.org/rfc/rfc3236.txt
+  --><dl><dt>Type name:</dt>
+   <dd>application</dd>
+   <dt>Subtype name:</dt>
+   <dd>xhtml+xml</dd>
+   <dt>Required parameters:</dt>
+   <dd>Same as for <code>application/xml</code> <a href="references.html#refsRFC3023">[RFC3023]</a></dd>
+   <dt>Optional parameters:</dt>
+   <dd>Same as for <code>application/xml</code> <a href="references.html#refsRFC3023">[RFC3023]</a></dd>
+   <dt>Encoding considerations:</dt>
+   <dd>Same as for <code>application/xml</code> <a href="references.html#refsRFC3023">[RFC3023]</a></dd>
+   <dt>Security considerations:</dt>
+   <dd>Same as for <code>application/xml</code> <a href="references.html#refsRFC3023">[RFC3023]</a></dd>
+   <dt>Interoperability considerations:</dt>
+   <dd>Same as for <code>application/xml</code> <a href="references.html#refsRFC3023">[RFC3023]</a></dd>
+   <dt id="authors-using-xhtml">Published specification:</dt>
+   <dd>
+    Labeling a resource with the <code><a href="#application-xhtml-xml">application/xhtml+xml</a></code>
+    type asserts that the resource is an XML document that likely has
+    a root element from the <a href="#html-namespace-0">HTML namespace</a>. As such, the
+    relevant specifications are the XML specification, the Namespaces
+    in XML specification, and this specification. <a href="references.html#refsXML">[XML]</a> <a href="references.html#refsXMLNS">[XMLNS]</a>
+   </dd>
+   <dt>Applications that use this media type:</dt>
+   <dd>Same as for <code>application/xml</code> <a href="references.html#refsRFC3023">[RFC3023]</a></dd>
+   <dt>Additional information:</dt>
+   <dd>
+    <dl><dt>Magic number(s):</dt>
+     <dd>Same as for <code>application/xml</code> <a href="references.html#refsRFC3023">[RFC3023]</a></dd>
+     <dt>File extension(s):</dt>
+     <dd>"<code title="">xhtml</code>" and "<code title="">xht</code>"
+     are sometimes used as extensions for XML resources that have a
+     root element from the <a href="#html-namespace-0">HTML namespace</a>.</dd>
+     <dt>Macintosh file type code(s):</dt>
+     <dd><code title="">TEXT</code></dd>
+    </dl></dd>
+   <dt>Person &amp; email address to contact for further information:</dt>
+   <dd>Ian Hickson &lt;ian@hixie.ch&gt;</dd>
+   <dt>Intended usage:</dt>
+   <dd>Common</dd>
+   <dt>Restrictions on usage:</dt>
+   <dd>No restrictions apply.</dd>
+   <dt>Author:</dt>
+   <dd>Ian Hickson &lt;ian@hixie.ch&gt;</dd>
+   <dt>Change controller:</dt>
+   <dd>W3C and WHATWG</dd>
+  </dl><p>Fragment identifiers used with <code><a href="#application-xhtml-xml">application/xhtml+xml</a></code>
+  resources have the same semantics as with any <a href="infrastructure.html#xml-mime-type">XML MIME
+  type</a>. <a href="references.html#refsRFC3023">[RFC3023]</a></p><h3 id="text-cache-manifest"><span class="secno">12.3 </span><dfn><code>text/cache-manifest</code></dfn></h3><p>This registration is for community review and will be submitted
+  to the IESG for review, approval, and registration with IANA.</p><!--
+   To: ietf-types@iana.org
+   Subject: Registration of media type text/cache-manifest
+  --><dl><dt>Type name:</dt>
+   <dd>text</dd>
+   <dt>Subtype name:</dt>
+   <dd>cache-manifest</dd>
+   <dt>Required parameters:</dt>
+   <dd>No parameters</dd>
+   <dt>Optional parameters:</dt>
+   <dd>No parameters</dd>
+   <dt>Encoding considerations:</dt>
+   <dd>Always UTF-8.</dd>
+   <dt>Security considerations:</dt>
+   <dd>
+    <p>Cache manifests themselves pose no immediate risk unless
+    sensitive information is included within the
+    manifest. Implementations, however, are required to follow
+    specific rules when populating a cache based on a cache manifest,
+    to ensure that certain origin-based restrictions are
+    honored. Failure to correctly implement these rules can result in
+    information leakage, cross-site scripting attacks, and the
+    like.</p>
+   </dd>
+   <dt>Interoperability considerations:</dt>
+   <dd>
+    Rules for processing both conforming and non-conforming content
+    are defined in this specification.
+   </dd>
+   <dt>Published specification:</dt>
+   <dd>
+    This document is the relevant specification.
+   </dd>
+   <dt>Applications that use this media type:</dt>
+   <dd>
+    Web browsers.
+   </dd>
+   <dt>Additional information:</dt>
+   <dd>
+    <dl><dt>Magic number(s):</dt>
+     <dd>Cache manifests begin with the string "<code title="">CACHE
+     MANIFEST</code>", followed by either a U+0020 SPACE character, a
+     U+0009 CHARACTER TABULATION (tab) character, a U+000A LINE FEED
+     (LF) character, or a U+000D CARRIAGE RETURN (CR) character.</dd>
+     <dt>File extension(s):</dt>
+     <dd>"<code title="">manifest</code>"</dd>
+     <dt>Macintosh file type code(s):</dt>
+     <dd>No specific Macintosh file type codes are recommended for this type.</dd>
+    </dl></dd>
+   <dt>Person &amp; email address to contact for further information:</dt>
+   <dd>Ian Hickson &lt;ian@hixie.ch&gt;</dd>
+   <dt>Intended usage:</dt>
+   <dd>Common</dd>
+   <dt>Restrictions on usage:</dt>
+   <dd>No restrictions apply.</dd>
+   <dt>Author:</dt>
+   <dd>Ian Hickson &lt;ian@hixie.ch&gt;</dd>
+   <dt>Change controller:</dt>
+   <dd>W3C and WHATWG</dd>
+  </dl><p>Fragment identifiers have no meaning with
+  <code><a href="#text-cache-manifest">text/cache-manifest</a></code> resources.</p><h3 id="text-ping"><span class="secno">12.4 </span><dfn><code>text/ping</code></dfn></h3><p>This registration is for community review and will be submitted
+  to the IESG for review, approval, and registration with IANA.</p><!--
+   To: ietf-types@iana.org
+   Subject: Registration of media type text/ping
+  --><dl><dt>Type name:</dt>
+   <dd>text</dd>
+   <dt>Subtype name:</dt>
+   <dd>ping</dd>
+   <dt>Required parameters:</dt>
+   <dd>No parameters</dd>
+   <dt>Optional parameters:</dt>
+   <dd>No parameters</dd>
+   <dt>Encoding considerations:</dt>
+   <dd>Not applicable.</dd>
+   <dt>Security considerations:</dt>
+   <dd>
+    <p>If used exclusively in the fashion described in the context of
+    <a href="#hyperlink-auditing">hyperlink auditing</a>, this type introduces no new
+    security concerns.</p>
+   </dd>
+   <dt>Interoperability considerations:</dt>
+   <dd>
+    Rules applicable to this type are defined in this specification.
+   </dd>
+   <dt>Published specification:</dt>
+   <dd>
+    This document is the relevant specification.
+   </dd>
+   <dt>Applications that use this media type:</dt>
+   <dd>
+    Web browsers.
+   </dd>
+   <dt>Additional information:</dt>
+   <dd>
+    <dl><dt>Magic number(s):</dt>
+     <dd><code><a href="#text-ping">text/ping</a></code> resources always consist of the four
+     bytes 0x50 0x49 0x4E 0x47 (ASCII 'PING').</dd>
+     <dt>File extension(s):</dt>
+     <dd>No specific file extension is recommended for this type.</dd>
+     <dt>Macintosh file type code(s):</dt>
+     <dd>No specific Macintosh file type codes are recommended for this type.</dd>
+    </dl></dd>
+   <dt>Person &amp; email address to contact for further information:</dt>
+   <dd>Ian Hickson &lt;ian@hixie.ch&gt;</dd>
+   <dt>Intended usage:</dt>
+   <dd>Common</dd>
+   <dt>Restrictions on usage:</dt>
+   <dd>Only intended for use with HTTP POST requests generated as part
+   of a Web browser's processing of the <code title="attr-hyperlink-ping"><a href="links.html#ping">ping</a></code> attribute.</dd>
+   <dt>Author:</dt>
+   <dd>Ian Hickson &lt;ian@hixie.ch&gt;</dd>
+   <dt>Change controller:</dt>
+   <dd>W3C and WHATWG</dd>
+  </dl><p>Fragment identifiers have no meaning with
+  <code><a href="#text-ping">text/ping</a></code> resources.</p><h3 id="application-microdata-json"><span class="secno">12.5 </span><dfn><code>application/microdata+json</code></dfn></h3><p>This registration is for community review and will be submitted
+  to the IESG for review, approval, and registration with IANA.</p><!--
+   To: ietf-types@iana.org
+   Subject: Registration of media type application/microdata+json
+  --><dl><dt>Type name:</dt>
+   <dd>application</dd>
+   <dt>Subtype name:</dt>
+   <dd>microdata+json</dd>
+   <dt>Required parameters:</dt>
+   <dd>Same as for <code>application/json</code> <a href="references.html#refsJSON">[JSON]</a></dd>
+   <dt>Optional parameters:</dt>
+   <dd>Same as for <code>application/json</code> <a href="references.html#refsJSON">[JSON]</a></dd>
+   <dt>Encoding considerations:</dt>
+   <dd>Always UTF-8.</dd>
+   <dt>Security considerations:</dt>
+   <dd>Same as for <code>application/json</code> <a href="references.html#refsJSON">[JSON]</a></dd>
+   <dt>Interoperability considerations:</dt>
+   <dd>Same as for <code>application/json</code> <a href="references.html#refsJSON">[JSON]</a></dd>
+   <dt>Published specification:</dt>
+   <dd>
+
+    Labeling a resource with the
+    <code><a href="#application-microdata-json">application/microdata+json</a></code> type asserts that the
+    resource is a JSON text that consists of an object with a single
+    entry called "<code title="">items</code>" consisting of an array
+    of entries, each of which consists of an object with two entries,
+    one called "<code title="">type</code>" whose value is an array of
+    strings, and one called "<code title="">properties</code>" whose
+    value is an object whose entries each have a value consisting of
+    an array of either objects or strings, the objects being of the
+    same form as the objects in the aforementioned "<code title="">items</code>" entry. As such, the relevant specifications
+    are the JSON specification and this specification. <a href="references.html#refsJSON">[JSON]</a>
+
+   </dd>
+   <dt>Applications that use this media type:</dt>
+   <dd>Same as for <code>application/json</code> <a href="references.html#refsJSON">[JSON]</a></dd>
+   <dt>Additional information:</dt>
+   <dd>
+    <dl><dt>Magic number(s):</dt>
+     <dd>Same as for <code>application/json</code> <a href="references.html#refsJSON">[JSON]</a></dd>
+     <dt>File extension(s):</dt>
+     <dd>Same as for <code>application/json</code> <a href="references.html#refsJSON">[JSON]</a></dd>
+     <dt>Macintosh file type code(s):</dt>
+     <dd>Same as for <code>application/json</code> <a href="references.html#refsJSON">[JSON]</a></dd>
+    </dl></dd>
+   <dt>Person &amp; email address to contact for further information:</dt>
+   <dd>Ian Hickson &lt;ian@hixie.ch&gt;</dd>
+   <dt>Intended usage:</dt>
+   <dd>Common</dd>
+   <dt>Restrictions on usage:</dt>
+   <dd>No restrictions apply.</dd>
+   <dt>Author:</dt>
+   <dd>Ian Hickson &lt;ian@hixie.ch&gt;</dd>
+   <dt>Change controller:</dt>
+   <dd>W3C and WHATWG</dd>
+  </dl><p>Fragment identifiers used with
+  <code><a href="#application-microdata-json">application/microdata+json</a></code> resources have the same
+  semantics as when used with <code>application/json</code>. <a href="references.html#refsJSON">[JSON]</a></p><h3 id="ping-from"><span class="secno">12.6 </span><dfn title="http-ping-from"><code>Ping-From</code></dfn></h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>This section describes a header field for registration in the
+  Permanent Message Header Field Registry.  <a href="references.html#refsRFC3864">[RFC3864]</a></p><dl><dt>Header field name</dt>
+   <dd>Ping-From</dd>
+   <dt>Applicable protocol</dt>
+   <dd>http</dd>
+   <dt>Status</dt>
+   <dd>standard</dd>
+   <dt>Author/Change controller</dt>
+   <dd>W3C and WHATWG</dd>
+   <dt>Specification document(s)</dt>
+   <dd>
+    This document is the relevant specification.
+   </dd>
+   <dt>Related information</dt>
+   <dd>None.</dd>   
+  </dl><h3 id="ping-to"><span class="secno">12.7 </span><dfn title="http-ping-to"><code>Ping-To</code></dfn></h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>This section describes a header field for registration in the
+  Permanent Message Header Field Registry.  <a href="references.html#refsRFC3864">[RFC3864]</a></p><dl><dt>Header field name</dt>
+   <dd>Ping-To</dd>
+   <dt>Applicable protocol</dt>
+   <dd>http</dd>
+   <dt>Status</dt>
+   <dd>standard</dd>
+   <dt>Author/Change controller</dt>
+   <dd>W3C and WHATWG</dd>
+   <dt>Specification document(s)</dt>
+   <dd>
+    This document is the relevant specification.
+   </dd>
+   <dt>Related information</dt>
+   <dd>None.</dd>   
+  </dl></body></html>
\ No newline at end of file

Index: association-of-controls-and-forms.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/association-of-controls-and-forms.html,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- association-of-controls-and-forms.html	6 Jan 2010 15:38:52 -0000	1.10
+++ association-of-controls-and-forms.html	6 Jan 2010 15:49:33 -0000	1.11
@@ -212,4 +212,363 @@
    .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;
\ No newline at end of file
+   .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="data:text/css," id="complete" rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" id="author" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" id="highlight" rel="alternate stylesheet" title="Highlight implementation requirements"><script>
+   function getCookie(name) {
+     var params = location.search.substr(1).split("&");
+     for (var index = 0; index < params.length; index++) {
+       if (params[index] == name)
+         return "1";
+       var data = params[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     var cookies = document.cookie.split("; ");
+     for (var index = 0; index < cookies.length; index++) {
+       var data = cookies[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     return null;
+   }
+   function load(script) {
+     var e = document.createElement('script');
+     e.setAttribute('src', 'http://www.whatwg.org/specs/web-apps/current-work/' + script + '?' + encodeURIComponent(location) + '&' + encodeURIComponent(document.referrer));
+     document.body.appendChild(e);
+   }
+   function init() {
+     if (location.search == '?slow-browser')
+       return;
+     var configUI = document.createElement('div');
+     configUI.id = 'configUI';
+     document.body.appendChild(configUI);
+     // load('reviewer.js'); // would need cross-site XHR
+     if (document.getElementById('head'))
+       load('toc.js');
+     
+     // load('updater.js'); // would need cross-site XHR
+     load('dfn.js');
+     // load('status.js'); // would need cross-site XHR
+     if (getCookie('profile') == '1')
+       document.getElementsByTagName('h2')[0].textContent += '; load: ' + (new Date() - loadTimer) + 'ms';
+     fixBrokenLink();
+   }
+  </script><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><link href="the-button-element.html" title="4.10.6 The button element" 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(); init()"><div class="head" id="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 (Author Edition)</h1>
+   </div><div>
+   <a href="the-button-element.html">&#8592; 4.10.6 The button element</a> &#8211;
+   <a href="Overview.html#contents">Table of contents</a> &#8211;
+   <a href="interactive-elements.html">4.11 Interactive elements &#8594;</a>
+  <ol class="toc"><li><ol><li><ol><li><a href="association-of-controls-and-forms.html#association-of-controls-and-forms"><span class="secno">4.10.14 </span>Association of controls and forms</a></li><li><a href="association-of-controls-and-forms.html#attributes-common-to-form-controls"><span class="secno">4.10.15 </span>Attributes common to form controls</a>
+      <ol><li><a href="association-of-controls-and-forms.html#naming-form-controls"><span class="secno">4.10.15.1 </span>Naming form controls</a></li><li><a href="association-of-controls-and-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="association-of-controls-and-forms.html#autofocusing-a-form-control"><span class="secno">4.10.15.3 </span>Autofocusing a form control</a></li><li><a href="association-of-controls-and-forms.html#limiting-user-input-length"><span class="secno">4.10.15.4 </span>Limiting user input length</a></li><li><a href="association-of-controls-and-forms.html#form-submission-0"><span class="secno">4.10.15.5 </span>Form submission</a></li></ol></li><li><a href="association-of-controls-and-forms.html#constraints"><span class="secno">4.10.16 </span>Constraints</a>
+      <ol><li><a href="association-of-controls-and-forms.html#definitions"><span class="secno">4.10.16.1 </span>Definitions</a></li><li><a href="association-of-controls-and-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="association-of-controls-and-forms.html#form-submission"><span class="secno">4.10.17 </span>Form submission</a></li></ol></li></ol></li></ol></div>
+
+  <h4 id="association-of-controls-and-forms"><span class="secno">4.10.14 </span>Association of controls and forms</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>A <a href="forms.html#form-associated-element">form-associated element</a> can have a relationship
+  with a <code><a href="forms.html#the-form-element">form</a></code> element, which is called the element's
+  <dfn id="form-owner">form owner</dfn>. If a <a href="forms.html#form-associated-element">form-associated element</a> is
+  not associated with a <code><a href="forms.html#the-form-element">form</a></code> element, its <a href="#form-owner">form
+  owner</a> is said to be null.</p><p>A <a href="forms.html#form-associated-element">form-associated element</a> is, by default, associated
+  with its nearest ancestor <code><a href="forms.html#the-form-element">form</a></code> element, but may have a <dfn id="attr-fae-form" title="attr-fae-form"><code>form</code></dfn> attribute specified to
+  override this.</p><p>If a <a href="forms.html#form-associated-element">form-associated element</a> has a <code title="attr-fae-form"><a href="#attr-fae-form">form</a></code> attribute specified, then its
+  value must be the ID of a <code><a href="forms.html#the-form-element">form</a></code> element in the element's
+  owner <code>Document</code>.</p><dl class="domintro"><dt><var title="">element</var> . <code title="dom-fae-form"><a href="#dom-fae-form">form</a></code></dt>
+
+   <dd>
+
+    <p>Returns the element's <a href="#form-owner">form owner</a>.</p>
+
+    <p>Returns null if there isn't one.</p>
+
+   </dd>
+
+  </dl><h4 id="attributes-common-to-form-controls"><span class="secno">4.10.15 </span><dfn>Attributes common to form controls</dfn></h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><h5 id="naming-form-controls"><span class="secno">4.10.15.1 </span>Naming form controls</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <dfn id="attr-fe-name" title="attr-fe-name"><code>name</code></dfn> content
+  attribute gives the name of the form control, as used in <a href="#form-submission">form
+  submission</a> and in the <code><a href="forms.html#the-form-element">form</a></code> element's <code title="dom-form-elements"><a href="#dom-form-elements">elements</a></code> object. If the attribute
+  is specified, its value must not be the empty string.</p><h5 id="enabling-and-disabling-form-controls"><span class="secno">4.10.15.2 </span>Enabling and disabling form controls</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <dfn id="attr-fe-disabled" title="attr-fe-disabled"><code>disabled</code></dfn>
+  content attribute is a <a href="common-microsyntaxes.html#boolean-attribute">boolean attribute</a>.</p><p>A form control is <dfn id="concept-fe-disabled" title="concept-fe-disabled">disabled</dfn>
+  if its <code title="attr-fe-disabled"><a href="#attr-fe-disabled">disabled</a></code> attribute is
+  set, or if it is a descendant of a <code><a href="forms.html#the-fieldset-element">fieldset</a></code> element
+  whose <code title="attr-fieldset-disabled"><a href="forms.html#attr-fieldset-disabled">disabled</a></code> attribute
+  is set and is <em>not</em> a descendant of that
+  <code><a href="forms.html#the-fieldset-element">fieldset</a></code> element's first <code><a href="forms.html#the-legend-element">legend</a></code> element
+  child, if any.</p><h5 id="autofocusing-a-form-control"><span class="secno">4.10.15.3 </span>Autofocusing a form control</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><!-- v2: Apply this to contentEditable elements --><p>The <dfn id="attr-fe-autofocus" title="attr-fe-autofocus"><code>autofocus</code></dfn>
+  content attribute allows the user to indicate that a control is to
+  be focused as soon as the page is loaded, allowing the user to just
+  start typing without having to manually focus the main control.</p><p>The <code title="attr-fe-autofocus"><a href="#attr-fe-autofocus">autofocus</a></code> attribute is
+  a <a href="common-microsyntaxes.html#boolean-attribute">boolean attribute</a>.</p><p>There must not be more than one element in the document with the
+  <code title="attr-fe-autofocus"><a href="#attr-fe-autofocus">autofocus</a></code> attribute
+  specified.</p><div class="example">
+   <p>In the following snippet, the text control would be focused when
+   the document was loaded.</p>
+   <pre>&lt;input maxlength="256" name="q" value="" autofocus&gt;
+&lt;input type="submit" value="Search"&gt;</pre>
+  </div><h5 id="limiting-user-input-length"><span class="secno">4.10.15.4 </span>Limiting user input length</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>A <dfn id="attr-fe-maxlength" title="attr-fe-maxlength">form control <code title="">maxlength</code> attribute</dfn>, controlled by a <var title="">dirty value flag</var> declares a limit on the number of
+  characters a user can input.</p><p>If an element has its <a href="#attr-fe-maxlength" title="attr-fe-maxlength">form
+  control <code title="">maxlength</code> attribute</a> specified,
+  the attribute's value must be a <a href="common-microsyntaxes.html#valid-non-negative-integer">valid non-negative
+  integer</a>. If the attribute is specified and applying the
+  <a href="#rules-for-parsing-non-negative-integers">rules for parsing non-negative integers</a> to its value
+  results in a number, then that number is the element's <dfn id="maximum-allowed-value-length">maximum
+  allowed value length</dfn>. If the attribute is omitted or parsing
+  its value results in an error, then there is no <a href="#maximum-allowed-value-length">maximum
+  allowed value length</a>.</p><h5 id="form-submission-0"><span class="secno">4.10.15.5 </span>Form submission</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p><dfn id="attributes-for-form-submission">Attributes for form submission</dfn> can be specified both
+  on <code><a href="forms.html#the-form-element">form</a></code> elements and on <a href="forms.html#concept-submit-button" title="concept-submit-button">submit buttons</a> (elements that
+  represent buttons that submit forms, e.g. an <code><a href="the-input-element.html#the-input-element">input</a></code>
+  element whose <code title="attr-input-type"><a href="the-input-element.html#attr-input-type">type</a></code> attribute is
+  in the <a href="number-state.html#submit-button-state" title="attr-input-type-submit">Submit Button</a>
+  state).
+
+  </p><p>The <a href="#attributes-for-form-submission">attributes for form submission</a> that may be
+  specified on <code><a href="forms.html#the-form-element">form</a></code> elements are <code title="attr-fs-action"><a href="#attr-fs-action">action</a></code>, <code title="attr-fs-enctype"><a href="#attr-fs-enctype">enctype</a></code>, <code title="attr-fs-method"><a href="#attr-fs-method">method</a></code>, <code title="attr-fs-novalidate"><a href="#attr-fs-novalidate">novalidate</a></code>, and <code title="attr-fs-target"><a href="#attr-fs-target">target</a></code>.</p><p>The corresponding <a href="#attributes-for-form-submission">attributes for form submission</a>
+  that may be specified on <a href="forms.html#concept-submit-button" title="concept-submit-button">submit
+  buttons</a> are <code title="attr-fs-formaction"><a href="#attr-fs-formaction">formaction</a></code>, <code title="attr-fs-formenctype"><a href="#attr-fs-formenctype">formenctype</a></code>, <code title="attr-fs-formmethod"><a href="#attr-fs-formmethod">formmethod</a></code>, <code title="attr-fs-formnovalidate"><a href="#attr-fs-formnovalidate">formnovalidate</a></code>, and <code title="attr-fs-formtarget"><a href="#attr-fs-formtarget">formtarget</a></code>. When omitted, they
+  default to the values given on the corresponding attributes on the
+  <code><a href="forms.html#the-form-element">form</a></code> element.</p><hr><p>The <dfn id="attr-fs-action" title="attr-fs-action"><code>action</code></dfn> and
+  <dfn id="attr-fs-formaction" title="attr-fs-formaction"><code>formaction</code></dfn>
+  content attributes, if specified, must have a value that is a
+  <a href="urls.html#valid-url">valid URL</a>.</p><p>The <dfn id="concept-fs-action" title="concept-fs-action">action</dfn> of an element is
+  the value of the element's <code title="attr-fs-formaction"><a href="#attr-fs-formaction">formaction</a></code> attribute, if the
+  element is a <a href="forms.html#concept-submit-button" title="concept-submit-button">submit
+  button</a> and has such an attribute, or the value of its
+  <a href="#form-owner">form owner</a>'s <code title="attr-fs-action"><a href="#attr-fs-action">action</a></code>
+  attribute, if <em>it</em> has one, or else the empty string.</p><hr><p>The <dfn id="attr-fs-method" title="attr-fs-method"><code>method</code></dfn> and
+  <dfn id="attr-fs-formmethod" title="attr-fs-formmethod"><code>formmethod</code></dfn>
+  content attributes are <a href="common-microsyntaxes.html#enumerated-attribute" title="enumerated attribute">enumerated
+  attributes</a> with the following keywords and states:</p><ul><li>The keyword <dfn id="attr-fs-method-get-keyword" title="attr-fs-method-GET-keyword"><code>GET</code></dfn>, mapping
+   to the state <dfn id="attr-fs-method-get" title="attr-fs-method-GET">GET</dfn>, indicating
+   the HTTP GET method.</li>
+
+   <li>The keyword <dfn id="attr-fs-method-post-keyword" title="attr-fs-method-POST-keyword"><code>POST</code></dfn>, mapping
+   to the state <dfn id="attr-fs-method-post" title="attr-fs-method-POST">POST</dfn>, indicating
+   the HTTP POST method.</li>
+
+   <li>The keyword <dfn id="attr-fs-method-put-keyword" title="attr-fs-method-PUT-keyword"><code>PUT</code></dfn>, mapping
+   to the state <dfn id="attr-fs-method-put" title="attr-fs-method-PUT">PUT</dfn>, indicating
+   the HTTP PUT method.</li>
+
+   <li>The keyword <dfn id="attr-fs-method-delete-keyword" title="attr-fs-method-DELETE-keyword"><code>DELETE</code></dfn>, mapping
+   to the state <dfn id="attr-fs-method-delete" title="attr-fs-method-DELETE">DELETE</dfn>, indicating
+   the HTTP DELETE method.</li>
+
+  </ul><p>The <i>missing value default</i> for these attributes is the
+  <a href="#attr-fs-method-get" title="attr-fs-method-GET">GET</a> state.</p><p>The <dfn id="concept-fs-method" title="concept-fs-method">method</dfn> of an element is
+  one of those four states. If the element is a <a href="forms.html#concept-submit-button" title="concept-submit-button">submit button</a> and has a <code title="attr-fs-formmethod"><a href="#attr-fs-formmethod">formmethod</a></code> attribute, then the
+  element's <a href="#concept-fs-method" title="concept-fs-method">method</a> is that
+  attribute's state; otherwise, it is the <a href="#form-owner">form owner</a>'s
+  <code title="attr-fs-method"><a href="#attr-fs-method">method</a></code> attribute's state.</p><hr><p>The <dfn id="attr-fs-enctype" title="attr-fs-enctype"><code>enctype</code></dfn> and
+  <dfn id="attr-fs-formenctype" title="attr-fs-formenctype"><code>formenctype</code></dfn>
+  content attributes are <a href="common-microsyntaxes.html#enumerated-attribute" title="enumerated attribute">enumerated
+  attributes</a> with the following keywords and states:</p><ul><li>The "<dfn id="attr-fs-enctype-urlencoded" title="attr-fs-enctype-urlencoded"><code>application/x-www-form-urlencoded</code></dfn>" keyword and corresponding state.</li>
+   <li>The "<dfn id="attr-fs-enctype-formdata" title="attr-fs-enctype-formdata"><code>multipart/form-data</code></dfn>" keyword and corresponding state.</li>
+   <li>The "<dfn id="attr-fs-enctype-text" title="attr-fs-enctype-text"><code>text/plain</code></dfn>" keyword and corresponding state.</li>
+  </ul><p>The <i>missing value default</i> for these attributes is the
+  <code title="attr-fs-enctype-urlencoded"><a href="#attr-fs-enctype-urlencoded">application/x-www-form-urlencoded</a></code>
+  state.</p><p>The <dfn id="concept-fs-enctype" title="concept-fs-enctype">enctype</dfn> of an element
+  is one of those three states. If the element is a <a href="forms.html#concept-submit-button" title="concept-submit-button">submit button</a> and has a <code title="attr-fs-formenctype"><a href="#attr-fs-formenctype">formenctype</a></code> attribute, then the
+  element's <a href="#concept-fs-enctype" title="concept-fs-enctype">enctype</a> is that
+  attribute's state; otherwise, it is the <a href="#form-owner">form owner</a>'s
+  <code title="attr-fs-enctype"><a href="#attr-fs-enctype">enctype</a></code> attribute's state.</p><hr><p>The <dfn id="attr-fs-target" title="attr-fs-target"><code>target</code></dfn> and
+  <dfn id="attr-fs-formtarget" title="attr-fs-formtarget"><code>formtarget</code></dfn>
+  content attributes, if specified, must have values that are <a href="browsers.html#valid-browsing-context-name-or-keyword" title="valid browsing context name or keyword">valid browsing
+  context names or keywords</a>.</p><p>The <dfn id="concept-fs-target" title="concept-fs-target">target</dfn> of an element is
+  the value of the element's <code title="attr-fs-formtarget"><a href="#attr-fs-formtarget">formtarget</a></code> attribute, if the
+  element is a <a href="forms.html#concept-submit-button" title="concept-submit-button">submit
+  button</a> and has such an attribute; or the value of its
+  <a href="#form-owner">form owner</a>'s <code title="attr-fs-target"><a href="#attr-fs-target">target</a></code>
+  attribute, if <em>it</em> has such an attribute; or, if one of the
+  child nodes of <a href="dom.html#the-head-element">the <code>head</code> element</a> is a
+  <code><a href="semantics.html#the-base-element">base</a></code> element with a <code title="attr-base-target"><a href="semantics.html#attr-base-target">target</a></code> attribute, then the value of
+  the <code title="attr-base-target"><a href="semantics.html#attr-base-target">target</a></code> attribute of the
+  first such <code><a href="semantics.html#the-base-element">base</a></code> element; or, if there is no such
+  element, the empty string.</p><!-- c.f. hyperlink following --><hr><p>The <dfn id="attr-fs-novalidate" title="attr-fs-novalidate"><code>novalidate</code></dfn>
+  and <dfn id="attr-fs-formnovalidate" title="attr-fs-formnovalidate"><code>formnovalidate</code></dfn>
+  content attributes are <a href="common-microsyntaxes.html#boolean-attribute" title="boolean attribute">boolean
+  attributes</a>. If present, they indicate that the form is not to
+  be validated during submission.</p><p>The <dfn id="concept-fs-novalidate" title="concept-fs-novalidate">no-validate state</dfn> of
+  an element is true if the element is a <a href="forms.html#concept-submit-button" title="concept-submit-button">submit button</a> and the element's
+  <code title="attr-fs-formnovalidate"><a href="#attr-fs-formnovalidate">formnovalidate</a></code> attribute
+  is present, or if the element's <a href="#form-owner">form owner</a>'s <code title="attr-fs-novalidate"><a href="#attr-fs-novalidate">novalidate</a></code> attribute is present,
+  and false otherwise.</p><div class="example">
+
+   <p>This attribute is useful to include "save" buttons on forms that
+   have validation constraints, to allow users to save their progress
+   even though they haven't fully entered the data in the form. The
+   following example shows a simple form that has two required
+   fields. There are three buttons: one to submit the form, which
+   requires both fields to be filled in; one to save the form so that
+   the user can come back and fill it in later; and one to cancel the
+   form altogether.</p>
+
+   <pre>&lt;form action="editor.cgi" method="post"&gt;
+ &lt;p&gt;&lt;label&gt;Name: &lt;input required name=fn&gt;&lt;/label&gt;&lt;/p&gt;
+ &lt;p&gt;&lt;label&gt;Essay: &lt;textarea name=essay&gt;&lt;/textarea&gt;&lt;/label&gt;&lt;/p&gt;
+ &lt;p&gt;&lt;input type=submit name=submit value="Submit essay"&gt;&lt;/p&gt;
+ &lt;p&gt;&lt;input type=submit formnovalidate name=save value="Save essay"&gt;&lt;/p&gt;
+ &lt;p&gt;&lt;input type=submit formnovalidate name=cancel value="Cancel"&gt;&lt;/p&gt;
+&lt;/form&gt;</pre>
+
+  </div><h4 id="constraints"><span class="secno">4.10.16 </span>Constraints</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><h5 id="definitions"><span class="secno">4.10.16.1 </span>Definitions</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><h5 id="the-constraint-validation-api"><span class="secno">4.10.16.2 </span>The <dfn>constraint validation API</dfn></h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><dl class="domintro"><dt><var title="">element</var> . <code title="dom-cva-willValidate"><a href="#dom-cva-willvalidate">willValidate</a></code></dt>
+
+   <dd>
+
+    <p>Returns true if the element will be validated when the form is submitted; false otherwise.</p>
+
+   </dd>
+
+   <dt><var title="">element</var> . <code title="dom-cva-setCustomValidity"><a href="#dom-cva-setcustomvalidity">setCustomValidity</a></code>(<var title="">message</var>)</dt>
+
+   <dd>
+
+    <p>Sets a custom error, so that the element would fail to
+    validate. The given message is the message to be shown to the user
+    when reporting the problem to the user.</p>
+
+    <p>If the argument is the empty string, clears the custom error.</p>
+
+   </dd>
+
+   <dt><var title="">element</var> . <code title="dom-cva-validity"><a href="#dom-cva-validity">validity</a></code> . <code title="dom-validitystate-valueMissing"><a href="#dom-validitystate-valuemissing">valueMissing</a></code></dt>
+
+   <dd>
+
+    <p>Returns true if the element has no value but is a required field; false otherwise.</p>
+
+   </dd>
+
+   <dt><var title="">element</var> . <code title="dom-cva-validity"><a href="#dom-cva-validity">validity</a></code> . <code title="dom-validitystate-typeMismatch"><a href="#dom-validitystate-typemismatch">typeMismatch</a></code></dt>
+
+   <dd>
+
+    <p>Returns true if the element's value is not in the correct syntax; false otherwise.</p>
+
+   </dd>
+
+   <dt><var title="">element</var> . <code title="dom-cva-validity"><a href="#dom-cva-validity">validity</a></code> . <code title="dom-validitystate-patternMismatch"><a href="#dom-validitystate-patternmismatch">patternMismatch</a></code></dt>
+
+   <dd>
+
+    <p>Returns true if the element's value doesn't match the provided pattern; false otherwise.</p>
+
+   </dd>
+
+   <dt><var title="">element</var> . <code title="dom-cva-validity"><a href="#dom-cva-validity">validity</a></code> . <code title="dom-validitystate-tooLong"><a href="#dom-validitystate-toolong">tooLong</a></code></dt>
+
+   <dd>
+
+    <p>Returns true if the element's value is longer than the provided maximum length; false otherwise.</p>
+
+   </dd>
+
+   <dt><var title="">element</var> . <code title="dom-cva-validity"><a href="#dom-cva-validity">validity</a></code> . <code title="dom-validitystate-rangeUnderflow"><a href="#dom-validitystate-rangeunderflow">rangeUnderflow</a></code></dt>
+
+   <dd>
+
+    <p>Returns true if the element's value is lower than the provided minimum; false otherwise.</p>
+
+   </dd>
+
+   <dt><var title="">element</var> . <code title="dom-cva-validity"><a href="#dom-cva-validity">validity</a></code> . <code title="dom-validitystate-rangeOverflow"><a href="#dom-validitystate-rangeoverflow">rangeOverflow</a></code></dt>
+
+   <dd>
+
+    <p>Returns true if the element's value is higher than the provided maximum; false otherwise.</p>
+
+   </dd>
+
+   <dt><var title="">element</var> . <code title="dom-cva-validity"><a href="#dom-cva-validity">validity</a></code> . <code title="dom-validitystate-stepMismatch"><a href="#dom-validitystate-stepmismatch">stepMismatch</a></code></dt>
+
+   <dd>
+
+    <p>Returns true if the element's value doesn't fit the rules given by the <code title="attr-input-step"><a href="common-input-element-attributes.html#attr-input-step">step</a></code> attribute; false otherwise.</p>
+
+   </dd>
+
+   <dt><var title="">element</var> . <code title="dom-cva-validity"><a href="#dom-cva-validity">validity</a></code> . <code title="dom-validitystate-customError"><a href="#dom-validitystate-customerror">customError</a></code></dt>
+
+   <dd>
+
+    <p>Returns true if the element has a custom error; false otherwise.</p>
+
+   </dd>
+
+   <dt><var title="">element</var> . <code title="dom-cva-validity"><a href="#dom-cva-validity">validity</a></code> . <code title="dom-validitystate-valid"><a href="#dom-validitystate-valid">valid</a></code></dt>
+
+   <dd>
+
+    <p>Returns true if the element's value has no validity problems; false otherwise.</p>
+
+   </dd>
+
+   <dt><var title="">valid</var> = <var title="">element</var> . <code title="dom-cva-checkValidatity"><a href="#dom-cva-checkvalidatity">checkValidity</a></code>()</dt>
+
+   <dd>
+
+    <p>Returns true if the element's value has no validity problems;
+    false otherwise. Fires an <code title="event-invalid">invalid</code> event at the element in the
+    latter case.</p>
+
+   </dd>
+
+   <dt><var title="">element</var> . <code title="dom-cva-validationMessage"><a href="#dom-cva-validationmessage">validationMessage</a></code></dt>
+
+   <dd>
+
+    <p>Returns the error message that would be shown to the user if
+    the element was to be checked for validity.</p>
+
+   </dd>
+
+  </dl><div class="example">
+
+   <p>In the following example, a script checks the value of a form
+   control each time it is edited, and whenever it is not a valid
+   value, uses the <code title="dom-cva-setCustomValidity"><a href="#dom-cva-setcustomvalidity">setCustomValidity()</a></code> method
+   to set an appropriate message.</p>
+
+   <pre>&lt;label&gt;Feeling: &lt;input name=f type="text" oninput="check(this)"&gt;&lt;/label&gt;
+&lt;script&gt;
+ function check(input) {
+   if (input.value == "good" ||
+       input.value == "fine" ||
+       input.value == "tired") {
+     input.setCustomValidity('"' + input.value + '" is not a feeling.');
+<!--   } else if (input.value == "...") {
+     input.setCustomValidity('...');
+-->   } else {
+     // input is fine -- reset the error message
+     input.setCustomValidity('');
+   }
+ }
+&lt;/script&gt;</pre>
+
+  </div><h4 id="form-submission"><span class="secno">4.10.17 </span><dfn>Form submission</dfn></h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p><i>This section is non-normative.</i></p><p>When forms are submitted, the data in the form is converted into
+  the form specified by the <a href="#concept-fs-enctype" title="concept-fs-enctype">enctype</a>, and then sent to the
+  destination specified by the <a href="#concept-fs-action" title="concept-fs-action">action</a> using the given <a href="#concept-fs-method" title="concept-fs-method">method</a>.</p><p>For example, take the following form:</p><pre>&lt;form action="/find.cgi" method=get&gt;
+ &lt;input type=text name=t&gt;
+ &lt;input type=search name=q&gt;
+ &lt;input type=submit&gt;
+&lt;/form&gt;</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&amp;q=fur</code>.</p><p>On the other hand, consider this form:</p><pre>&lt;form action="/find.cgi" method=post enctype="multipart/form-data"&gt;
+ &lt;input type=text name=t&gt;
+ &lt;input type=search name=q&gt;
+ &lt;input type=submit&gt;
+&lt;/form&gt;</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

Index: forms.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/forms.html,v
retrieving revision 1.557
retrieving revision 1.558
diff -u -d -r1.557 -r1.558
--- forms.html	6 Jan 2010 15:38:52 -0000	1.557
+++ forms.html	6 Jan 2010 15:49:34 -0000	1.558
@@ -213,4 +213,475 @@
    .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 
\ No newline at end of file
+   .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="data:text/css," id="complete" rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" id="author" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" id="highlight" rel="alternate stylesheet" title="Highlight implementation requirements"><script>
+   function getCookie(name) {
+     var params = location.search.substr(1).split("&");
+     for (var index = 0; index < params.length; index++) {
+       if (params[index] == name)
+         return "1";
+       var data = params[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     var cookies = document.cookie.split("; ");
+     for (var index = 0; index < cookies.length; index++) {
+       var data = cookies[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     return null;
+   }
+   function load(script) {
+     var e = document.createElement('script');
+     e.setAttribute('src', 'http://www.whatwg.org/specs/web-apps/current-work/' + script + '?' + encodeURIComponent(location) + '&' + encodeURIComponent(document.referrer));
+     document.body.appendChild(e);
+   }
+   function init() {
+     if (location.search == '?slow-browser')
+       return;
+     var configUI = document.createElement('div');
+     configUI.id = 'configUI';
+     document.body.appendChild(configUI);
+     // load('reviewer.js'); // would need cross-site XHR
+     if (document.getElementById('head'))
+       load('toc.js');
+     
+     // load('updater.js'); // would need cross-site XHR
+     load('dfn.js');
+     // load('status.js'); // would need cross-site XHR
+     if (getCookie('profile') == '1')
+       document.getElementsByTagName('h2')[0].textContent += '; load: ' + (new Date() - loadTimer) + 'ms';
+     fixBrokenLink();
+   }
+  </script><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><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="the-input-element.html" title="4.10.5 The input element" rel="next">
+  </head><body onload="fixBrokenLink(); init()"><div class="head" id="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 (Author Edition)</h1>
+   </div><div>
+   <a href="tabular-data.html">&#8592; 4.9 Tabular data</a> &#8211;
+   <a href="Overview.html#contents">Table of contents</a> &#8211;
+   <a href="the-input-element.html">4.10.5 The input element &#8594;</a>
+  <ol class="toc"><li><ol><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></ol></li></ol></li></ol></div>
+
+  <h3 id="forms"><span class="secno">4.10 </span>Forms</h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>Forms allow unscripted client-server interaction: given a form, a
+  user can provide data, submit it to the server, and have the server
+  act on it accordingly (e.g. returning the results of a search or
+  calculation). The elements used in forms can also be used for user
+  interaction with no associated submission mechanism, in conjunction
+  with scripts.</p><p>Mostly for historical reasons, elements in this section fall into
+  several overlapping (but subtly different) categories in addition to
+  the usual ones like <a href="content-models.html#flow-content">flow content</a>, <a href="content-models.html#phrasing-content">phrasing
+  content</a>, and <a href="content-models.html#interactive-content">interactive content</a>.</p><p>A number of the elements are <dfn id="form-associated-element" title="form-associated
+  element">form-associated elements</dfn>, which means they can have a
+  <a href="association-of-controls-and-forms.html#form-owner">form owner</a> and, to expose this, have a <code title="attr-fae-form"><a href="association-of-controls-and-forms.html#attr-fae-form">form</a></code> content attribute with a matching
+  <code title="dom-fae-form"><a href="#dom-fae-form">form</a></code> IDL attribute.</p><ul class="brief category-list"><li><code><a href="the-button-element.html#the-button-element">button</a></code></li>
+   <li><code><a href="#the-fieldset-element">fieldset</a></code></li>
+   <li><code><a href="the-input-element.html#the-input-element">input</a></code></li>
+   <li><code><a href="the-button-element.html#the-keygen-element">keygen</a></code></li>
+   <li><code><a href="#the-label-element">label</a></code></li>
+   <li><code><a href="the-iframe-element.html#the-object-element">object</a></code></li>
+   <li><code><a href="the-button-element.html#the-output-element">output</a></code></li>
+   <li><code><a href="the-button-element.html#the-select-element">select</a></code></li>
+   <li><code><a href="the-button-element.html#the-textarea-element">textarea</a></code></li>
+  </ul><p>The <a href="#form-associated-element" title="form-associated element">form-associated
+  elements</a> fall into several subcategories:</p><dl><dt><dfn id="category-listed" title="category-listed">Listed</dfn></dt>
+
+   <dd>
+
+    <p>Denotes elements that are listed in the <code title="dom-form-elements"><a href="#dom-form-elements"><var title="">form</var>.elements</a></code>
+    and <code title="dom-fieldset-elements"><a href="#dom-fieldset-elements"><var title="">fieldset</var>.elements</a></code> APIs.</p>
+
+    <ul class="brief category-list"><li><code><a href="the-button-element.html#the-button-element">button</a></code></li>
+     <li><code><a href="#the-fieldset-element">fieldset</a></code></li>
+     <li><code><a href="the-input-element.html#the-input-element">input</a></code></li>
+     <li><code><a href="the-button-element.html#the-keygen-element">keygen</a></code></li>
+     <li><code><a href="the-iframe-element.html#the-object-element">object</a></code></li>
+     <li><code><a href="the-button-element.html#the-output-element">output</a></code></li>
+     <li><code><a href="the-button-element.html#the-select-element">select</a></code></li>
+     <li><code><a href="the-button-element.html#the-textarea-element">textarea</a></code></li>
+    </ul></dd>
+
+   <dt><dfn id="category-label" title="category-label">Labelable</dfn></dt>
+
+   <dd>
+
+    <p>Denotes elements that can be associated with <code><a href="#the-label-element">label</a></code>
+    elements.</p>
+
+    <ul class="brief category-list"><li><code><a href="the-button-element.html#the-button-element">button</a></code></li>
+     <li><code><a href="the-input-element.html#the-input-element">input</a></code></li>
+     <li><code><a href="the-button-element.html#the-keygen-element">keygen</a></code></li>
+     <li><code><a href="the-button-element.html#the-select-element">select</a></code></li>
+     <li><code><a href="the-button-element.html#the-textarea-element">textarea</a></code></li>
+    </ul></dd>
+
+   <dt><dfn id="category-submit" title="category-submit">Submittable elements</dfn></dt>
+
+   <dd>
+
+    <p>Denotes elements that can be used for <a href="#constructing-form-data-set">constructing the form data
+    set</a> when a <code><a href="#the-form-element">form</a></code> element is <a href="#concept-form-submit" title="concept-form-submit">submitted</a>.</p>
+
+    <ul class="brief category-list"><li><code><a href="the-button-element.html#the-button-element">button</a></code></li>
+     <li><code><a href="the-input-element.html#the-input-element">input</a></code></li>
+     <li><code><a href="the-button-element.html#the-keygen-element">keygen</a></code></li>
+     <li><code><a href="the-iframe-element.html#the-object-element">object</a></code></li>
+     <li><code><a href="the-button-element.html#the-select-element">select</a></code></li>
+     <li><code><a href="the-button-element.html#the-textarea-element">textarea</a></code></li>
+    </ul></dd>
+
+   <dt><dfn id="category-reset" title="category-reset">Resettable elements</dfn></dt>
+
+   <dd>
+
+    <p>Denotes elements that can be affected when a <code><a href="#the-form-element">form</a></code>
+    element is <a href="#concept-form-reset" title="concept-form-reset">reset</a>.</p>
+
+    <ul class="brief category-list"><li><code><a href="the-input-element.html#the-input-element">input</a></code></li>
+     <li><code><a href="the-button-element.html#the-keygen-element">keygen</a></code></li>
+     <li><code><a href="the-button-element.html#the-output-element">output</a></code></li>
+     <li><code><a href="the-button-element.html#the-select-element">select</a></code></li>
+     <li><code><a href="the-button-element.html#the-textarea-element">textarea</a></code></li>
+    </ul></dd>
+
+  </dl><p>In addition, some <a href="#category-submit" title="category-submit">submittable
+  elements</a> can be, depending on their attributes, <dfn id="concept-button" title="concept-button">buttons</dfn>. The prose below defines when
+  an element is a button. Some buttons are specifically <dfn id="concept-submit-button" title="concept-submit-button">submit buttons</dfn>.</p><p class="note">The <code><a href="the-iframe-element.html#the-object-element">object</a></code> element is also a
+  <a href="#form-associated-element">form-associated element</a> and can, with the use of a
+  suitable <a href="infrastructure.html#plugin">plugin</a>, partake in <a href="association-of-controls-and-forms.html#form-submission">form
+  submission</a>.</p><h4 id="the-form-element"><span class="secno">4.10.1 </span>The <dfn><code>form</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="content-models.html#flow-content">Flow content</a>.</dd>
+   <dt>Contexts in which this element may be used:</dt>
+   <dd>Where <a href="content-models.html#flow-content">flow content</a> is expected.</dd>
+   <dt>Content model:</dt>
+   <dd><a href="content-models.html#flow-content">Flow content</a>, but with no <code><a href="#the-form-element">form</a></code> element descendants.</dd>
+   <dt>Content attributes:</dt>
+   <dd><a href="elements.html#global-attributes">Global attributes</a></dd>
+   <dd><code title="attr-form-accept-charset"><a href="#attr-form-accept-charset">accept-charset</a></code></dd>
+   <dd><code title="attr-fs-action"><a href="association-of-controls-and-forms.html#attr-fs-action">action</a></code></dd>
+   <dd><code title="attr-form-autocomplete"><a href="#attr-form-autocomplete">autocomplete</a></code></dd>
+   <dd><code title="attr-fs-enctype"><a href="association-of-controls-and-forms.html#attr-fs-enctype">enctype</a></code></dd>
+   <dd><code title="attr-fs-method"><a href="association-of-controls-and-forms.html#attr-fs-method">method</a></code></dd>
+   <dd><code title="attr-form-name"><a href="#attr-form-name">name</a></code></dd>
+   <dd><code title="attr-fs-novalidate"><a href="association-of-controls-and-forms.html#attr-fs-novalidate">novalidate</a></code></dd>
+   <dd><code title="attr-fs-target"><a href="association-of-controls-and-forms.html#attr-fs-target">target</a></code></dd>
+   <dt>DOM interface:</dt>
+   <dd>
+<pre class="idl">[OverrideBuiltins]
+interface <dfn id="htmlformelement">HTMLFormElement</dfn> : <a href="elements.html#htmlelement">HTMLElement</a> {
+           attribute DOMString <a href="#dom-form-acceptcharset" title="dom-form-acceptCharset">acceptCharset</a>;
+           attribute DOMString <a href="#dom-fs-action" title="dom-fs-action">action</a>;
+           attribute boolean <a href="#dom-form-autocomplete" title="dom-form-autocomplete">autocomplete</a>;
+           attribute DOMString <a href="#dom-fs-enctype" title="dom-fs-enctype">enctype</a>;
+           attribute DOMString <a href="#dom-fs-method" title="dom-fs-method">method</a>;
+           attribute DOMString <a href="#dom-form-name" title="dom-form-name">name</a>;
+           attribute boolean <a href="#dom-fs-novalidate" title="dom-fs-noValidate">noValidate</a>;
+           attribute DOMString <a href="#dom-fs-target" title="dom-fs-target">target</a>;
+
+  readonly attribute <a href="urls.html#htmlformcontrolscollection">HTMLFormControlsCollection</a> <a href="#dom-form-elements" title="dom-form-elements">elements</a>;
+  readonly attribute long <a href="#dom-form-length" title="dom-form-length">length</a>;
+  caller getter any <a href="#dom-form-item" title="dom-form-item">item</a>(in unsigned long index);
+  caller getter any <a href="#dom-form-nameditem" title="dom-form-namedItem">namedItem</a>(in DOMString name);
+
+  void <a href="#dom-form-submit" title="dom-form-submit">submit</a>();
+  void <a href="#dom-form-reset" title="dom-form-reset">reset</a>();
+  boolean <a href="#dom-form-checkvalidity" title="dom-form-checkValidity">checkValidity</a>();
+
+  void <a href="#dom-form-dispatchforminput" title="dom-form-dispatchFormInput">dispatchFormInput</a>();
+  void <a href="#dom-form-dispatchformchange" title="dom-form-dispatchFormChange">dispatchFormChange</a>();
+};</pre>
+   </dd>
+  </dl><p>The <code><a href="#the-form-element">form</a></code> element <a href="#represents">represents</a> a
+  collection of <a href="#form-associated-element" title="form-associated element">form-associated
+  elements</a>, some of which can represent editable values that
+  can be submitted to a server for processing.</p><p>The <dfn id="attr-form-accept-charset" title="attr-form-accept-charset"><code>accept-charset</code></dfn>
+  attribute gives the character encodings that are to be used for the
+  submission. If specified, the value must be an <a href="common-microsyntaxes.html#ordered-set-of-unique-space-separated-tokens">ordered set of
+  unique space-separated tokens</a>, and each token must be an
+  <a href="infrastructure.html#ascii-case-insensitive">ASCII case-insensitive</a> match for the <a href="infrastructure.html#preferred-mime-name">preferred
+  MIME name</a> of an <a href="infrastructure.html#ascii-compatible-character-encoding">ASCII-compatible character
+  encoding</a>. <a href="references.html#refsIANACHARSET">[IANACHARSET]</a></p><p>The <dfn id="attr-form-name" title="attr-form-name"><code>name</code></dfn> attribute
+  represents the <code><a href="#the-form-element">form</a></code>'s name within the <code title="dom-document-forms"><a href="#dom-document-forms">forms</a></code> collection. The value must
+  not be the empty string, and the value must be unique amongst the
+  <code><a href="#the-form-element">form</a></code> elements in the <code title="dom-document-forms"><a href="#dom-document-forms">forms</a></code> collection that it is in, if
+  any.</p><p>The <dfn id="attr-form-autocomplete" title="attr-form-autocomplete"><code>autocomplete</code></dfn>
+  attribute is an <a href="common-microsyntaxes.html#enumerated-attribute">enumerated attribute</a>. The attribute has
+  two states. The <code title="attr-form-autocomplete-on">on</code>
+  keyword maps to the <dfn id="attr-form-autocomplete-on-state" title="attr-form-autocomplete-on-state">on</dfn> state, and the
+  <code title="attr-form-autocomplete-off">off</code> keyword maps to
+  the <dfn id="attr-form-autocomplete-off-state" title="attr-form-autocomplete-off-state">off</dfn>
+  state. The attribute may also be omitted. The <i>missing value
+  default</i> is the <a href="#attr-form-autocomplete-on-state" title="attr-form-autocomplete-on-state">on</a> state. The <a href="#attr-form-autocomplete-off-state" title="attr-form-autocomplete-off-state">off</a> state indicates
+  that by default, <code><a href="the-input-element.html#the-input-element">input</a></code> elements in the form will have
+  their <a href="#resulting-autocompletion-state">resulting autocompletion state</a> set to <i title="">off</i>; the <a href="#attr-form-autocomplete-on-state" title="attr-form-autocomplete-on-state">on</a> state indicates
+  that by default, <code><a href="the-input-element.html#the-input-element">input</a></code> elements in the form will have
+  their <a href="#resulting-autocompletion-state">resulting autocompletion state</a> set to <i title="">on</i>.</p><p>The <code title="attr-fs-action"><a href="association-of-controls-and-forms.html#attr-fs-action">action</a></code>, <code title="attr-fs-enctype"><a href="association-of-controls-and-forms.html#attr-fs-enctype">enctype</a></code>, <code title="attr-fs-method"><a href="association-of-controls-and-forms.html#attr-fs-method">method</a></code>, <code title="attr-fs-novalidate"><a href="association-of-controls-and-forms.html#attr-fs-novalidate">novalidate</a></code>, and <code title="attr-fs-target"><a href="association-of-controls-and-forms.html#attr-fs-target">target</a></code> attributes are <a href="association-of-controls-and-forms.html#attributes-for-form-submission">attributes
+  for form submission</a>.</p><dl class="domintro"><dt><var title="">form</var> . <code title="dom-form-elements"><a href="#dom-form-elements">elements</a></code></dt>
+
+   <dd>
+
+    <p>Returns an <code><a href="urls.html#htmlcollection">HTMLCollection</a></code> of the form controls in
+    the form (excluding image buttons for historical reasons).</p>
+
+   </dd>
+
+   <dt><var title="">form</var> . <code title="dom-form-length"><a href="#dom-form-length">length</a></code></dt>
+
+   <dd>
+
+    <p>Returns the number of form controls in the form (excluding
+    image buttons for historical reasons).</p>
+
+   </dd>
+
+   <dt><var title="">element</var> = <var title="">form</var> . <code title="dom-form-item"><a href="#dom-form-item">item</a></code>(<var title="">index</var>)</dt>
+   <dt><var title="">form</var>[<var title="">index</var>]</dt>
+   <dt><var title="">form</var>(<var title="">index</var>)</dt>
+
+   <dd>
+
+    <p>Returns the <var title="">index</var>th element in the form
+    (excluding image buttons for historical reasons).</p>
+
+   </dd>
+
+   <dt><var title="">element</var> = <var title="">form</var> . <code title="dom-form-namedItem"><a href="#dom-form-nameditem">namedItem</a></code>(<var title="">name</var>)</dt>
+   <dt><var title="">form</var>[<var title="">name</var>]</dt>
+   <dt><var title="">form</var>(<var title="">name</var>)</dt>
+
+   <dd>
+
+    <p>Returns the form control in the form with the given ID or <code title="attr-fe-name"><a href="association-of-controls-and-forms.html#attr-fe-name">name</a></code> (excluding image buttons for
+    historical reasons).</p>
+
+    <p>Once an element has been referenced using a particular name,
+    that name will continue being available as a way to reference that
+    element in this method, even if the element's actual ID or <code title="attr-fe-name"><a href="association-of-controls-and-forms.html#attr-fe-name">name</a></code> changes, for as long as the
+    element remains in the <code>Document</code>.</p>
+
+    <p>If there are multiple matching items, then a
+    <code>NodeList</code> object containing all those elements is
+    returned.</p>
+
+    <p>Returns null if no element with that <a href="elements.html#concept-id" title="concept-id">ID</a> or <code title="attr-fe-name"><a href="association-of-controls-and-forms.html#attr-fe-name">name</a></code> could be found.</p>
+
+   </dd>
+
+   <dt><var title="">form</var> . <code title="dom-form-submit"><a href="#dom-form-submit">submit</a></code>()</dt>
+
+   <dd>
+
+    <p>Submits the form.</p>
+
+   </dd>
+
+   <dt><var title="">form</var> . <code title="dom-form-reset"><a href="#dom-form-reset">reset</a></code>()</dt>
+
+   <dd>
+
+    <p>Resets the form.</p>
+
+   </dd>
+
+   <dt><var title="">form</var> . <code title="dom-form-checkValidity"><a href="#dom-form-checkvalidity">checkValidity</a></code>()</dt>
+
+   <dd>
+
+    <p>Returns true if the form's controls are all valid; otherwise,
+    returns false.</p>
+
+   </dd>
+
+   <dt><var title="">form</var> . <code title="dom-form-dispatchFormInput"><a href="#dom-form-dispatchforminput">dispatchFormInput</a></code>()</dt>
+
+   <dd>
+
+    <p>Dispatches a <code title="event-forminput">forminput</code> event at all the form controls.</p>
+
+   </dd>
+
+   <dt><var title="">form</var> . <code title="dom-form-dispatchFormChange"><a href="#dom-form-dispatchformchange">dispatchFormChange</a></code>()</dt>
+
+   <dd>
+
+    <p>Dispatches a <code title="event-formchange">formchange</code> event at all the form controls.</p>
+
+   </dd>
+
+  </dl><div class="example">
+
+   <p>This example shows two search forms:</p>
+
+   <pre>&lt;form action="http://www.google.com/search" method="get"&gt;
+ &lt;label&gt;Google: &lt;input type="search" name="q"&gt;&lt;/label&gt; &lt;input type="submit" value="Search..."&gt;
+&lt;/form&gt;
+&lt;form action="http://www.bing.com/search" method="get"&gt;
+ &lt;label&gt;Bing: &lt;input type="search" name="q"&gt;&lt;/label&gt; &lt;input type="submit" value="Search..."&gt;
+&lt;/form&gt;</pre>
+
+  </div><h4 id="the-fieldset-element"><span class="secno">4.10.2 </span>The <dfn><code>fieldset</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="content-models.html#flow-content">Flow content</a>.</dd>
+   <dd><a href="sections.html#sectioning-root">Sectioning root</a>.</dd>
+   <dd><a href="#category-listed" title="category-listed">Listed</a> <a href="#form-associated-element">form-associated element</a>.</dd>
+   <dt>Contexts in which this element may be used:</dt>
+   <dd>Where <a href="content-models.html#flow-content">flow content</a> is expected.</dd>
+   <dt>Content model:</dt>
+   <dd>Optionally a <code><a href="#the-legend-element">legend</a></code> element, followed by <a href="content-models.html#flow-content">flow content</a>.</dd>
+   <dt>Content attributes:</dt>
+   <dd><a href="elements.html#global-attributes">Global attributes</a></dd>
+   <dd><code title="attr-fieldset-disabled"><a href="#attr-fieldset-disabled">disabled</a></code></dd>
+   <dd><code title="attr-fae-form"><a href="association-of-controls-and-forms.html#attr-fae-form">form</a></code></dd>
+   <dd><code title="attr-fe-name"><a href="association-of-controls-and-forms.html#attr-fe-name">name</a></code></dd>
+   <dt>DOM interface:</dt>
+   <dd>
+<pre class="idl">interface <dfn id="htmlfieldsetelement">HTMLFieldSetElement</dfn> : <a href="elements.html#htmlelement">HTMLElement</a> {
+           attribute boolean <a href="#dom-fieldset-disabled" title="dom-fieldset-disabled">disabled</a>;
+  readonly attribute <a href="#htmlformelement">HTMLFormElement</a> <a href="#dom-fae-form" title="dom-fae-form">form</a>;
+           attribute DOMString <a href="#dom-fe-name" title="dom-fe-name">name</a>;
+
+  readonly attribute DOMString <a href="#dom-fieldset-type" title="dom-fieldset-type">type</a>;
+
+  readonly attribute <a href="urls.html#htmlformcontrolscollection">HTMLFormControlsCollection</a> <a href="#dom-fieldset-elements" title="dom-fieldset-elements">elements</a>;
+
+  readonly attribute boolean <a href="#dom-cva-willvalidate" title="dom-cva-willValidate">willValidate</a>;
+  readonly attribute <a href="#validitystate">ValidityState</a> <a href="#dom-cva-validity" title="dom-cva-validity">validity</a>;
+  readonly attribute DOMString <a href="#dom-cva-validationmessage" title="dom-cva-validationMessage">validationMessage</a>;
+  boolean <a href="#dom-cva-checkvalidatity" title="dom-cva-checkValidatity">checkValidity</a>();
+  void <a href="#dom-cva-setcustomvalidity" title="dom-cva-setCustomValidity">setCustomValidity</a>(in DOMString error);
+};</pre>
+   </dd>
+  </dl><p>The <code><a href="#the-fieldset-element">fieldset</a></code> element <a href="#represents">represents</a> a set
+  of form controls optionally grouped under a common name.</p><p>The name of the group is given by the first <code><a href="#the-legend-element">legend</a></code>
+  element that is a child of the <code><a href="#the-fieldset-element">fieldset</a></code> element, if
+  any. The remainder of the descendants form the group.</p><p>The <dfn id="attr-fieldset-disabled" title="attr-fieldset-disabled"><code>disabled</code></dfn>
+  attribute, when specified, causes all the form control descendants
+  of the <code><a href="#the-fieldset-element">fieldset</a></code> element, excluding those that are
+  descendants of the <code><a href="#the-fieldset-element">fieldset</a></code> element's first
+  <code><a href="#the-legend-element">legend</a></code> element child, if any, to be <a href="association-of-controls-and-forms.html#concept-fe-disabled" title="concept-fe-disabled">disabled</a>.</p><p>The <code title="attr-fae-form"><a href="association-of-controls-and-forms.html#attr-fae-form">form</a></code> attribute is used to
+  explicitly associate the <code><a href="#the-fieldset-element">fieldset</a></code> element with its
+  <a href="association-of-controls-and-forms.html#form-owner">form owner</a>. The <code title="attr-fe-name"><a href="association-of-controls-and-forms.html#attr-fe-name">name</a></code>
+  attribute represents the element's name.</p><dl class="domintro"><dt><var title="">fieldset</var> . <code title="dom-fieldset-type"><a href="#dom-fieldset-type">type</a></code></dt>
+
+   <dd>
+
+    <p>Returns the string "fieldset".</p>
+
+   </dd>
+
+   <dt><var title="">fieldset</var> . <code title="dom-form-elements"><a href="#dom-form-elements">elements</a></code></dt>
+
+   <dd>
+
+    <p>Returns an <code><a href="urls.html#htmlcollection">HTMLCollection</a></code> of the form controls in
+    the element.</p>
+
+   </dd>
+
+  </dl><div class="example">
+
+   <p>The following snippet shows a fieldset with a checkbox in the
+   legend that controls whether or not the fieldset is enabled. The
+   contents of the fieldset consist of two required text fields and an
+   optional year/month control.</p>
+
+   <pre>&lt;fieldset name="clubfields" disabled&gt;
+ &lt;legend&gt; &lt;label&gt;
+  &lt;input type=checkbox name=club onchange="form.clubfields.disabled = !checked"&gt;
+  Use Club Card
+ &lt;/label&gt; &lt;/legend&gt;
+ &lt;p&gt;&lt;label&gt;Name on card: &lt;input name=clubname required&gt;&lt;/label&gt;&lt;/p&gt;
+ &lt;p&gt;&lt;label&gt;Card number: &lt;input name=clubnum required pattern="[-0-9]+"&gt;&lt;/label&gt;&lt;/p&gt;
+ &lt;p&gt;&lt;label&gt;Expiry date: &lt;input name=clubexp type=month&gt;&lt;/label&gt;&lt;/p&gt;
+&lt;/fieldset&gt;</pre>
+
+  </div><h4 id="the-legend-element"><span class="secno">4.10.3 </span>The <dfn><code>legend</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>None.</dd>
+   <dt>Contexts in which this element may be used:</dt>
+   <dd>As the first child of a <code><a href="#the-fieldset-element">fieldset</a></code> element.</dd>
+   <dt>Content model:</dt>
+   <dd><a href="content-models.html#phrasing-content">Phrasing content</a>.</dd>
+   <dt>Content attributes:</dt>
+   <dd><a href="elements.html#global-attributes">Global attributes</a></dd>
+   <dt>DOM interface:</dt>
+   <dd>
+    <pre class="idl">interface <dfn id="htmllegendelement">HTMLLegendElement</dfn> : <a href="elements.html#htmlelement">HTMLElement</a> {
+  readonly attribute <a href="#htmlformelement">HTMLFormElement</a> <a href="#dom-legend-form" title="dom-legend-form">form</a>;
+};</pre>
+   </dd>
+  </dl><p>The <code><a href="#the-legend-element">legend</a></code> element <a href="#represents">represents</a> a caption
+  for the rest of the contents of the <code><a href="#the-legend-element">legend</a></code> element's
+  parent <code><a href="#the-fieldset-element">fieldset</a></code> element.</p><dl class="domintro"><dt><var title="">legend</var> . <code title="dom-legend-form"><a href="#dom-legend-form">form</a></code></dt>
+
+   <dd>
+
+    <p>Returns the element's <code><a href="#the-form-element">form</a></code> element, if any, or
+    null otherwise.</p>
+
+   </dd>
+
+  </dl><h4 id="the-label-element"><span class="secno">4.10.4 </span>The <dfn><code>label</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="content-models.html#flow-content">Flow content</a>.</dd>
+   <dd><a href="content-models.html#phrasing-content">Phrasing content</a>.</dd>
+   <dd><a href="content-models.html#interactive-content">Interactive content</a>.</dd>
+   <dd><a href="#form-associated-element">Form-associated element</a>.</dd>
+   <dt>Contexts in which this element may be used:</dt>
+   <dd>Where <a href="content-models.html#phrasing-content">phrasing content</a> is expected.</dd>
+   <dt>Content model:</dt>
+   <dd><a href="content-models.html#phrasing-content">Phrasing content</a>, but with no descendant <a href="#category-label" title="category-label">labelable form-associated elements</a> unless it is the element's <a href="#labeled-control">labeled control</a>, and no descendant <code><a href="#the-label-element">label</a></code> elements.</dd>
+   <dt>Content attributes:</dt>
+   <dd><a href="elements.html#global-attributes">Global attributes</a></dd>
+   <dd><code title="attr-fae-form"><a href="association-of-controls-and-forms.html#attr-fae-form">form</a></code></dd>
+   <dd><code title="attr-label-for"><a href="#attr-label-for">for</a></code></dd>
+   <dt>DOM interface:</dt>
+   <dd>
+<pre class="idl">interface <dfn id="htmllabelelement">HTMLLabelElement</dfn> : <a href="elements.html#htmlelement">HTMLElement</a> {
+  readonly attribute <a href="#htmlformelement">HTMLFormElement</a> <a href="#dom-fae-form" title="dom-fae-form">form</a>;
+           attribute DOMString <a href="#dom-label-htmlfor" title="dom-label-htmlFor">htmlFor</a>;
+  readonly attribute <a href="elements.html#htmlelement">HTMLElement</a> <a href="#dom-label-control" title="dom-label-control">control</a>;
+};</pre>
+   </dd>
+  </dl><p>The <code><a href="#the-label-element">label</a></code> <a href="#represents">represents</a> a caption in a
+  user interface. The caption can be associated with a specific form
+  control, either using <code title="attr-label-for"><a href="#attr-label-for">for</a></code> attribute, or by putting the form
+  control inside the <code><a href="#the-label-element">label</a></code> element itself.</p><p>The <dfn id="attr-label-for" title="attr-label-for"><code>for</code></dfn> attribute
+  may be specified to indicate a form control with which the caption
+  is to be associated. If the attribute is specified, the attribute's
+  value must be the ID of a <a href="#category-label" title="category-label">labelable
+  form-associated element</a> in the same <code>Document</code> as
+  the <code><a href="#the-label-element">label</a></code> element. </p><dl class="domintro"><dt><var title="">label</var> . <code title="dom-label-control"><a href="#dom-label-control">control</a></code></dt>
+
+   <dd>
+
+    <p>Returns the form control that is associated with this element.</p>
+
+   </dd>
+
+  </dl><p>The <code title="attr-fae-form"><a href="association-of-controls-and-forms.html#attr-fae-form">form</a></code> attribute is used to
+  explicitly associate the <code><a href="#the-label-element">label</a></code> element with its
+  <a href="association-of-controls-and-forms.html#form-owner">form owner</a>.</p><hr><dl class="domintro"><dt><var title="">control</var> . <code title="dom-lfe-labels"><a href="#dom-lfe-labels">labels</a></code></dt>
+
+   <dd>
+
+    <p>Returns a <code>NodeList</code> of all the <code><a href="#the-label-element">label</a></code>
+    elements that the form control is associated with.</p>
+
+   </dd>
+
+  </dl><div class="example">
+
+   <p>The following example shows three form controls each with a
+   label, two of which have small text showing the right format for
+   users to use.</p>
+
+   <pre>&lt;p&gt;&lt;label&gt;Full name: &lt;input name=fn&gt; &lt;small&gt;Format: First Last&lt;/small&gt;&lt;/label&gt;&lt;/p&gt;
+&lt;p&gt;&lt;label&gt;Age: &lt;input name=age type=number min=0&gt;&lt;/label&gt;&lt;/p&gt;
+&lt;p&gt;&lt;label&gt;Post code: &lt;input name=pc&gt; &lt;small&gt;Format: AB12 3CD&lt;/small&gt;&lt;/label&gt;&lt;/p&gt;</pre>
+
+  </div></body></html>
\ No newline at end of file

Index: interactive-elements.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/interactive-elements.html,v
retrieving revision 1.557
retrieving revision 1.558
diff -u -d -r1.557 -r1.558
--- interactive-elements.html	6 Jan 2010 15:38:53 -0000	1.557
+++ interactive-elements.html	6 Jan 2010 15:49:34 -0000	1.558
@@ -0,0 +1,3151 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<!DOCTYPE html>
+<!-- when publishing, change bits marked ZZZ --><html lang="en-US-x-Hixie" class="split chapter"><head><title>4.11 Interactive elements &#8212; HTML5 (Author Edition)</title><script src="link-fixup.js"></script><link href="whatwg.css" rel="stylesheet"><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; }
[...3121 lines suppressed...]
+  menu</a>. The value must be the ID of a <code><a href="#menus">menu</a></code> element
+  in the DOM. </p><div class="example">
+
+   <p>Here is an example of a context menu for an input control:</p>
+
+   <pre>&lt;form name="npc"&gt;
+ &lt;label&gt;Character name: &lt;input name=char type=text contextmenu=namemenu required&gt;&lt;/label&gt;
+ &lt;menu type=context id=namemenu&gt;
+  &lt;command label="Pick random name" onclick="document.forms.npc.elements.char.value = getRandomName()"&gt;
+  &lt;command label="Prefill other fields based on name" onclick="prefillFields(document.forms.npc.elements.char.value)"&gt;
+ &lt;/menu&gt;
+&lt;/form&gt;</pre>
+
+   <p>This adds to items to the control's context menu, one called
+   "Pick random name", and one called "Prefill other fields based on
+   name". They invoke scripts that are not shown in the example
+   above.</p>
+
+  </div></body></html>
\ No newline at end of file

Index: editing.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/editing.html,v
retrieving revision 1.560
retrieving revision 1.561
diff -u -d -r1.560 -r1.561
--- editing.html	6 Jan 2010 15:38:52 -0000	1.560
+++ editing.html	6 Jan 2010 15:49:34 -0000	1.561
@@ -0,0 +1,810 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<!DOCTYPE html>
+<!-- when publishing, change bits marked ZZZ --><html lang="en-US-x-Hixie" class="split chapter"><head><title>7 User Interaction &#8212; HTML5 (Author Edition)</title><script src="link-fixup.js"></script><link href="whatwg.css" rel="stylesheet"><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 tbody th { text-align: left; }
+   table td, table th { border-left: solid; border-right: solid; border-bottom: solid thin; vertical-align: top; padding: 0.2em; }
+   blockquote { margin: 0 0 0 2em; border: 0; padding: 0; font-style: italic; }
+
+   .bad, .bad *:not(.XXX) { color: gray; border-color: gray; background: transparent; }
+   .matrix, .matrix td { border: none; text-align: right; }
+   .matrix { margin-left: 2em; }
+   .dice-example { border-collapse: collapse; border-style: hidden solid solid hidden; border-width: thin; margin-left: 3em; }
+   .dice-example caption { width: 30em; font-size: smaller; font-style: italic; padding: 0.75em 0; text-align: left; }
+   .dice-example td, .dice-example th { border: solid thin; width: 1.35em; height: 1.05em; text-align: center; padding: 0; }
+
+   .toc dfn, h1 dfn, h2 dfn, h3 dfn, h4 dfn, h5 dfn, h6 dfn { font: inherit; }
+   img.extra { float: right; }
+   pre.idl { border: solid thin; background: #EEEEEE; color: black; padding: 0.5em 1em; }
+   pre.idl :link, pre.idl :visited { color: inherit; background: transparent; }
+   pre.css { border: solid thin; background: #FFFFEE; color: black; padding: 0.5em 1em; }
+   pre.css:first-line { color: #AAAA50; }
+   dl.domintro { color: green; margin: 2em 0 2em 2em; padding: 0.5em 1em; border: none; background: #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; }
+   div.head p.copyright, div.head p.alt { font-size: x-small; font-style: oblique; margin: 0; }
+
+   body > .toc > li { margin-top: 1em; margin-bottom: 1em; }
+   body > .toc.brief > li { margin-top: 0.35em; margin-bottom: 0.35em; }
+   body > .toc > li > * { margin-bottom: 0.5em; }
+   body > .toc > li > * > li > * { margin-bottom: 0.25em; }
+   .toc, .toc li { list-style: none; }
+
+   .brief { margin-top: 1em; margin-bottom: 1em; line-height: 1.1; }
+   .brief li { margin: 0; padding: 0; }
+   .brief li p { margin: 0; padding: 0; }
+
+   .category-list { margin-top: -0.75em; margin-bottom: 1em; line-height: 1.5; }
+   .category-list::before { content: '\21D2\A0'; font-size: 1.2em; font-weight: 900; }
+   .category-list li { display: inline; }
+   .category-list li:not(:last-child)::after { content: ', '; }
+   .category-list li > span, .category-list li > a { text-transform: lowercase; }
+   .category-list li * { text-transform: none; } /* don't affect <code> nested in <a> */
+
+   .XXX { color: #E50000; background: white; border: solid red; padding: 0.5em; margin: 1em 0; }
+   .XXX > :first-child { margin-top: 0; }
+   p .XXX { line-height: 3em; }
+   .annotation { border: solid thin black; background: #0C479D; color: white; position: relative; margin: 8px 0 20px 0; }
+   .annotation:before { position: absolute; left: 0; top: 0; width: 100%; height: 100%; margin: 6px -6px -6px 6px; background: #333333; z-index: -1; content: ''; }
+   .annotation :link, .annotation :visited { color: inherit; }
+   .annotation :link:hover, .annotation :visited:hover { background: transparent; }
+   .annotation span { border: none ! important; }
+   .note { color: green; background: transparent; font-family: sans-serif; }
+   .warning { color: red; background: transparent; }
+   .note, .warning { font-weight: bolder; font-style: italic; }
+   p.note, div.note { padding: 0.5em 2em; }
+   span.note { padding: 0 2em; }
+   .note p:first-child, .warning p:first-child { margin-top: 0; }
+   .note p:last-child, .warning p:last-child { margin-bottom: 0; }
+   .warning:before { font-style: normal; }
+   p.note:before { content: 'Note: '; }
+   p.warning:before { content: '\26A0 Warning! '; }
+
+   .bookkeeping:before { display: block; content: 'Bookkeeping details'; font-weight: bolder; font-style: italic; }
+   .bookkeeping { font-size: 0.8em; margin: 2em 0; }
+   .bookkeeping p { margin: 0.5em 2em; display: list-item; list-style: square; }
+
+   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; }
+
+   #configUI { position: absolute; z-index: 20; top: 10em; right: 1em; width: 11em; font-size: small; }
+   #configUI p { margin: 0.5em 0; padding: 0.3em; background: #EEEEEE; color: black; border: inset thin; }
+   #configUI p label { display: block; }
+   #configUI #updateUI, #configUI .loginUI { text-align: center; }
+   #configUI input[type=button] { display: block; margin: auto; }
+  </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="data:text/css," id="complete" rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" id="author" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" id="highlight" rel="alternate stylesheet" title="Highlight implementation requirements"><script>
+   function getCookie(name) {
+     var params = location.search.substr(1).split("&");
+     for (var index = 0; index < params.length; index++) {
+       if (params[index] == name)
+         return "1";
+       var data = params[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     var cookies = document.cookie.split("; ");
+     for (var index = 0; index < cookies.length; index++) {
+       var data = cookies[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     return null;
+   }
+   function load(script) {
+     var e = document.createElement('script');
+     e.setAttribute('src', 'http://www.whatwg.org/specs/web-apps/current-work/' + script + '?' + encodeURIComponent(location) + '&' + encodeURIComponent(document.referrer));
+     document.body.appendChild(e);
+   }
+   function init() {
+     if (location.search == '?slow-browser')
+       return;
+     var configUI = document.createElement('div');
+     configUI.id = 'configUI';
+     document.body.appendChild(configUI);
+     // load('reviewer.js'); // would need cross-site XHR
+     if (document.getElementById('head'))
+       load('toc.js');
+     
+     // load('updater.js'); // would need cross-site XHR
+     load('dfn.js');
+     // load('status.js'); // would need cross-site XHR
+     if (getCookie('profile') == '1')
+       document.getElementsByTagName('h2')[0].textContent += '; load: ' + (new Date() - loadTimer) + 'ms';
+     fixBrokenLink();
+   }
+  </script><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><link href="links.html" title="6.10 Links" rel="prev">
+  <link href="Overview.html#contents" title="Table of contents" rel="index">
+  <link href="dnd.html" title="7.9 Drag and drop" rel="next">
+  </head><body onload="fixBrokenLink(); init()"><div class="head" id="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 (Author Edition)</h1>
+   </div><div>
+   <a href="links.html">&#8592; 6.10 Links</a> &#8211;
+   <a href="Overview.html#contents">Table of contents</a> &#8211;
+   <a href="dnd.html">7.9 Drag and drop &#8594;</a>
+  <ol class="toc"><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></ol></li></ol></div>
+
+  <h2 id="editing"><span class="secno">7 </span><dfn>User Interaction</dfn></h2><p>This section describes various features that allow authors to
+  enable users to edit documents and parts of documents
+  interactively.</p><h3 id="the-hidden-attribute"><span class="secno">7.1 </span>The <dfn title="attr-hidden"><code>hidden</code></dfn> attribute</h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>All <a href="infrastructure.html#html-elements">HTML elements</a> may have the <code title="attr-hidden"><a href="#the-hidden-attribute">hidden</a></code> content attribute set. The <code title="attr-hidden"><a href="#the-hidden-attribute">hidden</a></code> attribute is a <a href="common-microsyntaxes.html#boolean-attribute">boolean
+  attribute</a>. When specified on an element, it indicates that
+  the element is not yet, or is no longer, relevant. </p><div class="example">
+
+   <p>In the following skeletal example, the attribute is used to hide
+   the Web game's main screen until the user logs in:</p>
+
+   <pre>  &lt;h1&gt;The Example Game&lt;/h1&gt;
+  &lt;section id="login"&gt;
+   &lt;h2&gt;Login&lt;/h2&gt;
+   &lt;form&gt;
+    ...
+    &lt;!-- calls login() once the user's credentials have been checked --&gt;
+   &lt;/form&gt;
+   &lt;script&gt;
+    function login() {
+      // switch screens
+      document.getElementById('login').hidden = true;
+      document.getElementById('game').hidden = false;
+    }
+   &lt;/script&gt;
+  &lt;/section&gt;
+  &lt;section id="game" hidden&gt;
+   ...
+  &lt;/section&gt;</pre>
+
+  </div><p>The <code title="attr-hidden"><a href="#the-hidden-attribute">hidden</a></code> attribute must not be
+  used to hide content that could legitimately be shown in another
+  presentation. For example, it is incorrect to use <code title="attr-hidden"><a href="#the-hidden-attribute">hidden</a></code> to hide panels in a tabbed dialog,
+  because the tabbed interface is merely a kind of overflow
+  presentation &#8212; showing all the form controls in one big page
+  with a scrollbar would be equivalent, and no less correct.</p><p>Elements in a section hidden by the <code title="attr-hidden"><a href="#the-hidden-attribute">hidden</a></code> attribute are still active,
+  e.g. scripts and form controls in such sections still execute
+  and submit respectively. Only their presentation to the user
+  changes.</p><h3 id="activation"><span class="secno">7.2 </span>Activation</h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><!-- v2 idea: HTMLImageElement.click(x, y); or clickPoint(), if
+       click() can't be done in IE; can this be emulated in IE by
+       posting a synthetic mouse click event with those X and Y
+       coords? (ack Csaba Gabor)
+  --><dl class="domintro"><dt><var title="">element</var> . <code title="dom-click"><a href="#dom-click">click</a></code>()</dt>
+
+   <dd>
+
+    <p>Acts as if the element was clicked.</p>
+
+   </dd>
+
+  </dl><h3 id="scrolling-elements-into-view"><span class="secno">7.3 </span>Scrolling elements into view</h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><!-- maybe this should move to [CSSOM] --><dl class="domintro"><dt><var title="">element</var> . <code title="dom-scrollIntoView"><a href="#dom-scrollintoview">scrollIntoView</a></code>( [ <var title="">top</var> ] )</dt>
+
+   <dd>
+
+    <p>Scrolls the element into view. If the <var title="">top</var>
+    argument is true, then the element will be scrolled to the top of
+    the viewport, otherwise it'll be scrolled to the bottom. The
+    default is the top.</p>
+
+   </dd>
+
+  </dl><h3 id="focus"><span class="secno">7.4 </span>Focus</h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><!-- http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%20%0A...%3Cform%3E%3Cinput%20name%3Da%20onfocus%3D%22value%2B%3D1%3Bd.name%3D%27a%27%3Bname%3D%27d%27%3Bb.focus()%22%3E%0A%3Cinput%20name%3Db%20onfocus%3D%22value%2B%3D1%3Bc.focus()%22%3E%0A%3Cinput%20name%3Dc%20onfocus%3D%22value%2B%3D1%3Bd.focus()%22%3E%0A%3Cinput%20name%3Dd%20onfocus%3D%22value%2B%3D1%3Ba.focus()%22%3E --><!-- http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0A...%3Cform%3E%0A%3Ctextarea%20name%3Dt%20cols%3D100%20rows%3D3%3E%3C%2Ftextarea%3E%3Cp%3E%0A%3Cinput%20name%3Da%20onfocus%3D%22t.value%2B%3D%27af1%20%27%3Bb.focus()%3Balert(document.activeElement.name)%3Bt.value%2B%3D%27af2%20%27%3B%22%20onblur%3D%22t.value%2B%3D%27ab%20%27%3B%22%3E%0A%3Cinput%20name%3Db%20onfocus%3D%22t.value%2B%3D%27bf1%20%27%3Bc.focus()%3Bt.value%2B%3D%27bf2%20%27%3B%2%20onblur%3D%22t.value%2B%3D%27bb%20%27%3B%22%3E%0A%3Cinput%20name%3Dc%20onfocus%3D%22t.value%2B%3D%27cf1%20%27%3Bc.focus()%3Bt.value%2B%3D%27cf2%20%27%3B%22%20onblur%3D%22t.value%2B%3D%27cb%20%27%3B%22%3E%0A --><!-- http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%3Cbody%20onload%3D%22document.forms%5B0%5D.a.focus()%22%3E%0A...%3Cform%3E%0A%3Ctextarea%20name%3Dt%20cols%3D100%20rows%3D3%3E%3C%2Ftextarea%3E%3Cp%3E%0A%3Cinput%20name%3Da%20onblur%3D%22t.value%2B%3D'ab%20'%3B%20b.focus()%3B%22%3E%0A%3Cinput%20name%3Db%20onfocus%3D%22t.value%2B%3D'bf1%20'%3Ba.focus()%3Bt.value%2B%3D'bf2%20'%3B%22%20onblur%3D%22t.value%2B%3D'bb%20'%3B%22%3E --><!-- http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%3Cbody%3E...%3Cform%3E%0A%3Ctextarea%20name%3Dt%20cols%3D100%20rows%3D3%3E%3C%2Ftextarea%3E%3Cp%3E%0A%3Cinput%20name%3Da%20onfocus%3D%22t.value%2B%3D%27af%20%27%3B%22%20onblur%3D%22t.value%2B%3D%27ab1%20%27%3Bb.focus()%3Bt.value%2B%3D%27ab2%20%27%3B%22%3E%0A%3Cinput20name%3Db%20onfocus%3D%22t.value%2B%3D%27bf1%20%27%3Ba.focus()%3Bt.value%2B%3D%27bf2%20%27%3B%22%20onblur%3D%22t.value%2B%3D%27bb%20%27%3B%22%3E --><!-- v2: more things to define, if no other specs define them:
+   - define onfocus/onblur behaviour for Window
+   - Other things to look at are IE's focus APIs (HTMLElement.setActive(),
+     onBeforeActivate, onActivate, onBeforeDeactivate, onDeactivate):
+       https://bugzilla.mozilla.org/show_bug.cgi?id=296471
+       https://bugzilla.mozilla.org/show_bug.cgi?id=296469
+       http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/setactive.asp
+       http://msdn.microsoft.com/workshop/author/dhtml/reference/events/onbeforeactivate.asp
+  --><h4 id="sequential-focus-navigation"><span class="secno">7.4.1 </span>Sequential focus navigation</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <dfn id="attr-tabindex" title="attr-tabindex"><code>tabindex</code></dfn>
+  content attribute specifies whether the element is focusable,
+  whether it can be reached using sequential focus navigation, and the
+  relative order of the element for the purposes of sequential focus
+  navigation. The name "tab index" comes from the common use of the
+  "tab" key to navigate through the focusable elements. The term
+  "tabbing" refers to moving forward through the focusable elements
+  that can be reached using sequential focus navigation.</p><p>The <code title="attr-tabindex"><a href="#attr-tabindex">tabindex</a></code> attribute, if
+  specified, must have a value that is a <a href="common-microsyntaxes.html#valid-integer">valid
+  integer</a>.</p><h4 id="document-level-focus-apis"><span class="secno">7.4.2 </span>Document-level focus APIs</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><dl class="domintro"><dt><var title="">document</var> . <code title="dom-document-activeElement"><a href="#dom-document-activeelement">activeElement</a></code></dt>
+
+   <dd>
+
+    <p>Returns the currently focused element.</p>
+
+   </dd>
+
+   <dt><var title="">document</var> . <code title="dom-document-hasFocus"><a href="#dom-document-hasfocus">hasFocus</a></code>()</dt>
+
+   <dd>
+
+    <p>Returns true if the document has focus; otherwise, returns false.</p>
+
+   </dd>
+
+   <dt><var title="">window</var> . <code title="dom-window-focus"><a href="#dom-window-focus">focus</a></code>()</dt>
+
+   <dd>
+
+    <p>Focuses the window. Use of this method is discouraged. Allow the user to control window focus instead.</p>
+
+   </dd>
+
+   <dt><var title="">window</var> . <code title="dom-window-blur"><a href="#dom-window-blur">blur</a></code>()</dt>
+
+   <dd>
+
+    <p>Unfocuses the window. Use of this method is discouraged. Allow the user to control window focus instead.</p>
+
+   </dd>
+
+  </dl><h4 id="element-level-focus-apis"><span class="secno">7.4.3 </span>Element-level focus APIs</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><dl class="domintro"><dt><var title="">element</var> . <code title="dom-focus"><a href="#dom-focus">focus</a></code>()</dt>
+
+   <dd>
+
+    <p>Focuses the element.</p>
+
+   </dd>
+
+   <dt><var title="">element</var> . <code title="dom-blur"><a href="#dom-blur">blur</a></code>()</dt>
+
+   <dd>
+
+    <p>Unfocuses the element. Use of this method is discouraged. Focus another element instead.</p>
+
+   </dd>
+
+  </dl><h3 id="the-accesskey-attribute"><span class="secno">7.5 </span>The <dfn title="attr-accesskey"><code>accesskey</code></dfn> attribute</h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>All <a href="infrastructure.html#html-elements">HTML elements</a> may have the <code title="attr-accesskey"><a href="#the-accesskey-attribute">accesskey</a></code> content attribute set. The
+  <code title="attr-accesskey"><a href="#the-accesskey-attribute">accesskey</a></code> attribute's value is
+  used by the user agent as a guide for creating a keyboard shortcut
+  that activates or focuses the element.</p><p>If specified, the value must be an <a href="common-microsyntaxes.html#ordered-set-of-unique-space-separated-tokens">ordered set of unique
+  space-separated tokens</a>, each of which must be exactly one
+  Unicode code point in length.</p><div class="example">
+
+   <p>In the following example, a variety of links are given with
+   access keys so that keyboard users familiar with the site can
+   more quickly navigate to the relevant pages:</p>
+
+   <pre>&lt;nav&gt;
+ &lt;p&gt;
+  &lt;a title="Consortium Activities" accesskey="A" href="/Consortium/activities"&gt;Activities&lt;/a&gt; |
+  &lt;a title="Technical Reports and Recommendations" accesskey="T" href="/TR/"&gt;Technical Reports&lt;/a&gt; |
+  &lt;a title="Alphabetical Site Index" accesskey="S" href="/Consortium/siteindex"&gt;Site Index&lt;/a&gt; |
+  &lt;a title="About This Site" accesskey="B" href="/Consortium/"&gt;About Consortium&lt;/a&gt; |
+  &lt;a title="Contact Consortium" accesskey="C" href="/Consortium/contact"&gt;Contact&lt;/a&gt;
+ &lt;/p&gt;
+&lt;/nav&gt;</pre>
+
+  </div><div class="example">
+
+   <p>In the following example, the search field is given two possible
+   access keys, "s" and "0" (in that order). A user agent on a device
+   with a full keyboard might pick
+   <kbd><kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>S</kbd></kbd> as the
+   shortcut key, while a user agent on a small device with just a
+   numeric keypad might pick just the plain unadorned key
+   <kbd><kbd>0</kbd></kbd>:</p>
+
+   <pre>&lt;form action="/search"&gt;
+ &lt;label&gt;Search: &lt;input type="search" name="q" accesskey="s 0"&gt;&lt;/label&gt;
+ &lt;input type="submit"&gt;
+&lt;/form&gt;</pre>
+
+  </div><div class="example">
+
+   <p>In the following example, a button has possible access keys
+   described. A script then tries to update the button's label to
+   advertise the key combination the user agent selected.</p>
+
+   <pre>&lt;input type=submit accesskey="N @ 1" value="Compose"&gt;
+...
+&lt;script&gt;
+ function labelButton(button) {
+   if (button.accessKeyLabel)
+     button.value += ' (' + button.accessKeyLabel + ')';
+ }
+ var inputs = document.getElementsByTagName('input');
+ for (var i = 0; i &lt; inputs.length; i += 1) {
+   if (inputs[i].type == "submit")
+     labelButton(inputs[i]);
+ }
+&lt;/script&gt;</pre>
+
+   <p>On one user agent, the button's label might become
+   "<samp>Compose (&#8984;N)</samp>". On another, it might become
+   "<samp>Compose (Alt+&#8679;+1)</samp>". If the user agent doesn't
+   assign a key, it will be just "<samp>Compose</samp>". The exact
+   string depends on what the <a href="#assigned-access-key">assigned access key</a> is, and
+   on how the user agent represents that key combination.</p>
+
+  </div><h3 id="selection"><span class="secno">7.6 </span>The text selection APIs</h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>Every <a href="browsers.html#browsing-context">browsing context</a> has <dfn id="the-selection" title="the
+  selection">a selection</dfn>. The selection can be empty, and the
+  selection can have more than one range (a disjointed selection). The
+  user agent should allow the user to change the selection. User
+  agents are not required to let the user select more than one range,
+  and may collapse multiple ranges in the selection to a single range
+  when the user interacts with the selection. (But, of course, the
+  user agent may let the user create selections with multiple
+  ranges.)</p><p>This one selection must be shared by all the content of the
+  browsing context (though not by nested <a href="browsers.html#browsing-context" title="browsing
+  context">browsing contexts</a>), including any editing hosts in
+  the document. (Editing hosts that are not inside a document cannot
+  have a selection.)</p><p>Mostly for historical reasons, in addition to the <a href="browsers.html#browsing-context">browsing
+  context</a>'s <a href="#the-selection" title="the selection">selection</a>, each
+  <code><a href="the-button-element.html#the-textarea-element">textarea</a></code> and <code><a href="the-input-element.html#the-input-element">input</a></code> element has an
+  independent selection. These are the <dfn id="text-field-selection" title="text field
+  selection">text field selections</dfn>.</p><!-- v2DATAGRID v2DGS:
+  <p>The <code>datagrid</code> and <code>select</code> elements also
+  have selections, indicating which items have been picked by the
+  user. These are not discussed in this section.</p>
+  --><p>The <code><a href="the-button-element.html#the-select-element">select</a></code> element also has a selection, indicating
+  which items have been picked by the user. This is not discussed in
+  this section.</p><p class="note">This specification does not specify how selections
+  are presented to the user. The Selectors specification, in
+  conjunction with CSS, can be used to style text selections using the
+  <code title="selector-selection">::selection</code>
+  pseudo-element. <a href="references.html#refsSELECTORS">[SELECTORS]</a> <a href="references.html#refsCSS">[CSS]</a></p><h4 id="documentSelection"><span class="secno">7.6.1 </span>APIs for the browsing context selection</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><dl class="domintro"><dt><var title="">window</var> . <code title="dom-getSelection"><a href="#dom-getselection">getSelection</a></code>()</dt>
+   <dt><var title="">document</var> . <code title="dom-document-getSelection"><a href="#dom-document-getselection">getSelection</a></code>()</dt>
+
+   <dd>
+
+    <p>Returns the <code><a href="#selection-0">Selection</a></code> object for the window, which
+    stringifies to the text of the current selection.</p>
+
+   </dd>
+
+  </dl><pre class="idl">interface <dfn id="selection-0">Selection</dfn> {
+  readonly attribute Node <a href="#dom-selection-anchornode" title="dom-selection-anchorNode">anchorNode</a>;
+  readonly attribute long <a href="#dom-selection-anchoroffset" title="dom-selection-anchorOffset">anchorOffset</a>;
+  readonly attribute Node <a href="#dom-selection-focusnode" title="dom-selection-focusNode">focusNode</a>;
+  readonly attribute long <a href="#dom-selection-focusoffset" title="dom-selection-focusOffset">focusOffset</a>;
+  readonly attribute boolean <a href="#dom-selection-iscollapsed" title="dom-selection-isCollapsed">isCollapsed</a>;
+  void <a href="#dom-selection-collapse" title="dom-selection-collapse">collapse</a>(in Node parentNode, in long offset);
+  void <a href="#dom-selection-collapsetostart" title="dom-selection-collapseToStart">collapseToStart</a>();
+  void <a href="#dom-selection-collapsetoend" title="dom-selection-collapseToEnd">collapseToEnd</a>();
+  void <a href="#dom-selection-selectallchildren" title="dom-selection-selectAllChildren">selectAllChildren</a>(in Node parentNode);
+  void <a href="#dom-selection-deletefromdocument" title="dom-selection-deleteFromDocument">deleteFromDocument</a>();
+  readonly attribute long <a href="#dom-selection-rangecount" title="dom-selection-rangeCount">rangeCount</a>;
+  Range <a href="#dom-selection-getrangeat" title="dom-selection-getRangeAt">getRangeAt</a>(in long index);
+  void <a href="#dom-selection-addrange" title="dom-selection-addRange">addRange</a>(in Range range);
+  void <a href="#dom-selection-removerange" title="dom-selection-removeRange">removeRange</a>(in Range range);
+  void <a href="#dom-selection-removeallranges" title="dom-selection-removeAllRanges">removeAllRanges</a>();
+  <a href="#dom-selection-tostring" title="dom-selection-toString">stringifier</a> DOMString ();
+};</pre><!--
+  See also:
+    http://lxr.mozilla.org/mozilla/source/content/base/public/nsISelection.idl
+  This spec doesn't have everything from there yet, in particular
+  selectionLanguageChange() and containsNode() are missing. They are missing
+  because I couldn't work out how to define them in terms of Ranges.
+
+  I also haven't included extend():
+
+    void <span title="dom-selection-extend">extend</span>(in Node parentNode, in long offset);
+    // raise if no range
+    // raise WRONG_DOCUMENT_ERR if parentNode not in document
+    // do something
+
+  ...mostly because I can't work out how to describe what it does quickly.
+--><p>The <code><a href="#selection-0">Selection</a></code> interface is represents a list of
+  <code>Range</code> objects. The first item in the list has index 0,
+  and the last item has index <var title="">count</var>-1, where
+  <var title="">count</var> is the number of ranges in the list. <a href="references.html#refsDOMRANGE">[DOMRANGE]</a></p><p>All of the members of the <code><a href="#selection-0">Selection</a></code> interface are
+  defined in terms of operations on the <code>Range</code> objects
+  represented by this object. These operations can raise exceptions,
+  as defined for the <code>Range</code> interface; this can therefore
+  result in the members of the <code><a href="#selection-0">Selection</a></code> interface
+  raising exceptions as well, in addition to any explicitly called out
+  below.</p><dl class="domintro"><dt><var title="">selection</var> . <code title="dom-selection-anchorNode"><a href="#dom-selection-anchornode">anchorNode</a></code></dt>
+
+   <dd>
+
+    <p>Returns the element that contains the start of the selection.</p>
+
+    <p>Returns null if there's no selection.</p>
+
+   </dd>
+
+   <dt><var title="">selection</var> . <code title="dom-selection-anchorOffset"><a href="#dom-selection-anchoroffset">anchorOffset</a></code></dt>
+
+   <dd>
+
+    <p>Returns the offset of the start of the selection relative to the element that contains the start of the selection.</p>
+
+    <p>Returns 0 if there's no selection.</p>
+
+   </dd>
+
+   <dt><var title="">selection</var> . <code title="dom-selection-focusNode"><a href="#dom-selection-focusnode">focusNode</a></code></dt>
+
+   <dd>
+
+    <p>Returns the element that contains the end of the selection.</p>
+
+    <p>Returns null if there's no selection.</p>
+
+   </dd>
+
+   <dt><var title="">selection</var> . <code title="dom-selection-focusOffset"><a href="#dom-selection-focusoffset">focusOffset</a></code></dt>
+
+   <dd>
+
+    <p>Returns the offset of the end of the selection relative to the element that contains the end of the selection.</p>
+
+    <p>Returns 0 if there's no selection.</p>
+
+   </dd>
+
+   <dt><var title="">collapsed</var> = <var title="">selection</var> . <code title="dom-selection-isCollapsed"><a href="#dom-selection-iscollapsed">isCollapsed</a></code>()</dt>
+
+   <dd>
+
+    <p>Returns true if there's no selection or if the selection is empty. Otherwise, returns false.</p>
+
+   </dd>
+
+   <dt><var title="">selection</var> . <code title="dom-selection-collapsed">collapsed</code>(<var title="">parentNode</var>, <var title="">offset</var>)</dt>
+
+   <dd>
+
+    <p>Replaces the selection with an empty one at the given position.</p>
+
+    <p>Throws a <code><a href="urls.html#wrong_document_err">WRONG_DOCUMENT_ERR</a></code> exception if the given node is in a different document.</p>
+
+   </dd>
+
+   <dt><var title="">selection</var> . <code title="dom-selection-collapseToStart"><a href="#dom-selection-collapsetostart">collapseToStart</a></code>()</dt>
+
+   <dd>
+
+    <p>Replaces the selection with an empty one at the position of the start of the current selection.</p>
+
+    <p>Throws an <code><a href="urls.html#invalid_state_err">INVALID_STATE_ERR</a></code> exception if there is no selection.</p>
+
+   </dd>
+
+   <dt><var title="">selection</var> . <code title="dom-selection-collapseToEnd"><a href="#dom-selection-collapsetoend">collapseToEnd</a></code>()</dt>
+
+   <dd>
+
+    <p>Replaces the selection with an empty one at the position of the end of the current selection.</p>
+
+    <p>Throws an <code><a href="urls.html#invalid_state_err">INVALID_STATE_ERR</a></code> exception if there is no selection.</p>
+
+   </dd>
+
+   <dt><var title="">selection</var> . <code title="dom-selection-selectAllChildren"><a href="#dom-selection-selectallchildren">selectAllChildren</a></code>(<var title="">parentNode</var>)</dt>
+
+   <dd>
+
+    <p>Replaces the selection with one that contains all the contents of the given element.</p>
+
+    <p>Throws a <code><a href="urls.html#wrong_document_err">WRONG_DOCUMENT_ERR</a></code> exception if the given node is in a different document.</p>
+
+   </dd>
+
+   <dt><var title="">selection</var> . <code title="dom-selection-deleteFromDocument"><a href="#dom-selection-deletefromdocument">deleteFromDocument</a></code>()</dt>
+
+   <dd>
+
+    <p>Deletes the selection.</p>
+
+   </dd>
+
+   <dt><var title="">selection</var> . <code title="dom-selection-rangeCount"><a href="#dom-selection-rangecount">rangeCount</a></code></dt>
+
+   <dd>
+
+    <p>Returns the number of ranges in the selection.</p>
+
+   </dd>
+
+   <dt><var title="">selection</var> . <code title="dom-selection-getRangeAt"><a href="#dom-selection-getrangeat">getRangeAt</a></code>(<var title="">index</var>)</dt>
+
+   <dd>
+
+    <p>Returns the given range.</p>
+
+    <p>Throws an <code><a href="urls.html#invalid_state_err">INVALID_STATE_ERR</a></code> exception if the value is out of range.</p>
+
+   </dd>
+
+   <dt><var title="">selection</var> . <code title="dom-selection-addRange"><a href="#dom-selection-addrange">addRange</a></code>(<var title="">range</var>)</dt>
+
+   <dd>
+
+    <p>Adds the given range to the selection.</p>
+
+   </dd>
+
+   <dt><var title="">selection</var> . <code title="dom-selection-removeRange"><a href="#dom-selection-removerange">removeRange</a></code>(<var title="">range</var>)</dt>
+
+   <dd>
+
+    <p>Removes the given range from the selection, if the range was one of the ones in the selection.</p>
+
+   </dd>
+
+   <dt><var title="">selection</var> . <code title="dom-selection-removeAllRanges"><a href="#dom-selection-removeallranges">removeAllRanges</a></code>()</dt>
+
+   <dd>
+
+    <p>Removes all the ranges in the selection.</p>
+
+   </dd>
+
+  </dl><div class="example">
+   <p>In the following document fragment, the emphasized parts
+   indicate the selection.</p>
+   <pre>&lt;p&gt;The cute girl likes <em>the </em>&lt;cite&gt;<em>Oxford English</em> Dictionary&lt;/cite&gt;.&lt;/p&gt;</pre>
+   <p>If a script invoked <code title="">window.getSelection().toString()</code>, the return value
+   would be "<code>the Oxford English</code>".</p>
+  </div><!-- v2DATAGRID v2DGS:
+  <p class="note">The <code>Selection</code> interface has no relation
+  to the <code>DataGridSelection</code> interface.</p>
+  --><h4 id="textFieldSelection"><span class="secno">7.6.2 </span>APIs for the text field selections</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><!-- v2 idea: DOM Range APIs to expose the textarea/input edited
+  value (ack martijnw) --><p>The <code><a href="the-input-element.html#the-input-element">input</a></code> and <code><a href="the-button-element.html#the-textarea-element">textarea</a></code> elements define
+  the following members in their DOM interfaces for handling their
+  text selection:</p><pre class="idl extract">  void <a href="#dom-textarea-input-select" title="dom-textarea/input-select">select</a>();
+           attribute unsigned long <a href="#dom-textarea-input-selectionstart" title="dom-textarea/input-selectionStart">selectionStart</a>;
+           attribute unsigned long <a href="#dom-textarea-input-selectionend" title="dom-textarea/input-selectionEnd">selectionEnd</a>;
+  void <a href="#dom-textarea-input-setselectionrange" title="dom-textarea/input-setSelectionRange">setSelectionRange</a>(in unsigned long start, in unsigned long end);</pre><!-- v2: also add textLength? it seems to be widely used --><p>These methods and attributes expose and control the selection of
+  <code><a href="the-input-element.html#the-input-element">input</a></code> and <code><a href="the-button-element.html#the-textarea-element">textarea</a></code> text fields.</p><dl class="domintro"><dt><var title="">element</var> . <code title="dom-textarea/input-select"><a href="#dom-textarea-input-select">select</a></code>()</dt>
+
+   <dd>
+
+    <p>Selects everything in the text field.</p>
+
+   </dd>
+
+   <dt><var title="">element</var> . <code title="dom-textarea/input-selecionStart">selectionStart</code> [ = <var title="">value</var> ]</dt>
+
+   <dd>
+
+    <p>Returns the offset to the start of the selection.</p>
+
+    <p>Can be set, to change the start of the selection.</p>
+
+   </dd>
+
+   <dt><var title="">element</var> . <code title="dom-textarea/input-selecionEnd">selectionEnd</code> [ = <var title="">value</var> ]</dt>
+
+   <dd>
+
+    <p>Returns the offset to the end of the selection.</p>
+
+    <p>Can be set, to change the end of the selection.</p>
+
+   </dd>
+
+   <dt><var title="">element</var> . <code title="dom-textarea/input-setSelectionRange"><a href="#dom-textarea-input-setselectionrange">setSelectionRange</a></code>(<var title="">start</var>, <var title="">end</var>)</dt>
+
+   <dd>
+
+    <p>Changes the selection to cover the given substring.</p>
+
+   </dd>
+
+  </dl><div class="example">
+
+   <p>To obtain the currently selected text, the following JavaScript
+   suffices:</p>
+
+   <pre>var selectionText = control.value.substring(control.selectionStart, control.selectionEnd);</pre>
+
+   <p>...where <var title="">control</var> is the <code><a href="the-input-element.html#the-input-element">input</a></code>
+   or <code><a href="the-button-element.html#the-textarea-element">textarea</a></code> element.</p>
+
+  </div><p>Characters with no visible rendering, such as U+200D ZERO WIDTH
+  JOINER, still count as characters. Thus, for instance, the selection
+  can include just an invisible character, and the text insertion
+  cursor can be placed to one side or another of such a character.</p><h3 id="contenteditable"><span class="secno">7.7 </span>The <code title="attr-contenteditable"><a href="#attr-contenteditable">contenteditable</a></code> attribute</h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <dfn id="attr-contenteditable" title="attr-contenteditable"><code>contenteditable</code></dfn>
+  attribute is an <a href="common-microsyntaxes.html#enumerated-attribute">enumerated attribute</a> whose keywords are
+  the empty string, <code title="">true</code>, and <code title="">false</code>. The empty string and the <code title="">true</code> keyword map to the <i>true</i> state. The <code title="">false</code> keyword maps to the <i>false</i> state. In
+  addition, there is a third state, the <i>inherit</i> state, which is
+  the <i>missing value default</i> (and the <i>invalid value
+  default</i>).</p><p>The <i>true</i> state indicates that the element is editable. The
+  <i>inherit</i> state indicates that the element is editable if its
+  parent is. The <i>false</i> state indicates that the element is not
+  editable.</p><dl class="domintro"><dt><var title="">element</var> . <code title="dom-contentEditable"><a href="#dom-contenteditable">contentEditable</a></code> [ = <var title="">value</var> ]</dt>
+
+   <dd>
+
+    <p>Returns "<code title="">true</code>", "<code title="">false</code>", or "<code title="">inherit</code>", based
+    on the state of the <code title="attr-contenteditable"><a href="#attr-contenteditable">contenteditable</a></code> attribute.</p>
+
+    <p>Can be set, to change that state.</p>
+
+    <p>Throws a <code><a href="urls.html#syntax_err">SYNTAX_ERR</a></code> exception if the new value
+    isn't one of those strings.</p>
+
+   </dd>
+
+   <dt><var title="">element</var> . <code title="dom-isContentEditable"><a href="#dom-iscontenteditable">isContentEditable</a></code></dt>
+
+   <dd>
+
+    <p>Returns true if the element is editable; otherwise, returns false.</p>
+
+   </dd>
+
+  </dl><h4 id="making-entire-documents-editable"><span class="secno">7.7.1 </span>Making entire documents editable</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><dl class="domintro"><dt><var title="">document</var> . <code title="dom-document-designMode"><a href="#designMode">designMode</a></code> [ = <var title="">value</var> ]</dt>
+
+   <dd>
+
+    <p>Returns "<code title="">on</code>" if the document is editable,
+    and "<code title="">off</code>" if it isn't.</p>
+
+    <p>Can be set, to change the document's current state.</p>
+
+   </dd>
+
+  </dl><h3 id="spelling-and-grammar-checking"><span class="secno">7.8 </span>Spelling and grammar checking</h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <dfn id="attr-spellcheck" title="attr-spellcheck"><code>spellcheck</code></dfn>
+  attribute is an <a href="common-microsyntaxes.html#enumerated-attribute">enumerated attribute</a> whose keywords are
+  the empty string, <code title="">true</code> and <code title="">false</code>. The empty string and the <code title="">true</code> keyword map to the <i>true</i> state. The <code title="">false</code> keyword maps to the <i>false</i> state. In
+  addition, there is a third state, the <i>default</i> state, which is
+  the <i>missing value default</i> (and the <i>invalid value
+  default</i>).</p><p>The <i>true</i> state indicates that the element is to have its
+  spelling and grammar checked. The <i>default</i> state indicates
+  that the element is to act according to a default behavior, possibly
+  based on the parent element's own <code title="attr-spellcheck"><a href="#attr-spellcheck">spellcheck</a></code> state. The <i>false</i>
+  state indicates that the element is not to be checked.</p><dl class="domintro"><dt><var title="">element</var> . <code title="dom-spellcheck"><a href="#dom-spellcheck">spellcheck</a></code> [ = <var title="">value</var> ]</dt>
+
+   <dd>
+
+    <p>Returns "<code title="">true</code>", "<code title="">false</code>", or "<code title="">default</code>", based
+    on the state of the <code title="attr-spellcheck"><a href="#attr-spellcheck">spellcheck</a></code> attribute.</p>
+
+    <p>Can be set, to change that state.</p>
+
+    <p>Throws a <code><a href="urls.html#syntax_err">SYNTAX_ERR</a></code> exception if the new value
+    isn't one of those strings.</p>
+
+   </dd>
+
+  </dl><p class="note">This specification does not define the user
+  interface for spelling and grammar checkers. A user agent could
+  offer on-demand checking, could perform continuous checking while
+  the checking is enabled, or could use other interfaces.</p></body></html>
\ No newline at end of file

Index: video.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/video.html,v
retrieving revision 1.562
retrieving revision 1.563
diff -u -d -r1.562 -r1.563
--- video.html	6 Jan 2010 15:38:54 -0000	1.562
+++ video.html	6 Jan 2010 15:49:35 -0000	1.563
@@ -659,4 +659,674 @@
     * bufferingRate/bufferingThrottled (see v3BUF)
     * events for when the user agent's controls get shown or hidden
       so that the author's controls can get away of the UA's
-  --><!-- v2 features that already have expe
\ No newline at end of file
+  --><!-- v2 features that already have experimental implementations:
+    * webkitPreservesPitch (for when playbackRate != 1.0)
+  --><p><a href="#media-element" title="media element">Media elements</a> are used to
+  present audio data, or video and audio data, to the user. This is
+  referred to as <dfn id="media-data">media data</dfn> in this section, since this
+  section applies equally to <a href="#media-element" title="media element">media
+  elements</a> for audio or for video. The term <dfn id="media-resource">media
+  resource</dfn> is used to refer to the complete set of media data,
+  e.g. the complete video file, or complete audio file.</p><h5 id="error-codes"><span class="secno">4.8.10.1 </span>Error codes</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><dl class="domintro"><dt><var title="">media</var> . <code title="dom-media-error"><a href="#dom-media-error">error</a></code></dt>
+
+   <dd>
+
+    <p>Returns a <code><a href="#mediaerror">MediaError</a></code> object representing the
+    current error state of the element.</p>
+
+    <p>Returns null if there is no error.</p>
+
+   </dd>
+
+  </dl><pre class="idl">interface <dfn id="mediaerror">MediaError</dfn> {
+  const unsigned short <a href="#dom-mediaerror-media_err_aborted" title="dom-MediaError-MEDIA_ERR_ABORTED">MEDIA_ERR_ABORTED</a> = 1;
+  const unsigned short <a href="#dom-mediaerror-media_err_network" title="dom-MediaError-MEDIA_ERR_NETWORK">MEDIA_ERR_NETWORK</a> = 2;
+  const unsigned short <a href="#dom-mediaerror-media_err_decode" title="dom-MediaError-MEDIA_ERR_DECODE">MEDIA_ERR_DECODE</a> = 3;
+  const unsigned short <a href="#dom-mediaerror-media_err_src_not_supported" title="dom-MediaError-MEDIA_ERR_SRC_NOT_SUPPORTED">MEDIA_ERR_SRC_NOT_SUPPORTED</a> = 4;
+  readonly attribute unsigned short <a href="#dom-mediaerror-code" title="dom-MediaError-code">code</a>;
+};</pre><dl class="domintro"><dt><var title="">media</var> . <code title="dom-media-error"><a href="#dom-media-error">error</a></code> . <code title="dom-MediaError-code"><a href="#dom-mediaerror-code">code</a></code></dt>
+
+   <dd>
+
+    <p>Returns the current error's error code, from the list below.</p>
+
+   </dd>
+
+  </dl><dl><dt><dfn id="dom-mediaerror-media_err_aborted" title="dom-MediaError-MEDIA_ERR_ABORTED"><code>MEDIA_ERR_ABORTED</code></dfn> (numeric value 1)</dt>
+
+   <dd>The fetching process for the <a href="#media-resource">media resource</a> was
+   aborted by the user agent at the user's request.</dd>
+
+   <dt><dfn id="dom-mediaerror-media_err_network" title="dom-MediaError-MEDIA_ERR_NETWORK"><code>MEDIA_ERR_NETWORK</code></dfn> (numeric value 2)</dt>
+
+   <dd>A network error of some description caused the user agent to
+   stop fetching the <a href="#media-resource">media resource</a>, after the resource
+   was established to be usable.</dd>
+
+   <dt><dfn id="dom-mediaerror-media_err_decode" title="dom-MediaError-MEDIA_ERR_DECODE"><code>MEDIA_ERR_DECODE</code></dfn> (numeric value 3)</dt>
+
+   <dd>An error of some description occurred while decoding the
+   <a href="#media-resource">media resource</a>, after the resource was established to
+   be usable.</dd>
+
+   <dt><dfn id="dom-mediaerror-media_err_src_not_supported" title="dom-MediaError-MEDIA_ERR_SRC_NOT_SUPPORTED"><code>MEDIA_ERR_SRC_NOT_SUPPORTED</code></dfn> (numeric value 4)</dt>
+
+   <dd>The <a href="#media-resource">media resource</a> indicated by the <code title="attr-media-src"><a href="#attr-media-src">src</a></code> attribute was not suitable.</dd>
+
+  </dl><h5 id="location-of-the-media-resource"><span class="secno">4.8.10.2 </span>Location of the media resource</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <dfn id="attr-media-src" title="attr-media-src"><code>src</code></dfn> content
+  attribute on <a href="#media-element" title="media element">media elements</a> gives
+  the address of the media resource (video, audio) to show. The
+  attribute, if present, must contain a <a href="urls.html#valid-url">valid URL</a>.</p><dl class="domintro"><dt><var title="">media</var> . <code title="dom-media-currentSrc"><a href="#dom-media-currentsrc">currentSrc</a></code></dt>
+
+   <dd>
+
+    <p>Returns the address of the current <a href="#media-resource">media resource</a>.</p>
+
+    <p>Returns the empty string when there is no <a href="#media-resource">media resource</a>.</p>
+
+   </dd>
+
+  </dl><p class="note">There are two ways to specify a <a href="#media-resource">media
+  resource</a>, the <code title="attr-media-src"><a href="#attr-media-src">src</a></code>
+  attribute, or <code><a href="#the-source-element">source</a></code> elements. The attribute overrides
+  the elements.</p><h5 id="mime-types"><span class="secno">4.8.10.3 </span>MIME types</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>A <a href="#media-resource">media resource</a> can be described in terms of its
+  <em>type</em>, specifically a <a href="infrastructure.html#mime-type">MIME type</a>, optionally
+  with a <code title="">codecs</code> parameter. <a href="references.html#refsRFC4281">[RFC4281]</a></p><p>Types are usually somewhat incomplete descriptions; for example
+  "<code title="">video/mpeg</code>" doesn't say anything except what
+  the container type is, and even a type like "<code title="">video/mp4; codecs="avc1.42E01E,
+  mp4a.40.2"</code>" doesn't include information like the actual
+  bitrate (only the maximum bitrate). Thus, given a type, a user agent
+  can often only know whether it <em>might</em> be able to play
+  media of that type (with varying levels of confidence), or whether
+  it definitely <em>cannot</em> play media of that type.</p><p><dfn id="a-type-that-the-user-agent-knows-it-cannot-render">A type that the user agent knows it cannot render</dfn> is
+  one that describes a resource that the user agent definitely does
+  not support, for example because it doesn't recognize the container
+  type, or it doesn't support the listed codecs.</p><p>The <a href="infrastructure.html#mime-type">MIME type</a> "<code title="">application/octet-stream</code>" with no parameters is
+  never <a href="#a-type-that-the-user-agent-knows-it-cannot-render">a type that the user agent knows it cannot
+  render</a>. User agents must treat that type as equivalent to the
+  lack of any explicit <a href="#content-type" title="Content-Type">Content-Type
+  metadata</a> when it is used to label a potential <a href="#media-resource">media
+  resource</a>.</p><p class="note">In the absence of a <!-- pretty crazy -->
+  specification to the contrary, the <a href="infrastructure.html#mime-type">MIME type</a> "<code title="">application/octet-stream</code>" when used <em>with</em>
+  parameters, e.g. "<code title="">application/octet-stream;codecs=theora</code>", <em>is</em>
+  <a href="#a-type-that-the-user-agent-knows-it-cannot-render">a type that the user agent knows it cannot render</a>.</p><dl class="domintro"><dt><var title="">media</var> . <code title="dom-navigator-canPlayType"><a href="#dom-navigator-canplaytype">canPlayType</a></code>(<var title="">type</var>)</dt>
+
+   <dd>
+
+    <p>Returns the empty string (a negative response), "maybe", or
+    "probably" based on how confident the user agent is that it can
+    play media resources of the given type.</p>
+
+   </dd>
+
+  </dl><div class="example">
+
+   <p>This script tests to see if the user agent supports a
+   (fictional) new format to dynamically decide whether to use a
+   <code><a href="#video">video</a></code> element or a plugin:</p>
+
+   <pre>&lt;section id="video"&gt;
+ &lt;p&gt;&lt;a href="playing-cats.nfv"&gt;Download video&lt;/a&gt;&lt;/p&gt;
+&lt;/section&gt;
+&lt;script&gt;
+ var videoSection = document.getElementById('video');
+ var videoElement = document.createElement('video');
+ var support = videoElement.canPlayType('video/x-new-fictional-format;codecs="kittens,bunnies"');
+ if (support != "probably" &amp;&amp; "New Fictional Video Plug-in" in navigator.plugins) {
+   // not confident of browser support
+   // but we have a plugin
+   // so use plugin instead
+   videoElement = document.createElement("embed");
+ } else if (support == "") {
+   // no support from browser and no plugin
+   // do nothing
+   videoElement = null;
+ }
+ if (videoElement) {
+   while (videoSection.hasChildNodes())
+     videoSection.removeChild(videoSection.firstChild);
+   videoElement.setAttribute("src", "playing-cats.nfv");
+   videoSection.appendChild(videoElement);
+ }
+&lt;/script&gt;</pre>
+
+  </div><p class="note">The <code title="attr-source-type"><a href="#attr-source-type">type</a></code>
+  attribute of the <code><a href="#the-source-element">source</a></code> element allows the user agent
+  to avoid downloading resources that use formats it cannot
+  render.</p><h5 id="network-states"><span class="secno">4.8.10.4 </span>Network states</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><dl class="domintro"><dt><var title="">media</var> . <code title="dom-media-networkState"><a href="#dom-media-networkstate">networkState</a></code></dt>
+
+   <dd>
+
+    <p>Returns the current state of network activity for the element,
+    from the codes in the list below.</p>
+
+   </dd>
+
+  </dl><dl><dt><dfn id="dom-media-network_empty" title="dom-media-NETWORK_EMPTY"><code>NETWORK_EMPTY</code></dfn> (numeric value 0)</dt>
+
+   <dd>The element has not yet been initialized. All attributes are in
+   their initial states.</dd>
+
+   <dt><dfn id="dom-media-network_idle" title="dom-media-NETWORK_IDLE"><code>NETWORK_IDLE</code></dfn> (numeric value 1)</dt>
+
+   <dd>The element's <a href="#media-resource" title="media resource">resource</a>, but it is not actually
+   using the network at this time.</dd>
+
+   <dt><dfn id="dom-media-network_loading" title="dom-media-NETWORK_LOADING"><code>NETWORK_LOADING</code></dfn> (numeric value 2)</dt>
+
+   <dd>The user agent is actively trying to download data.</dd>
+
+   <dt><dfn id="dom-media-network_no_source" title="dom-media-NETWORK_NO_SOURCE"><code>NETWORK_NO_SOURCE</code></dfn> (numeric value 3)</dt>
+
+   <dd>The element's <a href="#media-resource" title="media resource">resource</a> to use.</dd>
+
+  </dl><h5 id="loading-the-media-resource"><span class="secno">4.8.10.5 </span>Loading the media resource</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><dl class="domintro"><dt><var title="">media</var> . <code title="dom-media-load"><a href="#dom-media-load">load</a></code>()</dt>
+
+   <dd>
+
+    <p>Causes the element to reset and start selecting and loading a
+    new <a href="#media-resource">media resource</a> from scratch.</p>
+
+   </dd>
+
+  </dl><p>The <dfn id="attr-media-autobuffer" title="attr-media-autobuffer"><code>autobuffer</code></dfn>
+  attribute is a <a href="common-microsyntaxes.html#boolean-attribute">boolean attribute</a>. Its presence hints to
+  the user agent that the author believes that the <a href="#media-element">media
+  element</a> will likely be used, even though the element does not
+  have an <code title="attr-media-autoplay"><a href="#attr-media-autoplay">autoplay</a></code>
+  attribute. (The attribute has no effect if used in conjunction with
+  the <code title="attr-media-autoplay"><a href="#attr-media-autoplay">autoplay</a></code> attribute,
+  though including both is not an error.) </p><!--v3BUF (when readding this, also add a domintro block)
+  <p>The <dfn
+  title="dom-media-bufferingRate"><code>bufferingRate</code></dfn>
+  attribute must return the average number of bits received per second
+  for the current download over the past few seconds. If there is no
+  download in progress, the attribute must return 0.</p>
+
+  <p>The <dfn
+  title="dom-media-bufferingThrottled"><code>bufferingThrottled</code></dfn>
+  attribute must return true if the user agent is intentionally
+  throttling the bandwidth used by the download (including when
+  throttling to zero to pause the download altogether), and false
+  otherwise.</p>
+--><dl class="domintro"><dt><var title="">media</var> . <code title="dom-media-buffered"><a href="#dom-media-buffered">buffered</a></code></dt>
+
+   <dd>
+
+    <p>Returns a <code><a href="#timeranges">TimeRanges</a></code> object that represents the
+    ranges of the <a href="#media-resource">media resource</a> that the user agent has
+    buffered.</p>
+
+   </dd>
+
+  </dl><h5 id="offsets-into-the-media-resource"><span class="secno">4.8.10.6 </span>Offsets into the media resource</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><dl class="domintro"><dt><var title="">media</var> . <code title="dom-media-duration"><a href="#dom-media-duration">duration</a></code></dt>
+
+   <dd>
+
+    <p>Returns the length of the <a href="#media-resource">media resource</a>, in
+    seconds.</p>
+
+    <p>Returns NaN if the duration isn't available.</p><p>
+
+    </p><p>Returns Infinity for unbounded streams.</p>
+
+   </dd>
+
+   <dt><var title="">media</var> . <code title="dom-media-currentTime"><a href="#dom-media-currenttime">currentTime</a></code> [ = <var title="">value</var> ]</dt>
+
+   <dd>
+
+    <p>Returns the <a href="#current-playback-position">current playback position</a>, in seconds.</p>
+
+    <p>Can be set, to seek to the given time.</p><p>
+
+    </p><p>Will throw an <code><a href="urls.html#invalid_state_err">INVALID_STATE_ERR</a></code> exception if there
+    is no selected <a href="#media-resource">media resource</a>. Will throw an
+    <code><a href="urls.html#index_size_err">INDEX_SIZE_ERR</a></code> exception if the given time is not
+    within the ranges to which the user agent can seek.</p>
+
+   </dd>
+
+   <dt><var title="">media</var> . <code title="dom-media-startTime"><a href="#dom-media-starttime">startTime</a></code></dt>
+
+   <dd>
+
+    <p>Returns the <a href="#earliest-possible-position">earliest possible position</a>, in
+    seconds. This is the time for the start of the current clip. It
+    might not be zero if the clip's timeline is not zero-based, or if
+    the resource is a streaming resource (in which case it gives the
+    earliest time that the user agent is able to seek back to).</p>
+
+   </dd>
+
+  </dl><p>The <dfn id="attr-media-loop" title="attr-media-loop"><code>loop</code></dfn>
+  attribute is a <a href="common-microsyntaxes.html#boolean-attribute">boolean attribute</a> that, if specified,
+  indicates that the <a href="#media-element">media element</a> is to seek back to the
+  start of the <a href="#media-resource">media resource</a> upon reaching the end.</p><h5 id="the-ready-states"><span class="secno">4.8.10.7 </span>The ready states</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><dl class="domintro"><dt><var title="">media</var> . <code title="dom-media-readyState"><a href="#dom-media-readystate">readyState</a></code></dt>
+
+   <dd>
+
+    <p>Returns a value that expresses the current state of the element
+    with respect to rendering the <a href="#current-playback-position">current playback
+    position</a>, from the codes in the list below.</p>
+
+   </dd>
+
+  </dl><dl><dt><dfn id="dom-media-have_nothing" title="dom-media-HAVE_NOTHING"><code>HAVE_NOTHING</code></dfn> (numeric value 0)</dt>
+
+   <dd>No information regarding the <a href="#media-resource">media resource</a> is
+   available. No data for the <a href="#current-playback-position">current playback position</a>
+   is available. <a href="#media-element" title="media element">Media elements</a>
+   whose <code title="dom-media-networkState"><a href="#dom-media-networkstate">networkState</a></code>
+   attribute is <code title="dom-media-NETWORK_EMPTY"><a href="#dom-media-network_empty">NETWORK_EMPTY</a></code> are always in
+   the <code title="dom-media-HAVE_NOTHING"><a href="#dom-media-have_nothing">HAVE_NOTHING</a></code>
+   state.</dd>
+
+   <dt><dfn id="dom-media-have_metadata" title="dom-media-HAVE_METADATA"><code>HAVE_METADATA</code></dfn> (numeric value 1)</dt>
+
+   <dd>Enough of the resource has been obtained that the duration of
+   the resource is available. In the case of a <code><a href="#video">video</a></code>
+   element, the dimensions of the video are also available. The API
+   will no longer raise an exception when seeking. No <a href="#media-data">media
+   data</a> is available for the immediate <a href="#current-playback-position">current playback
+   position</a>.</dd>
+
+   <dt><dfn id="dom-media-have_current_data" title="dom-media-HAVE_CURRENT_DATA"><code>HAVE_CURRENT_DATA</code></dfn> (numeric value 2)</dt>
+
+   <dd>Data for the immediate <a href="#current-playback-position">current playback position</a>
+   is available, but either not enough data is available that the user
+   agent could successfully advance the <a href="#current-playback-position">current playback
+   position</a> in the <a href="#direction-of-playback">direction of playback</a> at all
+   without immediately reverting to the <code title="dom-media-HAVE_METADATA"><a href="#dom-media-have_metadata">HAVE_METADATA</a></code> state, or
+   there is no more data to obtain in the <a href="#direction-of-playback">direction of
+   playback</a>. For example, in video this corresponds to the user
+   agent having data from the current frame, but not the next frame;
+   and to when <a href="#ended-playback" title="ended playback">playback has
+   ended</a>.</dd>
+
+   <dt><dfn id="dom-media-have_future_data" title="dom-media-HAVE_FUTURE_DATA"><code>HAVE_FUTURE_DATA</code></dfn> (numeric value 3)</dt>
+
+   <dd>Data for the immediate <a href="#current-playback-position">current playback position</a>
+   is available, as well as enough data for the user agent to advance
+   the <a href="#current-playback-position">current playback position</a> in the <a href="#direction-of-playback">direction
+   of playback</a> at least a little without immediately reverting
+   to the <code title="dom-media-HAVE_METADATA"><a href="#dom-media-have_metadata">HAVE_METADATA</a></code>
+   state. For example, in video this corresponds to the user agent
+   having data for at least the current frame and the next frame. The
+   user agent cannot be in this state if <a href="#ended-playback" title="ended
+   playback">playback has ended</a>, as the <a href="#current-playback-position">current playback
+   position</a> can never advance in this case.</dd>
+
+   <dt><dfn id="dom-media-have_enough_data" title="dom-media-HAVE_ENOUGH_DATA"><code>HAVE_ENOUGH_DATA</code></dfn> (numeric value 4)</dt>
+
+   <dd>All the conditions described for the <code title="dom-media-HAVE_FUTURE_DATA"><a href="#dom-media-have_future_data">HAVE_FUTURE_DATA</a></code> state
+   are met, and, in addition, the user agent estimates that data is
+   being fetched at a rate where the <a href="#current-playback-position">current playback
+   position</a>, if it were to advance at the rate given by the
+   <code title="dom-media-defaultPlaybackRate"><a href="#dom-media-defaultplaybackrate">defaultPlaybackRate</a></code>
+   attribute, would not overtake the available data before playback
+   reaches the end of the <a href="#media-resource">media resource</a>.</dd>
+
+  </dl><p class="note">It is possible for the ready state of a media
+  element to jump between these states discontinuously. For example,
+  the state of a media element can jump straight from <code title="dom-media-HAVE_METADATA"><a href="#dom-media-have_metadata">HAVE_METADATA</a></code> to <code title="dom-media-HAVE_ENOUGH_DATA"><a href="#dom-media-have_enough_data">HAVE_ENOUGH_DATA</a></code> without
+  passing through the <code title="dom-media-HAVE_CURRENT_DATA"><a href="#dom-media-have_current_data">HAVE_CURRENT_DATA</a></code> and
+  <code title="dom-media-HAVE_FUTURE_DATA"><a href="#dom-media-have_future_data">HAVE_FUTURE_DATA</a></code>
+  states.</p><p>The <dfn id="attr-media-autoplay" title="attr-media-autoplay"><code>autoplay</code></dfn>
+  attribute is a <a href="common-microsyntaxes.html#boolean-attribute">boolean attribute</a>. When present, the
+  user agent  will automatically begin playback of the
+  <a href="#media-resource">media resource</a> as soon as it can do so without
+  stopping.</p><p class="note">Authors are urged to use the <code title="attr-media-autoplay"><a href="#attr-media-autoplay">autoplay</a></code> attribute rather than
+  using script to trigger automatic playback, as this allows the user
+  to override the automatic playback when it is not desired, e.g. when
+  using a screen reader. Authors are also encouraged to consider not
+  using the automatic playback behavior at all, and instead to let the
+  user agent wait for the user to start playback explicitly.</p><!--v2CUERANGE
+  <h5>Cue ranges</h5>
+
+  <dl class="domintro">
+
+   <dt><var title="">media</var> . <code title="dom-media-addCueRange">addCueRange</code>(<var title="">className</var>, <var title="">id</var>, <var title="">start</var>, <var title="">end</var>, <var title="">pauseOnExit</var>, <var title="">enterCallback</var>, <var title="">exitCallback</var>)</dt>
+
+   <dd>
+
+    <p>Registers a range of time, given in seconds, and a pair of
+    callbacks, the first of which will be invoked when the
+    <span>current playback position</span> enters the range, and the
+    second of which will be invoked when it exits the range. The
+    callbacks are invoked with the given ID as their argument.</p>
+
+    <p>In addition, if the <var title="">pauseOnExit</var> argument is
+    true, then playback will pause when it reaches the end of the
+    range.</p>
+
+   </dd>
+
+   <dt><var title="">media</var> . <code title="dom-media-removeCueRange">removeCueRange</code>(<var title="">className</var>)</dt>
+
+   <dd>
+
+    <p>Removes all the ranges that were registered with the given
+    class name.</p>
+
+   </dd>
+
+  </dl>
+
+  <div class="impl">
+
+  <p><span title="media element">Media elements</span> have a set of
+  <dfn title="cue range">cue ranges</dfn>. Each cue range is made up
+  of the following information:</p>
+
+  <dl>
+
+   <dt>A class name</dt>
+   <dd>A group of related ranges can be given the same class name so
+   that they can all be removed at the same time.</dd>
+
+   <dt>An identifier</dt>
+   <dd>A string can be assigned to each cue range for identification
+   by script. The string need not be unique and can contain any
+   value.</dd>
+
+   <dt>A start time</dt>
+   <dt>An end time</dt>
+   <dd>The actual time range, using the same timeline as the
+   <span>media resource</span> itself.</dd>
+
+   <dt>A "pause" boolean</dt>
+   <dd>A flag indicating whether to pause playback on exit.</dd>
+
+   <dt>An "enter" callback</dt>
+   <dd>A callback that is called when the <span>current playback
+   position</span> enters the range.</dd>
+
+   <dt>An "exit" callback</dt>
+   <dd>A callback that is called when the <span>current playback
+   position</span> exits the range.</dd>
+
+   <dt>An "active" boolean</dt>
+   <dd>A flag indicating whether the range is active or not.</dd>
+
+  </dl>
+
+  <p>The <dfn title="dom-media-addCueRange"><code>addCueRange(<var
+  title="">className</var>, <var title="">id</var>, <var
+  title="">start</var>, <var title="">end</var>, <var
+  title="">pauseOnExit</var>, <var title="">enterCallback</var>, <var
+  title="">exitCallback</var>)</code></dfn> method must, when called,
+  add a <span>cue range</span> to the <span>media element</span>, that
+  cue range having the class name <var title="">className</var>, the
+  identifier <var title="">id</var>, the start time <var
+  title="">start</var> (in seconds), the end time <var
+  title="">end</var> (in seconds), the "pause" boolean with the same
+  value as <var title="">pauseOnExit</var>, the "enter" callback <var
+  title="">enterCallback</var>, the "exit" callback <var
+  title="">exitCallback</var>, and an "active" boolean that is true if
+  the <span>current playback position</span> is equal to or greater
+  than the start time and less than the end time, and false
+  otherwise.</p>
+
+  <p>The <dfn
+  title="dom-media-removeCueRanges"><code>removeCueRanges(<var
+  title="">className</var>)</code></dfn> method must, when called,
+  remove all the <span title="cue range">cue ranges</span> of the
+  <span>media element</span> which have the class name <var
+  title="">className</var>.</p>
+
+  </div>
+--><h5 id="playing-the-media-resource"><span class="secno">4.8.10.8 </span>Playing the media resource</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><dl class="domintro"><dt><var title="">media</var> . <code title="dom-media-paused"><a href="#dom-media-paused">paused</a></code></dt>
+
+   <dd>
+
+    <p>Returns true if playback is paused; false otherwise.</p>
+
+   </dd>
+
+   <dt><var title="">media</var> . <code title="dom-media-ended"><a href="#dom-media-ended">ended</a></code></dt>
+
+   <dd>
+
+    <p>Returns true if playback has reached the end of the <a href="#media-resource">media resource</a>.</p>
+
+   </dd>
+
+   <dt><var title="">media</var> . <code title="dom-media-defaultPlaybackRate"><a href="#dom-media-defaultplaybackrate">defaultPlaybackRate</a></code> [ = <var title="">value</var> ]</dt>
+
+   <dd>
+
+    <p>Returns the default rate of playback, for when the user is not
+    fast-forwarding or reversing through the <a href="#media-resource">media
+    resource</a>.</p>
+
+    <p>Can be set, to change the default rate of playback.</p>
+
+    <p>The default rate has no direct effect on playback, but if the
+    user switches to a fast-forward mode, when they return to the
+    normal playback mode, it is expected that the rate of playback
+    will be returned to the default rate of playback.</p>
+
+   </dd>
+
+   <dt><var title="">media</var> . <code title="dom-media-playbackRate"><a href="#dom-media-playbackrate">playbackRate</a></code> [ = <var title="">value</var> ]</dt>
+
+   <dd>
+
+    <p>Returns the current rate playback, where 1.0 is normal speed.</p>
+
+    <p>Can be set, to change the rate of playback.</p>
+
+   </dd>
+
+   <dt><var title="">media</var> . <code title="dom-media-played"><a href="#dom-media-played">played</a></code></dt>
+
+   <dd>
+
+    <p>Returns a <code><a href="#timeranges">TimeRanges</a></code> object that represents the
+    ranges of the <a href="#media-resource">media resource</a> that the user agent has
+    played.</p>
+
+   </dd>
+
+   <dt><var title="">media</var> . <code title="dom-media-play"><a href="#dom-media-play">play</a></code>()</dt>
+
+   <dd>
+
+    <p>Sets the <code title="dom-media-paused"><a href="#dom-media-paused">paused</a></code> attribute
+    to false, loading the <a href="#media-resource">media resource</a> and beginning
+    playback if necessary. If the playback had ended, will restart it
+    from the start.</p>
+
+   </dd>
+
+   <dt><var title="">media</var> . <code title="dom-media-pause"><a href="#dom-media-pause">pause</a></code>()</dt>
+
+   <dd>
+
+    <p>Sets the <code title="dom-media-paused"><a href="#dom-media-paused">paused</a></code> attribute
+    to true, loading the <a href="#media-resource">media resource</a> if necessary.</p>
+
+   </dd>
+
+  </dl><h5 id="seeking"><span class="secno">4.8.10.9 </span>Seeking</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><dl class="domintro"><dt><var title="">media</var> . <code title="dom-media-seeking"><a href="#dom-media-seeking">seeking</a></code></dt>
+
+   <dd>
+
+    <p>Returns true if the user agent is currently seeking.</p>
+
+   </dd>
+
+   <dt><var title="">media</var> . <code title="dom-media-seekable"><a href="#dom-media-seekable">seekable</a></code></dt>
+
+   <dd>
+
+    <p>Returns a <code><a href="#timeranges">TimeRanges</a></code> object that represents the
+    ranges of the <a href="#media-resource">media resource</a> to which it is possible
+    for the user agent to seek.</p>
+
+   </dd>
+
+  </dl><h5 id="user-interface"><span class="secno">4.8.10.10 </span>User interface</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <dfn id="attr-media-controls" title="attr-media-controls"><code>controls</code></dfn>
+  attribute is a <a href="common-microsyntaxes.html#boolean-attribute">boolean attribute</a>. If present, it
+  indicates that the author has not provided a scripted controller and
+  would like the user agent to provide its own set of controls.</p><dl class="domintro"><dt><var title="">media</var> . <code title="dom-media-volume"><a href="#dom-media-volume">volume</a></code> [ = <var title="">value</var> ]</dt>
+
+   <dd>
+
+    <p>Returns the current playback volume, as a number in the range
+    0.0 to 1.0, where 0.0 is the quietest and 1.0 the loudest.</p>
+
+    <p>Can be set, to change the volume.</p>
+
+    <p>Throws an <code><a href="urls.html#index_size_err">INDEX_SIZE_ERR</a></code> if the new value is not
+    in the range 0.0 .. 1.0.</p>
+
+   </dd>
+
+   <dt><var title="">media</var> . <code title="dom-media-muted"><a href="#dom-media-muted">muted</a></code> [ = <var title="">value</var> ]</dt>
+
+   <dd>
+
+    <p>Returns true if audio is muted, overriding the <code title="dom-media-volume"><a href="#dom-media-volume">volume</a></code> attribute, and false if the
+    <code title="dom-media-volume"><a href="#dom-media-volume">volume</a></code> attribute is being
+    honored.</p>
+
+    <p>Can be set, to change whether the audio is muted or not.</p>
+
+   </dd>
+
+  </dl><h5 id="time-ranges"><span class="secno">4.8.10.11 </span>Time ranges</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>Objects implementing the <code><a href="#timeranges">TimeRanges</a></code> interface
+  represent a list of ranges (periods) of time.</p><pre class="idl">interface <dfn id="timeranges">TimeRanges</dfn> {
+  readonly attribute unsigned long <a href="#dom-timeranges-length" title="dom-TimeRanges-length">length</a>;
+  float <a href="#dom-timeranges-start" title="dom-TimeRanges-start">start</a>(in unsigned long index);
+  float <a href="#dom-timeranges-end" title="dom-TimeRanges-end">end</a>(in unsigned long index);
+};</pre><dl class="domintro"><dt><var title="">media</var> . <code title="dom-TimeRanges-length"><a href="#dom-timeranges-length">length</a></code></dt>
+
+   <dd>
+
+    <p>Returns the number of ranges in the object.</p>
+
+   </dd>
+
+   <dt><var title="">time</var> = <var title="">media</var> . <code title="dom-TimeRanges-start"><a href="#dom-timeranges-start">start</a></code>(<var title="">index</var>)</dt>
+
+   <dd>
+
+    <p>Returns the time for the start of the range with the given index.</p>
+
+    <p>Throws an <code><a href="urls.html#index_size_err">INDEX_SIZE_ERR</a></code> if the index is out of range.</p>
+
+   </dd>
+
+   <dt><var title="">time</var> = <var title="">media</var> . <code title="dom-TimeRanges-end"><a href="#dom-timeranges-end">end</a></code>(<var title="">index</var>)</dt>
+
+   <dd>
+
+    <p>Returns the time for the end of the range with the given index.</p>
+
+    <p>Throws an <code><a href="urls.html#index_size_err">INDEX_SIZE_ERR</a></code> if the index is out of range.</p>
+
+   </dd>
+
+  </dl><h5 id="mediaevents"><span class="secno">4.8.10.12 </span>Event summary</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p><i>This section is non-normative.</i></p><p>The following events fire on <a href="#media-element" title="media element">media
+  elements</a> as part of the processing model described above:</p><table><thead><tr><th>Event name
+     </th><th>Interface
+     </th><th>Dispatched when...
+     </th><th>Preconditions
+
+   </th></tr></thead><tbody><tr><td><dfn id="event-media-loadstart" title="event-media-loadstart"><code>loadstart</code></dfn>
+     </td><td><code>Event</code>
+     </td><td>The user agent begins looking for <a href="#media-data">media data</a>, as part of the <a href="#concept-media-load-algorithm" title="concept-media-load-algorithm">resource selection algorithm</a>.
+     </td><td><code title="dom-media-networkState"><a href="#dom-media-networkstate">networkState</a></code> equals <code title="dom-media-NETWORK_LOADING"><a href="#dom-media-network_loading">NETWORK_LOADING</a></code>
+    </td></tr><tr><td><dfn id="event-media-progress" title="event-media-progress"><code>progress</code></dfn>
+     </td><td><code>Event</code>
+     </td><td>The user agent is fetching <a href="#media-data">media data</a>.
+     </td><td><code title="dom-media-networkState"><a href="#dom-media-networkstate">networkState</a></code> equals <code title="dom-media-NETWORK_LOADING"><a href="#dom-media-network_loading">NETWORK_LOADING</a></code>
+    </td></tr><tr><td><dfn id="event-media-suspend" title="event-media-suspend"><code>suspend</code></dfn>
+     </td><td><code>Event</code>
+     </td><td>The user agent is intentionally not currently fetching <a href="#media-data">media data</a>, but does not have the entire <a href="#media-resource">media resource</a> downloaded.
+     </td><td><code title="dom-media-networkState"><a href="#dom-media-networkstate">networkState</a></code> equals <code title="dom-media-NETWORK_IDLE"><a href="#dom-media-network_idle">NETWORK_IDLE</a></code>
+    </td></tr><tr><td><dfn id="event-media-abort" title="event-media-abort"><code>abort</code></dfn>
+     </td><td><code>Event</code>
+     </td><td>The user agent stops fetching the <a href="#media-data">media data</a> before it is completely downloaded, but not due to an error.
+     </td><td><code title="dom-media-error"><a href="#dom-media-error">error</a></code> is an object with the code <code title="dom-MediaError-MEDIA_ERR_ABORTED"><a href="#dom-mediaerror-media_err_aborted">MEDIA_ERR_ABORTED</a></code>.
+         <code title="dom-media-networkState"><a href="#dom-media-networkstate">networkState</a></code> equals either <code title="dom-media-NETWORK_EMPTY"><a href="#dom-media-network_empty">NETWORK_EMPTY</a></code> or <code title="dom-media-NETWORK_IDLE"><a href="#dom-media-network_idle">NETWORK_IDLE</a></code>, depending on when the download was aborted.
+    </td></tr><tr><td><dfn id="event-media-error" title="event-media-error"><code>error</code></dfn>
+     </td><td><code>Event</code>
+     </td><td>An error occurs while fetching the <a href="#media-data">media data</a>.
+     </td><td><code title="dom-media-error"><a href="#dom-media-error">error</a></code> is an object with the code <code title="dom-MediaError-MEDIA_ERR_NETWORK"><a href="#dom-mediaerror-media_err_network">MEDIA_ERR_NETWORK</a></code> or higher.
+         <code title="dom-media-networkState"><a href="#dom-media-networkstate">networkState</a></code> equals either <code title="dom-media-NETWORK_EMPTY"><a href="#dom-media-network_empty">NETWORK_EMPTY</a></code> or <code title="dom-media-NETWORK_IDLE"><a href="#dom-media-network_idle">NETWORK_IDLE</a></code>, depending on when the download was aborted.
+    </td></tr><tr><td><dfn id="event-media-emptied" title="event-media-emptied"><code>emptied</code></dfn>
+     </td><td><code>Event</code>
+     </td><td>A <a href="#media-element">media element</a> whose <code title="dom-media-networkState"><a href="#dom-media-networkstate">networkState</a></code> was previously not in the <code title="dom-media-NETWORK_EMPTY"><a href="#dom-media-network_empty">NETWORK_EMPTY</a></code> state has just switched to that state (either because of a fatal error during load that's about to be reported, or because the <code title="dom-media-load"><a href="#dom-media-load">load()</a></code> method was invoked while the <a href="#concept-media-load-algorithm" title="concept-media-load-algorithm">resource selection algorithm</a> was already running, in which case it is fired synchronously during the <code title="dom-media-load"><a href="#dom-media-load">load()</a></code> method call).
+     </td><td><code title="dom-media-networkState"><a href="#dom-media-networkstate">networkState</a></code> is <code title="dom-media-NETWORK_EMPTY"><a href="#dom-media-network_empty">NETWORK_EMPTY</a></code>; all the IDL attributes are in their initial states.
+    </td></tr><tr><td><dfn id="event-media-stalled" title="event-media-stalled"><code>stalled</code></dfn>
+     </td><td><code>Event</code>
+     </td><td>The user agent is trying to fetch <a href="#media-data">media data</a>, but data is unexpectedly not forthcoming.
+     </td><td><code title="dom-media-networkState"><a href="#dom-media-networkstate">networkState</a></code> is <code title="dom-media-NETWORK_LOADING"><a href="#dom-media-network_loading">NETWORK_LOADING</a></code>.
+
+   </td></tr></tbody><tbody><tr><td><dfn id="event-media-play" title="event-media-play"><code>play</code></dfn>
+     </td><td><code>Event</code>
+     </td><td>Playback has begun. Fired after the <code title="dom-media-play"><a href="#dom-media-play">play()</a></code> method has returned.
+     </td><td><code title="dom-media-paused"><a href="#dom-media-paused">paused</a></code> is newly false.
+    </td></tr><tr><td><dfn id="event-media-pause" title="event-media-pause"><code>pause</code></dfn>
+     </td><td><code>Event</code>
+     </td><td>Playback has been paused. Fired after the <code title="dom-media-pause"><a href="#dom-media-pause">pause</a></code> method has returned.
+     </td><td><code title="dom-media-paused"><a href="#dom-media-paused">paused</a></code> is newly true.
+
+   </td></tr></tbody><tbody><tr><td><dfn id="event-media-loadedmetadata" title="event-media-loadedmetadata"><code>loadedmetadata</code></dfn>
+     </td><td><code>Event</code>
+     </td><td>The user agent has just determined the duration and dimensions of the <a href="#media-resource">media resource</a>.
+     </td><td><code title="dom-media-readyState"><a href="#dom-media-readystate">readyState</a></code> is newly equal to <code title="dom-media-HAVE_METADATA"><a href="#dom-media-have_metadata">HAVE_METADATA</a></code> or greater for the first time.
+    </td></tr><tr><td><dfn id="event-media-loadeddata" title="event-media-loadeddata"><code>loadeddata</code></dfn>
+     </td><td><code>Event</code>
+     </td><td>The user agent can render the <a href="#media-data">media data</a> at the <a href="#current-playback-position">current playback position</a> for the first time.
+     </td><td><code title="dom-media-readyState"><a href="#dom-media-readystate">readyState</a></code> newly increased to <code title="dom-media-HAVE_CURRENT_DATA"><a href="#dom-media-have_current_data">HAVE_CURRENT_DATA</a></code> or greater for the first time.
+    </td></tr><tr><td><dfn id="event-media-waiting" title="event-media-waiting"><code>waiting</code></dfn>
+     </td><td><code>Event</code>
+     </td><td>Playback has stopped because the next frame is not available, but the user agent expects that frame to become available in due course.
+     </td><td><code title="dom-media-readyState"><a href="#dom-media-readystate">readyState</a></code> is newly equal to or less than <code title="dom-media-HAVE_CURRENT_DATA"><a href="#dom-media-have_current_data">HAVE_CURRENT_DATA</a></code>, and <code title="dom-media-paused"><a href="#dom-media-paused">paused</a></code> is false. Either <code title="dom-media-seeking"><a href="#dom-media-seeking">seeking</a></code> is true, or the <a href="#current-playback-position">current playback position</a> is not contained in any of the ranges in <code title="dom-media-buffered"><a href="#dom-media-buffered">buffered</a></code>. It is possible for playback to stop for two other reasons without <code title="dom-media-paused"><a href="#dom-media-paused">paused</a></code> being false, but those two reasons do not fire this event: maybe <a href="#ended-playback" title="ended playback">playback ended</a>, or playback <a href="#stopped-due-to-errors">stopped due to errors</a>.
+    </td></tr><tr><td><dfn id="event-media-playing" title="event-media-playing"><code>playing</code></dfn>
+     </td><td><code>Event</code>
+     </td><td>Playback has started.
+     </td><td><code title="dom-media-readyState"><a href="#dom-media-readystate">readyState</a></code> is newly equal to or greater than <code title="dom-media-HAVE_FUTURE_DATA"><a href="#dom-media-have_future_data">HAVE_FUTURE_DATA</a></code>, <code title="dom-media-paused"><a href="#dom-media-paused">paused</a></code> is false, <code title="dom-media-seeking"><a href="#dom-media-seeking">seeking</a></code> is false, or the <a href="#current-playback-position">current playback position</a> is contained in one of the ranges in <code title="dom-media-buffered"><a href="#dom-media-buffered">buffered</a></code>.
+    </td></tr><tr><td><dfn id="event-media-canplay" title="event-media-canplay"><code>canplay</code></dfn>
+     </td><td><code>Event</code>
+     </td><td>The user agent can resume playback of the <a href="#media-data">media data</a>, but estimates that if playback were to be started now, the <a href="#media-resource">media resource</a> could not be rendered at the current playback rate up to its end without having to stop for further buffering of content.
+     </td><td><code title="dom-media-readyState"><a href="#dom-media-readystate">readyState</a></code> newly increased to <code title="dom-media-HAVE_FUTURE_DATA"><a href="#dom-media-have_future_data">HAVE_FUTURE_DATA</a></code> or greater.
+    </td></tr><tr><td><dfn id="event-media-canplaythrough" title="event-media-canplaythrough"><code>canplaythrough</code></dfn>
+     </td><td><code>Event</code>
+     </td><td>The user agent estimates that if playback were to be started now, the <a href="#media-resource">media resource</a> could be rendered at the current playback rate all the way to its end without having to stop for further buffering.
+     </td><td><code title="dom-media-readyState"><a href="#dom-media-readystate">readyState</a></code> is newly equal to <code title="dom-media-HAVE_ENOUGH_DATA"><a href="#dom-media-have_enough_data">HAVE_ENOUGH_DATA</a></code>.
+
+   </td></tr></tbody><tbody><tr><td><dfn id="event-media-seeking" title="event-media-seeking"><code>seeking</code></dfn>
+     </td><td><code>Event</code>
+     </td><td>The <code title="dom-media-seeking"><a href="#dom-media-seeking">seeking</a></code> IDL attribute changed to true and the seek operation is taking long enough that the user agent has time to fire the event.
+     </td><td>
+    </td></tr><tr><td><dfn id="event-media-seeked" title="event-media-seeked"><code>seeked</code></dfn>
+     </td><td><code>Event</code>
+     </td><td>The <code title="dom-media-seeking"><a href="#dom-media-seeking">seeking</a></code> IDL attribute changed to false.
+     </td><td>
+    </td></tr><tr><td><dfn id="event-media-timeupdate" title="event-media-timeupdate"><code>timeupdate</code></dfn>
+     </td><td><code>Event</code>
+     </td><td>The <a href="#current-playback-position">current playback position</a> changed as part of normal playback or in an especially interesting way, for example discontinuously.
+     </td><td>
+    </td></tr><tr><td><dfn id="event-media-ended" title="event-media-ended"><code>ended</code></dfn>
+     </td><td><code>Event</code>
+     </td><td>Playback has stopped because the end of the <a href="#media-resource">media resource</a> was reached.
+     </td><td><code title="dom-media-currentTime"><a href="#dom-media-currenttime">currentTime</a></code> equals the end of the <a href="#media-resource">media resource</a>; <code title="dom-media-ended"><a href="#dom-media-ended">ended</a></code> is true.
+
+   </td></tr></tbody><tbody><tr><td><dfn id="event-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

Index: browsers.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/browsers.html,v
retrieving revision 1.563
retrieving revision 1.564
diff -u -d -r1.563 -r1.564
--- browsers.html	6 Jan 2010 15:38:52 -0000	1.563
+++ browsers.html	6 Jan 2010 15:49:33 -0000	1.564
@@ -0,0 +1,707 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<!DOCTYPE html>
+<!-- when publishing, change bits marked ZZZ --><html lang="en-US-x-Hixie" class="split chapter"><head><title>6 Web browsers &#8212; HTML5 (Author Edition)</title><script src="link-fixup.js"></script><link href="whatwg.css" rel="stylesheet"><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 tbody th { text-align: left; }
+   table td, table th { border-left: solid; border-right: solid; border-bottom: solid thin; vertical-align: top; padding: 0.2em; }
+   blockquote { margin: 0 0 0 2em; border: 0; padding: 0; font-style: italic; }
+
+   .bad, .bad *:not(.XXX) { color: gray; border-color: gray; background: transparent; }
+   .matrix, .matrix td { border: none; text-align: right; }
+   .matrix { margin-left: 2em; }
+   .dice-example { border-collapse: collapse; border-style: hidden solid solid hidden; border-width: thin; margin-left: 3em; }
+   .dice-example caption { width: 30em; font-size: smaller; font-style: italic; padding: 0.75em 0; text-align: left; }
+   .dice-example td, .dice-example th { border: solid thin; width: 1.35em; height: 1.05em; text-align: center; padding: 0; }
+
+   .toc dfn, h1 dfn, h2 dfn, h3 dfn, h4 dfn, h5 dfn, h6 dfn { font: inherit; }
+   img.extra { float: right; }
+   pre.idl { border: solid thin; background: #EEEEEE; color: black; padding: 0.5em 1em; }
+   pre.idl :link, pre.idl :visited { color: inherit; background: transparent; }
+   pre.css { border: solid thin; background: #FFFFEE; color: black; padding: 0.5em 1em; }
+   pre.css:first-line { color: #AAAA50; }
+   dl.domintro { color: green; margin: 2em 0 2em 2em; padding: 0.5em 1em; border: none; background: #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; }
+   div.head p.copyright, div.head p.alt { font-size: x-small; font-style: oblique; margin: 0; }
+
+   body > .toc > li { margin-top: 1em; margin-bottom: 1em; }
+   body > .toc.brief > li { margin-top: 0.35em; margin-bottom: 0.35em; }
+   body > .toc > li > * { margin-bottom: 0.5em; }
+   body > .toc > li > * > li > * { margin-bottom: 0.25em; }
+   .toc, .toc li { list-style: none; }
+
+   .brief { margin-top: 1em; margin-bottom: 1em; line-height: 1.1; }
+   .brief li { margin: 0; padding: 0; }
+   .brief li p { margin: 0; padding: 0; }
+
+   .category-list { margin-top: -0.75em; margin-bottom: 1em; line-height: 1.5; }
+   .category-list::before { content: '\21D2\A0'; font-size: 1.2em; font-weight: 900; }
+   .category-list li { display: inline; }
+   .category-list li:not(:last-child)::after { content: ', '; }
+   .category-list li > span, .category-list li > a { text-transform: lowercase; }
+   .category-list li * { text-transform: none; } /* don't affect <code> nested in <a> */
+
+   .XXX { color: #E50000; background: white; border: solid red; padding: 0.5em; margin: 1em 0; }
+   .XXX > :first-child { margin-top: 0; }
+   p .XXX { line-height: 3em; }
+   .annotation { border: solid thin black; background: #0C479D; color: white; position: relative; margin: 8px 0 20px 0; }
+   .annotation:before { position: absolute; left: 0; top: 0; width: 100%; height: 100%; margin: 6px -6px -6px 6px; background: #333333; z-index: -1; content: ''; }
+   .annotation :link, .annotation :visited { color: inherit; }
+   .annotation :link:hover, .annotation :visited:hover { background: transparent; }
+   .annotation span { border: none ! important; }
+   .note { color: green; background: transparent; font-family: sans-serif; }
+   .warning { color: red; background: transparent; }
+   .note, .warning { font-weight: bolder; font-style: italic; }
+   p.note, div.note { padding: 0.5em 2em; }
+   span.note { padding: 0 2em; }
+   .note p:first-child, .warning p:first-child { margin-top: 0; }
+   .note p:last-child, .warning p:last-child { margin-bottom: 0; }
+   .warning:before { font-style: normal; }
+   p.note:before { content: 'Note: '; }
+   p.warning:before { content: '\26A0 Warning! '; }
+
+   .bookkeeping:before { display: block; content: 'Bookkeeping details'; font-weight: bolder; font-style: italic; }
+   .bookkeeping { font-size: 0.8em; margin: 2em 0; }
+   .bookkeeping p { margin: 0.5em 2em; display: list-item; list-style: square; }
+
+   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; }
+
+   #configUI { position: absolute; z-index: 20; top: 10em; right: 1em; width: 11em; font-size: small; }
+   #configUI p { margin: 0.5em 0; padding: 0.3em; background: #EEEEEE; color: black; border: inset thin; }
+   #configUI p label { display: block; }
+   #configUI #updateUI, #configUI .loginUI { text-align: center; }
+   #configUI input[type=button] { display: block; margin: auto; }
+  </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="data:text/css," id="complete" rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" id="author" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" id="highlight" rel="alternate stylesheet" title="Highlight implementation requirements"><script>
+   function getCookie(name) {
+     var params = location.search.substr(1).split("&");
+     for (var index = 0; index < params.length; index++) {
+       if (params[index] == name)
+         return "1";
+       var data = params[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     var cookies = document.cookie.split("; ");
+     for (var index = 0; index < cookies.length; index++) {
+       var data = cookies[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     return null;
+   }
+   function load(script) {
+     var e = document.createElement('script');
+     e.setAttribute('src', 'http://www.whatwg.org/specs/web-apps/current-work/' + script + '?' + encodeURIComponent(location) + '&' + encodeURIComponent(document.referrer));
+     document.body.appendChild(e);
+   }
+   function init() {
+     if (location.search == '?slow-browser')
+       return;
+     var configUI = document.createElement('div');
+     configUI.id = 'configUI';
+     document.body.appendChild(configUI);
+     // load('reviewer.js'); // would need cross-site XHR
+     if (document.getElementById('head'))
+       load('toc.js');
+     
+     // load('updater.js'); // would need cross-site XHR
+     load('dfn.js');
+     // load('status.js'); // would need cross-site XHR
+     if (getCookie('profile') == '1')
+       document.getElementsByTagName('h2')[0].textContent += '; load: ' + (new Date() - loadTimer) + 'ms';
+     fixBrokenLink();
+   }
+  </script><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><link href="microdata.html" title="5 Microdata" rel="prev">
+  <link href="Overview.html#contents" title="Table of contents" rel="index">
+  <link href="timers.html" title="6.4 Timers" rel="next">
+  </head><body onload="fixBrokenLink(); init()"><div class="head" id="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 (Author Edition)</h1>
+   </div><div>
+   <a href="microdata.html">&#8592; 5 Microdata</a> &#8211;
+   <a href="Overview.html#contents">Table of contents</a> &#8211;
+   <a href="timers.html">6.4 Timers &#8594;</a>
+  <ol class="toc"><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></ol></li></ol></div>
+
+  <h2 id="browsers"><span class="secno">6 </span>Web browsers</h2><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><h3 id="windows"><span class="secno">6.1 </span>Browsing contexts</h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><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="the-iframe-element.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 class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>Certain elements (for example, <code><a href="the-iframe-element.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>The <dfn id="list-of-the-descendant-browsing-contexts">list of the descendant browsing contexts</dfn> of a
+  <code>Document</code> <var title="">d</var> is the list returned by
+  the following algorithm:</p><ol><li><p>Let <var title="">list</var> be an empty list.</p></li>
+
+   <li><p>For each <a href="#child-browsing-context">child browsing context</a> of <var title="">d</var> that is <a href="#browsing-context-nested-through" title="browsing context nested
+   through">nested through</a> an element that is <a href="infrastructure.html#in-a-document" title="in a
+   document">in the <code>Document</code></a> <var title="">d</var>, in the <a href="infrastructure.html#tree-order">tree order</a> of the elements of
+   the elements nesting those <a href="#browsing-context" title="browsing context">browsing
+   contexts</a>, append to the list <var title="">list</var> the
+   <a href="#list-of-the-descendant-browsing-contexts">list of the descendant browsing contexts</a> of the
+   <a href="#active-document">active document</a> of that <a href="#child-browsing-context">child browsing
+   context</a>.</p></li>
+
+   <li><p>Return the constructed <var title="">list</var>.</p></li>
+
+  </ol><hr><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="the-iframe-element.html#the-iframe-element">iframe</a></code> element with a <code title="attr-iframe-seamless"><a href="the-iframe-element.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><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><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="urls.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 class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><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 class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><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 class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><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 class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><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><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><pre class="idl">[OverrideBuiltins, ReplaceableNamedProperties] <!-- XXX http://www.w3.org/Bugs/Public/show_bug.cgi?id=8241 -->
+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="dnd.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="timers.html#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-onpagehide" title="handler-window-onpagehide">onpagehide</a>;
+           attribute <a href="#function">Function</a> <a href="#handler-window-onpageshow" title="handler-window-onpageshow">onpageshow</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><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><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><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><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><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><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 class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><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><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><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><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><h4 id="introduction-2"><span class="secno">6.3.1 </span>Introduction</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><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="scripting-1.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="embedded-content-1.html#attr-img-src">src</a></code> attribute of <code><a href="embedded-content-1.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. --><p class="note"><a href="#event-handlers">Event handlers</a>  always fire before event listeners
+  attached using <code title="dom-EventTarget-addEventListener">addEventListener()</code>.</p><!-- IE actually uncancels the event if the function returns true --><hr><p>The <code><a href="#function">Function</a></code> interface represents a function in the
+  scripting language being used. It is represented in IDL as
+  follows:</p><pre class="idl">[Callback=FunctionOnly, NoInterfaceObject]
+interface <dfn id="function">Function</dfn> {
+  any <a href="#dom-function-call" title="dom-function-call">call</a>(in any... arguments);
+};</pre><p>The <dfn id="dom-function-call" title="dom-function-call"><code>call(...)</code></dfn>
+  method is the object's callback.</p><p class="note">In JavaScript, any <code title="">Function</code>
+  object implements this interface.</p><p>The return value of the function is affects whether the event is
+  canceled or not: as described above,<code class="event-mouseover">mouseover</code> events, where the return
+  value has to be true to cancel the event). With <code title="event-beforeunload">beforeunload</code> events, the value is
+  instead used to determine the message to show the user.</p></body></html>
\ No newline at end of file

Index: edits.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/edits.html,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- edits.html	6 Jan 2010 15:38:52 -0000	1.10
+++ edits.html	6 Jan 2010 15:49:34 -0000	1.11
@@ -213,4 +213,262 @@
    .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 t
\ No newline at end of file
+   .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="data:text/css," id="complete" rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" id="author" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" id="highlight" rel="alternate stylesheet" title="Highlight implementation requirements"><script>
+   function getCookie(name) {
+     var params = location.search.substr(1).split("&");
+     for (var index = 0; index < params.length; index++) {
+       if (params[index] == name)
+         return "1";
+       var data = params[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     var cookies = document.cookie.split("; ");
+     for (var index = 0; index < cookies.length; index++) {
+       var data = cookies[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     return null;
+   }
+   function load(script) {
+     var e = document.createElement('script');
+     e.setAttribute('src', 'http://www.whatwg.org/specs/web-apps/current-work/' + script + '?' + encodeURIComponent(location) + '&' + encodeURIComponent(document.referrer));
+     document.body.appendChild(e);
+   }
+   function init() {
+     if (location.search == '?slow-browser')
+       return;
+     var configUI = document.createElement('div');
+     configUI.id = 'configUI';
+     document.body.appendChild(configUI);
+     // load('reviewer.js'); // would need cross-site XHR
+     if (document.getElementById('head'))
+       load('toc.js');
+     
+     // load('updater.js'); // would need cross-site XHR
+     load('dfn.js');
+     // load('status.js'); // would need cross-site XHR
+     if (getCookie('profile') == '1')
+       document.getElementsByTagName('h2')[0].textContent += '; load: ' + (new Date() - loadTimer) + 'ms';
+     fixBrokenLink();
+   }
+  </script><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><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="embedded-content-1.html" title="4.8 Embedded content" rel="next">
+  </head><body onload="fixBrokenLink(); init()"><div class="head" id="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 (Author Edition)</h1>
+   </div><div>
+   <a href="text-level-semantics.html">&#8592; 4.6 Text-level semantics</a> &#8211;
+   <a href="Overview.html#contents">Table of contents</a> &#8211;
+   <a href="embedded-content-1.html">4.8 Embedded content &#8594;</a>
+  <ol class="toc"><li><ol><li><a href="edits.html#edits"><span class="secno">4.7 </span>Edits</a>
+    <ol><li><a href="edits.html#the-ins-element"><span class="secno">4.7.1 </span>The <code>ins</code> element</a></li><li><a href="edits.html#the-del-element"><span class="secno">4.7.2 </span>The <code>del</code> element</a></li><li><a href="edits.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="edits.html#edits-and-paragraphs"><span class="secno">4.7.4 </span>Edits and paragraphs</a></li><li><a href="edits.html#edits-and-lists"><span class="secno">4.7.5 </span>Edits and lists</a></li></ol></li></ol></li></ol></div>
+
+  <h3 id="edits"><span class="secno">4.7 </span>Edits</h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code><a href="#the-ins-element">ins</a></code> and <code><a href="#the-del-element">del</a></code> elements represent
+  edits to the document.</p><h4 id="the-ins-element"><span class="secno">4.7.1 </span>The <dfn><code>ins</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="content-models.html#flow-content">Flow content</a>.</dd>
+   <dd>When the element only contains <a href="content-models.html#phrasing-content">phrasing content</a>: <a href="content-models.html#phrasing-content">phrasing content</a>.</dd>
+   <dt>Contexts in which this element may be used:</dt>
+   <dd>Where <a href="content-models.html#phrasing-content">phrasing content</a> is expected.</dd>
+   <dt>Content model:</dt>
+   <dd><a href="content-models.html#transparent">Transparent</a>.</dd>
+   <dt>Content attributes:</dt>
+   <dd><a href="elements.html#global-attributes">Global attributes</a></dd>
+   <dd><code title="attr-mod-cite"><a href="#attr-mod-cite">cite</a></code></dd>
+   <dd><code title="attr-mod-datetime"><a href="#attr-mod-datetime">datetime</a></code></dd>
+   <dt>DOM interface:</dt>
+   <dd>Uses the <code><a href="#htmlmodelement">HTMLModElement</a></code> interface.</dd>
+  </dl><p>The <code><a href="#the-ins-element">ins</a></code> element <a href="#represents">represents</a> an addition
+  to the document.</p><div class="example">
+
+   <p>The following represents the addition of a single paragraph:</p>
+
+   <pre>&lt;aside&gt;
+ &lt;ins&gt;
+  &lt;p&gt; I like fruit. &lt;/p&gt;
+ &lt;/ins&gt;
+&lt;/aside&gt;</pre>
+
+   <p>As does this, because everything in the <code><a href="sections.html#the-aside-element">aside</a></code>
+   element here counts as <a href="content-models.html#phrasing-content">phrasing content</a> and therefore
+   there is just one <a href="content-models.html#paragraph">paragraph</a>:</p>
+
+   <pre>&lt;aside&gt;
+ &lt;ins&gt;
+  Apples are &lt;em&gt;tasty&lt;/em&gt;.
+ &lt;/ins&gt;
+ &lt;ins&gt;
+  So are pears.
+ &lt;/ins&gt;
+&lt;/aside&gt;</pre>
+
+  </div><p><code><a href="#the-ins-element">ins</a></code> elements should not cross <a href="content-models.html#paragraph" title="paragraph">implied paragraph</a> boundaries.</p><div class="example">
+
+   <p>The following example represents the addition of two paragraphs,
+   the second of which was inserted in two parts. The first
+   <code><a href="#the-ins-element">ins</a></code> element in this example thus crosses a paragraph
+   boundary, which is considered poor form.</p>
+
+   <pre class="bad">&lt;aside&gt;
+ &lt;!-- don't do this --&gt;
+ &lt;ins datetime="2005-03-16T00:00Z"&gt;
+  &lt;p&gt; I like fruit. &lt;/p&gt;
+  Apples are &lt;em&gt;tasty&lt;/em&gt;.
+ &lt;/ins&gt;
+ &lt;ins datetime="2007-12-19T00:00Z"&gt;
+  So are pears.
+ &lt;/ins&gt;
+&lt;/aside&gt;</pre>
+
+   <p>Here is a better way of marking this up. It uses more elements,
+   but none of the elements cross implied paragraph boundaries.</p>
+
+   <pre>&lt;aside&gt;
+ &lt;ins datetime="2005-03-16T00:00Z"&gt;
+  &lt;p&gt; I like fruit. &lt;/p&gt;
+ &lt;/ins&gt;
+ &lt;ins datetime="2005-03-16T00:00Z"&gt;
+  Apples are &lt;em&gt;tasty&lt;/em&gt;.
+ &lt;/ins&gt;
+ &lt;ins datetime="2007-12-19T00:00Z"&gt;
+  So are pears.
+ &lt;/ins&gt;
+&lt;/aside&gt;</pre>
+
+   <!-- Those dates aren't random. They're the start and end of
+   something. Can you guess what? -->
+
+  </div><h4 id="the-del-element"><span class="secno">4.7.2 </span>The <dfn><code>del</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="content-models.html#flow-content">Flow content</a>.</dd>
+   <dd>When the element only contains <a href="content-models.html#phrasing-content">phrasing content</a>: <a href="content-models.html#phrasing-content">phrasing content</a>.</dd>
+   <dt>Contexts in which this element may be used:</dt>
+   <dd>Where <a href="content-models.html#phrasing-content">phrasing content</a> is expected.</dd>
+   <dt>Content model:</dt>
+   <dd><a href="content-models.html#transparent">Transparent</a>.</dd>
+   <dt>Content attributes:</dt>
+   <dd><a href="elements.html#global-attributes">Global attributes</a></dd>
+   <dd><code title="attr-mod-cite"><a href="#attr-mod-cite">cite</a></code></dd>
+   <dd><code title="attr-mod-datetime"><a href="#attr-mod-datetime">datetime</a></code></dd>
+   <dt>DOM interface:</dt>
+   <dd>Uses the <code><a href="#htmlmodelement">HTMLModElement</a></code> interface.</dd>
+  </dl><p>The <code><a href="#the-del-element">del</a></code> element <a href="#represents">represents</a> a removal
+  from the document.</p><p><code><a href="#the-del-element">del</a></code> elements should not cross <a href="content-models.html#paragraph" title="paragraph">implied paragraph</a> boundaries.</p><div class="example">
+
+   <p>The following shows a "to do" list where items that have been
+   done are crossed-off with the date and time of their
+   completion.</p>
+
+   <pre>&lt;h1&gt;To Do&lt;/h1&gt;
+&lt;ul&gt;
+ &lt;li&gt;Empty the dishwasher&lt;/li&gt;
+ &lt;li&gt;&lt;del datetime="2009-10-11T01:25-07:00"&gt;Watch Walter Lewin's lectures&lt;/del&gt;&lt;/li&gt;
+ &lt;li&gt;&lt;del datetime="2009-10-10T23:38-07:00"&gt;Download more tracks&lt;/del&gt;&lt;/li&gt;
+ &lt;li&gt;Buy a printer&lt;/li&gt;
+&lt;/ul&gt;</pre>
+
+  </div><h4 id="attributes-common-to-ins-and-del-elements"><span class="secno">4.7.3 </span>Attributes common to <code><a href="#the-ins-element">ins</a></code> and <code><a href="#the-del-element">del</a></code> elements</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <dfn id="attr-mod-cite" title="attr-mod-cite"><code>cite</code></dfn> attribute
+  may be used to specify the address of a document that explains the
+  change. When that document is long, for instance the minutes of a
+  meeting, authors are encouraged to include a fragment identifier
+  pointing to the specific part of that document that discusses the
+  change.</p><p>If the <code title="attr-mod-cite"><a href="#attr-mod-cite">cite</a></code> attribute is
+  present, it must be a <a href="urls.html#valid-url">valid URL</a> that explains the
+  change. </p><p>The <dfn id="attr-mod-datetime" title="attr-mod-datetime"><code>datetime</code></dfn>
+  attribute may be used to specify the time and date of the change.</p><p>If present, the <code title="attr-mod-datetime"><a href="#attr-mod-datetime">datetime</a></code>
+  attribute must be a <a href="common-microsyntaxes.html#valid-global-date-and-time-string">valid global date and time string</a>
+  value.</p><p>The <code><a href="#the-ins-element">ins</a></code> and <code><a href="#the-del-element">del</a></code> elements  implement the <code><a href="#htmlmodelement">HTMLModElement</a></code>
+  interface:</p><pre class="idl">interface <dfn id="htmlmodelement">HTMLModElement</dfn> : <a href="elements.html#htmlelement">HTMLElement</a> {
+           attribute DOMString <a href="#dom-mod-cite" title="dom-mod-cite">cite</a>;
+           attribute DOMString <a href="#dom-mod-datetime" title="dom-mod-datetime">dateTime</a>;
+};</pre><h4 id="edits-and-paragraphs"><span class="secno">4.7.4 </span>Edits and paragraphs</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p><i>This section is non-normative.</i></p><p>Since the <code><a href="#the-ins-element">ins</a></code> and <code><a href="#the-del-element">del</a></code> elements do not
+  affect <a href="content-models.html#paragraph" title="paragraph">paragraphing</a>, it is possible,
+  in some cases where paragraphs are <a href="content-models.html#paragraph" title="paragraph">implied</a> (without explicit <code><a href="grouping-content.html#the-p-element">p</a></code>
+  elements), for an <code><a href="#the-ins-element">ins</a></code> or <code><a href="#the-del-element">del</a></code> element to
+  span both an entire paragraph or other non-<a href="content-models.html#phrasing-content">phrasing
+  content</a> elements and part of another paragraph. For
+  example:</p><pre>&lt;section&gt;
+ &lt;ins&gt;
+  &lt;p&gt;
+   This is a paragraph that was inserted.
+  &lt;/p&gt;
+  This is another paragraph whose first sentence was inserted
+  at the same time as the paragraph above.
+ &lt;/ins&gt;
+ This is a second sentence, which was there all along.
+&lt;/section&gt;</pre><p>By only wrapping some paragraphs in <code><a href="grouping-content.html#the-p-element">p</a></code> elements, one
+  can even get the end of one paragraph, a whole second paragraph,
+  and the start of a third paragraph to be covered by the same
+  <code><a href="#the-ins-element">ins</a></code> or <code><a href="#the-del-element">del</a></code> element (though this is very
+  confusing, and not considered good practice):</p><pre class="bad">&lt;section&gt;
+ This is the first paragraph. &lt;ins&gt;This sentence was
+ inserted.
+ &lt;p&gt;This second paragraph was inserted.&lt;/p&gt;
+ This sentence was inserted too.&lt;/ins&gt; This is the
+ third paragraph in this example.
+ &lt;!-- (don't do this) --&gt;
+&lt;/section&gt;</pre><p>However, due to the way <a href="content-models.html#paragraph" title="paragraph">implied
+  paragraphs</a> are defined, it is not possible to mark up the
+  end of one paragraph and the start of the very next one using the
+  same <code><a href="#the-ins-element">ins</a></code> or <code><a href="#the-del-element">del</a></code> element. You instead have
+  to use one (or two) <code><a href="grouping-content.html#the-p-element">p</a></code> element(s) and two
+  <code><a href="#the-ins-element">ins</a></code> or <code><a href="#the-del-element">del</a></code> elements, as for example:</p><pre>&lt;section&gt;
+ &lt;p&gt;This is the first paragraph. &lt;del&gt;This sentence was
+ deleted.&lt;/del&gt;&lt;/p&gt;
+ &lt;p&gt;&lt;del&gt;This sentence was deleted too.&lt;/del&gt; That
+ sentence needed a separate &amp;lt;del&amp;gt; element.&lt;/p&gt;
+&lt;/section&gt;</pre><p>Partly because of the confusion described above, authors are
+  strongly encouraged to always mark up all paragraphs with the
+  <code><a href="grouping-content.html#the-p-element">p</a></code> element, instead of having <code><a href="#the-ins-element">ins</a></code> or
+  <code><a href="#the-del-element">del</a></code> elements that cross <a href="content-models.html#paragraph" title="paragraph">implied
+  paragraphs</a> boundaries.</p><h4 id="edits-and-lists"><span class="secno">4.7.5 </span>Edits and lists</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p><i>This section is non-normative.</i></p><p>The content models of the <code><a href="grouping-content.html#the-ol-element">ol</a></code> and <code><a href="grouping-content.html#the-ul-element">ul</a></code>
+  elements do not allow <code><a href="#the-ins-element">ins</a></code> and <code><a href="#the-del-element">del</a></code> elements
+  as children. Lists always represent all their items, including items
+  that would otherwise have been marked as deleted.</p><p>To indicate that an item is inserted or deleted, an
+  <code><a href="#the-ins-element">ins</a></code> or <code><a href="#the-del-element">del</a></code> element can be wrapped around
+  the contents of the <code><a href="grouping-content.html#the-li-element">li</a></code> element. To indicate that an
+  item has been replaced by another, a single <code><a href="grouping-content.html#the-li-element">li</a></code> element
+  can have one or more <code><a href="#the-del-element">del</a></code> elements followed by one or
+  more <code><a href="#the-ins-element">ins</a></code> elements.</p><div class="example">
+
+   <p>In the following example, a list that started empty had items
+   added and removed from it over time. The bits in the example that
+   have been emphasized show the parts that are the "current" state of
+   the list. The list item numbers don't take into account the edits,
+   though.</p>
+
+   <pre>&lt;h1&gt;Stop-ship bugs&lt;/h1&gt;
+&lt;ol&gt;
+ &lt;li&gt;&lt;ins datetime="2008-02-12T15:20Z"&gt;<em>Bug 225:
+ Rain detector doesn't work in snow</em>&lt;/ins&gt;&lt;/li&gt;
+ &lt;li&gt;&lt;del datetime="2008-03-01T20:22Z"&gt;&lt;ins datetime="2008-02-14T12:02Z"&gt;Bug 228:
+ Water buffer overflows in April&lt;/ins&gt;&lt;/del&gt;&lt;/li&gt;
+ &lt;li&gt;&lt;ins datetime="2008-02-16T13:50Z"&gt;<em>Bug 230:
+ Water heater doesn't use renewable fuels</em>&lt;/ins&gt;&lt;/li&gt;
+ &lt;li&gt;&lt;del datetime="2008-02-20T21:15Z"&gt;&lt;ins datetime="2008-02-16T14:25Z"&gt;Bug 232:
+ Carbon dioxide emissions detected after startup&lt;/ins&gt;&lt;/del&gt;&lt;/li&gt;
+&lt;/ol&gt;</pre>
+
+  </div><div class="example">
+
+   <p>In the following example, a list that started with just fruit
+   was replaced by a list with just colors.</p>
+
+   <pre>&lt;h1&gt;List of &lt;del&gt;fruits&lt;/del&gt;&lt;ins&gt;colors&lt;/ins&gt;&lt;/h1&gt;
+&lt;ul&gt;
+ &lt;li&gt;&lt;del&gt;Lime&lt;/del&gt;&lt;ins&gt;Green&lt;/ins&gt;&lt;/li&gt;
+ &lt;li&gt;&lt;del&gt;Apple&lt;/del&gt;&lt;/li&gt;
+ &lt;li&gt;Orange&lt;/li&gt;
+ &lt;li&gt;&lt;del&gt;Pear&lt;/del&gt;&lt;/li&gt;
+ &lt;li&gt;&lt;ins&gt;Teal&lt;/ins&gt;&lt;/li&gt;
+ &lt;li&gt;&lt;del&gt;Lemon&lt;/del&gt;&lt;ins&gt;Yellow&lt;/ins&gt;&lt;/li&gt;
+ &lt;li&gt;Olive&lt;/li&gt;
+ &lt;li&gt;&lt;ins&gt;Purple&lt;/ins&gt;
+&lt;/ul&gt;</pre>
+
+  </div></body></html>
\ No newline at end of file

Index: the-xhtml-syntax.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/the-xhtml-syntax.html,v
retrieving revision 1.554
retrieving revision 1.555
diff -u -d -r1.554 -r1.555
--- the-xhtml-syntax.html	6 Jan 2010 15:38:54 -0000	1.554
+++ the-xhtml-syntax.html	6 Jan 2010 15:49:35 -0000	1.555
@@ -0,0 +1,296 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<!DOCTYPE html>
+<!-- when publishing, change bits marked ZZZ --><html lang="en-US-x-Hixie" class="split chapter"><head><title>10 The XHTML syntax &#8212; HTML5 (Author Edition)</title><script src="link-fixup.js"></script><link href="whatwg.css" rel="stylesheet"><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 tbody th { text-align: left; }
+   table td, table th { border-left: solid; border-right: solid; border-bottom: solid thin; vertical-align: top; padding: 0.2em; }
+   blockquote { margin: 0 0 0 2em; border: 0; padding: 0; font-style: italic; }
+
+   .bad, .bad *:not(.XXX) { color: gray; border-color: gray; background: transparent; }
+   .matrix, .matrix td { border: none; text-align: right; }
+   .matrix { margin-left: 2em; }
+   .dice-example { border-collapse: collapse; border-style: hidden solid solid hidden; border-width: thin; margin-left: 3em; }
+   .dice-example caption { width: 30em; font-size: smaller; font-style: italic; padding: 0.75em 0; text-align: left; }
+   .dice-example td, .dice-example th { border: solid thin; width: 1.35em; height: 1.05em; text-align: center; padding: 0; }
+
+   .toc dfn, h1 dfn, h2 dfn, h3 dfn, h4 dfn, h5 dfn, h6 dfn { font: inherit; }
+   img.extra { float: right; }
+   pre.idl { border: solid thin; background: #EEEEEE; color: black; padding: 0.5em 1em; }
+   pre.idl :link, pre.idl :visited { color: inherit; background: transparent; }
+   pre.css { border: solid thin; background: #FFFFEE; color: black; padding: 0.5em 1em; }
+   pre.css:first-line { color: #AAAA50; }
+   dl.domintro { color: green; margin: 2em 0 2em 2em; padding: 0.5em 1em; border: none; background: #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; }
+   div.head p.copyright, div.head p.alt { font-size: x-small; font-style: oblique; margin: 0; }
+
+   body > .toc > li { margin-top: 1em; margin-bottom: 1em; }
+   body > .toc.brief > li { margin-top: 0.35em; margin-bottom: 0.35em; }
+   body > .toc > li > * { margin-bottom: 0.5em; }
+   body > .toc > li > * > li > * { margin-bottom: 0.25em; }
+   .toc, .toc li { list-style: none; }
+
+   .brief { margin-top: 1em; margin-bottom: 1em; line-height: 1.1; }
+   .brief li { margin: 0; padding: 0; }
+   .brief li p { margin: 0; padding: 0; }
+
+   .category-list { margin-top: -0.75em; margin-bottom: 1em; line-height: 1.5; }
+   .category-list::before { content: '\21D2\A0'; font-size: 1.2em; font-weight: 900; }
+   .category-list li { display: inline; }
+   .category-list li:not(:last-child)::after { content: ', '; }
+   .category-list li > span, .category-list li > a { text-transform: lowercase; }
+   .category-list li * { text-transform: none; } /* don't affect <code> nested in <a> */
+
+   .XXX { color: #E50000; background: white; border: solid red; padding: 0.5em; margin: 1em 0; }
+   .XXX > :first-child { margin-top: 0; }
+   p .XXX { line-height: 3em; }
+   .annotation { border: solid thin black; background: #0C479D; color: white; position: relative; margin: 8px 0 20px 0; }
+   .annotation:before { position: absolute; left: 0; top: 0; width: 100%; height: 100%; margin: 6px -6px -6px 6px; background: #333333; z-index: -1; content: ''; }
+   .annotation :link, .annotation :visited { color: inherit; }
+   .annotation :link:hover, .annotation :visited:hover { background: transparent; }
+   .annotation span { border: none ! important; }
+   .note { color: green; background: transparent; font-family: sans-serif; }
+   .warning { color: red; background: transparent; }
+   .note, .warning { font-weight: bolder; font-style: italic; }
+   p.note, div.note { padding: 0.5em 2em; }
+   span.note { padding: 0 2em; }
+   .note p:first-child, .warning p:first-child { margin-top: 0; }
+   .note p:last-child, .warning p:last-child { margin-bottom: 0; }
+   .warning:before { font-style: normal; }
+   p.note:before { content: 'Note: '; }
+   p.warning:before { content: '\26A0 Warning! '; }
+
+   .bookkeeping:before { display: block; content: 'Bookkeeping details'; font-weight: bolder; font-style: italic; }
+   .bookkeeping { font-size: 0.8em; margin: 2em 0; }
+   .bookkeeping p { margin: 0.5em 2em; display: list-item; list-style: square; }
+
+   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; }
+
+   #configUI { position: absolute; z-index: 20; top: 10em; right: 1em; width: 11em; font-size: small; }
+   #configUI p { margin: 0.5em 0; padding: 0.3em; background: #EEEEEE; color: black; border: inset thin; }
+   #configUI p label { display: block; }
+   #configUI #updateUI, #configUI .loginUI { text-align: center; }
+   #configUI input[type=button] { display: block; margin: auto; }
+  </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="data:text/css," id="complete" rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" id="author" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" id="highlight" rel="alternate stylesheet" title="Highlight implementation requirements"><script>
+   function getCookie(name) {
+     var params = location.search.substr(1).split("&");
+     for (var index = 0; index < params.length; index++) {
+       if (params[index] == name)
+         return "1";
+       var data = params[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     var cookies = document.cookie.split("; ");
+     for (var index = 0; index < cookies.length; index++) {
+       var data = cookies[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     return null;
+   }
+   function load(script) {
+     var e = document.createElement('script');
+     e.setAttribute('src', 'http://www.whatwg.org/specs/web-apps/current-work/' + script + '?' + encodeURIComponent(location) + '&' + encodeURIComponent(document.referrer));
+     document.body.appendChild(e);
+   }
+   function init() {
+     if (location.search == '?slow-browser')
+       return;
+     var configUI = document.createElement('div');
+     configUI.id = 'configUI';
+     document.body.appendChild(configUI);
+     // load('reviewer.js'); // would need cross-site XHR
+     if (document.getElementById('head'))
+       load('toc.js');
+     
+     // load('updater.js'); // would need cross-site XHR
+     load('dfn.js');
+     // load('status.js'); // would need cross-site XHR
+     if (getCookie('profile') == '1')
+       document.getElementsByTagName('h2')[0].textContent += '; load: ' + (new Date() - loadTimer) + 'ms';
+     fixBrokenLink();
+   }
+  </script><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><link href="named-character-references.html" title="9.2 Named character references" rel="prev">
+  <link href="Overview.html#contents" title="Table of contents" rel="index">
+  <link href="obsolete.html" title="11 Obsolete features" rel="next">
+  </head><body onload="fixBrokenLink(); init()"><div class="head" id="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 (Author Edition)</h1>
+   </div><div>
+   <a href="named-character-references.html">&#8592; 9.2 Named character references</a> &#8211;
+   <a href="Overview.html#contents">Table of contents</a> &#8211;
+   <a href="obsolete.html">11 Obsolete features &#8594;</a>
+  </div>
+
+  <h2 id="the-xhtml-syntax"><span class="secno">10 </span><dfn id="xhtml">The XHTML syntax</dfn></h2><p class="note">This section only describes the rules for XML
+  resources. Rules for <code><a href="iana.html#text-html">text/html</a></code> resources are discussed
+  in the section above entitled "<a href="syntax.html#syntax">The HTML syntax</a>".</p><p>The syntax for using HTML with XML, whether in XHTML documents or
+  embedded in other XML documents, is defined in the XML and
+  Namespaces in XML specifications. <a href="references.html#refsXML">[XML]</a> <a href="references.html#refsXMLNS">[XMLNS]</a></p><p>This specification does not define any syntax-level requirements
+  beyond those defined for XML proper.</p><p>XML documents may contain a <code>DOCTYPE</code> if desired, but
+  this is not required to conform to this specification. This
+  specification does not define a public or system identifier, nor
+  provide a format DTD.</p><p class="note">According to the XML specification, XML processors
+  are not guaranteed to process the external DTD subset referenced in
+  the DOCTYPE. This means, for example, that using entity references
+  for characters in XHTML documents is unsafe if they are defined in
+  an external file (except for <code title="">&amp;lt;</code>, <code title="">&amp;gt;</code>, <code title="">&amp;amp;</code>, <code title="">&amp;quot;</code> and <code title="">&amp;apos;</code>).</p><!--v2DATAGRID
+  <div class="impl">
+
+  <h4>The <code>datagrid</code> element</h4>
+
+  This section will probably include details on how to render DATAGRID
+  (including <span id="datagridPseudos">its pseudo-elements</span>),
+  drag-and-drop, etc, in a visual medium, in concert with
+  CSS. Implementation experience is desired before this section is
+  filled in.
+
+  </div>
+--></body></html>
\ No newline at end of file

Index: offline.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/offline.html,v
retrieving revision 1.556
retrieving revision 1.557
diff -u -d -r1.556 -r1.557
--- offline.html	6 Jan 2010 15:38:53 -0000	1.556
+++ offline.html	6 Jan 2010 15:49:34 -0000	1.557
@@ -0,0 +1,720 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<!DOCTYPE html>
+<!-- when publishing, change bits marked ZZZ --><html lang="en-US-x-Hixie" class="split chapter"><head><title>6.7 Offline Web applications &#8212; HTML5 (Author Edition)</title><script src="link-fixup.js"></script><link href="whatwg.css" rel="stylesheet"><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 tbody th { text-align: left; }
+   table td, table th { border-left: solid; border-right: solid; border-bottom: solid thin; vertical-align: top; padding: 0.2em; }
+   blockquote { margin: 0 0 0 2em; border: 0; padding: 0; font-style: italic; }
+
+   .bad, .bad *:not(.XXX) { color: gray; border-color: gray; background: transparent; }
+   .matrix, .matrix td { border: none; text-align: right; }
+   .matrix { margin-left: 2em; }
+   .dice-example { border-collapse: collapse; border-style: hidden solid solid hidden; border-width: thin; margin-left: 3em; }
+   .dice-example caption { width: 30em; font-size: smaller; font-style: italic; padding: 0.75em 0; text-align: left; }
+   .dice-example td, .dice-example th { border: solid thin; width: 1.35em; height: 1.05em; text-align: center; padding: 0; }
+
+   .toc dfn, h1 dfn, h2 dfn, h3 dfn, h4 dfn, h5 dfn, h6 dfn { font: inherit; }
+   img.extra { float: right; }
+   pre.idl { border: solid thin; background: #EEEEEE; color: black; padding: 0.5em 1em; }
+   pre.idl :link, pre.idl :visited { color: inherit; background: transparent; }
+   pre.css { border: solid thin; background: #FFFFEE; color: black; padding: 0.5em 1em; }
+   pre.css:first-line { color: #AAAA50; }
+   dl.domintro { color: green; margin: 2em 0 2em 2em; padding: 0.5em 1em; border: none; background: #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; }
+   div.head p.copyright, div.head p.alt { font-size: x-small; font-style: oblique; margin: 0; }
+
+   body > .toc > li { margin-top: 1em; margin-bottom: 1em; }
+   body > .toc.brief > li { margin-top: 0.35em; margin-bottom: 0.35em; }
+   body > .toc > li > * { margin-bottom: 0.5em; }
+   body > .toc > li > * > li > * { margin-bottom: 0.25em; }
+   .toc, .toc li { list-style: none; }
+
+   .brief { margin-top: 1em; margin-bottom: 1em; line-height: 1.1; }
+   .brief li { margin: 0; padding: 0; }
+   .brief li p { margin: 0; padding: 0; }
+
+   .category-list { margin-top: -0.75em; margin-bottom: 1em; line-height: 1.5; }
+   .category-list::before { content: '\21D2\A0'; font-size: 1.2em; font-weight: 900; }
+   .category-list li { display: inline; }
+   .category-list li:not(:last-child)::after { content: ', '; }
+   .category-list li > span, .category-list li > a { text-transform: lowercase; }
+   .category-list li * { text-transform: none; } /* don't affect <code> nested in <a> */
+
+   .XXX { color: #E50000; background: white; border: solid red; padding: 0.5em; margin: 1em 0; }
+   .XXX > :first-child { margin-top: 0; }
+   p .XXX { line-height: 3em; }
+   .annotation { border: solid thin black; background: #0C479D; color: white; position: relative; margin: 8px 0 20px 0; }
+   .annotation:before { position: absolute; left: 0; top: 0; width: 100%; height: 100%; margin: 6px -6px -6px 6px; background: #333333; z-index: -1; content: ''; }
+   .annotation :link, .annotation :visited { color: inherit; }
+   .annotation :link:hover, .annotation :visited:hover { background: transparent; }
+   .annotation span { border: none ! important; }
+   .note { color: green; background: transparent; font-family: sans-serif; }
+   .warning { color: red; background: transparent; }
+   .note, .warning { font-weight: bolder; font-style: italic; }
+   p.note, div.note { padding: 0.5em 2em; }
+   span.note { padding: 0 2em; }
+   .note p:first-child, .warning p:first-child { margin-top: 0; }
+   .note p:last-child, .warning p:last-child { margin-bottom: 0; }
+   .warning:before { font-style: normal; }
+   p.note:before { content: 'Note: '; }
+   p.warning:before { content: '\26A0 Warning! '; }
+
+   .bookkeeping:before { display: block; content: 'Bookkeeping details'; font-weight: bolder; font-style: italic; }
+   .bookkeeping { font-size: 0.8em; margin: 2em 0; }
+   .bookkeeping p { margin: 0.5em 2em; display: list-item; list-style: square; }
+
+   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; }
+
+   #configUI { position: absolute; z-index: 20; top: 10em; right: 1em; width: 11em; font-size: small; }
+   #configUI p { margin: 0.5em 0; padding: 0.3em; background: #EEEEEE; color: black; border: inset thin; }
+   #configUI p label { display: block; }
+   #configUI #updateUI, #configUI .loginUI { text-align: center; }
+   #configUI input[type=button] { display: block; margin: auto; }
+  </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="data:text/css," id="complete" rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" id="author" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" id="highlight" rel="alternate stylesheet" title="Highlight implementation requirements"><script>
+   function getCookie(name) {
+     var params = location.search.substr(1).split("&");
+     for (var index = 0; index < params.length; index++) {
+       if (params[index] == name)
+         return "1";
+       var data = params[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     var cookies = document.cookie.split("; ");
+     for (var index = 0; index < cookies.length; index++) {
+       var data = cookies[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     return null;
+   }
+   function load(script) {
+     var e = document.createElement('script');
+     e.setAttribute('src', 'http://www.whatwg.org/specs/web-apps/current-work/' + script + '?' + encodeURIComponent(location) + '&' + encodeURIComponent(document.referrer));
+     document.body.appendChild(e);
+   }
+   function init() {
+     if (location.search == '?slow-browser')
+       return;
+     var configUI = document.createElement('div');
+     configUI.id = 'configUI';
+     document.body.appendChild(configUI);
+     // load('reviewer.js'); // would need cross-site XHR
+     if (document.getElementById('head'))
+       load('toc.js');
+     
+     // load('updater.js'); // would need cross-site XHR
+     load('dfn.js');
+     // load('status.js'); // would need cross-site XHR
+     if (getCookie('profile') == '1')
+       document.getElementsByTagName('h2')[0].textContent += '; load: ' + (new Date() - loadTimer) + 'ms';
+     fixBrokenLink();
+   }
+  </script><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><link href="timers.html" title="6.4 Timers" rel="prev">
+  <link href="Overview.html#contents" title="Table of contents" rel="index">
+  <link href="history.html" title="6.8 Session history and navigation" rel="next">
+  </head><body onload="fixBrokenLink(); init()"><div class="head" id="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 (Author Edition)</h1>
+   </div><div>
+   <a href="timers.html">&#8592; 6.4 Timers</a> &#8211;
+   <a href="Overview.html#contents">Table of contents</a> &#8211;
+   <a href="history.html">6.8 Session history and navigation &#8594;</a>
+  <ol class="toc"><li><ol><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#appcacheevents"><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></ol></li></ol></div>
+
+  <h3 id="offline"><span class="secno">6.7 </span>Offline Web applications</h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><!-- v2 ideas for appcache:
+
+     * A way to limit what gets download when the user agent is
+       updating the application cache and it turns out the server has
+       changed EVERY page because every page has a dynamic "site last
+       modified" date on it.
+
+       http://groups.google.com/group/gears-users/browse_thread/thread/efbd808325df607a/c73adb34f9b63cf7?hl=en&q=whatwg#c73adb34f9b63cf7
+
+
+     * Multiuser appcaches.
+
+       If the application code (HTML, JS, CSS) is all the same for two
+       users, then appcache works for multiple users by just having
+       the data for the users separate from the logic.
+
+       This is the expected model for most apps. For example, your
+       typical blog has just one set of CSS for all users.
+
+       For systems where the user affects what HTML, JS, and CSS is
+       served back, the spec as written pretty much requires that
+       there be one app per user, and one generic "login" app that
+       then redirects to one of those other apps - and where each app
+       has a different base URL, separate manifest, etc.
+
+       An alternative that we could explore in a future version is to
+       have the manifest include a manifest name, and then have script
+       that allows you to "activate" a particular manifest name for a
+       given appcache.
+
+       So each appcache group would be futher subdivided into named
+       subgroups, and for a given manifest URL with such a group of
+       subgroups, one subgroup would be the default one at a time. The
+       inactive ones would just lie dormant, but and the active ones
+       would act like now, but there'd be a scripted way to change the
+       default (and maybe query what available variants exist for the
+       current appcache), so that you could log back in as someone
+       else by just making the script pick the other user's variant,
+       and then reloading.
+
+  --><h4 id="introduction-3"><span class="secno">6.7.1 </span>Introduction</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p><i>This section is non-normative.</i></p><p>In order to enable users to continue interacting with Web
+  applications and documents even when their network connection is
+  unavailable &#8212; for instance, because they are traveling outside
+  of their ISP's coverage area &#8212; authors can provide a manifest
+  which lists the files that are needed for the Web application to
+  work offline and which causes the user's browser to keep a copy of
+  the files for use offline.</p><p>To illustrate this, consider a simple clock applet consisting of
+  an HTML page "<code title="">clock.html</code>", a CSS style sheet
+  "<code title="">clock.css</code>", and a JavaScript script "<code title="">clock.js</code>".</p><p>Before adding the manifest, these three files might look like
+  this:</p><pre>&lt;!-- clock.html --&gt;
+&lt;!DOCTYPE HTML&gt;
+&lt;html&gt;
+ &lt;head&gt;
+  &lt;title&gt;Clock&lt;/title&gt;
+  &lt;script src="clock.js"&gt;&lt;/script&gt;
+  &lt;link rel="stylesheet" href="clock.css"&gt;
+ &lt;/head&gt;
+ &lt;body&gt;
+  &lt;p&gt;The time is: &lt;output id="clock"&gt;&lt;/output&gt;&lt;/p&gt;
+ &lt;/body&gt;
+&lt;/html&gt;</pre><pre>/* clock.css */
+output { font: 2em sans-serif; }</pre><pre>/* clock.js */
+setTimeout(function () {
+    document.getElementById('clock').value = new Date();
+}, 1000);</pre><p>If the user tries to open the "<code title="">clock.html</code>"
+  page while offline, though, the user agent (unless it happens to
+  have it still in the local cache) will fail with an error.</p><p>The author can instead provide a manifest of the three files:</p><pre>CACHE MANIFEST
+clock.html
+clock.css
+clock.js</pre><p>With a small change to the HTML file, the manifest (served as
+  <code><a href="iana.html#text-cache-manifest">text/cache-manifest</a></code>) is linked to the application:</p><pre>&lt;!-- clock.html --&gt;
+&lt;!DOCTYPE HTML&gt;
+&lt;html manifest="clock.manifest"&gt;
+ &lt;head&gt;
+  &lt;title&gt;Clock&lt;/title&gt;
+  &lt;script src="clock.js"&gt;&lt;/script&gt;
+  &lt;link rel="stylesheet" href="clock.css"&gt;
+ &lt;/head&gt;
+ &lt;body&gt;
+  &lt;p&gt;The time is: &lt;output id="clock"&gt;&lt;/output&gt;&lt;/p&gt;
+ &lt;/body&gt;
+&lt;/html&gt;</pre><p>Now, if the user goes to the page, the browser will cache the
+  files and make them available even when the user is offline.</p><p class="note">Authors are encouraged to include the main page in
+  the manifest also, but in practice the page that referenced the
+  manifest is automatically cached even if it isn't explicitly
+  mentioned.</p><h5 id="appcacheevents"><span class="secno">6.7.1.1 </span>Event summary</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p><i>This section is non-normative.</i></p><p>When the user visits a page that declares a manifest, the browser
+  will try to update the cache. It does this by fetching a copy of the
+  manifest and, if the manifest has changed since the user agent last
+  saw it, redownloading all the resources it mentions and caching them
+  anew.</p><p>As this is going on, a number of events get fired to keep the
+  script updated as to the state of the cache update, so that the user
+  can be notified appropriately. The events are as follows:</p><table><thead><tr><th> Event name
+     </th><th> Interface
+     </th><th> Dispatched when...
+     </th><th> Next events
+   </th></tr></thead><tbody><tr><td> <dfn id="event-appcache-checking" title="event-appcache-checking"><code>checking</code></dfn>
+     </td><td> <code>Event</code>
+     </td><td> The user agent is checking for an update, or attempting to download the manifest for the first time.
+     </td><td> <code title="event-appcache-noupdate"><a href="#event-appcache-noupdate">noupdate</a></code>, <code title="event-appcache-downloading"><a href="#event-appcache-downloading">downloading</a></code>, <code title="event-appcache-obsolete"><a href="#event-appcache-obsolete">obsolete</a></code>, <code title="event-appcache-error"><a href="#event-appcache-error">error</a></code>
+    </td></tr><tr><td> <dfn id="event-appcache-noupdate" title="event-appcache-noupdate"><code>noupdate</code></dfn>
+     </td><td> <code>Event</code>
+     </td><td> The manifest hadn't changed.
+     </td><td> (Last event in sequence.)
+    </td></tr><tr><td> <dfn id="event-appcache-downloading" title="event-appcache-downloading"><code>downloading</code></dfn>
+     </td><td> <code>Event</code>
+     </td><td> The user agent has found an update and is fetching it, or is downloading the resources listed by the manifest for the first time.
+     </td><td> <code title="event-appcache-progress"><a href="#event-appcache-progress">progress</a></code>, <code title="event-appcache-error"><a href="#event-appcache-error">error</a></code>, <code title="event-appcache-cached"><a href="#event-appcache-cached">cached</a></code>, <code title="event-appcache-updateready"><a href="#event-appcache-updateready">updateready</a></code>
+    </td></tr><tr><td> <dfn id="event-appcache-progress" title="event-appcache-progress"><code>progress</code></dfn>
+     </td><td> <code>ProgressEvent</code>
+     </td><td> The user agent is downloading resources listed by the manifest.
+     </td><td> <code title="event-appcache-progress"><a href="#event-appcache-progress">progress</a></code>, <code title="event-appcache-error"><a href="#event-appcache-error">error</a></code>, <code title="event-appcache-cached"><a href="#event-appcache-cached">cached</a></code>, <code title="event-appcache-updateready"><a href="#event-appcache-updateready">updateready</a></code>
+    </td></tr><tr><td> <dfn id="event-appcache-cached" title="event-appcache-cached"><code>cached</code></dfn>
+     </td><td> <code>Event</code>
+     </td><td> The resources listed in the manifest have been downloaded, and the application is now cached.
+     </td><td> Last event in sequence.
+    </td></tr><tr><td> <dfn id="event-appcache-updateready" title="event-appcache-updateready"><code>updateready</code></dfn>
+     </td><td> <code>Event</code>
+     </td><td> The resources listed in the manifest have been newly redownloaded, and the script can use <code title="dom-appcache-swapCache"><a href="#dom-appcache-swapcache">swapCache()</a></code> to switch to the new cache.
+     </td><td> Last event in sequence.
+    </td></tr><tr><td> <dfn id="event-appcache-obsolete" title="event-appcache-obsolete"><code>obsolete</code></dfn>
+     </td><td> <code>Event</code>
+     </td><td> The manifest was found to have become a 404 or 410 page, so the application cache is being deleted.
+     </td><td> Last event in sequence.
+    </td></tr><tr><td rowspan="4"> <dfn id="event-appcache-error" title="event-appcache-error"><code>error</code></dfn>
+     </td><td rowspan="4"> <code>Event</code>
+     </td><td> The manifest was a 404 or 410 page, so the attempt to cache the application has been aborted.
+     </td><td rowspan="3"> Last event in sequence.
+    </td></tr><tr><td> The manifest hadn't changed, but the page referencing the manifest failed to download properly.
+    </td></tr><tr><td> A fatal error occurred while fetching the resources listed in the manifest.
+    </td></tr><tr><td> The manifest changed while the update was being run.
+     </td><td> The user agent will try fetching the files again momentarily.
+  </td></tr></tbody></table><h4 id="manifests"><span class="secno">6.7.2 </span>The cache manifest syntax</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><h5 id="a-sample-manifest"><span class="secno">6.7.2.1 </span>A sample manifest</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p><i>This section is non-normative.</i></p><p>This example manifest requires two images and a style sheet to be
+  cached and whitelists a CGI script.</p><pre>CACHE MANIFEST
+# the above line is required
+
+# this is a comment
+# there can be as many of these anywhere in the file
+# they are all ignored
+  # comments can have spaces before them
+  # but must be alone on the line
+
+# blank lines are ignored too
+
+# these are files that need to be cached they can either be listed
+# first, or a "CACHE:" header could be put before them, as is done
+# lower down.
+images/sound-icon.png
+images/background.png
+# note that each file has to be put on its own line
+
+# here is a file for the online whitelist -- it isn't cached, and
+# references to this file will bypass the cache, always hitting the
+# network (or trying to, if the user is offline).
+NETWORK:
+comm.cgi
+
+# here is another set of files to cache, this time just the CSS file.
+CACHE:
+style/default.css</pre><p>It could equally well be written as follows:</p><pre>CACHE MANIFEST
+NETWORK:
+comm.cgi
+CACHE:
+style/default.css
+images/sound-icon.png
+images/background.png</pre><hr><p>The following manifest defines a catch-all error page that is
+  displayed for any page on the site while the user is offline. It
+  also specifies that the <a href="#concept-appcache-onlinewhitelist-wildcard" title="concept-appcache-onlinewhitelist-wildcard">online whitelist
+  wildcard flag</a> is <i title="">open</i>, meaning that accesses
+  to resources on other sites will not be blocked. (Resources on the
+  same site are already not blocked because of the catch-all fallback
+  namespace.)</p><p>So long as all pages on the site reference this manifest, they
+  will get cached locally as they are fetched, so that subsequent hits
+  to the same page will load the page immediately from the
+  cache. Until the manifest is changed, those pages will not be
+  fetched from the server again. When the manifest changes, then all
+  the files will be redownloaded.</p><p>Subresources, such as style sheets, images, etc, would only be
+  cached using the regular HTTP caching semantics, however.</p><pre>CACHE MANIFEST
+FALLBACK:
+/ /offline.html
+NETWORK:
+*</pre><h5 id="writing-cache-manifests"><span class="secno">6.7.2.2 </span>Writing cache manifests</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>Manifests must be served using the
+  <code><a href="iana.html#text-cache-manifest">text/cache-manifest</a></code> <a href="infrastructure.html#mime-type">MIME type</a>. All
+  resources served using the <code><a href="iana.html#text-cache-manifest">text/cache-manifest</a></code>
+  <a href="infrastructure.html#mime-type">MIME type</a> must follow the syntax of application cache
+  manifests, as described in this section.</p><p>An application cache manifest is a text file, whose text is
+  encoded using UTF-8. Data in application cache manifests is
+  line-based. Newlines must be represented by U+000A LINE FEED (LF)
+  characters, U+000D CARRIAGE RETURN (CR) characters, or U+000D
+  CARRIAGE RETURN (CR) U+000A LINE FEED (LF) pairs.</p><p class="note">This is a <a href="introduction.html#willful-violation">willful violation</a> of two
+  aspects of RFC 2046, which requires all <code title="">text/*</code>
+  types to support an open-ended set of character encodings and only
+  allows CRLF line breaks. These requirements, however, are outdated;
+  UTF-8 is now widely used, such that supporting other encodings is no
+  longer necessary, and use of CR, LF, and CRLF line breaks is
+  commonly supported and indeed sometimes CRLF is <em>not</em>
+  supported by text editors. <a href="references.html#refsRFC2046">[RFC2046]</a></p><!-- also RFC 2045 for charset --><p>The first line of an application cache manifest must consist of
+  the string "CACHE", a single U+0020 SPACE character, the string
+  "MANIFEST", and either a U+0020 SPACE character, a U+0009 CHARACTER
+  TABULATION (tab) character, a U+000A LINE FEED (LF) character, or a
+  U+000D CARRIAGE RETURN (CR) character. The first line may optionally
+  be preceded by a U+FEFF BYTE ORDER MARK (BOM) character. If any
+  other text is found on the first line, it is ignored.</p><p>Subsequent lines, if any, must all be one of the following:</p><dl><dt>A blank line
+   </dt><dd>
+    <p>Blank lines must consist of zero or more U+0020 SPACE and
+    U+0009 CHARACTER TABULATION (tab) characters only.</p>
+
+   </dd><dt>A comment
+   </dt><dd>
+    <p>Comment lines must consist of zero or more U+0020 SPACE and
+    U+0009 CHARACTER TABULATION (tab) characters, followed by a single
+    U+0023 NUMBER SIGN character (#), followed by zero or more
+    characters other than U+000A LINE FEED (LF) and U+000D CARRIAGE
+    RETURN (CR) characters.</p>
+
+    <p class="note">Comments must be on a line on their own. If they
+    were to be included on a line with a URL, the "#" would be
+    mistaken for part of a fragment identifier.</p>
+
+   </dd><dt>A section header
+   </dt><dd>
+    <p>Section headers change the current section. There are three
+    possible section headers:
+
+    </p><dl><dt><code>CACHE:</code>
+     </dt><dd>Switches to the <dfn id="concept-appcache-manifest-explicit" title="concept-appcache-manifest-explicit">explicit section</dfn>.
+
+     </dd><dt><code>FALLBACK:</code>
+     </dt><dd>Switches to the <dfn id="concept-appcache-manifest-fallback" title="concept-appcache-manifest-fallback">fallback section</dfn>.
+
+     </dd><dt><code>NETWORK:</code>
+     </dt><dd>Switches to the <dfn id="concept-appcache-manifest-network" title="concept-appcache-manifest-network">online whitelist section</dfn>.
+
+    </dd></dl><p>Section header lines must consist of zero or more U+0020 SPACE
+    and U+0009 CHARACTER TABULATION (tab) characters, followed by one
+    of the names above (including the U+003A COLON character (:))
+    followed by zero or more U+0020 SPACE and U+0009 CHARACTER
+    TABULATION (tab) characters.</p>
+
+    <p>Ironically, by default, the current section is the
+    <a href="#concept-appcache-manifest-explicit" title="concept-appcache-manifest-explicit">explicit section</a>.</p>
+
+   </dd><dt>Data for the current section
+   </dt><dd>
+    <p>The format that data lines must take depends on the current
+    section.</p>
+
+    <p>When the current section is the <a href="#concept-appcache-manifest-explicit" title="concept-appcache-manifest-explicit">explicit
+    section</a>, data lines must consist of zero or more U+0020
+    SPACE and U+0009 CHARACTER TABULATION (tab) characters, a
+    <a href="urls.html#valid-url">valid URL</a> identifying a resource other than the
+    manifest itself, and then zero or more U+0020 SPACE and U+0009
+    CHARACTER TABULATION (tab) characters.</p>
+
+    <p>When the current section is the <a href="#concept-appcache-manifest-fallback" title="concept-appcache-manifest-fallback">fallback
+    section</a>, data lines must consist of zero or more U+0020
+    SPACE and U+0009 CHARACTER TABULATION (tab) characters, a
+    <a href="urls.html#valid-url">valid URL</a> identifying a resource other than the
+    manifest itself, one or more U+0020 SPACE and U+0009 CHARACTER
+    TABULATION (tab) characters, another <a href="urls.html#valid-url">valid URL</a>
+    identifying a resource other than the manifest itself, and then
+    zero or more U+0020 SPACE and U+0009 CHARACTER TABULATION (tab)
+    characters.</p>
+
+    <p>When the current section is the <a href="#concept-appcache-manifest-network" title="concept-appcache-manifest-network">online whitelist
+    section</a>, data lines must consist of zero or more U+0020
+    SPACE and U+0009 CHARACTER TABULATION (tab) characters, either a
+    single U+002A ASTERISK character (*) <!--
+    concept-appcache-onlinewhitelist-wildcard --> or a <a href="urls.html#valid-url">valid
+    URL</a> identifying a resource other than the manifest itself,
+    and then zero or more U+0020 SPACE and U+0009 CHARACTER TABULATION
+    (tab) characters.</p>
+
+<!--
+    <p class="note">The URLs in data lines can't be empty strings,
+    since those would be relative URLs to the manifest itself. Such
+    lines would be confused with blank or invalid lines, anyway.</p>
+-->
+
+  </dd></dl><p>Manifests may contain sections more than once. Sections may be
+  empty.</p><p>URLs that are to be fallback pages associated with <a href="#concept-appcache-fallback-ns" title="concept-appcache-fallback-ns">fallback namespaces</a>, and
+  those namespaces themselves, must be given in <a href="#concept-appcache-manifest-fallback" title="concept-appcache-manifest-fallback">fallback sections</a>,
+  with the namespace being the first URL of the data line, and the
+  corresponding fallback page being the second URL. All the other
+  pages to be cached must be listed in <a href="#concept-appcache-manifest-explicit" title="concept-appcache-manifest-explicit">explicit
+  sections</a>.</p><p><a href="#concept-appcache-fallback-ns" title="concept-appcache-fallback-ns">Fallback
+  namespaces</a> and <a href="#concept-appcache-fallback" title="concept-appcache-fallback">fallback entries</a> must have
+  the <a href="#same-origin">same origin</a> as the manifest itself.</p><p>A <a href="#concept-appcache-fallback-ns" title="concept-appcache-fallback-ns">fallback
+  namespace</a> must not be listed more than once.</p><p>Namespaces that the user agent is to put into the <a href="#concept-appcache-onlinewhitelist" title="concept-appcache-onlinewhitelist">online whitelist</a>
+  must all be specified in <a href="#concept-appcache-manifest-network" title="concept-appcache-manifest-network">online whitelist
+  sections</a>. (This is needed for any URL that the page is
+  intending to use to communicate back to the server.) To specify that
+  all URLs are automatically whitelisted in this way, a U+002A
+  ASTERISK character character (*) may be specified as one of the
+  URLs. <!-- concept-appcache-onlinewhitelist-wildcard --></p><p>Authors should not include namespaces in the <a href="#concept-appcache-onlinewhitelist" title="concept-appcache-onlinewhitelist">online whitelist</a> for
+  which another namespace in the <a href="#concept-appcache-onlinewhitelist" title="concept-appcache-onlinewhitelist">online whitelist</a> is
+  a <a href="infrastructure.html#prefix-match">prefix match</a>.</p><p>Relative URLs must be given relative to the manifest's own
+  URL. All URLs in the manifest must have the same <a href="#url-scheme" title="url-scheme">&lt;scheme&gt;</a> as the manifest itself
+  (either explicitly or implicitly, through the use of relative
+  URLs).</p><p>URLs in manifests must not have fragment identifiers (i.e. the
+  U+0023 NUMBER SIGN character isn't allowed in URLs in
+  manifests).</p><p><a href="#concept-appcache-fallback-ns" title="concept-appcache-fallback-ns">Fallback
+  namespaces</a> and namespaces in the <a href="#concept-appcache-onlinewhitelist" title="concept-appcache-onlinewhitelist">online whitelist</a> are
+  matched by <a href="infrastructure.html#prefix-match">prefix match</a>.</p><h4 id="expiring-application-caches"><span class="secno">6.7.3 </span>Expiring application caches</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>As a general rule, user agents should not expire application
+  caches, except on request from the user, or after having been left
+  unused for an extended period of time.</p><p>Application caches and cookies have similar implications with
+  respect to privacy (e.g. if the site can identify the user when
+  providing the cache, it can store data in the cache that can be used
+  for cookie resurrection). Implementors are therefore encouraged to
+  expose application caches in a manner related to HTTP cookies,
+  allowing caches to be expunged together with cookies and other
+  origin-specific data.</p><p class="example">For example, a user agent could have a "delete
+  site-specific data" feature that clears all cookies, application
+  caches, local storage, databases, etc, from an origin all at
+  once.</p><h4 id="application-cache-api"><span class="secno">6.7.4 </span>Application cache API</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><pre class="idl">interface <dfn id="applicationcache">ApplicationCache</dfn> {
+
+  // <a href="#concept-appcache-status" title="concept-appcache-status">update status</a>
+  const unsigned short <a href="#dom-appcache-uncached" title="dom-appcache-UNCACHED">UNCACHED</a> = 0;
+  const unsigned short <a href="#dom-appcache-idle" title="dom-appcache-IDLE">IDLE</a> = 1;
+  const unsigned short <a href="#dom-appcache-checking" title="dom-appcache-CHECKING">CHECKING</a> = 2;
+  const unsigned short <a href="#dom-appcache-downloading" title="dom-appcache-DOWNLOADING">DOWNLOADING</a> = 3;
+  const unsigned short <a href="#dom-appcache-updateready" title="dom-appcache-UPDATEREADY">UPDATEREADY</a> = 4;
+  const unsigned short <a href="#dom-appcache-obsolete" title="dom-appcache-OBSOLETE">OBSOLETE</a> = 5;
+  readonly attribute unsigned short <a href="#dom-appcache-status" title="dom-appcache-status">status</a>;
+
+  // updates
+  void <a href="#dom-appcache-update" title="dom-appcache-update">update</a>();
+  void <a href="#dom-appcache-swapcache" title="dom-appcache-swapCache">swapCache</a>();
+
+  // events
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-appcache-onchecking" title="handler-appcache-onchecking">onchecking</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-appcache-onerror" title="handler-appcache-onerror">onerror</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-appcache-onnoupdate" title="handler-appcache-onnoupdate">onnoupdate</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-appcache-ondownloading" title="handler-appcache-ondownloading">ondownloading</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-appcache-onprogress" title="handler-appcache-onprogress">onprogress</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-appcache-onupdateready" title="handler-appcache-onupdateready">onupdateready</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-appcache-oncached" title="handler-appcache-oncached">oncached</a>;
+           attribute <a href="browsers.html#function">Function</a> <a href="#handler-appcache-onobsolete" title="handler-appcache-onobsolete">onobsolete</a>;
+};
+<a href="#applicationcache">ApplicationCache</a> implements <span>EventTarget</span>;</pre><dl class="domintro"><dt><var title="">cache</var> = <var title="">window</var> . <code title="dom-applicationCache"><a href="#dom-applicationcache">applicationCache</a></code></dt>
+   <dd>
+
+    <p>(In a window.) Returns the <code><a href="#applicationcache">ApplicationCache</a></code> object that applies to the <a href="browsers.html#active-document">active document</a> of that <code><a href="browsers.html#window">Window</a></code>.</p>
+
+   </dd>
+
+   <dt><var title="">cache</var> = <var title="">self</var> . <code title="dom-applicationCache"><a href="#dom-applicationcache">applicationCache</a></code></dt>
+   <dd>
+
+    <p>(In a shared worker.) Returns the <code><a href="#applicationcache">ApplicationCache</a></code> object that applies to the current shared worker.</p>
+
+   </dd>
+
+   <dt><var title="">cache</var> . <code title="dom-appcache-status"><a href="#dom-appcache-status">status</a></code></dt>
+   <dd>
+
+    <p>Returns the current status of the application cache, as given by the constants defined below.</p>
+
+   </dd>
+
+   <dt><var title="">cache</var> . <code title="dom-appcache-update"><a href="#dom-appcache-update">update</a></code>()</dt>
+   <dd>
+
+    <p>Invokes the <a href="#application-cache-download-process">application cache download process</a>.</p>
+
+    <p>Throws an <code><a href="urls.html#invalid_state_err">INVALID_STATE_ERR</a></code> exception if there is no application cache to update.</p>
+
+   </dd>
+
+   <dt><var title="">cache</var> . <code title="dom-appcache-swapCache"><a href="#dom-appcache-swapcache">swapCache</a></code>()</dt>
+   <dd>
+
+    <p>Switches to the most recent application cache, if there is a
+    newer one. If there isn't, throws an
+    <code><a href="urls.html#invalid_state_err">INVALID_STATE_ERR</a></code> exception.</p>
+
+    <p>This does not cause previously-loaded resources to be reloaded;
+    for example, images do not suddenly get reloaded and style sheets
+    and scripts do not get reparsed or reevaluated. The only change is
+    that subsequent requests for cached resources will obtain the
+    newer copies.</p>
+
+   </dd>
+
+  </dl><dl><dt><dfn id="dom-appcache-uncached" title="dom-appcache-UNCACHED"><code>UNCACHED</code></dfn>
+   (numeric value 0)</dt>
+
+   <dd><p>The <code><a href="#applicationcache">ApplicationCache</a></code> object's <a href="#cache-host">cache
+   host</a> is not associated with an <a href="#application-cache">application
+   cache</a> at this time.</p></dd>
+
+   <dt><dfn id="dom-appcache-idle" title="dom-appcache-IDLE"><code>IDLE</code></dfn>
+   (numeric value 1)</dt>
+
+   <dd><p>The <code><a href="#applicationcache">ApplicationCache</a></code> object's <a href="#cache-host">cache
+   host</a> is associated with an <a href="#application-cache">application cache</a>
+   whose <a href="#application-cache-group">application cache group</a>'s <a href="#concept-appcache-status" title="concept-appcache-status">update status</a> is
+   <i>idle</i>, and that <a href="#application-cache">application cache</a> is the <a href="#concept-appcache-newer" title="concept-appcache-newer">newest</a> cache in its
+   <a href="#application-cache-group">application cache group</a>, and the <a href="#application-cache-group">application
+   cache group</a> is not marked as <a href="#concept-appcache-obsolete" title="concept-appcache-obsolete">obsolete</a>.</p></dd>
+
+   <dt><dfn id="dom-appcache-checking" title="dom-appcache-CHECKING"><code>CHECKING</code></dfn>
+   (numeric value 2)</dt>
+
+   <dd><p>The <code><a href="#applicationcache">ApplicationCache</a></code> object's <a href="#cache-host">cache
+   host</a> is associated with an <a href="#application-cache">application cache</a>
+   whose <a href="#application-cache-group">application cache group</a>'s <a href="#concept-appcache-status" title="concept-appcache-status">update status</a> is
+   <i>checking</i>.</p></dd>
+
+   <dt><dfn id="dom-appcache-downloading" title="dom-appcache-DOWNLOADING"><code>DOWNLOADING</code></dfn>
+   (numeric value 3)</dt>
+
+   <dd><p>The <code><a href="#applicationcache">ApplicationCache</a></code> object's <a href="#cache-host">cache
+   host</a> is associated with an <a href="#application-cache">application cache</a>
+   whose <a href="#application-cache-group">application cache group</a>'s <a href="#concept-appcache-status" title="concept-appcache-status">update status</a> is
+   <i>downloading</i>.</p></dd>
+
+   <dt><dfn id="dom-appcache-updateready" title="dom-appcache-UPDATEREADY"><code>UPDATEREADY</code></dfn>
+   (numeric value 4)</dt>
+
+   <dd><p>The <code><a href="#applicationcache">ApplicationCache</a></code> object's <a href="#cache-host">cache
+   host</a> is associated with an <a href="#application-cache">application cache</a>
+   whose <a href="#application-cache-group">application cache group</a>'s <a href="#concept-appcache-status" title="concept-appcache-status">update status</a> is
+   <i>idle</i>, and whose <a href="#application-cache-group">application cache group</a> is not
+   marked as <a href="#concept-appcache-obsolete" title="concept-appcache-obsolete">obsolete</a>,
+   but that <a href="#application-cache">application cache</a> is <em>not</em> the <a href="#concept-appcache-newer" title="concept-appcache-newer">newest</a> cache in its
+   group.</p></dd>
+
+   <dt><dfn id="dom-appcache-obsolete" title="dom-appcache-OBSOLETE"><code>OBSOLETE</code></dfn>
+   (numeric value 5)</dt>
+
+   <dd><p>The <code><a href="#applicationcache">ApplicationCache</a></code> object's <a href="#cache-host">cache
+   host</a> is associated with an <a href="#application-cache">application cache</a>
+   whose <a href="#application-cache-group">application cache group</a> is marked as <a href="#concept-appcache-obsolete" title="concept-appcache-obsolete">obsolete</a>.</p></dd>
+
+  </dl><h4 id="browser-state"><span class="secno">6.7.5 </span>Browser state</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><dl class="domintro"><dt><var title="">window</var> . <code title="dom-navigator"><a href="#dom-navigator">navigator</a></code> . <code title="dom-navigator-onLine"><a href="#dom-navigator-online">onLine</a></code></dt>
+
+   <dd>
+
+    <p>Returns false if the user agent is definitely offline
+    (disconnected from the network). Returns true if the user agent
+    might be online.</p>
+
+   </dd>
+
+  </dl><p class="note">This attribute is inherently unreliable. A computer
+  can be connected to a network without having Internet access.</p></body></html>
\ No newline at end of file

Index: content-models.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/content-models.html,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- content-models.html	6 Jan 2010 15:38:52 -0000	1.11
+++ content-models.html	6 Jan 2010 15:49:33 -0000	1.12
@@ -213,4 +213,777 @@
    .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-ex
\ No newline at end of file
+   .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="data:text/css," id="complete" rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" id="author" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" id="highlight" rel="alternate stylesheet" title="Highlight implementation requirements"><script>
+   function getCookie(name) {
+     var params = location.search.substr(1).split("&");
+     for (var index = 0; index < params.length; index++) {
+       if (params[index] == name)
+         return "1";
+       var data = params[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     var cookies = document.cookie.split("; ");
+     for (var index = 0; index < cookies.length; index++) {
+       var data = cookies[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     return null;
+   }
+   function load(script) {
+     var e = document.createElement('script');
+     e.setAttribute('src', 'http://www.whatwg.org/specs/web-apps/current-work/' + script + '?' + encodeURIComponent(location) + '&' + encodeURIComponent(document.referrer));
+     document.body.appendChild(e);
+   }
+   function init() {
+     if (location.search == '?slow-browser')
+       return;
+     var configUI = document.createElement('div');
+     configUI.id = 'configUI';
+     document.body.appendChild(configUI);
+     // load('reviewer.js'); // would need cross-site XHR
+     if (document.getElementById('head'))
+       load('toc.js');
+     
+     // load('updater.js'); // would need cross-site XHR
+     load('dfn.js');
+     // load('status.js'); // would need cross-site XHR
+     if (getCookie('profile') == '1')
+       document.getElementsByTagName('h2')[0].textContent += '; load: ' + (new Date() - loadTimer) + 'ms';
+     fixBrokenLink();
+   }
+  </script><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><link href="elements.html" title="3.2 Elements" rel="prev">
+  <link href="Overview.html#contents" title="Table of contents" rel="index">
+  <link href="apis-in-html-documents.html" title="3.3 APIs in HTML documents" rel="next">
+  </head><body onload="fixBrokenLink(); init()"><div class="head" id="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 (Author Edition)</h1>
+   </div><div>
+   <a href="elements.html">&#8592; 3.2 Elements</a> &#8211;
+   <a href="Overview.html#contents">Table of contents</a> &#8211;
+   <a href="apis-in-html-documents.html">3.3 APIs in HTML documents &#8594;</a>
+  <ol class="toc"><li><ol><li><ol><li><a href="content-models.html#content-models"><span class="secno">3.2.5 </span>Content models</a>
+      <ol><li><a href="content-models.html#kinds-of-content"><span class="secno">3.2.5.1 </span>Kinds of content</a>
+        <ol><li><a href="content-models.html#metadata-content-0"><span class="secno">3.2.5.1.1 </span>Metadata content</a></li><li><a href="content-models.html#flow-content-0"><span class="secno">3.2.5.1.2 </span>Flow content</a></li><li><a href="content-models.html#sectioning-content-0"><span class="secno">3.2.5.1.3 </span>Sectioning content</a></li><li><a href="content-models.html#heading-content-0"><span class="secno">3.2.5.1.4 </span>Heading content</a></li><li><a href="content-models.html#phrasing-content-0"><span class="secno">3.2.5.1.5 </span>Phrasing content</a></li><li><a href="content-models.html#embedded-content-0"><span class="secno">3.2.5.1.6 </span>Embedded content</a></li><li><a href="content-models.html#interactive-content-0"><span class="secno">3.2.5.1.7 </span>Interactive content</a></li></ol></li><li><a href="content-models.html#transparent-content-models"><span class="secno">3.2.5.2 </span>Transparent content models</a></li><li><a href="content-models.html#paragraphs"><span class="secno>3.2.5.3 </span>Paragraphs</a></li></ol></li><li><a href="content-models.html#annotations-for-assistive-technology-products-aria"><span class="secno">3.2.6 </span>Annotations for assistive technology products (ARIA)</a></li></ol></li></ol></li></ol></div>
+
+  <h4 id="content-models"><span class="secno">3.2.5 </span><dfn>Content models</dfn></h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>Each element defined in this specification has a content model: a
+  description of the element's expected contents. An <a href="infrastructure.html#html-elements" title="HTML
+  elements">HTML element</a> must have contents that match the
+  requirements described in the element's content model.</p><p class="note">As noted in the conformance and terminology
+  sections, for the purposes of determining if an element matches its
+  content model or not, <a href="infrastructure.html#text-node" title="text
+  node"><code>CDATASection</code> nodes in the DOM are treated as
+  equivalent to <code>Text</code> nodes</a>, and <a href="#entity-references">entity reference nodes are treated as if
+  they were expanded in place</a>.</p><p>The <a href="#space-character" title="space character">space characters</a> are
+  always allowed between elements. User agents represent these
+  characters between elements in the source markup as text nodes in
+  the DOM.<!-- not a conf criteria since the parser now requires this
+  --> Empty <a href="infrastructure.html#text-node" title="text node">text nodes</a> and <a href="infrastructure.html#text-node" title="text node">text nodes</a> consisting of just sequences of
+  those characters are considered <dfn id="inter-element-whitespace">inter-element
+  whitespace</dfn>.</p><p><a href="#inter-element-whitespace">Inter-element whitespace</a>, comment nodes, and
+  processing instruction nodes must be ignored when establishing
+  whether an element's contents match the element's content model or
+  not, and must be ignored when following algorithms that define
+  document and element semantics.</p><p>An element <var title="">A</var> is said to be <dfn id="preceded-or-followed">preceded or
+  followed</dfn> by a second element <var title="">B</var> if <var title="">A</var> and <var title="">B</var> have the same parent node
+  and there are no other element nodes or text nodes (other than
+  <a href="#inter-element-whitespace">inter-element whitespace</a>) between them.</p><p>Authors must not use <a href="infrastructure.html#html-elements">HTML elements</a> anywhere except
+  where they are explicitly allowed, as defined for each element, or
+  as explicitly required by other specifications. For XML compound
+  documents, these contexts could be inside elements from other
+  namespaces, if those elements are defined as providing the relevant
+  contexts.</p><div class="example">
+   <p>The Atom specification defines the Atom <code title="">content</code> element, when its <code title="">type</code> attribute has the value <code title="">xhtml</code>, as requiring that it contains a single HTML
+   <code><a href="grouping-content.html#the-div-element">div</a></code> element. Thus, a <code><a href="grouping-content.html#the-div-element">div</a></code> element is
+   allowed in that context, even though this is not explicitly
+   normatively stated by this specification. <a href="references.html#refsATOM">[ATOM]</a></p>
+  </div><p>In addition, <a href="infrastructure.html#html-elements">HTML elements</a> may be orphan nodes
+  (i.e. without a parent node).</p><div class="example">
+
+   <p>For example, creating a <code><a href="tabular-data.html#the-td-element">td</a></code> element and storing it
+   in a global variable in a script is conforming, even though
+   <code><a href="tabular-data.html#the-td-element">td</a></code> elements are otherwise only supposed to be used
+   inside <code><a href="tabular-data.html#the-tr-element">tr</a></code> elements.</p>
+
+   <pre>var data = {
+  name: "Banana",
+  cell: document.createElement('td'),
+};</pre>
+
+  </div><h5 id="kinds-of-content"><span class="secno">3.2.5.1 </span>Kinds of content</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>Each element in HTML falls into zero or more <dfn id="content-categories" title="content
+  categories">categories</dfn> that group elements with similar
+  characteristics together. The following broad categories are used in
+  this specification:</p><ul class="brief"><li><a href="#metadata-content">Metadata content</a></li>
+   <li><a href="#flow-content">Flow content</a></li>
+   <li><a href="#sectioning-content">Sectioning content</a></li>
+   <li><a href="#heading-content">Heading content</a></li>
+   <li><a href="#phrasing-content">Phrasing content</a></li>
+   <li><a href="#embedded-content">Embedded content</a></li>
+   <li><a href="#interactive-content">Interactive content</a></li>
+  </ul><p class="note">Some elements also fall into other categories, which
+  are defined in other parts of this specification.</p><p>These categories are related as follows:</p><p><object data="images/content-venn.svg" height="288" width="512"><img alt="Sectioning content, heading content, phrasing content, and
+  embedded content are all types of flow content. Embedded content is
+  also a type of phrasing content." src="images/content-venn.png"></object></p><p>In addition, certain elements are categorized as <a href="forms.html#form-associated-element" title="form-associated element">form-associated elements</a> and
+  further subcategorized to define their role in various form-related
+  processing models.</p><p>Some elements have unique requirements and do not fit into any
+  particular category.</p><h6 id="metadata-content-0"><span class="secno">3.2.5.1.1 </span>Metadata content</h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p><dfn id="metadata-content">Metadata content</dfn> is content that sets up the
+  presentation or behavior of the rest of the content, or that sets
+  up the relationship of the document with other documents, or that
+  conveys other "out of band" information.</p><ul class="brief category-list"><li><code><a href="semantics.html#the-base-element">base</a></code></li>
+   <li><code><a href="interactive-elements.html#the-command">command</a></code></li>
+   <li><code><a href="semantics.html#the-link-element">link</a></code></li>
+   <li><code><a href="semantics.html#meta">meta</a></code></li>
+   <li><code><a href="scripting-1.html#the-noscript-element">noscript</a></code></li>
+   <li><code><a href="scripting-1.html#script">script</a></code></li>
+   <li><code><a href="semantics.html#the-style-element">style</a></code></li>
+   <li><code><a href="semantics.html#the-title-element-0">title</a></code></li>
+  </ul><p>Elements from other namespaces whose semantics are primarily
+  metadata-related (e.g. RDF) are also <a href="#metadata-content">metadata
+  content</a>.</p><div class="example">
+
+   <p>Thus, in the XML serialization, one can use RDF, like this:</p>
+
+   <pre>&lt;html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:r="http://www.w3.org/1999/02/22-rdf-syntax-ns#"&gt;
+ &lt;head&gt;
+  &lt;title&gt;Hedral's Home Page&lt;/title&gt;
+  &lt;r:RDF&gt;
+   &lt;Person xmlns="http://www.w3.org/2000/10/swap/pim/contact#"
+           r:about="http://hedral.example.com/#"&gt;
+    &lt;fullName&gt;Cat Hedral&lt;/fullName&gt;
+    &lt;mailbox r:resource="mailto:hedral@damowmow.com"/&gt;
+    &lt;personalTitle&gt;Sir&lt;/personalTitle&gt;
+   &lt;/Person&gt;
+  &lt;/r:RDF&gt;
+ &lt;/head&gt;
+ &lt;body&gt;
+  &lt;h1&gt;My home page&lt;/h1&gt;
+  &lt;p&gt;I like playing with string, I guess. Sister says squirrels are fun
+  too so sometimes I follow her to play with them.&lt;/p&gt;
+ &lt;/body&gt;
+&lt;/html&gt;</pre>
+
+   <p>This isn't possible in the HTML serialization, however.</p>
+
+  </div><h6 id="flow-content-0"><span class="secno">3.2.5.1.2 </span>Flow content</h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>Most elements that are used in the body of documents and
+  applications are categorized as <dfn id="flow-content">flow content</dfn>.</p><ul class="brief category-list"><li><code><a href="text-level-semantics.html#the-a-element">a</a></code></li>
+   <li><code><a href="text-level-semantics.html#the-abbr-element">abbr</a></code></li>
+   <li><code><a href="sections.html#the-address-element">address</a></code></li>
+   <li><code><a href="the-map-element.html#the-area-element">area</a></code> (if it is a descendant of a <code><a href="the-map-element.html#the-map-element">map</a></code> element)</li>
+   <li><code><a href="sections.html#the-article-element">article</a></code></li>
+   <li><code><a href="sections.html#the-aside-element">aside</a></code></li>
+   <li><code><a href="video.html#audio">audio</a></code></li>
+   <li><code><a href="text-level-semantics.html#the-b-element">b</a></code></li>
+   <li><code><a href="text-level-semantics.html#the-bdo-element">bdo</a></code></li>
+   <li><code><a href="grouping-content.html#the-blockquote-element">blockquote</a></code></li>
+   <li><code><a href="grouping-content.html#the-br-element">br</a></code></li>
+   <li><code><a href="the-button-element.html#the-button-element">button</a></code></li>
+   <li><code><a href="the-canvas-element.html#the-canvas-element">canvas</a></code></li>
+   <li><code><a href="text-level-semantics.html#the-cite-element">cite</a></code></li>
+   <li><code><a href="text-level-semantics.html#the-code-element">code</a></code></li>
+   <li><code><a href="interactive-elements.html#the-command">command</a></code></li>
+<!-- v2DATAGRID   <li><code>datagrid</code></li> -->
+   <li><code><a href="the-button-element.html#the-datalist-element">datalist</a></code></li>
+   <li><code><a href="edits.html#the-del-element">del</a></code></li>
+   <li><code><a href="interactive-elements.html#the-details-element">details</a></code></li>
+   <li><code><a href="text-level-semantics.html#the-dfn-element">dfn</a></code></li>
+   <li><code><a href="grouping-content.html#the-div-element">div</a></code></li>
+   <li><code><a href="grouping-content.html#the-dl-element">dl</a></code></li>
+   <li><code><a href="text-level-semantics.html#the-em-element">em</a></code></li>
+   <li><code><a href="the-iframe-element.html#the-embed-element">embed</a></code></li>
+   <li><code><a href="forms.html#the-fieldset-element">fieldset</a></code></li>
+   <li><code><a href="embedded-content-1.html#the-figure-element">figure</a></code></li>
+   <li><code><a href="sections.html#the-footer-element">footer</a></code></li>
+   <li><code><a href="forms.html#the-form-element">form</a></code></li>
+   <li><code><a href="sections.html#the-h1-h2-h3-h4-h5-and-h6-elements">h1</a></code></li>
+   <li><code><a href="sections.html#the-h1-h2-h3-h4-h5-and-h6-elements">h2</a></code></li>
+   <li><code><a href="sections.html#the-h1-h2-h3-h4-h5-and-h6-elements">h3</a></code></li>
+   <li><code><a href="sections.html#the-h1-h2-h3-h4-h5-and-h6-elements">h4</a></code></li>
+   <li><code><a href="sections.html#the-h1-h2-h3-h4-h5-and-h6-elements">h5</a></code></li>
+   <li><code><a href="sections.html#the-h1-h2-h3-h4-h5-and-h6-elements">h6</a></code></li>
+   <li><code><a href="sections.html#the-header-element">header</a></code></li>
+   <li><code><a href="sections.html#the-hgroup-element">hgroup</a></code></li>
+   <li><code><a href="grouping-content.html#the-hr-element">hr</a></code></li>
+   <li><code><a href="text-level-semantics.html#the-i-element">i</a></code></li>
+   <li><code><a href="the-iframe-element.html#the-iframe-element">iframe</a></code></li>
+   <li><code><a href="embedded-content-1.html#the-img-element">img</a></code></li>
+   <li><code><a href="the-input-element.html#the-input-element">input</a></code></li>
+   <li><code><a href="edits.html#the-ins-element">ins</a></code></li>
+   <li><code><a href="text-level-semantics.html#the-kbd-element">kbd</a></code></li>
+   <li><code><a href="the-button-element.html#the-keygen-element">keygen</a></code></li>
+   <li><code><a href="forms.html#the-label-element">label</a></code></li>
+   <li><code><a href="semantics.html#the-link-element">link</a></code> (if the <code title="attr-itemprop"><a href="microdata.html#names:-the-itemprop-attribute">itemprop</a></code> attribute is present)</li>
+   <li><code><a href="the-map-element.html#the-map-element">map</a></code></li>
+   <li><code><a href="text-level-semantics.html#the-mark-element">mark</a></code></li>
+   <li><code><a href="the-map-element.html#math">math</a></code></li>
+   <li><code><a href="interactive-elements.html#menus">menu</a></code></li>
+   <li><code><a href="semantics.html#meta">meta</a></code> (if the <code title="attr-itemprop"><a href="microdata.html#names:-the-itemprop-attribute">itemprop</a></code> attribute is present)</li>
+   <li><code><a href="text-level-semantics.html#the-meter-element">meter</a></code></li>
+   <li><code><a href="sections.html#the-nav-element">nav</a></code></li>
+   <li><code><a href="scripting-1.html#the-noscript-element">noscript</a></code></li>
+   <li><code><a href="the-iframe-element.html#the-object-element">object</a></code></li>
+   <li><code><a href="grouping-content.html#the-ol-element">ol</a></code></li>
+   <li><code><a href="the-button-element.html#the-output-element">output</a></code></li>
+   <li><code><a href="grouping-content.html#the-p-element">p</a></code></li>
+   <li><code><a href="grouping-content.html#the-pre-element">pre</a></code></li>
+   <li><code><a href="text-level-semantics.html#the-progress-element">progress</a></code></li>
+   <li><code><a href="text-level-semantics.html#the-q-element">q</a></code></li>
+   <li><code><a href="text-level-semantics.html#the-ruby-element">ruby</a></code></li>
+   <li><code><a href="text-level-semantics.html#the-samp-element">samp</a></code></li>
+   <li><code><a href="scripting-1.html#script">script</a></code></li>
+   <li><code><a href="sections.html#the-section-element">section</a></code></li>
+   <li><code><a href="the-button-element.html#the-select-element">select</a></code></li>
+   <li><code><a href="text-level-semantics.html#the-small-element">small</a></code></li>
+   <li><code><a href="text-level-semantics.html#the-span-element">span</a></code></li>
+   <li><code><a href="text-level-semantics.html#the-strong-element">strong</a></code></li>
+   <li><code><a href="semantics.html#the-style-element">style</a></code> (if the <code title="attr-style-scoped"><a href="semantics.html#attr-style-scoped">scoped</a></code> attribute is present)</li>
+   <li><code><a href="text-level-semantics.html#the-sub-and-sup-elements">sub</a></code></li>
+   <li><code><a href="text-level-semantics.html#the-sub-and-sup-elements">sup</a></code></li>
+   <li><code><a href="the-map-element.html#svg">svg</a></code></li>
+   <li><code><a href="tabular-data.html#the-table-element">table</a></code></li>
+   <li><code><a href="the-button-element.html#the-textarea-element">textarea</a></code></li>
+   <li><code><a href="text-level-semantics.html#the-time-element">time</a></code></li>
+   <li><code><a href="grouping-content.html#the-ul-element">ul</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="#flow-content">flow 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">embedded content</a>. For the purposes of this requirement,
+  <code><a href="edits.html#the-del-element">del</a></code> elements and their descendants must not be counted
+  as contributing to the ancestors of the <code><a href="edits.html#the-del-element">del</a></code>
+  element.</p><p>This requirement is not a hard requirement, however, as there are
+  many cases where an element can be empty legitimately, for example
+  when it is used as a placeholder which will later be filled in by a
+  script, or when the element is part of a template and would on most
+  pages be filled in but on some pages is not relevant.</p><h6 id="sectioning-content-0"><span class="secno">3.2.5.1.3 </span>Sectioning content</h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p><dfn id="sectioning-content">Sectioning content</dfn> is content that defines the scope
+  of <a href="#heading-content" title="heading content">headings</a> and <a href="sections.html#the-footer-element" title="footer">footers</a>.</p><ul class="brief category-list"><li><code><a href="sections.html#the-article-element">article</a></code></li>
+   <li><code><a href="sections.html#the-aside-element">aside</a></code></li>
+   <li><code><a href="sections.html#the-nav-element">nav</a></code></li>
+   <li><code><a href="sections.html#the-section-element">section</a></code></li>
+  </ul><p>Each <a href="#sectioning-content">sectioning content</a> element potentially has a
+  heading and an <a href="sections.html#outline">outline</a>. See the section on
+  <a href="sections.html#headings-and-sections">headings and sections</a> for further details.</p><p class="note">There are also certain elements that are <a href="sections.html#sectioning-root" title="sectioning root">sectioning roots</a>. These are distinct
+  from <a href="#sectioning-content">sectioning content</a>, but they can also have an
+  <a href="sections.html#outline">outline</a>.</p><h6 id="heading-content-0"><span class="secno">3.2.5.1.4 </span>Heading content</h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p><dfn id="heading-content">Heading content</dfn> defines the header of a section
+  (whether explicitly marked up using <a href="#sectioning-content">sectioning content</a>
+  elements, or implied by the heading content itself).</p><ul class="brief category-list"><li><code><a href="sections.html#the-h1-h2-h3-h4-h5-and-h6-elements">h1</a></code></li>
+   <li><code><a href="sections.html#the-h1-h2-h3-h4-h5-and-h6-elements">h2</a></code></li>
+   <li><code><a href="sections.html#the-h1-h2-h3-h4-h5-and-h6-elements">h3</a></code></li>
+   <li><code><a href="sections.html#the-h1-h2-h3-h4-h5-and-h6-elements">h4</a></code></li>
+   <li><code><a href="sections.html#the-h1-h2-h3-h4-h5-and-h6-elements">h5</a></code></li>
+   <li><code><a href="sections.html#the-h1-h2-h3-h4-h5-and-h6-elements">h6</a></code></li>
+   <li><code><a href="sections.html#the-hgroup-element">hgroup</a></code></li>
+  </ul><h6 id="phrasing-content-0"><span class="secno">3.2.5.1.5 </span>Phrasing content</h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p><dfn id="phrasing-content">Phrasing content</dfn> is the text of the document, as well
+  as elements that mark up that text at the intra-paragraph
+  level. Runs of <a href="#phrasing-content">phrasing content</a> form <a href="#paragraph" title="paragraph">paragraphs</a>.</p><ul class="brief category-list"><li><code><a href="text-level-semantics.html#the-a-element">a</a></code> (if it contains only <a href="#phrasing-content">phrasing content</a>)</li>
+   <li><code><a href="text-level-semantics.html#the-abbr-element">abbr</a></code></li>
+   <li><code><a href="the-map-element.html#the-area-element">area</a></code> (if it is a descendant of a <code><a href="the-map-element.html#the-map-element">map</a></code> element)</li>
+   <li><code><a href="video.html#audio">audio</a></code></li>
+   <li><code><a href="text-level-semantics.html#the-b-element">b</a></code></li>
+   <li><code><a href="text-level-semantics.html#the-bdo-element">bdo</a></code></li>
+   <li><code><a href="grouping-content.html#the-br-element">br</a></code></li>
+   <li><code><a href="the-button-element.html#the-button-element">button</a></code></li>
+   <li><code><a href="the-canvas-element.html#the-canvas-element">canvas</a></code></li>
+   <li><code><a href="text-level-semantics.html#the-cite-element">cite</a></code></li>
+   <li><code><a href="text-level-semantics.html#the-code-element">code</a></code></li>
+   <li><code><a href="interactive-elements.html#the-command">command</a></code></li>
+   <li><code><a href="the-button-element.html#the-datalist-element">datalist</a></code></li>
+   <li><code><a href="edits.html#the-del-element">del</a></code> (if it contains only <a href="#phrasing-content">phrasing content</a>)</li>
+   <li><code><a href="text-level-semantics.html#the-dfn-element">dfn</a></code></li>
+   <li><code><a href="text-level-semantics.html#the-em-element">em</a></code></li>
+   <li><code><a href="the-iframe-element.html#the-embed-element">embed</a></code></li>
+   <li><code><a href="text-level-semantics.html#the-i-element">i</a></code></li>
+   <li><code><a href="the-iframe-element.html#the-iframe-element">iframe</a></code></li>
+   <li><code><a href="embedded-content-1.html#the-img-element">img</a></code></li>
+   <li><code><a href="the-input-element.html#the-input-element">input</a></code></li>
+   <li><code><a href="edits.html#the-ins-element">ins</a></code> (if it contains only <a href="#phrasing-content">phrasing content</a>)</li>
+   <li><code><a href="text-level-semantics.html#the-kbd-element">kbd</a></code></li>
+   <li><code><a href="the-button-element.html#the-keygen-element">keygen</a></code></li>
+   <li><code><a href="forms.html#the-label-element">label</a></code></li>
+   <li><code><a href="semantics.html#the-link-element">link</a></code> (if the <code title="attr-itemprop"><a href="microdata.html#names:-the-itemprop-attribute">itemprop</a></code> attribute is present)</li>
+   <li><code><a href="the-map-element.html#the-map-element">map</a></code> (if it contains only <a href="#phrasing-content">phrasing content</a>)</li>
+   <li><code><a href="text-level-semantics.html#the-mark-element">mark</a></code></li>
+   <li><code><a href="the-map-element.html#math">math</a></code></li>
+   <li><code><a href="semantics.html#meta">meta</a></code> (if the <code title="attr-itemprop"><a href="microdata.html#names:-the-itemprop-attribute">itemprop</a></code> attribute is present)</li>
+   <li><code><a href="text-level-semantics.html#the-meter-element">meter</a></code></li>
+   <li><code><a href="scripting-1.html#the-noscript-element">noscript</a></code></li>
+   <li><code><a href="the-iframe-element.html#the-object-element">object</a></code></li>
+   <li><code><a href="the-button-element.html#the-output-element">output</a></code></li>
+   <li><code><a href="text-level-semantics.html#the-progress-element">progress</a></code></li>
+   <li><code><a href="text-level-semantics.html#the-q-element">q</a></code></li>
+   <li><code><a href="text-level-semantics.html#the-ruby-element">ruby</a></code></li>
+   <li><code><a href="text-level-semantics.html#the-samp-element">samp</a></code></li>
+   <li><code><a href="scripting-1.html#script">script</a></code></li>
+   <li><code><a href="the-button-element.html#the-select-element">select</a></code></li>
+   <li><code><a href="text-level-semantics.html#the-small-element">small</a></code></li>
+   <li><code><a href="text-level-semantics.html#the-span-element">span</a></code></li>
+   <li><code><a href="text-level-semantics.html#the-strong-element">strong</a></code></li>
+   <li><code><a href="text-level-semantics.html#the-sub-and-sup-elements">sub</a></code></li>
+   <li><code><a href="text-level-semantics.html#the-sub-and-sup-elements">sup</a></code></li>
+   <li><code><a href="the-map-element.html#svg">svg</a></code></li>
+   <li><code><a href="the-button-element.html#the-textarea-element">textarea</a></code></li>
+   <li><code><a href="text-level-semantics.html#the-time-element">time</a></code></li>
+   <li><code><a href="text-level-semantics.html#the-var-element">var</a></code></li>
+   <li><code><a href="video.html#video">video</a></code></li>
+   <li><a href="#text-content" title="text content">Text</a></li>
+  </ul><p>As a general rule, elements whose content model allows any
+  <a href="#phrasing-content">phrasing content</a> should have either at least one
+  descendant <a href="infrastructure.html#text-node">text node</a> that is not <a href="#inter-element-whitespace">inter-element
+  whitespace</a>, or at least one descendant element node that is
+  <a href="#embedded-content">embedded content</a>. For the purposes of this requirement,
+  nodes that are descendants of <code><a href="edits.html#the-del-element">del</a></code> elements must not be
+  counted as contributing to the ancestors of the <code><a href="edits.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><h6 id="embedded-content-0"><span class="secno">3.2.5.1.6 </span>Embedded content</h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p><dfn id="embedded-content">Embedded content</dfn> is content that imports another
+  resource into the document, or content from another vocabulary that
+  is inserted into the document.</p><ul class="brief category-list"><li><code><a href="video.html#audio">audio</a></code></li>
+   <li><code><a href="the-canvas-element.html#the-canvas-element">canvas</a></code></li>
+   <li><code><a href="the-iframe-element.html#the-embed-element">embed</a></code></li>
+   <li><code><a href="the-iframe-element.html#the-iframe-element">iframe</a></code></li>
+   <li><code><a href="embedded-content-1.html#the-img-element">img</a></code></li>
+   <li><code><a href="the-map-element.html#math">math</a></code></li>
+   <li><code><a href="the-iframe-element.html#the-object-element">object</a></code></li>
+   <li><code><a href="the-map-element.html#svg">svg</a></code></li>
+   <li><code><a href="video.html#video">video</a></code></li>
+  </ul><p>Elements that are from namespaces other than the <a href="#html-namespace-0">HTML
+  namespace</a> and that convey content but not metadata, are
+  <a href="#embedded-content">embedded content</a> for the purposes of the content models
+  defined in this specification. (For example, MathML, or SVG.)</p><p>Some embedded content elements can have <dfn id="fallback-content">fallback
+  content</dfn>: content that is to be used when the external resource
+  cannot be used (e.g. because it is of an unsupported format). The
+  element definitions state what the fallback is, if any.</p><h6 id="interactive-content-0"><span class="secno">3.2.5.1.7 </span>Interactive content</h6><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%3Cp%20tabindex%3D1%3Etest%20%3Ca%20href%3D%22%22%3E%20%3Cem%3Etest%3C/em%3E%20%3C/a%3E%0A%3Cscript%3E%0A%20function%20test%20%28e%29%20%7B%20w%28e.type%20+%20%27%20on%20%27%20+%20e.target.tagName%20+%20%27%20through%20%27%20+%20e.currentTarget.tagName%29%3B%20%7D%0A%20document.getElementsByTagName%28%27a%27%29%5B0%5D.addEventListener%28%27click%27%2C%20test%2C%20false%29%3B%0A%20document.getElementsByTagName%28%27a%27%29%5B0%5D.addEventListener%28%27DOMActivate%27%2C%20test%2C%20false%29%3B%0A%20document.getElementsByTagName%28%27p%27%29%5B0%5D.addEventListener%28%27click%27%2C%20test%2C%20false%29%3B%0A%20document.getElementsByTagName%28%27p%27%29%5B0%5D.addEventListener%28%27DOMActivate%27%2C%20test%2C%20false%29%3B%0A%3C/script%3E%0A
+http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%0A%3Ca%20href%3Dhttp%3A//google.com/%20target%3Da%3EA%3C/a%3E%3Ca%20href%3Dhttp%3A//yahoo.com/%20target%3Db%3EB%3C/a%3E%3Cbr%3E%0A%3Ciframe%20name%3Da%3E%3C/iframe%3E%3Ciframe%20name%3Db%3E%3C/iframe%3E%0A%3Cscript%3E%0A%20var%20a%20%3D%20document.getElementsByTagName%28%27a%27%29%5B0%5D%3B%0A%20var%20b%20%3D%20document.getElementsByTagName%28%27a%27%29%5B1%5D%3B%0A%20a.appendChild%28b%29%3B%0A%3C/script%3E
+http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%0A%3Cform%20action%3D%22http%3A//google.com/%22%20onsubmit%3D%22w%28%27onsubmit%27%29%22%3E%3Cem%3EA%3C/em%3E%3C/form%3E%0A%3Cscript%3E%0Adocument.getElementsByTagName%28%27form%27%29%5B0%5D.attachEvent%28%27onsubmit%27%2C%20function%20%28%29%20%7B%20w%28%27submit%20fired%27%29%20%7D%29%3B%0Adocument.getElementsByTagName%28%27form%27%29%5B0%5D.fireEvent%28%27onsubmit%27%29%3B%0A%3C/script%3E
+http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%0A%3Cform%20action%3D%22http%3A//google.com/%22%3EX%3C/form%3E%0A%3Cscript%3E%0Avar%20evt%20%3D%20document.createEvent%28%22Events%22%29%3B%0Aevt.initEvent%28%22submit%22%2C%20true%2C%20true%29%3B%0Adocument.getElementsByTagName%28%27form%27%29%5B0%5D.dispatchEvent%28evt%29%3B%0A%3C/script%3E
+--><p><dfn id="interactive-content">Interactive content</dfn> is content that is specifically
+  intended for user interaction.</p><ul class="brief category-list"><li><code><a href="text-level-semantics.html#the-a-element">a</a></code></li>
+   <li><code><a href="video.html#audio">audio</a></code> (if the <code title="attr-media-controls"><a href="video.html#attr-media-controls">controls</a></code> attribute is present)</li>
+   <li><code><a href="the-button-element.html#the-button-element">button</a></code></li>
+<!-- v2DATAGRID   <li><code>datagrid</code></li> -->
+   <li><code><a href="interactive-elements.html#the-details-element">details</a></code></li>
+   <li><code><a href="the-iframe-element.html#the-embed-element">embed</a></code></li>
+   <li><code><a href="the-iframe-element.html#the-iframe-element">iframe</a></code></li>
+   <li><code><a href="embedded-content-1.html#the-img-element">img</a></code> (if the <code title="attr-hyperlink-usemap"><a href="the-map-element.html#attr-hyperlink-usemap">usemap</a></code> attribute is present)</li>
+   <li><code><a href="the-input-element.html#the-input-element">input</a></code> (if the <code title="attr-input-type"><a href="the-input-element.html#attr-input-type">type</a></code> attribute is <em>not</em> in the <a href="states-of-the-type-attribute.html#hidden-state" title="attr-input-type-hidden">Hidden</a> state)</li>
+   <li><code><a href="the-button-element.html#the-keygen-element">keygen</a></code></li>
+   <li><code><a href="forms.html#the-label-element">label</a></code></li>
+   <li><code><a href="interactive-elements.html#menus">menu</a></code> (if the <code title="attr-menu-type"><a href="interactive-elements.html#attr-menu-type">type</a></code> attribute is in the <a href="interactive-elements.html#toolbar-state" title="toolbar state">toolbar</a> state)</li>
+   <li><code><a href="the-iframe-element.html#the-object-element">object</a></code> (if the <code title="attr-hyperlink-usemap"><a href="the-map-element.html#attr-hyperlink-usemap">usemap</a></code> attribute is present)<!-- see also comment in <object> section --></li>
+   <li><code><a href="the-button-element.html#the-select-element">select</a></code></li>
+   <li><code><a href="the-button-element.html#the-textarea-element">textarea</a></code></li>
+   <li><code><a href="video.html#video">video</a></code> (if the <code title="attr-media-controls"><a href="video.html#attr-media-controls">controls</a></code> attribute is present)</li>
+  </ul><p>Certain elements in HTML have an <a href="#activation-behavior">activation
+  behavior</a>, which means that the user can activate them. This
+  triggers a sequence of events dependent on the activation mechanism,
+  and normally culminating in a <code title="event-click">click</code>
+  event followed by a <code title="event-DOMActivate">DOMActivate</code> event.</p><h5 id="transparent-content-models"><span class="secno">3.2.5.2 </span>Transparent content models</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>Some elements are described as <dfn id="transparent">transparent</dfn>; they have
+  "transparent" in the description of their content model.</p><p>When a content model includes a part that is "transparent", those
+  parts must not contain content that would not be conformant if all
+  transparent elements in the tree were replaced, in their parent
+  element, by the children in the "transparent" part of their content
+  model, retaining order.</p><div class="example">
+
+   <p>Consider the following markup fragment:</p>
+
+   <pre>&lt;p&gt;Hello &lt;a href="world.html"&gt;&lt;em&gt;wonderful&lt;/em&gt; world&lt;/a&gt;!&lt;/p&gt;</pre>
+
+   <p>Its DOM looks like the following:</p>
+
+   <ul class="domTree"><li class="t1"><code><a href="grouping-content.html#the-p-element">p</a></code><ul><li class="t3"><code>#text</code>: <span title="">Hello </span></li><li class="t1"><code><a href="text-level-semantics.html#the-a-element">a</a></code> <span class="t2" title=""><code class="attribute name">href</code>="<code class="attribute value">world.html</code>"</span><ul><li class="t1"><code><a href="text-level-semantics.html#the-em-element">em</a></code><ul><li class="t3"><code>#text</code>: <span title="">wonderful</span></li></ul></li><li class="t3"><code>#text</code>: <span title=""> world</span></li></ul></li><li class="t3"><code>#text</code>: <span title="">!</span></li></ul></li></ul><p>The content model of the <code><a href="text-level-semantics.html#the-a-element">a</a></code> element is
+   <a href="#transparent">transparent</a>. To see if its contents are conforming,
+   therefore, the element is replaced by its contents:</p>
+
+   <ul class="domTree"><li class="t1"><code><a href="grouping-content.html#the-p-element">p</a></code><ul><li class="t3"><code>#text</code>: <span title="">Hello </span></li><li class="t1"><code><a href="text-level-semantics.html#the-em-element">em</a></code><ul><li class="t3"><code>#text</code>: <span title="">wonderful</span></li></ul></li><li class="t3"><code>#text</code>: <span title=""> world</span></li><li class="t3"><code>#text</code>: <span title="">!</span></li></ul></li></ul><p>Since that is conforming, the contents of the <code><a href="text-level-semantics.html#the-a-element">a</a></code> are
+   conforming in the original fragment.</p>
+
+  </div><p>When a transparent element has no parent, then the part of its
+  content model that is "transparent" must instead be treated as
+  accepting any <a href="#flow-content">flow content</a>.</p><h5 id="paragraphs"><span class="secno">3.2.5.3 </span>Paragraphs</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p class="note">The term <a href="#paragraph">paragraph</a> as defined in this
+  section is distinct from (though related to) the <code><a href="grouping-content.html#the-p-element">p</a></code>
+  element defined later. The <a href="#paragraph">paragraph</a> concept defined
+  here is used to describe how to interpret documents.</p><p>A <dfn id="paragraph">paragraph</dfn> is typically a run of <a href="#phrasing-content">phrasing
+  content</a> that forms a block of text with one or more sentences
+  that discuss a particular topic, as in typography, but can also be
+  used for more general thematic grouping. For instance, an address is
+  also a paragraph, as is a part of a form, a byline, or a stanza in a
+  poem.</p><div class="example">
+
+   <p>In the following example, there are two paragraphs in a
+   section. There is also a heading, which contains phrasing content
+   that is not a paragraph. Note how the comments and
+   <a href="#inter-element-whitespace">inter-element whitespace</a> do not form paragraphs.</p>
+
+   <pre>&lt;section&gt;
+  &lt;h1&gt;Example of paragraphs&lt;/h1&gt;
+  This is the &lt;em&gt;first&lt;/em&gt; paragraph in this example.
+  &lt;p&gt;This is the second.&lt;/p&gt;
+  &lt;!-- This is not a paragraph. --&gt;
+&lt;/section&gt;</pre>
+
+  </div><p>Paragraphs in <a href="#flow-content">flow content</a> are defined relative to
+  what the document looks like without the <code><a href="text-level-semantics.html#the-a-element">a</a></code>,
+  <code><a href="edits.html#the-ins-element">ins</a></code>, <code><a href="edits.html#the-del-element">del</a></code>, and <code><a href="the-map-element.html#the-map-element">map</a></code> elements
+  complicating matters, since those elements, with their hybrid
+  content models, can straddle paragraph boundaries, as shown in the
+  first two examples below.</p><p class="note">Generally, having elements straddle paragraph
+  boundaries is best avoided. Maintaining such markup can be
+  difficult.</p><div class="example">
+
+   <p>The following example takes the markup from the earlier example
+   and puts <code><a href="edits.html#the-ins-element">ins</a></code> and <code><a href="edits.html#the-del-element">del</a></code> elements around some
+   of the markup to show that the text was changed (though in this
+   case, the changes admittedly don't make much sense). Notice how
+   this example has exactly the same paragraphs as the previous one,
+   despite the <code><a href="edits.html#the-ins-element">ins</a></code> and <code><a href="edits.html#the-del-element">del</a></code> elements &#8212;
+   the <code><a href="edits.html#the-ins-element">ins</a></code> element straddles the heading and the first
+   paragraph, and the <code><a href="edits.html#the-del-element">del</a></code> element straddles the boundary
+   between the two paragraphs.</p>
+
+   <pre>&lt;section&gt;
+  &lt;ins&gt;&lt;h1&gt;Example of paragraphs&lt;/h1&gt;
+  This is the &lt;em&gt;first&lt;/em&gt; paragraph in&lt;/ins&gt; this example&lt;del&gt;.
+  &lt;p&gt;This is the second.&lt;/p&gt;&lt;/del&gt;
+  &lt;!-- This is not a paragraph. --&gt;
+&lt;/section&gt;</pre>
+
+  </div><p>A <a href="#paragraph">paragraph</a> is also formed explicitly by
+  <code><a href="grouping-content.html#the-p-element">p</a></code> elements.</p><p class="note">The <code><a href="grouping-content.html#the-p-element">p</a></code> element can be used to wrap
+  individual paragraphs when there would otherwise not be any content
+  other than phrasing content to separate the paragraphs from each
+  other.</p><div class="example">
+
+   <p>In the following example, the link spans half of the first
+   paragraph, all of the heading separating the two paragraphs, and
+   half of the second paragraph. It straddles the paragraphs and the
+   heading.</p>
+
+   <pre>&lt;aside&gt;
+ Welcome!
+ &lt;a href="about.html"&gt;
+  This is home of...
+  &lt;h1&gt;The Falcons!&lt;/h1&gt;
+  The Lockheed Martin multirole jet fighter aircraft!
+ &lt;/a&gt;
+ This page discusses the F-16 Fighting Falcon's innermost secrets.
+&lt;/aside&gt;</pre>
+
+   <p>Here is another way of marking this up, this time showing the
+   paragraphs explicitly, and splitting the one link element into
+   three:</p>
+
+   <pre>&lt;aside&gt;
+ &lt;p&gt;Welcome! &lt;a href="about.html"&gt;This is home of...&lt;/a&gt;&lt;/p&gt;
+ &lt;h1&gt;&lt;a href="about.html"&gt;The Falcons!&lt;/a&gt;&lt;/h1&gt;
+ &lt;p&gt;&lt;a href="about.html"&gt;The Lockheed Martin multirole jet
+ fighter aircraft!&lt;/a&gt; This page discusses the F-16 Fighting
+ Falcon's innermost secrets.&lt;/p&gt;
+&lt;/aside&gt;</pre>
+
+  </div><div class="example">
+
+   <!-- I don't know if there's a better way to deal with this, but if
+   there is, let me know... -->
+
+   <p>It is possible for paragraphs to overlap when using certain
+   elements that define fallback content. For example, in the
+   following section:</p>
+
+   <pre>&lt;section&gt;
+ &lt;h1&gt;My Cats&lt;/h1&gt;
+ You can play with my cat simulator.
+ &lt;object data="cats.sim"&gt;
+  To see the cat simulator, use one of the following links:
+  &lt;ul&gt;
+   &lt;li&gt;&lt;a href="cats.sim"&gt;Download simulator file&lt;/a&gt;
+   &lt;li&gt;&lt;a href="http://sims.example.com/watch?v=LYds5xY4INU"&gt;Use online simulator&lt;/a&gt;
+  &lt;/ul&gt;
+  Alternatively, upgrade to the Mellblom Browser.
+ &lt;/object&gt;
+ I'm quite proud of it.
+&lt;/section&gt;</pre>
+
+   <p>There are five paragraphs:</p>
+
+   <ol class="brief"><li>The paragraph that says "You can play with my cat
+    simulator. <i title="">object</i> I'm quite proud of it.", where
+    <i title="">object</i> is the <code><a href="the-iframe-element.html#the-object-element">object</a></code> element.</li>
+
+    <li>The paragraph that says "To see the cat simulator, use one of
+    the following links:".</li>
+
+    <li>The paragraph that says "Download simulator file".</li>
+
+    <li>The paragraph that says "Use online simulator".</li>
+
+    <li>The paragraph that says "Alternatively, upgrade to the Mellblom Browser.".</li>
+
+   </ol><p>The first paragraph is overlapped by the other four. A user
+   agent that supports the "cats.sim" resource will only show the
+   first one, but a user agent that shows the fallback will
+   confusingly show the first sentence of the first paragraph as
+   if it was in the same paragraph as the second one, and will show
+   the last paragraph as if it was at the start of the second sentence
+   of the first paragraph.</p>
+
+   <p>To avoid this confusion, explicit <code><a href="grouping-content.html#the-p-element">p</a></code> elements can be
+   used.</p>
+
+  </div><h4 id="annotations-for-assistive-technology-products-aria"><span class="secno">3.2.6 </span><dfn>Annotations for assistive technology products</dfn> (ARIA)</h4><p>Authors may use the ARIA <code title="attr-aria-role">role</code>
+  and <code title="attr-aria-*">aria-*</code> attributes on <a href="infrastructure.html#html-elements">HTML
+  elements</a>, in accordance with the requirements described in
+  the ARIA specifications, except where these conflict with the
+  <span>strong native semantics</span> described below. These
+  exceptions are intended to prevent authors from making assistive
+  technology products report nonsensical states that do not represent
+  the actual state of the document. <a href="references.html#refsARIA">[ARIA]</a></p><p>The following table defines the <span>strong native
+  semantics</span>  that apply to <a href="infrastructure.html#html-elements">HTML
+  elements</a>. Each language feature (element or attribute) in a
+  cell in the first column implies the ARIA semantics (role, states,
+  and/or properties) given in the cell in the second column of the
+  same row. Authors must not set the ARIA <code title="attr-aria-role">role</code> and <code title="attr-aria-*">aria-*</code> attributes in a manner that
+  conflicts with the semantics described in the following table. </p><table><thead><tr><th>Language feature
+     </th><th>Strong native semantics and implied ARIA semantics</th></tr></thead><tbody><tr><td><code><a href="text-level-semantics.html#the-a-element">a</a></code> element that represents a <a href="links.html#hyperlink">hyperlink</a>
+     </td><td><code title="attr-aria-role-link">link</code> role
+
+    </td></tr><tr><td><code><a href="sections.html#the-address-element">address</a></code> element
+     </td><td><code title="attr-aria-role-contentinfo">contentinfo</code> role
+
+    </td></tr><tr><td><code><a href="the-map-element.html#the-area-element">area</a></code> element that represents a <a href="links.html#hyperlink">hyperlink</a>
+     </td><td><code title="attr-aria-role-link">link</code> role
+
+    </td></tr><tr><td><code><a href="the-button-element.html#the-button-element">button</a></code> element
+     </td><td><code title="attr-aria-role-button">button</code> role
+
+    </td></tr><tr><td><code><a href="the-button-element.html#the-datalist-element">datalist</a></code> element
+     </td><td><code title="attr-aria-role-listbox">listbox</code> role, with the <code title="attr-aria-multiselectable">aria-multiselectable</code> property set to "false"
+
+    </td></tr><tr><td><code><a href="sections.html#the-footer-element">footer</a></code> element
+     </td><td><code title="attr-aria-role-contentinfo">contentinfo</code> role
+
+    </td></tr><tr><td><code><a href="sections.html#the-h1-h2-h3-h4-h5-and-h6-elements">h1</a></code> element that does not have an <code><a href="sections.html#the-hgroup-element">hgroup</a></code> ancestor
+     </td><td><code title="attr-aria-role-heading">heading</code> role, with the <code title="attr-aria-level">aria-level</code> property set to the element's <a href="#outline-depth">outline depth</a>
+
+    </td></tr><tr><td><code><a href="sections.html#the-h1-h2-h3-h4-h5-and-h6-elements">h2</a></code> element that does not have an <code><a href="sections.html#the-hgroup-element">hgroup</a></code> ancestor
+     </td><td><code title="attr-aria-role-heading">heading</code> role, with the <code title="attr-aria-level">aria-level</code> property set to the element's <a href="#outline-depth">outline depth</a>
+
+    </td></tr><tr><td><code><a href="sections.html#the-h1-h2-h3-h4-h5-and-h6-elements">h3</a></code> element that does not have an <code><a href="sections.html#the-hgroup-element">hgroup</a></code> ancestor
+     </td><td><code title="attr-aria-role-heading">heading</code> role, with the <code title="attr-aria-level">aria-level</code> property set to the element's <a href="#outline-depth">outline depth</a>
+
+    </td></tr><tr><td><code><a href="sections.html#the-h1-h2-h3-h4-h5-and-h6-elements">h4</a></code> element that does not have an <code><a href="sections.html#the-hgroup-element">hgroup</a></code> ancestor
+     </td><td><code title="attr-aria-role-heading">heading</code> role, with the <code title="attr-aria-level">aria-level</code> property set to the element's <a href="#outline-depth">outline depth</a>
+
+    </td></tr><tr><td><code><a href="sections.html#the-h1-h2-h3-h4-h5-and-h6-elements">h5</a></code> element that does not have an <code><a href="sections.html#the-hgroup-element">hgroup</a></code> ancestor
+     </td><td><code title="attr-aria-role-heading">heading</code> role, with the <code title="attr-aria-level">aria-level</code> property set to the element's <a href="#outline-depth">outline depth</a>
+
+    </td></tr><tr><td><code><a href="sections.html#the-h1-h2-h3-h4-h5-and-h6-elements">h6</a></code> element that does not have an <code><a href="sections.html#the-hgroup-element">hgroup</a></code> ancestor
+     </td><td><code title="attr-aria-role-heading">heading</code> role, with the <code title="attr-aria-level">aria-level</code> property set to the element's <a href="#outline-depth">outline depth</a>
+
+    </td></tr><tr><td><code><a href="sections.html#the-hgroup-element">hgroup</a></code> element
+     </td><td><code title="attr-aria-role-heading">heading</code> role, with the <code title="attr-aria-level">aria-level</code> property set to the element's <a href="#outline-depth">outline depth</a>
+
+    </td></tr><tr><td><code><a href="grouping-content.html#the-hr-element">hr</a></code> element
+     </td><td><code title="attr-aria-role-separator">separator</code> role
+
+    </td></tr><tr><td><code><a href="embedded-content-1.html#the-img-element">img</a></code> element whose <code title="attr-img-alt"><a href="embedded-content-1.html#attr-img-alt">alt</a></code> attribute's value is empty
+     </td><td><code title="attr-aria-role-presentation">presentation</code> role
+
+    </td></tr><tr><td><code><a href="the-input-element.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="the-input-element.html#attr-input-type">type</a></code> attribute in the <a href="number-state.html#button-state" title="attr-input-type-button">Button</a> state
+     </td><td><code title="attr-aria-role-button">button</code> role
+
+    </td></tr><tr><td><code><a href="the-input-element.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="the-input-element.html#attr-input-type">type</a></code> attribute in the <a href="number-state.html#checkbox-state" title="attr-input-type-checkbox">Checkbox</a> state
+     </td><td><code title="attr-aria-role-checkbox">checkbox</code> role, with the <code title="attr-aria-checked">aria-checked</code> state set to "mixed" if the element's <code title="dom-input-indeterminate"><a href="#dom-input-indeterminate">indeterminate</a></code> IDL attribute is true, or "true" if the element's <a href="#concept-fe-checked" title="concept-fe-checked">checkedness</a> is true, or "false" otherwise
+
+    </td></tr><tr><td><code><a href="the-input-element.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="the-input-element.html#attr-input-type">type</a></code> attribute in the <a href="number-state.html#color-state" title="attr-input-type-color">Color</a> state
+     </td><td>No role
+
+    </td></tr><tr><td><code><a href="the-input-element.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="the-input-element.html#attr-input-type">type</a></code> attribute in the <a href="states-of-the-type-attribute.html#date-state" title="attr-input-type-date">Date</a> state
+     </td><td>No role, with the <code title="title-aria-readonly">aria-readonly</code> state set to "true" if the element has a <code title="attr-input-readonly"><a href="common-input-element-attributes.html#attr-input-readonly">readonly</a></code> attribute
+
+    </td></tr><tr><td><code><a href="the-input-element.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="the-input-element.html#attr-input-type">type</a></code> attribute in the <a href="states-of-the-type-attribute.html#date-and-time-state" title="attr-input-type-datetime">Date and Time</a> state
+     </td><td>No role, with the <code title="title-aria-readonly">aria-readonly</code> state set to "true" if the element has a <code title="attr-input-readonly"><a href="common-input-element-attributes.html#attr-input-readonly">readonly</a></code> attribute
+
+    </td></tr><tr><td><code><a href="the-input-element.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="the-input-element.html#attr-input-type">type</a></code> attribute in the <a href="states-of-the-type-attribute.html#local-date-and-time-state" title="attr-input-type-datetime-local">Local Date and Time</a> state
+     </td><td>No role, with the <code title="title-aria-readonly">aria-readonly</code> state set to "true" if the element has a <code title="attr-input-readonly"><a href="common-input-element-attributes.html#attr-input-readonly">readonly</a></code> attribute
+
+    </td></tr><tr><td><code><a href="the-input-element.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="the-input-element.html#attr-input-type">type</a></code> attribute in the <a href="states-of-the-type-attribute.html#e-mail-state" title="attr-input-type-email">E-mail</a> state with no <a href="#concept-input-list" title="concept-input-list">suggestions source element</a>
+     </td><td><code title="attr-aria-role-textbox">textbox</code> role, with the <code title="title-aria-readonly">aria-readonly</code> state set to "true" if the element has a <code title="attr-input-readonly"><a href="common-input-element-attributes.html#attr-input-readonly">readonly</a></code> attribute
+
+    </td></tr><tr><td><code><a href="the-input-element.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="the-input-element.html#attr-input-type">type</a></code> attribute in the <a href="number-state.html#file-upload-state" title="attr-input-type-file">File Upload</a> state
+     </td><td><code title="attr-aria-role-button">button</code> role
+
+    </td></tr><tr><td><code><a href="the-input-element.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="the-input-element.html#attr-input-type">type</a></code> attribute in the <a href="states-of-the-type-attribute.html#hidden-state" title="attr-input-type-hidden">Hidden</a> state
+     </td><td>No role
+
+    </td></tr><tr><td><code><a href="the-input-element.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="the-input-element.html#attr-input-type">type</a></code> attribute in the <a href="number-state.html#image-button-state" title="attr-input-type-image">Image Button</a> state
+     </td><td><code title="attr-aria-role-button">button</code> role
+
+    </td></tr><tr><td><code><a href="the-input-element.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="the-input-element.html#attr-input-type">type</a></code> attribute in the <a href="states-of-the-type-attribute.html#month-state" title="attr-input-type-month">Month</a> state
+     </td><td>No role, with the <code title="title-aria-readonly">aria-readonly</code> state set to "true" if the element has a <code title="attr-input-readonly"><a href="common-input-element-attributes.html#attr-input-readonly">readonly</a></code> attribute
+
+    </td></tr><tr><td><code><a href="the-input-element.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="the-input-element.html#attr-input-type">type</a></code> attribute in the <a href="number-state.html#number-state" title="attr-input-type-number">Number</a> state
+     </td><td><code title="attr-aria-role-spinbutton">spinbutton</code> role, with the <code title="title-aria-readonly">aria-readonly</code> state set to "true" if the element has a <code title="attr-input-readonly"><a href="common-input-element-attributes.html#attr-input-readonly">readonly</a></code> attribute, the <code title="attr-aria-valuemax">aria-valuemax</code> property set to the element's <a href="#concept-input-max" title="concept-input-max">maximum</a>, the <code title="attr-aria-valuemin">aria-valuemin</code> property set to the element's <a href="#concept-input-min" title="concept-input-min">minimum</a>, and, if the result of applying the <a href="#rules-for-parsing-floating-point-number-values">rules for parsing floating point number values</a> to the element's <a href="#concept-fe-value" title="concept-fe-value">value</a> is a number, with the <code title="attr-aria-valuenow">aria-valuenow</code> property set to that number
+
+    </td></tr><tr><td><code><a href="the-input-element.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="the-input-element.html#attr-input-type">type</a></code> attribute in the <a href="states-of-the-type-attribute.html#password-state" title="attr-input-type-password">Password</a> state
+     </td><td><code title="attr-aria-role-textbox">textbox</code> role, with the <code title="title-aria-readonly">aria-readonly</code> state set to "true" if the element has a <code title="attr-input-readonly"><a href="common-input-element-attributes.html#attr-input-readonly">readonly</a></code> attribute
+
+    </td></tr><tr><td><code><a href="the-input-element.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="the-input-element.html#attr-input-type">type</a></code> attribute in the <a href="number-state.html#radio-button-state" title="attr-input-type-radio">Radio Button</a> state
+     </td><td><code title="attr-aria-role-radio">radio</code> role, with the <code title="attr-aria-checked">aria-checked</code> state set to "true" if the element's <a href="#concept-fe-checked" title="concept-fe-checked">checkedness</a> is true, or "false" otherwise
+
+    </td></tr><tr><td><code><a href="the-input-element.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="the-input-element.html#attr-input-type">type</a></code> attribute in the <a href="number-state.html#range-state" title="attr-input-type-range">Range</a> state
+     </td><td><code title="attr-aria-role-slider">slider</code> role, with the <code title="attr-aria-valuemax">aria-valuemax</code> property set to the element's <a href="#concept-input-max" title="concept-input-max">maximum</a>, the <code title="attr-aria-valuemin">aria-valuemin</code> property set to the element's <a href="#concept-input-min" title="concept-input-min">minimum</a>, and the <code title="attr-aria-valuenow">aria-valuenow</code> property set to the result of applying the <a href="#rules-for-parsing-floating-point-number-values">rules for parsing floating point number values</a> to the element's <a href="#concept-fe-value" title="concept-fe-value">value</a>, if that that results in a number, or the <a href="number-state.html#concept-input-value-default-range" title="concept-input-value-default-range">default value</a> otherwise
+
+    </td></tr><tr><td><code><a href="the-input-element.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="the-input-element.html#attr-input-type">type</a></code> attribute in the <a href="number-state.html#reset-button-state" title="attr-input-type-reset">Reset Button</a> state
+     </td><td><code title="attr-aria-role-button">button</code> role
+
+    </td></tr><tr><td><code><a href="the-input-element.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="the-input-element.html#attr-input-type">type</a></code> attribute in the <a href="states-of-the-type-attribute.html#text-state-and-search-state" title="attr-input-type-search">Search</a> state with no <a href="#concept-input-list" title="concept-input-list">suggestions source element</a>
+     </td><td><code title="attr-aria-role-textbox">textbox</code> role, with the <code title="title-aria-readonly">aria-readonly</code> state set to "true" if the element has a <code title="attr-input-readonly"><a href="common-input-element-attributes.html#attr-input-readonly">readonly</a></code> attribute
+
+    </td></tr><tr><td><code><a href="the-input-element.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="the-input-element.html#attr-input-type">type</a></code> attribute in the <a href="number-state.html#submit-button-state" title="attr-input-type-submit">Submit Button</a> state
+     </td><td><code title="attr-aria-role-button">button</code> role
+
+    </td></tr><tr><td><code><a href="the-input-element.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="the-input-element.html#attr-input-type">type</a></code> attribute in the <a href="states-of-the-type-attribute.html#telephone-state" title="attr-input-type-tel">Telephone</a> state with no <a href="#concept-input-list" title="concept-input-list">suggestions source element</a>
+     </td><td><code title="attr-aria-role-textbox">textbox</code> role, with the <code title="title-aria-readonly">aria-readonly</code> state set to "true" if the element has a <code title="attr-input-readonly"><a href="common-input-element-attributes.html#attr-input-readonly">readonly</a></code> attribute
+
+    </td></tr><tr><td><code><a href="the-input-element.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="the-input-element.html#attr-input-type">type</a></code> attribute in the <a href="states-of-the-type-attribute.html#text-state-and-search-state" title="attr-input-type-text">Text</a> state with no <a href="#concept-input-list" title="concept-input-list">suggestions source element</a>
+     </td><td><code title="attr-aria-role-textbox">textbox</code> role, with the <code title="title-aria-readonly">aria-readonly</code> state set to "true" if the element has a <code title="attr-input-readonly"><a href="common-input-element-attributes.html#attr-input-readonly">readonly</a></code> attribute
+
+    </td></tr><tr><td><code><a href="the-input-element.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="the-input-element.html#attr-input-type">type</a></code> attribute in the <a href="states-of-the-type-attribute.html#text-state-and-search-state" title="attr-input-type-text">Text</a>, <a href="states-of-the-type-attribute.html#text-state-and-search-state" title="attr-input-type-search">Search</a>, <a href="states-of-the-type-attribute.html#telephone-state" title="attr-input-type-tel">Telephone</a>, <a href="states-of-the-type-attribute.html#url-state" title="attr-input-type-url">URL</a>, or <a href="states-of-the-type-attribute.html#e-mail-state" title="attr-input-type-email">E-mail</a> states with a <a href="#concept-input-list" title="concept-input-list">suggestions source element</a>
+     </td><td><code title="attr-aria-role-combobox">combobox</code> role, with the <code title="attr-aria-owns">aria-owns</code> property set to the same value as the <code title="attr-input-list"><a href="common-input-element-attributes.html#attr-input-list">list</a></code> attribute, and the <code title="title-aria-readonly">aria-readonly</code> state set to "true" if the element has a <code title="attr-input-readonly"><a href="common-input-element-attributes.html#attr-input-readonly">readonly</a></code> attribute
+
+    </td></tr><tr><td><code><a href="the-input-element.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="the-input-element.html#attr-input-type">type</a></code> attribute in the <a href="states-of-the-type-attribute.html#time-state" title="attr-input-type-time">Time</a> state
+     </td><td>No role, with the <code title="title-aria-readonly">aria-readonly</code> state set to "true" if the element has a <code title="attr-input-readonly"><a href="common-input-element-attributes.html#attr-input-readonly">readonly</a></code> attribute
+
+    </td></tr><tr><td><code><a href="the-input-element.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="the-input-element.html#attr-input-type">type</a></code> attribute in the <a href="states-of-the-type-attribute.html#url-state" title="attr-input-type-url">URL</a> state with no <a href="#concept-input-list" title="concept-input-list">suggestions source element</a>
+     </td><td><code title="attr-aria-role-textbox">textbox</code> role, with the <code title="title-aria-readonly">aria-readonly</code> state set to "true" if the element has a <code title="attr-input-readonly"><a href="common-input-element-attributes.html#attr-input-readonly">readonly</a></code> attribute
+
+    </td></tr><tr><td><code><a href="the-input-element.html#the-input-element">input</a></code> element with a <code title="attr-input-type"><a href="the-input-element.html#attr-input-type">type</a></code> attribute in the <a href="states-of-the-type-attribute.html#week-state" title="attr-input-type-week">Week</a> state
+     </td><td>No role, with the <code title="title-aria-readonly">aria-readonly</code> state set to "true" if the element has a <code title="attr-input-readonly"><a href="common-input-element-attributes.html#attr-input-readonly">readonly</a></code> attribute
+
+    </td></tr><tr><td><code><a href="semantics.html#the-link-element">link</a></code> element that represents a <a href="links.html#hyperlink">hyperlink</a>
+     </td><td><code title="attr-aria-role-link">link</code> role
+
+    </td></tr><tr><td><code><a href="interactive-elements.html#menus">menu</a></code> element with a <code title="attr-menu-type"><a href="interactive-elements.html#attr-menu-type">type</a></code> attribute in the <a href="interactive-elements.html#context-menu-state" title="context menu state">context menu</a> state
+     </td><td>No role
+
+    </td></tr><tr><td><code><a href="interactive-elements.html#menus">menu</a></code> element with a <code title="attr-menu-type"><a href="interactive-elements.html#attr-menu-type">type</a></code> attribute in the <a href="interactive-elements.html#list-state" title="list state">list</a> state
+     </td><td><code title="attr-aria-role-menu">menu</code> role
+
+    </td></tr><tr><td><code><a href="interactive-elements.html#menus">menu</a></code> element with a <code title="attr-menu-type"><a href="interactive-elements.html#attr-menu-type">type</a></code> attribute in the <a href="interactive-elements.html#toolbar-state" title="toolbar state">toolbar</a> state
+     </td><td><code title="attr-aria-role-toolbar">toolbar</code> role
+
+    </td></tr><tr><td><code><a href="sections.html#the-nav-element">nav</a></code> element
+     </td><td><code title="attr-aria-role-navigation">navigation</code> role
+
+    </td></tr><tr><td><code><a href="the-button-element.html#the-option-element">option</a></code> element that is in a <a href="the-button-element.html#concept-select-option-list" title="concept-select-option-list">list of options</a> or that represents a suggestion in a <code><a href="the-button-element.html#the-datalist-element">datalist</a></code> element
+     </td><td><code title="attr-aria-role-option">option</code> role, with the <code title="attr-aria-selected">aria-selected</code> state set to "true" if the element's <a href="#concept-option-selectedness" title="concept-option-selectedness">selectedness</a> is true, or "false" otherwise.
+
+    </td></tr><tr><td><code><a href="text-level-semantics.html#the-progress-element">progress</a></code> element
+     </td><td><code title="attr-aria-role-progressbar">progressbar</code> role, with, if the progress bar is determinate, the <code title="attr-aria-valuemax">aria-valuemax</code> property set to the maximum value of the progress bar, the <code title="attr-aria-valuemin">aria-valuemin</code> property set to zero, and the <code title="attr-aria-valuenow">aria-valuenow</code> property set to the current value of the progress bar
+
+    </td></tr><tr><td><code><a href="the-button-element.html#the-select-element">select</a></code> element with a <code title="attr-select-multiple"><a href="the-button-element.html#attr-select-multiple">multiple</a></code> attribute
+     </td><td><code title="attr-aria-role-listbox">listbox</code> role, with the <code title="attr-aria-multiselectable">aria-multiselectable</code> property set to "true"
+
+    </td></tr><tr><td><code><a href="the-button-element.html#the-select-element">select</a></code> element with no <code title="attr-select-multiple"><a href="the-button-element.html#attr-select-multiple">multiple</a></code> attribute
+     </td><td><code title="attr-aria-role-listbox">listbox</code> role, with the <code title="attr-aria-multiselectable">aria-multiselectable</code> property set to "false"
+
+    </td></tr><tr><td><code><a href="tabular-data.html#the-td-element">td</a></code> element
+     </td><td><code title="attr-aria-role-gridcell">gridcell</code> role, with the <code title="attr-aria-labelledby">aria-labelledby</code> property set to the value of the <code title="attr-tdth-headers"><a href="tabular-data.html#attr-tdth-headers">headers</a></code> attribute, if any
+
+    </td></tr><tr><td><code><a href="the-button-element.html#the-textarea-element">textarea</a></code> element
+     </td><td><code title="attr-aria-role-textbox">textbox</code> role, with the <code title="attr-aria-multiline">aria-multiline</code> property set to "true", and the <code title="title-aria-readonly">aria-readonly</code> state set to "true" if the element has a <code title="attr-textarea-readonly"><a href="the-button-element.html#attr-textarea-readonly">readonly</a></code> attribute
+
+    </td></tr><tr><td><code><a href="tabular-data.html#the-th-element">th</a></code> element that is neither a <a href="#column-header">column header</a> nor a <a href="#row-header">row header</a>
+     </td><td><code title="attr-aria-role-gridcell">gridcell</code> role, with the <code title="attr-aria-labelledby">aria-labelledby</code> property set to the value of the <code title="attr-tdth-headers"><a href="tabular-data.html#attr-tdth-headers">headers</a></code> attribute, if any
+
+    </td></tr><tr><td><code><a href="tabular-data.html#the-th-element">th</a></code> element that is a <a href="#column-header">column header</a>
+     </td><td><code title="attr-aria-role-columnheader">columnheader</code> role, with the <code title="attr-aria-labelledby">aria-labelledby</code> property set to the value of the <code title="attr-tdth-headers"><a href="tabular-data.html#attr-tdth-headers">headers</a></code> attribute, if any
+
+    </td></tr><tr><td><code><a href="tabular-data.html#the-th-element">th</a></code> element that is a <a href="#row-header">row header</a>
+     </td><td><code title="attr-aria-role-rowheader">rowheader</code> role, with the <code title="attr-aria-labelledby">aria-labelledby</code> property set to the value of the <code title="attr-tdth-headers"><a href="tabular-data.html#attr-tdth-headers">headers</a></code> attribute, if any
+
+    </td></tr><tr><td><code><a href="tabular-data.html#the-tr-element">tr</a></code> element
+     </td><td><code title="attr-aria-role-row">row</code> role
+
+    </td></tr><tr><td>An element that <a href="commands.html#concept-command" title="concept-command">defines a command</a>, whose <a href="commands.html#command-facet-type" title="command-facet-type">Type</a> facet is "checkbox", and that is a descendant of a <code><a href="interactive-elements.html#menus">menu</a></code> element whose <code title="attr-menu-type"><a href="interactive-elements.html#attr-menu-type">type</a></code> attribute in the <a href="interactive-elements.html#list-state" title="list state">list</a> state
+     </td><td><code title="attr-aria-role-menuitemcheckbox">menuitemcheckbox</code> role, with the <code title="attr-aria-checked">aria-checked</code> state set to "true" if the command's <a href="commands.html#command-facet-checkedstate" title="command-facet-checkedstate">Checked State</a> facet is true, and "false" otherwise
+
+    </td></tr><tr><td>An element that <a href="commands.html#concept-command" title="concept-command">defines a command</a>, whose <a href="commands.html#command-facet-type" title="command-facet-type">Type</a> facet is "command", and that is a descendant of a <code><a href="interactive-elements.html#menus">menu</a></code> element whose <code title="attr-menu-type"><a href="interactive-elements.html#attr-menu-type">type</a></code> attribute in the <a href="interactive-elements.html#list-state" title="list state">list</a> state
+     </td><td><code title="attr-aria-role-menuitem">menuitem</code> role
+
+    </td></tr><tr><td>An element that <a href="commands.html#concept-command" title="concept-command">defines a command</a>, whose <a href="commands.html#command-facet-type" title="command-facet-type">Type</a> facet is "radio", and that is a descendant of a <code><a href="interactive-elements.html#menus">menu</a></code> element whose <code title="attr-menu-type"><a href="interactive-elements.html#attr-menu-type">type</a></code> attribute in the <a href="interactive-elements.html#list-state" title="list state">list</a> state
+     </td><td><code title="attr-aria-role-menuitemradio">menuitemradio</code> role, with the <code title="attr-aria-checked">aria-checked</code> state set to "true" if the command's <a href="commands.html#command-facet-checkedstate" title="command-facet-checkedstate">Checked State</a> facet is true, and "false" otherwise
+
+    </td></tr><tr><td>Elements that are <a href="association-of-controls-and-forms.html#concept-fe-disabled" title="concept-fe-disabled">disabled</a>
+     </td><td>The <code title="title-aria-disabled">aria-disabled</code> state set to "true"
+
+    </td></tr><tr><td>Elements that are <a href="common-input-element-attributes.html#concept-input-required" title="concept-input-required">required</a>
+     </td><td>The <code title="title-aria-required">aria-required</code> state set to "true"
+
+  </td></tr></tbody></table><p>Some <a href="infrastructure.html#html-elements">HTML elements</a> have native semantics that can be
+  overridden. The following table lists these elements,
+  along with the restrictions that apply to those elements. Each
+  language feature (element or attribute) in a cell in the first
+  column implies, unless otherwise overriden, the ARIA semantic (role,
+  state, or property) given in the cell in the second column of the
+  same row, but this semantic may be overridden under the conditions
+  listed in the cell in the third column of that row.</p><table><thead><tr><th>Language feature
+     </th><th>Default implied ARIA semantic
+     </th><th>Restrictions
+
+   </th></tr></thead><tbody><tr><td><code><a href="sections.html#the-article-element">article</a></code> element
+     </td><td><code title="attr-aria-role-article">article</code> role
+     </td><td>Role must be either <code title="attr-aria-role-article">article</code>, <code title="attr-aria-role-document">document</code>, <code title="attr-aria-role-application">application</code>, or <code title="attr-aria-role-main">main</code>
+
+    </td></tr><tr><td><code><a href="sections.html#the-aside-element">aside</a></code> element
+     </td><td><code title="attr-aria-role-note">note</code> role
+     </td><td>Role must be either <code title="attr-aria-role-note">note</code>, <code title="attr-aria-role-complementary">complementary</code>, or <code title="attr-aria-role-search">search</code>
+
+    </td></tr><tr><td><code><a href="sections.html#the-header-element">header</a></code> element
+     </td><td>No role
+     </td><td>If specified, role must be <code title="attr-aria-role-banner">banner</code>
+
+    </td></tr><tr><td><code><a href="grouping-content.html#the-li-element">li</a></code> element whose parent is an <code><a href="grouping-content.html#the-ol-element">ol</a></code> or <code><a href="grouping-content.html#the-ul-element">ul</a></code> element
+     </td><td><code title="attr-aria-role-listitem">listitem</code> role
+     </td><td>Role must be either <code title="attr-aria-role-listitem">listitem</code> or <code title="attr-aria-role-treeitem">treeitem</code>
+
+    </td></tr><tr><td><code><a href="grouping-content.html#the-ol-element">ol</a></code> element
+     </td><td><code title="attr-aria-role-list">list</code> role
+     </td><td>Role must be either <code title="attr-aria-role-list">list</code>, <code title="attr-aria-role-tree">tree</code>, or <code title="attr-aria-role-directory">directory</code>
+
+    </td></tr><tr><td><code><a href="the-button-element.html#the-output-element">output</a></code> element
+     </td><td><code title="attr-aria-role-status">status</code> role
+     </td><td>No restrictions
+
+    </td></tr><tr><td><code><a href="sections.html#the-section-element">section</a></code> element
+     </td><td><code title="attr-aria-role-region">region</code> role
+     </td><td>Role must be either <code title="attr-aria-role-region">region</code>, <code title="attr-aria-role-document">document</code>, <code title="attr-aria-role-application">application</code>, <code title="attr-aria-role-contentinfo">contentinfo</code>, <code title="attr-aria-role-main">main</code>, <code title="attr-aria-role-search">search</code>, <code title="attr-aria-role-alert">alert</code>, <code title="attr-aria-role-dialog">dialog</code>, <code title="attr-aria-role-alertdialog">alertdialog</code>, <code title="attr-aria-role-status">status</code>, or <code title="attr-aria-role-log">log</code>
+
+    </td></tr><tr><td><code><a href="tabular-data.html#the-table-element">table</a></code> element
+     </td><td><code title="attr-aria-role-grid">grid</code> role
+     </td><td>Role must be either <code title="attr-aria-role-grid">grid</code> or <code title="attr-aria-role-treegrid">treegrid</code>
+
+    </td></tr><tr><td><code><a href="grouping-content.html#the-ul-element">ul</a></code> element
+     </td><td><code title="attr-aria-role-list">list</code> role
+     </td><td>Role must be either <code title="attr-aria-role-list">list</code> or <code title="attr-aria-role-tree">tree</code>, or <code title="attr-aria-role-directory">directory</code>
+
+    </td></tr><tr><td><a href="dom.html#the-body-element">The body element</a>
+     </td><td><code title="attr-aria-role-document">document</code> role
+     </td><td>Role must be either <code title="attr-aria-role-document">document</code> or <code title="attr-aria-role-application">application</code>
+
+  </td></tr></tbody></table></body></html>
\ No newline at end of file

Index: apis-in-html-documents.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/apis-in-html-documents.html,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- apis-in-html-documents.html	6 Jan 2010 15:38:52 -0000	1.12
+++ apis-in-html-documents.html	6 Jan 2010 15:49:33 -0000	1.13
@@ -0,0 +1,521 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<!DOCTYPE html>
+<!-- when publishing, change bits marked ZZZ --><html lang="en-US-x-Hixie" class="split chapter"><head><title>3.3 APIs in HTML documents &#8212; HTML5 (Author Edition)</title><script src="link-fixup.js"></script><link href="whatwg.css" rel="stylesheet"><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 tbody th { text-align: left; }
+   table td, table th { border-left: solid; border-right: solid; border-bottom: solid thin; vertical-align: top; padding: 0.2em; }
+   blockquote { margin: 0 0 0 2em; border: 0; padding: 0; font-style: italic; }
+
+   .bad, .bad *:not(.XXX) { color: gray; border-color: gray; background: transparent; }
+   .matrix, .matrix td { border: none; text-align: right; }
+   .matrix { margin-left: 2em; }
+   .dice-example { border-collapse: collapse; border-style: hidden solid solid hidden; border-width: thin; margin-left: 3em; }
+   .dice-example caption { width: 30em; font-size: smaller; font-style: italic; padding: 0.75em 0; text-align: left; }
+   .dice-example td, .dice-example th { border: solid thin; width: 1.35em; height: 1.05em; text-align: center; padding: 0; }
+
+   .toc dfn, h1 dfn, h2 dfn, h3 dfn, h4 dfn, h5 dfn, h6 dfn { font: inherit; }
+   img.extra { float: right; }
+   pre.idl { border: solid thin; background: #EEEEEE; color: black; padding: 0.5em 1em; }
+   pre.idl :link, pre.idl :visited { color: inherit; background: transparent; }
+   pre.css { border: solid thin; background: #FFFFEE; color: black; padding: 0.5em 1em; }
+   pre.css:first-line { color: #AAAA50; }
+   dl.domintro { color: green; margin: 2em 0 2em 2em; padding: 0.5em 1em; border: none; background: #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; }
+   div.head p.copyright, div.head p.alt { font-size: x-small; font-style: oblique; margin: 0; }
+
+   body > .toc > li { margin-top: 1em; margin-bottom: 1em; }
+   body > .toc.brief > li { margin-top: 0.35em; margin-bottom: 0.35em; }
+   body > .toc > li > * { margin-bottom: 0.5em; }
+   body > .toc > li > * > li > * { margin-bottom: 0.25em; }
+   .toc, .toc li { list-style: none; }
+
+   .brief { margin-top: 1em; margin-bottom: 1em; line-height: 1.1; }
+   .brief li { margin: 0; padding: 0; }
+   .brief li p { margin: 0; padding: 0; }
+
+   .category-list { margin-top: -0.75em; margin-bottom: 1em; line-height: 1.5; }
+   .category-list::before { content: '\21D2\A0'; font-size: 1.2em; font-weight: 900; }
+   .category-list li { display: inline; }
+   .category-list li:not(:last-child)::after { content: ', '; }
+   .category-list li > span, .category-list li > a { text-transform: lowercase; }
+   .category-list li * { text-transform: none; } /* don't affect <code> nested in <a> */
+
+   .XXX { color: #E50000; background: white; border: solid red; padding: 0.5em; margin: 1em 0; }
+   .XXX > :first-child { margin-top: 0; }
+   p .XXX { line-height: 3em; }
+   .annotation { border: solid thin black; background: #0C479D; color: white; position: relative; margin: 8px 0 20px 0; }
+   .annotation:before { position: absolute; left: 0; top: 0; width: 100%; height: 100%; margin: 6px -6px -6px 6px; background: #333333; z-index: -1; content: ''; }
+   .annotation :link, .annotation :visited { color: inherit; }
+   .annotation :link:hover, .annotation :visited:hover { background: transparent; }
+   .annotation span { border: none ! important; }
+   .note { color: green; background: transparent; font-family: sans-serif; }
+   .warning { color: red; background: transparent; }
+   .note, .warning { font-weight: bolder; font-style: italic; }
+   p.note, div.note { padding: 0.5em 2em; }
+   span.note { padding: 0 2em; }
+   .note p:first-child, .warning p:first-child { margin-top: 0; }
+   .note p:last-child, .warning p:last-child { margin-bottom: 0; }
+   .warning:before { font-style: normal; }
+   p.note:before { content: 'Note: '; }
+   p.warning:before { content: '\26A0 Warning! '; }
+
+   .bookkeeping:before { display: block; content: 'Bookkeeping details'; font-weight: bolder; font-style: italic; }
+   .bookkeeping { font-size: 0.8em; margin: 2em 0; }
+   .bookkeeping p { margin: 0.5em 2em; display: list-item; list-style: square; }
+
+   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; }
+
+   #configUI { position: absolute; z-index: 20; top: 10em; right: 1em; width: 11em; font-size: small; }
+   #configUI p { margin: 0.5em 0; padding: 0.3em; background: #EEEEEE; color: black; border: inset thin; }
+   #configUI p label { display: block; }
+   #configUI #updateUI, #configUI .loginUI { text-align: center; }
+   #configUI input[type=button] { display: block; margin: auto; }
+  </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="data:text/css," id="complete" rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" id="author" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" id="highlight" rel="alternate stylesheet" title="Highlight implementation requirements"><script>
+   function getCookie(name) {
+     var params = location.search.substr(1).split("&");
+     for (var index = 0; index < params.length; index++) {
+       if (params[index] == name)
+         return "1";
+       var data = params[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     var cookies = document.cookie.split("; ");
+     for (var index = 0; index < cookies.length; index++) {
+       var data = cookies[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     return null;
+   }
+   function load(script) {
+     var e = document.createElement('script');
+     e.setAttribute('src', 'http://www.whatwg.org/specs/web-apps/current-work/' + script + '?' + encodeURIComponent(location) + '&' + encodeURIComponent(document.referrer));
+     document.body.appendChild(e);
+   }
+   function init() {
+     if (location.search == '?slow-browser')
+       return;
+     var configUI = document.createElement('div');
+     configUI.id = 'configUI';
+     document.body.appendChild(configUI);
+     // load('reviewer.js'); // would need cross-site XHR
+     if (document.getElementById('head'))
+       load('toc.js');
+     
+     // load('updater.js'); // would need cross-site XHR
+     load('dfn.js');
+     // load('status.js'); // would need cross-site XHR
+     if (getCookie('profile') == '1')
+       document.getElementsByTagName('h2')[0].textContent += '; load: ' + (new Date() - loadTimer) + 'ms';
+     fixBrokenLink();
+   }
+  </script><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><link href="content-models.html" title="3.2.5 Content models" rel="prev">
+  <link href="Overview.html#contents" title="Table of contents" rel="index">
+  <link href="semantics.html" title="4 The elements of HTML" rel="next">
+  </head><body onload="fixBrokenLink(); init()"><div class="head" id="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 (Author Edition)</h1>
+   </div><div>
+   <a href="content-models.html">&#8592; 3.2.5 Content models</a> &#8211;
+   <a href="Overview.html#contents">Table of contents</a> &#8211;
+   <a href="semantics.html">4 The elements of HTML &#8594;</a>
+  <ol class="toc"><li><ol><li><a href="apis-in-html-documents.html#apis-in-html-documents"><span class="secno">3.3 </span>APIs in HTML documents</a></li><li><a href="apis-in-html-documents.html#dynamic-markup-insertion"><span class="secno">3.4 </span>Dynamic markup insertion</a>
+    <ol><li><a href="apis-in-html-documents.html#opening-the-input-stream"><span class="secno">3.4.1 </span>Opening the input stream</a></li><li><a href="apis-in-html-documents.html#closing-the-input-stream"><span class="secno">3.4.2 </span>Closing the input stream</a></li><li><a href="apis-in-html-documents.html#document.write"><span class="secno">3.4.3 </span><code title="dom-document-write">document.write()</code></a></li><li><a href="apis-in-html-documents.html#document.writeln"><span class="secno">3.4.4 </span><code title="dom-document-writeln">document.writeln()</code></a></li><li><a href="apis-in-html-documents.html#innerhtml"><span class="secno">3.4.5 </span><code title="dom-innerHTML">innerHTML</code></a></li><li><a href="apis-in-html-documents.html#outerhtml"><span class="secno">3.4.6 </span><code title="dom-outerHTML">outerHTML</code></a></li><li><a href="apis-in-html-documents.html#insertadjacenthtml"><span class="secno">3.4.7 </span><code title="dom-insertAdjacentHTML">insertAdjacentHTML()</coe></a></li></ol></li></ol></li></ol></div>
+
+  <h3 id="apis-in-html-documents"><span class="secno">3.3 </span>APIs in HTML documents</h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>For <a href="dom.html#html-documents">HTML documents</a>, and for <a href="infrastructure.html#html-elements">HTML
+  elements</a> in <a href="dom.html#html-documents">HTML documents</a>, certain APIs defined
+  in DOM Core become case-insensitive or case-changing, as sometimes
+  defined in DOM Core, and as summarized  below. <a href="references.html#refsDOMCORE">[DOMCORE]</a></p><p>This does not apply to <a href="dom.html#xml-documents">XML documents</a> or to elements
+  that are not in the <a href="#html-namespace-0">HTML namespace</a> despite being in
+  <a href="dom.html#html-documents">HTML documents</a>.</p><dl><dt><code title="">Element.tagName</code> and <code title="">Node.nodeName</code></dt>
+
+   <dd>
+
+    <p>These attributes must<a href="#converted-to-ascii-uppercase">converted to ASCII uppercase</a>, regardless of the case
+    with which they were created.</p>
+
+   </dd>
+
+
+   <dt><code title="">Document.createElement()</code></dt>
+
+   <dd>
+
+    <p>The canonical form of HTML markup is all-lowercase; thus, this
+    method will <a href="#converted-to-ascii-lowercase" title="converted to ASCII lowercase">lowercase</a>
+    the argument before creating the requisite element. .</p>
+
+    <p class="note">This doesn't apply to <code title="">Document.createElementNS()</code>. Thus, it is possible,
+    by passing this last method a tag name in the wrong case, to
+    create an element that appears to have the same tag name as that
+    of an element defined in this specification when its <code title="dom-tagName">tagName</code> attribute is examined, but that
+    doesn't support the corresponding interfaces. The "real" element
+    name (unaffected by case conversions) can be obtained from the
+    <code title="dom-localName">localName</code> attribute.</p>
+
+   </dd>
+
+
+   <dt><code title="">Element.setAttribute()</code></dt>
+   <dt><code title="">Element.setAttributeNode()</code></dt>
+
+   <dd>
+
+    <p>Attribute names are <a href="#converted-to-ascii-lowercase">converted to ASCII lowercase</a>.</p>
+
+    
+
+    <p class="note">This doesn't apply to <code title="">Document.setAttributeNS()</code> and <code title="">Document.setAttributeNodeNS()</code>.</p>
+
+   </dd>
+
+
+   <dt><code title="">Element.getAttribute()</code></dt>
+   <dt><code title="">Element.getAttributeNode()</code></dt>
+
+   <dd>
+
+    <p>Attribute names are <a href="#converted-to-ascii-lowercase">converted to ASCII lowercase</a>.</p>
+
+    
+
+    <p class="note">This doesn't apply to <code title="">Document.getAttributeNS()</code> and <code title="">Document.getAttributeNodeNS()</code>.</p>
+
+   </dd>
+
+
+   <dt><code title="">Document.getElementsByTagName()</code></dt>
+   <dt><code title="">Element.getElementsByTagName()</code></dt>
+
+   <dd>
+
+    <p>HTML elements match by lower-casing the argument before
+    comparison, elements from other namespaces are treated as in XML
+    (case-sensitively).</p>
+
+    
+
+    <p class="note">Thus, in an <a href="dom.html#html-documents" title="HTML documents">HTML
+    document</a> with nodes in multiple namespaces, these methods
+    will effectively be both case-sensitive and case-insensitive at
+    the same time.</p>
+
+   </dd>
+
+
+  </dl><h3 id="dynamic-markup-insertion"><span class="secno">3.4 </span><dfn>Dynamic markup insertion</dfn></h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p class="note">APIs for dynamically inserting markup into the
+  document interact with the parser, and thus their behavior varies
+  depending on whether they are used with <a href="dom.html#html-documents">HTML documents</a>
+  (and the <a href="#html-parser">HTML parser</a>) or XHTML in <a href="dom.html#xml-documents">XML
+  documents</a> (and the <a href="#xml-parser">XML parser</a>).</p><h4 id="opening-the-input-stream"><span class="secno">3.4.1 </span>Opening the input stream</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <dfn id="dom-document-open" title="dom-document-open"><code>open()</code></dfn>
+  method comes in several variants with different numbers of
+  arguments.</p><dl class="domintro"><dt><var title="">document</var> = <var title="">document</var> . <code title="dom-document-open"><a href="#dom-document-open">open</a></code>( [ <var title="">type</var> [, <var title="">replace</var> ] ] )</dt>
+
+   <dd>
+
+    <p>Causes the <code>Document</code> to be replaced in-place, as if
+    it was a new <code>Document</code> object, but reusing the
+    previous object, which is then returned.</p>
+
+    <p>If the <var title="">type</var> argument is omitted or has the
+    value "<code><a href="iana.html#text-html">text/html</a></code>", then the resulting
+    <code>Document</code> has an HTML parser associated with it, which
+    can be given data to parse using <code title="dom-document-write"><a href="#dom-document-write">document.write()</a></code>. Otherwise, all
+    content passed to <code title="dom-document-write"><a href="#dom-document-write">document.write()</a></code> will be parsed
+    as plain text.</p>
+
+    <p>If the <var title="">replace</var> argument is present and has
+    the value "<code title="">replace</code>", the existing entries in
+    the session history for the <code>Document</code> object are
+    removed.</p>
+
+    <p>The method has no effect if the <code>Document</code> is still
+    being parsed.</p>
+
+    <p>Throws an <code><a href="urls.html#invalid_state_err">INVALID_STATE_ERR</a></code> exception if the
+    <code>Document</code> is an <a href="dom.html#xml-documents" title="XML documents">XML
+    document</a>.</p>
+
+   </dd>
+
+   <dt><var title="">window</var> = <var title="">document</var> . <code title="dom-document-open"><a href="#dom-document-open">open</a></code>( <var title="">url</var>, <var title="">name</var>, <var title="">features</var> [, <var title="">replace</var> ] )</dt>
+
+   <dd>
+
+    <p>Works like the <code title="dom-open"><a href="#dom-open">window.open()</a></code>
+    method.</p>
+
+   </dd>
+
+  </dl><h4 id="closing-the-input-stream"><span class="secno">3.4.2 </span>Closing the input stream</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><dl class="domintro"><dt><var title="">document</var> . <code title="dom-document-close"><a href="#dom-document-close">close</a></code>()</dt>
+
+   <dd>
+
+    <p>Closes the input stream that was opened by the <code title="dom-document-open"><a href="#dom-document-open">document.open()</a></code> method.</p>
+
+    <p>Throws an <code><a href="urls.html#invalid_state_err">INVALID_STATE_ERR</a></code> exception if the
+    <code>Document</code> is an <a href="dom.html#xml-documents" title="XML documents">XML
+    document</a>.</p>
+
+   </dd>
+
+  </dl><h4 id="document.write"><span class="secno">3.4.3 </span><code title="dom-document-write"><a href="#dom-document-write">document.write()</a></code></h4><dl class="domintro"><dt><var title="">document</var> . <code title="dom-document-write"><a href="#dom-document-write">write</a></code>(<var title="">text</var>...)</dt>
+
+   <dd>
+
+    <p>Adds the given string(s) to the <code>Document</code>'s input
+    stream. If necessary, calls the <code title="dom-document-open"><a href="#dom-document-open">open()</a></code> method implicitly
+    first.</p>
+
+    <p>This method throws an <code><a href="urls.html#invalid_access_err">INVALID_ACCESS_ERR</a></code> exception
+    when invoked on <a href="dom.html#xml-documents">XML documents</a>.</p>
+
+   </dd>
+
+  </dl><h4 id="document.writeln"><span class="secno">3.4.4 </span><code title="dom-document-writeln"><a href="#dom-document-writeln">document.writeln()</a></code></h4><dl class="domintro"><dt><var title="">document</var> . <code title="dom-document-writeln"><a href="#dom-document-writeln">writeln</a></code>(<var title="">text</var>...)</dt>
+
+   <dd>
+
+    <p>Adds the given string(s) to the <code>Document</code>'s input
+    stream, followed by a newline character. If necessary, calls the
+    <code title="dom-document-open"><a href="#dom-document-open">open()</a></code> method implicitly
+    first.</p>
+
+    <p>This method throws an <code><a href="urls.html#invalid_access_err">INVALID_ACCESS_ERR</a></code> exception
+    when invoked on <a href="dom.html#xml-documents">XML documents</a>.</p>
+
+   </dd>
+
+  </dl><h4 id="innerhtml"><span class="secno">3.4.5 </span><code title="dom-innerHTML"><a href="#dom-innerhtml">innerHTML</a></code></h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <dfn id="dom-innerhtml" title="dom-innerHTML"><code>innerHTML</code></dfn> IDL
+  attribute represents the markup of the node's contents.</p><dl class="domintro"><dt><var title="">document</var> . <code title="dom-innerHTML"><a href="#dom-innerhtml">innerHTML</a></code> [ = <var title="">value</var> ]</dt>
+
+   <dd>
+
+    <p>Returns a fragment of HTML or XML that represents the
+    <code>Document</code>.</p>
+
+    <p>Can be set, to replace the <code>Document</code>'s contents
+    with the result of parsing the given string.</p>
+
+    <p>In the case of <a href="dom.html#xml-documents">XML documents</a>, will throw an
+    <code><a href="urls.html#invalid_state_err">INVALID_STATE_ERR</a></code> if the <code>Document</code> cannot
+    be serialized to XML, and a <code><a href="urls.html#syntax_err">SYNTAX_ERR</a></code> if the given
+    string is not well-formed.</p>
+
+   </dd>
+
+   <dt><var title="">element</var> . <code title="dom-innerHTML"><a href="#dom-innerhtml">innerHTML</a></code> [ = <var title="">value</var> ]</dt>
+
+   <dd>
+
+    <p>Returns a fragment of HTML or XML that represents the element's
+    contents.</p>
+
+    <p>Can be set, to replace the contents of the element with nodes
+    parsed from the given string.</p>
+
+    <p>In the case of <a href="dom.html#xml-documents">XML documents</a>, will throw an
+    <code><a href="urls.html#invalid_state_err">INVALID_STATE_ERR</a></code> if the element cannot be serialized
+    to XML, and a <code><a href="urls.html#syntax_err">SYNTAX_ERR</a></code> if the given string is not
+    well-formed.</p>
+
+   </dd>
+
+  </dl><h4 id="outerhtml"><span class="secno">3.4.6 </span><code title="dom-outerHTML"><a href="#dom-outerhtml">outerHTML</a></code></h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <dfn id="dom-outerhtml" title="dom-outerHTML"><code>outerHTML</code></dfn> IDL
+  attribute represents the markup of the element and its contents.</p><dl class="domintro"><dt><var title="">element</var> . <code title="dom-outerHTML"><a href="#dom-outerhtml">outerHTML</a></code> [ = <var title="">value</var> ]</dt>
+
+   <dd>
+
+    <p>Returns a fragment of HTML or XML that represents the element
+    and its contents.</p>
+
+    <p>Can be set, to replace the element with nodes parsed from the
+    given string.</p>
+
+    <p>In the case of <a href="dom.html#xml-documents">XML documents</a>, will throw an
+    <code><a href="urls.html#invalid_state_err">INVALID_STATE_ERR</a></code> if the element cannot be serialized
+    to XML, and a <code><a href="urls.html#syntax_err">SYNTAX_ERR</a></code> if the given string is not
+    well-formed.</p>
+
+    <p>Throws a <code><a href="urls.html#no_modification_allowed_err">NO_MODIFICATION_ALLOWED_ERR</a></code> exception if
+    the parent of the element is the <code>Document</code>
+    node.</p>
+
+   </dd>
+
+  </dl><h4 id="insertadjacenthtml"><span class="secno">3.4.7 </span><code title="dom-insertAdjacentHTML"><a href="#dom-insertadjacenthtml">insertAdjacentHTML()</a></code></h4><dl class="domintro"><dt><var title="">element</var> . <code title="dom-insertAdjacentHTML"><a href="#dom-insertadjacenthtml">insertAdjacentHTML</a></code>(<var title="">position</var>, <var title="">text</var>)</dt>
+
+   <dd>
+
+    <p>Parses the given string <var title="">text</var> as HTML or XML
+    and inserts the resulting nodes into the tree in the position
+    given by the <var title="">position</var> argument, as
+    follows:</p>
+
+    <dl><dt>"beforebegin"</dt>
+     <dd>Before the element itself.</dd>
+     <dt>"afterbegin"</dt>
+     <dd>Just inside the element, before its first child.</dd>
+     <dt>"beforeend"</dt>
+     <dd>Just inside the element, after its last child.</dd>
+     <dt>"afterend"</dt>
+     <dd>After the element itself.</dd>
+    </dl><p>Throws a <code><a href="urls.html#syntax_err">SYNTAX_ERR</a></code> exception if the arguments
+    have invalid values (e.g., in the case of <a href="dom.html#xml-documents">XML
+    documents</a>, if the given string is not well-formed).</p>
+
+    <p>Throws a <code><a href="urls.html#no_modification_allowed_err">NO_MODIFICATION_ALLOWED_ERR</a></code> exception if
+    the given position isn't possible (e.g. inserting elements after
+    the root element of a <code>Document</code>).</p>
+
+   </dd>
+
+  </dl></body></html>
\ No newline at end of file

Index: obsolete.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/obsolete.html,v
retrieving revision 1.556
retrieving revision 1.557
diff -u -d -r1.556 -r1.557
--- obsolete.html	6 Jan 2010 15:38:53 -0000	1.556
+++ obsolete.html	6 Jan 2010 15:49:34 -0000	1.557
@@ -213,4 +213,291 @@
    .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-ex
\ No newline at end of file
+   .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="data:text/css," id="complete" rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" id="author" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" id="highlight" rel="alternate stylesheet" title="Highlight implementation requirements"><script>
+   function getCookie(name) {
+     var params = location.search.substr(1).split("&");
+     for (var index = 0; index < params.length; index++) {
+       if (params[index] == name)
+         return "1";
+       var data = params[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     var cookies = document.cookie.split("; ");
+     for (var index = 0; index < cookies.length; index++) {
+       var data = cookies[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     return null;
+   }
+   function load(script) {
+     var e = document.createElement('script');
+     e.setAttribute('src', 'http://www.whatwg.org/specs/web-apps/current-work/' + script + '?' + encodeURIComponent(location) + '&' + encodeURIComponent(document.referrer));
+     document.body.appendChild(e);
+   }
+   function init() {
+     if (location.search == '?slow-browser')
+       return;
+     var configUI = document.createElement('div');
+     configUI.id = 'configUI';
+     document.body.appendChild(configUI);
+     // load('reviewer.js'); // would need cross-site XHR
+     if (document.getElementById('head'))
+       load('toc.js');
+     
+     // load('updater.js'); // would need cross-site XHR
+     load('dfn.js');
+     // load('status.js'); // would need cross-site XHR
+     if (getCookie('profile') == '1')
+       document.getElementsByTagName('h2')[0].textContent += '; load: ' + (new Date() - loadTimer) + 'ms';
+     fixBrokenLink();
+   }
+  </script><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><link href="the-xhtml-syntax.html" title="10 The XHTML syntax" rel="prev">
+  <link href="Overview.html#contents" title="Table of contents" rel="index">
+  <link href="iana.html" title="12 IANA considerations" rel="next">
+  </head><body onload="fixBrokenLink(); init()"><div class="head" id="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 (Author Edition)</h1>
+   </div><div>
+   <a href="the-xhtml-syntax.html">&#8592; 10 The XHTML syntax</a> &#8211;
+   <a href="Overview.html#contents">Table of contents</a> &#8211;
+   <a href="iana.html">12 IANA considerations &#8594;</a>
+  <ol class="toc"><li><a href="obsolete.html#obsolete"><span class="secno">11 </span>Obsolete features</a>
+  <ol><li><a href="obsolete.html#obsolete-but-conforming-features"><span class="secno">11.1 </span>Obsolete but conforming features</a></li><li><a href="obsolete.html#non-conforming-features"><span class="secno">11.2 </span>Non-conforming features</a></li></ol></li></ol></div>
+
+  <h2 id="obsolete"><span class="secno">11 </span>Obsolete features</h2><h3 id="obsolete-but-conforming-features"><span class="secno">11.1 </span>Obsolete but conforming features</h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>Features listed in this section will trigger warnings in
+  conformance checkers.</p><p>In <a href="syntax.html#syntax">the HTML syntax</a>, authors should not specify <a href="syntax.html#syntax-doctype" title="syntax-DOCTYPE">DOCTYPE</a>s that get parsed as <a href="#obsolete-permitted-doctype" title="obsolete permitted DOCTYPE">obsolete permitted
+  DOCTYPEs</a>.</p><!-- this is poor form; we really should define
+  this in the syntax section somehow --><p>Authors should not specify an <code title="attr-meta-http-equiv"><a href="semantics.html#attr-meta-http-equiv">http-equiv</a></code> attribute in the
+  <a href="semantics.html#attr-meta-http-equiv-content-language" title="attr-meta-http-equiv-content-language">Content
+  Language</a> state on a <code><a href="semantics.html#meta">meta</a></code> element. The <code title="attr-lang"><a href="elements.html#attr-lang">lang</a></code> attribute should be used instead.</p><p>Authors should not specify a <code title="attr-img-border"><a href="#attr-img-border">border</a></code> attribute on an
+  <code><a href="embedded-content-1.html#the-img-element">img</a></code> element. If the attribute is present, its value
+  must be the string "<code title="">0</code>". CSS should be used
+  instead.</p><p>Authors should not specify a <code title="attr-script-language"><a href="#attr-script-language">language</a></code> attribute on a
+  <code><a href="scripting-1.html#script">script</a></code> element. If the attribute is present, its value
+  must be an <a href="infrastructure.html#ascii-case-insensitive">ASCII case-insensitive</a> match for the string
+  "<code title="">JavaScript</code>" and either the <code title="attr-script-type"><a href="scripting-1.html#attr-script-type">type</a></code> attribute must be omitted or
+  its value must be an <a href="infrastructure.html#ascii-case-insensitive">ASCII case-insensitive</a> match for
+  the string "<code title="">text/javascript</code>". The attribute
+  should be entirely omitted instead (with the value "<code title="">JavaScript</code>", it has no effect), or replaced with use
+  of the <code title="attr-script-type"><a href="scripting-1.html#attr-script-type">type</a></code> attribute.</p><p>Authors should not specify the <code title="attr-a-name"><a href="#attr-a-name">name</a></code> attribute on <code><a href="text-level-semantics.html#the-a-element">a</a></code>
+  elements. If the attribute is present, its value must not be the
+  empty string and must neither be equal to the value of any of the
+  <a href="elements.html#concept-id" title="concept-id">IDs</a> in the element's <a href="infrastructure.html#home-subtree">home
+  subtree</a> other than the element's own <a href="elements.html#concept-id" title="concept-id">ID</a>, if any, nor be equal to the value of
+  any of the other <code title="attr-a-name"><a href="#attr-a-name">name</a></code> attributes on
+  <code><a href="text-level-semantics.html#the-a-element">a</a></code> elements in the element's <a href="infrastructure.html#home-subtree">home
+  subtree</a>. If this attribute is present and the element has an
+  <a href="elements.html#concept-id" title="concept-id">ID</a>, then the attribute's value must
+  be equal to the element's <a href="elements.html#concept-id" title="concept-id">ID</a>. In
+  earlier versions of the language, this attribute was intended as a
+  way to specify possible targets for fragment identifiers in <a href="urls.html#url" title="URL">URLs</a>. The <code title="attr-id"><a href="elements.html#the-id-attribute">id</a></code>
+  attribute should be used instead.</p><p class="note">The <code title="attr-table-summary"><a href="tabular-data.html#attr-table-summary">summary</a></code>
+  attribute, defined in the <code><a href="tabular-data.html#the-table-element">table</a></code> section, will also
+  trigger a warning.</p><h3 id="non-conforming-features"><span class="secno">11.2 </span>Non-conforming features</h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>Elements in the following list are entirely obsolete, and must
+  not be used by authors:</p><dl><!-- alphabetical by first element in the group, except CSS goes last --><dt><code><a href="#the-applet-element">applet</a></code></dt>
+   <dd><p>Use <code><a href="the-iframe-element.html#the-embed-element">embed</a></code> or <code><a href="the-iframe-element.html#the-object-element">object</a></code> instead.</p></dd>
+
+   <dt><dfn id="acronym"><code>acronym</code></dfn></dt>
+   <dd><p>Use <code><a href="text-level-semantics.html#the-abbr-element">abbr</a></code> instead.</p></dd>
+
+   <dt><dfn id="dir"><code>dir</code></dfn></dt>
+   <dd><p>Use <code><a href="grouping-content.html#the-ul-element">ul</a></code> instead.</p></dd>
+
+   <dt><code><a href="#frame">frame</a></code></dt>
+   <dt><code><a href="#frameset">frameset</a></code></dt>
+   <dt><dfn id="noframes"><code>noframes</code></dfn></dt>
+   <dd><p>Either use <code><a href="the-iframe-element.html#the-iframe-element">iframe</a></code> and CSS instead, or use server-side includes to generate complete pages with the various invariant parts merged in.</p></dd>
+
+   <dt><dfn id="isindex-0"><code>isindex</code></dfn></dt>
+   <dd><p>Use an explicit <code><a href="forms.html#the-form-element">form</a></code> and <a href="states-of-the-type-attribute.html#text-state-and-search-state" title="attr-input-type-text">text field</a> combination instead.</p></dd>
+
+   <dt><dfn id="listing"><code>listing</code></dfn></dt>
+   <dt><dfn id="xmp"><code>xmp</code></dfn></dt>
+   <dd><p>Use <code><a href="grouping-content.html#the-pre-element">pre</a></code> and <code><a href="text-level-semantics.html#the-code-element">code</a></code> instead.</p></dd>
+
+   <dt><dfn id="nextid"><code>nextid</code></dfn></dt>
+   <dd><p>Use GUIDs instead.</p></dd>
+
+   <dt><dfn id="noembed"><code>noembed</code></dfn></dt>
+   <dd><p>Use <code><a href="the-iframe-element.html#the-object-element">object</a></code> instead of <code><a href="the-iframe-element.html#the-embed-element">embed</a></code> when fallback is necessary.</p></dd>
+
+   <dt><dfn id="plaintext"><code>plaintext</code></dfn></dt>
+   <dd><p>Use the "<code>text/plain</code>" <a href="infrastructure.html#mime-type">MIME type</a> instead.</p></dd>
+
+   <dt><dfn id="rb"><code>rb</code></dfn></dt>
+   <dd><p>Providing the ruby base directly inside the <code><a href="text-level-semantics.html#the-ruby-element">ruby</a></code> element is sufficient; the <code><a href="#rb">rb</a></code> element is unnecessary. Omit it altogether.</p></dd>
+
+   <dt><dfn id="basefont"><code>basefont</code></dfn></dt>
+   <dt><dfn id="big"><code>big</code></dfn></dt>
+   <dt><dfn id="blink"><code>blink</code></dfn></dt>
+   <dt><dfn id="center"><code>center</code></dfn></dt>
+   <dt><dfn id="font"><code>font</code></dfn></dt>
+   <dt><code><a href="#the-marquee-element">marquee</a></code></dt>
+   <dt><dfn id="s"><code>s</code></dfn></dt>
+   <dt><dfn id="spacer"><code>spacer</code></dfn></dt>
+   <dt><dfn id="strike"><code>strike</code></dfn></dt>
+   <dt><dfn id="tt"><code>tt</code></dfn></dt>
+   <dt><dfn id="u"><code>u</code></dfn></dt>
+   <dd><p>Use CSS instead.</p></dd>
+
+  </dl><hr><p>The following attributes are obsolete (though the elements are
+  still part of the language), and must not be used by authors:</p><dl><!-- alphabetical by element then attribute of first item in group, except CSS goes last --><dt><dfn id="attr-a-charset" title="attr-a-charset"><code>charset</code></dfn> on <code><a href="text-level-semantics.html#the-a-element">a</a></code> elements</dt>
+   <dt><dfn id="attr-link-charset" title="attr-link-charset"><code>charset</code></dfn> on <code><a href="semantics.html#the-link-element">link</a></code> elements</dt>
+   <dd><p>Use an HTTP Content-Type header on the linked resource instead.</p></dd>
+
+   <dt><dfn id="attr-a-coords" title="attr-a-coords"><code>coords</code></dfn> on <code><a href="text-level-semantics.html#the-a-element">a</a></code> elements</dt>
+   <dt><dfn id="attr-a-shape" title="attr-a-shape"><code>shape</code></dfn> on <code><a href="text-level-semantics.html#the-a-element">a</a></code> elements</dt>
+   <dd><p>Use <code><a href="the-map-element.html#the-area-element">area</a></code> instead of <code><a href="text-level-semantics.html#the-a-element">a</a></code> for image maps.</p></dd>
+
+   <dt><dfn id="attr-a-methods" title="attr-a-methods"><code>methods</code></dfn> on <code><a href="text-level-semantics.html#the-a-element">a</a></code> elements</dt>
+   <dd><p>Use the HTTP OPTIONS feature instead.</p></dd>
+
+   <dt><dfn id="attr-a-name" title="attr-a-name"><code>name</code></dfn> on <code><a href="text-level-semantics.html#the-a-element">a</a></code> elements (except as noted in the previous section)</dt>
+   <dt><dfn id="attr-embed-name" title="attr-embed-name"><code>name</code></dfn> on <code><a href="the-iframe-element.html#the-embed-element">embed</a></code> elements</dt>
+   <dt><dfn id="attr-img-name" title="attr-img-name"><code>name</code></dfn> on <code><a href="embedded-content-1.html#the-img-element">img</a></code> elements</dt>
+   <dd><p>Use the <code title="attr-id"><a href="elements.html#the-id-attribute">id</a></code> attribute instead.</p></dd>
+
+   <dt><dfn id="attr-a-rev" title="attr-a-rev"><code>rev</code></dfn> on <code><a href="text-level-semantics.html#the-a-element">a</a></code> elements</dt>
+   <dt><dfn id="attr-link-rev" title="attr-link-rev"><code>rev</code></dfn> on <code><a href="semantics.html#the-link-element">link</a></code> elements</dt>
+   <dd><p>Use the <code title="attr-hyperlink-rel"><a href="links.html#attr-hyperlink-rel">rel</a></code>
+   attribute instead, with an opposite term. (For example, instead of
+   <code title="">rev="made"</code>, use <code title="">rel="author"</code>.)</p></dd>
+
+   <dt><dfn id="attr-a-urn" title="attr-a-urn"><code>urn</code></dfn> on <code><a href="text-level-semantics.html#the-a-element">a</a></code> elements</dt>
+   <dd><p>Specify the preferred persistent identifier using the <code title="attr-href">href</code> attribute instead.</p></dd>
+
+   <dt><dfn id="attr-area-nohref" title="attr-area-nohref"><code>nohref</code></dfn> on <code><a href="the-map-element.html#the-area-element">area</a></code> elements</dt>
+   <dd><p>Omitting the <code title="attr-hyperlink-href"><a href="links.html#attr-hyperlink-href">href</a></code>
+   attribute is sufficient; the <code title="attr-area-nohref"><a href="#attr-area-nohref">nohref</a></code> attribute is
+   unnecessary. Omit it altogether.</p></dd>
+
+   <dt><dfn id="attr-head-profile" title="attr-head-profile"><code>profile</code></dfn> on <code><a href="semantics.html#the-head-element-0">head</a></code> elements</dt>
+   <dd><p>When used for declaring which <code><a href="semantics.html#meta">meta</a></code> terms are
+   used in the document, unnecessary; omit it altogether, and <a href="semantics.html#concept-meta-extensions" title="concept-meta-extensions">register the names</a>.</p></dd>
+   <dd><p>When used for triggering specific user agent behaviors: use
+   a <code><a href="semantics.html#the-link-element">link</a></code> element instead.</p></dd>
+
+   <dt><dfn id="attr-html-version" title="attr-html-version"><code>version</code></dfn> on <code><a href="semantics.html#the-html-element-0">html</a></code> elements</dt>
+   <dd><p>Unnecessary. Omit it altogether.</p></dd>
+
+   <dt><dfn id="attr-input-usemap" title="attr-input-usemap"><code>usemap</code></dfn> on <code><a href="the-input-element.html#the-input-element">input</a></code> elements</dt>
+   <dd><p>Use <code><a href="embedded-content-1.html#the-img-element">img</a></code> instead of <code><a href="the-input-element.html#the-input-element">input</a></code> for image maps.</p></dd>
+
+   <dt><dfn id="attr-iframe-longdesc" title="attr-iframe-longdesc"><code>longdesc</code></dfn> on <code><a href="the-iframe-element.html#the-iframe-element">iframe</a></code> elements</dt>
+   <dt><dfn id="attr-img-longdesc" title="attr-img-longdesc"><code>longdesc</code></dfn> on <code><a href="embedded-content-1.html#the-img-element">img</a></code> elements</dt>
+   <dd><p>Use a regular <code><a href="text-level-semantics.html#the-a-element">a</a></code> element to link to the description.</p></dd>
+
+   <dt><dfn id="attr-link-target" title="attr-link-target"><code>target</code></dfn> on <code><a href="semantics.html#the-link-element">link</a></code> elements</dt>
+   <dd><p>Unnecessary. Omit it altogether.</p></dd>
+
+   <dt><dfn id="attr-meta-scheme" title="attr-meta-scheme"><code>scheme</code></dfn> on <code><a href="semantics.html#meta">meta</a></code> elements</dt>
+   <dd><p>Use only one scheme per field, or make the scheme declaration part of the value.</p></dd>
+
+   <dt><dfn id="attr-object-archive" title="attr-object-archive"><code>archive</code></dfn> on <code><a href="the-iframe-element.html#the-object-element">object</a></code> elements</dt>
+   <dt><dfn id="attr-object-classid" title="attr-object-classid"><code>classid</code></dfn> on <code><a href="the-iframe-element.html#the-object-element">object</a></code> elements</dt>
+   <dt><dfn id="attr-object-code" title="attr-object-code"><code>code</code></dfn> on <code><a href="the-iframe-element.html#the-object-element">object</a></code> elements</dt>
+   <dt><dfn id="attr-object-codebase" title="attr-object-codebase"><code>codebase</code></dfn> on <code><a href="the-iframe-element.html#the-object-element">object</a></code> elements</dt>
+   <dt><dfn id="attr-object-codetype" title="attr-object-codetype"><code>codetype</code></dfn> on <code><a href="the-iframe-element.html#the-object-element">object</a></code> elements</dt>
+   <dd><p>Use the <code title="attr-object-data"><a href="the-iframe-element.html#attr-object-data">data</a></code> and <code title="attr-object-type"><a href="the-iframe-element.html#attr-object-type">type</a></code> attributes to invoke <a href="infrastructure.html#plugin" title="plugin">plugins</a>. To set parameters with these names
+   in particular, the <code><a href="the-iframe-element.html#the-param-element">param</a></code> element can be used.</p></dd>
+
+   <dt><dfn id="attr-object-declare" title="attr-object-declare"><code>declare</code></dfn> on <code><a href="the-iframe-element.html#the-object-element">object</a></code> elements</dt>
+   <dd><p>Repeat the <code><a href="the-iframe-element.html#the-object-element">object</a></code> element completely each time the resource is to be reused.</p></dd>
+
+   <dt><dfn id="attr-object-standby" title="attr-object-standby"><code>standby</code></dfn> on <code><a href="the-iframe-element.html#the-object-element">object</a></code> elements</dt>
+   <dd><p>Optimise the linked resource so that it loads quickly or, at least, incrementally.</p></dd>
+
+   <dt><dfn id="attr-param-type" title="attr-param-type"><code>type</code></dfn> on <code><a href="the-iframe-element.html#the-param-element">param</a></code> elements</dt>
+   <dt><dfn id="attr-param-valuetype" title="attr-param-valuetype"><code>valuetype</code></dfn> on <code><a href="the-iframe-element.html#the-param-element">param</a></code> elements</dt>
+   <dd><p>Use the <code title="attr-param-name"><a href="the-iframe-element.html#attr-param-name">name</a></code> and <code title="attr-param-value"><a href="the-iframe-element.html#attr-param-value">value</a></code> attributes without declaring
+   value types.</p></dd>
+
+   <dt><dfn id="attr-script-language" title="attr-script-language"><code>language</code></dfn> on <code><a href="scripting-1.html#script">script</a></code> elements (except as noted in the previous section)</dt>
+   <dd><p>Use the <code title="attr-script-type"><a href="scripting-1.html#attr-script-type">type</a></code> attribute
+   instead.</p></dd>
+
+   <dt><dfn id="attr-tdth-abbr" title="attr-tdth-abbr"><code>abbr</code></dfn> on <code><a href="tabular-data.html#the-td-element">td</a></code> and <code><a href="tabular-data.html#the-th-element">th</a></code> elements</dt>
+   <dd><p>Use text that begins in an unambiguous and terse manner, and include any more elaborate text after that.</p>
+
+   </dd><dt><dfn id="attr-tdth-axis" title="attr-tdth-axis"><code>axis</code></dfn> on <code><a href="tabular-data.html#the-td-element">td</a></code> and <code><a href="tabular-data.html#the-th-element">th</a></code> elements</dt>
+   <dd><p>Use the <code title="attr-th-scope"><a href="tabular-data.html#attr-th-scope">scope</a></code> attribute.</p>
+
+   </dd><dt><dfn id="attr-body-alink" title="attr-body-alink"><code>alink</code></dfn> on <code><a href="sections.html#the-body-element-0">body</a></code> elements</dt>
+   <dt><dfn id="attr-body-background" title="attr-body-background"><code>background</code></dfn> on <code><a href="sections.html#the-body-element-0">body</a></code> elements</dt>
+   <dt><dfn id="attr-body-bgcolor" title="attr-body-bgcolor"><code>bgcolor</code></dfn> on <code><a href="sections.html#the-body-element-0">body</a></code> elements</dt>
+   <dt><dfn id="attr-body-link" title="attr-body-link"><code>link</code></dfn> on <code><a href="sections.html#the-body-element-0">body</a></code> elements</dt>
+   <dt><dfn id="attr-body-text" title="attr-body-text"><code>text</code></dfn> on <code><a href="sections.html#the-body-element-0">body</a></code> elements</dt>
+   <dt><dfn id="attr-body-vlink" title="attr-body-vlink"><code>vlink</code></dfn> on <code><a href="sections.html#the-body-element-0">body</a></code> elements</dt>
+   <dt><dfn id="attr-br-clear" title="attr-br-clear"><code>clear</code></dfn> on <code><a href="grouping-content.html#the-br-element">br</a></code> elements</dt>
+   <dt><dfn id="attr-caption-align" title="attr-caption-align"><code>align</code></dfn> on <code><a href="tabular-data.html#the-caption-element">caption</a></code> elements</dt>
+   <dt><dfn id="attr-col-align" title="attr-col-align"><code>align</code></dfn> on <code><a href="tabular-data.html#the-col-element">col</a></code> elements</dt>
+   <dt><dfn id="attr-col-char" title="attr-col-char"><code>char</code></dfn> on <code><a href="tabular-data.html#the-col-element">col</a></code> elements</dt>
+   <dt><dfn id="attr-col-charoff" title="attr-col-charoff"><code>charoff</code></dfn> on <code><a href="tabular-data.html#the-col-element">col</a></code> elements</dt>
+   <dt><dfn id="attr-col-valign" title="attr-col-valign"><code>valign</code></dfn> on <code><a href="tabular-data.html#the-col-element">col</a></code> elements</dt>
+   <dt><dfn id="attr-col-width" title="attr-col-width"><code>width</code></dfn> on <code><a href="tabular-data.html#the-col-element">col</a></code> elements</dt>
+   <dt><dfn id="attr-div-align" title="attr-div-align"><code>align</code></dfn> on <code><a href="grouping-content.html#the-div-element">div</a></code> elements</dt>
+   <dt><dfn id="attr-dl-compact" title="attr-dl-compact"><code>compact</code></dfn> on <code><a href="grouping-content.html#the-dl-element">dl</a></code> elements</dt>
+   <dt><dfn id="attr-embed-align" title="attr-embed-align"><code>align</code></dfn> on <code><a href="the-iframe-element.html#the-embed-element">embed</a></code> elements</dt>
+   <dt><dfn id="attr-hr-align" title="attr-hr-align"><code>align</code></dfn> on <code><a href="grouping-content.html#the-hr-element">hr</a></code> elements</dt>
+   <dt><dfn id="attr-hr-color" title="attr-hr-color"><code>color</code></dfn> on <code><a href="grouping-content.html#the-hr-element">hr</a></code> elements</dt>
+   <dt><dfn id="attr-hr-noshade" title="attr-hr-noshade"><code>noshade</code></dfn> on <code><a href="grouping-content.html#the-hr-element">hr</a></code> elements</dt>
+   <dt><dfn id="attr-hr-size" title="attr-hr-size"><code>size</code></dfn> on <code><a href="grouping-content.html#the-hr-element">hr</a></code> elements</dt>
+   <dt><dfn id="attr-hr-width" title="attr-hr-width"><code>width</code></dfn> on <code><a href="grouping-content.html#the-hr-element">hr</a></code> elements</dt>
+   <dt><dfn id="attr-hx-align" title="attr-hx-align"><code>align</code></dfn> on <code><a href="sections.html#the-h1-h2-h3-h4-h5-and-h6-elements">h1</a></code>&#8212;<code><a href="sections.html#the-h1-h2-h3-h4-h5-and-h6-elements">h6</a></code> elements</dt>
+   <dt><dfn id="attr-iframe-align" title="attr-iframe-align"><code>align</code></dfn> on <code><a href="the-iframe-element.html#the-iframe-element">iframe</a></code> elements</dt>
+   <dt><dfn id="attr-iframe-frameborder" title="attr-iframe-frameborder"><code>frameborder</code></dfn> on <code><a href="the-iframe-element.html#the-iframe-element">iframe</a></code> elements</dt>
+   <dt><dfn id="attr-iframe-marginheight" title="attr-iframe-marginheight"><code>marginheight</code></dfn> on <code><a href="the-iframe-element.html#the-iframe-element">iframe</a></code> elements</dt>
+   <dt><dfn id="attr-iframe-marginwidth" title="attr-iframe-marginwidth"><code>marginwidth</code></dfn> on <code><a href="the-iframe-element.html#the-iframe-element">iframe</a></code> elements</dt>
+   <dt><dfn id="attr-iframe-scrolling" title="attr-iframe-scrolling"><code>scrolling</code></dfn> on <code><a href="the-iframe-element.html#the-iframe-element">iframe</a></code> elements</dt>
+   <dt><dfn id="attr-input-align" title="attr-input-align"><code>align</code></dfn> on <code><a href="the-input-element.html#the-input-element">input</a></code> elements</dt>
+   <dt><dfn id="attr-img-align" title="attr-img-align"><code>align</code></dfn> on <code><a href="embedded-content-1.html#the-img-element">img</a></code> elements</dt>
+   <dt><dfn id="attr-img-border" title="attr-img-border"><code>border</code></dfn> on <code><a href="embedded-content-1.html#the-img-element">img</a></code> elements (except as noted in the previous section)</dt>
+   <dt><dfn id="attr-img-hspace" title="attr-img-hspace"><code>hspace</code></dfn> on <code><a href="embedded-content-1.html#the-img-element">img</a></code> elements</dt>
+   <dt><dfn id="attr-img-vspace" title="attr-img-vspace"><code>vspace</code></dfn> on <code><a href="embedded-content-1.html#the-img-element">img</a></code> elements</dt>
+   <dt><dfn id="attr-legend-align" title="attr-legend-align"><code>align</code></dfn> on <code><a href="forms.html#the-legend-element">legend</a></code> elements</dt>
+   <dt><dfn id="attr-li-type" title="attr-li-type"><code>type</code></dfn> on <code><a href="grouping-content.html#the-li-element">li</a></code> elements</dt>
+   <dt><dfn id="attr-menu-compact" title="attr-menu-compact"><code>compact</code></dfn> on <code><a href="interactive-elements.html#menus">menu</a></code> elements</dt>
+   <dt><dfn id="attr-object-align" title="attr-object-align"><code>align</code></dfn> on <code><a href="the-iframe-element.html#the-object-element">object</a></code> elements</dt>
+   <dt><dfn id="attr-object-border" title="attr-object-border"><code>border</code></dfn> on <code><a href="the-iframe-element.html#the-object-element">object</a></code> elements</dt>
+   <dt><dfn id="attr-object-hspace" title="attr-object-hspace"><code>hspace</code></dfn> on <code><a href="the-iframe-element.html#the-object-element">object</a></code> elements</dt>
+   <dt><dfn id="attr-object-vspace" title="attr-object-vspace"><code>vspace</code></dfn> on <code><a href="the-iframe-element.html#the-object-element">object</a></code> elements</dt>
+   <dt><dfn id="attr-ol-compact" title="attr-ol-compact"><code>compact</code></dfn> on <code><a href="grouping-content.html#the-ol-element">ol</a></code> elements</dt>
+   <dt><dfn id="attr-ol-type" title="attr-ol-type"><code>type</code></dfn> on <code><a href="grouping-content.html#the-ol-element">ol</a></code> elements</dt>
+   <dt><dfn id="attr-p-align" title="attr-p-align"><code>align</code></dfn> on <code><a href="grouping-content.html#the-p-element">p</a></code> elements</dt>
+   <dt><dfn id="attr-pre-width" title="attr-pre-width"><code>width</code></dfn> on <code><a href="grouping-content.html#the-pre-element">pre</a></code> elements</dt>
+   <dt><dfn id="attr-table-align" title="attr-table-align"><code>align</code></dfn> on <code><a href="tabular-data.html#the-table-element">table</a></code> elements</dt>
+   <dt><dfn id="attr-table-bgcolor" title="attr-table-bgcolor"><code>bgcolor</code></dfn> on <code><a href="tabular-data.html#the-table-element">table</a></code> elements</dt>
+   <dt><dfn id="attr-table-border" title="attr-table-border"><code>border</code></dfn> on <code><a href="tabular-data.html#the-table-element">table</a></code> elements</dt>
+   <dt><dfn id="attr-table-cellpadding" title="attr-table-cellpadding"><code>cellpadding</code></dfn> on <code><a href="tabular-data.html#the-table-element">table</a></code> elements</dt>
+   <dt><dfn id="attr-table-cellspacing" title="attr-table-cellspacing"><code>cellspacing</code></dfn> on <code><a href="tabular-data.html#the-table-element">table</a></code> elements</dt>
+   <dt><dfn id="attr-table-frame" title="attr-table-frame"><code>frame</code></dfn> on <code><a href="tabular-data.html#the-table-element">table</a></code> elements</dt>
+   <dt><dfn id="attr-table-rules" title="attr-table-rules"><code>rules</code></dfn> on <code><a href="tabular-data.html#the-table-element">table</a></code> elements</dt>
+   <dt><dfn id="attr-table-width" title="attr-table-width"><code>width</code></dfn> on <code><a href="tabular-data.html#the-table-element">table</a></code> elements</dt>
+   <dt><dfn id="attr-tbody-align" title="attr-tbody-align"><code>align</code></dfn> on <code><a href="tabular-data.html#the-tbody-element">tbody</a></code>, <code><a href="tabular-data.html#the-thead-element">thead</a></code>, and <code><a href="tabular-data.html#the-tfoot-element">tfoot</a></code> elements</dt>
+   <dt><dfn id="attr-tbody-char" title="attr-tbody-char"><code>char</code></dfn> on <code><a href="tabular-data.html#the-tbody-element">tbody</a></code>, <code><a href="tabular-data.html#the-thead-element">thead</a></code>, and <code><a href="tabular-data.html#the-tfoot-element">tfoot</a></code> elements</dt>
+   <dt><dfn id="attr-tbody-charoff" title="attr-tbody-charoff"><code>charoff</code></dfn> on <code><a href="tabular-data.html#the-tbody-element">tbody</a></code>, <code><a href="tabular-data.html#the-thead-element">thead</a></code>, and <code><a href="tabular-data.html#the-tfoot-element">tfoot</a></code> elements</dt>
+   <dt><dfn id="attr-tbody-valign" title="attr-tbody-vAlign"><code>valign</code></dfn> on <code><a href="tabular-data.html#the-tbody-element">tbody</a></code>, <code><a href="tabular-data.html#the-thead-element">thead</a></code>, and <code><a href="tabular-data.html#the-tfoot-element">tfoot</a></code> elements</dt>
+   <dt><dfn id="attr-tdth-align" title="attr-tdth-align"><code>align</code></dfn> on <code><a href="tabular-data.html#the-td-element">td</a></code> and <code><a href="tabular-data.html#the-th-element">th</a></code> elements</dt>
+   <dt><dfn id="attr-tdth-bgcolor" title="attr-tdth-bgcolor"><code>bgcolor</code></dfn> on <code><a href="tabular-data.html#the-td-element">td</a></code> and <code><a href="tabular-data.html#the-th-element">th</a></code> elements</dt>
+   <dt><dfn id="attr-tdth-char" title="attr-tdth-char"><code>char</code></dfn> on <code><a href="tabular-data.html#the-td-element">td</a></code> and <code><a href="tabular-data.html#the-th-element">th</a></code> elements</dt>
+   <dt><dfn id="attr-tdth-charoff" title="attr-tdth-charoff"><code>charoff</code></dfn> on <code><a href="tabular-data.html#the-td-element">td</a></code> and <code><a href="tabular-data.html#the-th-element">th</a></code> elements</dt>
+   <dt><dfn id="attr-tdth-height" title="attr-tdth-height"><code>height</code></dfn> on <code><a href="tabular-data.html#the-td-element">td</a></code> and <code><a href="tabular-data.html#the-th-element">th</a></code> elements</dt>
+   <dt><dfn id="attr-tdth-nowrap" title="attr-tdth-nowrap"><code>nowrap</code></dfn> on <code><a href="tabular-data.html#the-td-element">td</a></code> and <code><a href="tabular-data.html#the-th-element">th</a></code> elements</dt>
+   <dt><dfn id="attr-tdth-valign" title="attr-tdth-valign"><code>valign</code></dfn> on <code><a href="tabular-data.html#the-td-element">td</a></code> and <code><a href="tabular-data.html#the-th-element">th</a></code> elements</dt>
+   <dt><dfn id="attr-tdth-width" title="attr-tdth-width"><code>width</code></dfn> on <code><a href="tabular-data.html#the-td-element">td</a></code> and <code><a href="tabular-data.html#the-th-element">th</a></code> elements</dt>
+   <dt><dfn id="attr-tr-align" title="attr-tr-align"><code>align</code></dfn> on <code><a href="tabular-data.html#the-tr-element">tr</a></code> elements</dt>
+   <dt><dfn id="attr-tr-bgcolor" title="attr-tr-bgcolor"><code>bgcolor</code></dfn> on <code><a href="tabular-data.html#the-tr-element">tr</a></code> elements</dt>
+   <dt><dfn id="attr-tr-char" title="attr-tr-char"><code>char</code></dfn> on <code><a href="tabular-data.html#the-tr-element">tr</a></code> elements</dt>
+   <dt><dfn id="attr-tr-charoff" title="attr-tr-charoff"><code>charoff</code></dfn> on <code><a href="tabular-data.html#the-tr-element">tr</a></code> elements</dt>
+   <dt><dfn id="attr-tr-valign" title="attr-tr-valign"><code>valign</code></dfn> on <code><a href="tabular-data.html#the-tr-element">tr</a></code> elements</dt>
+   <dt><dfn id="attr-ul-compact" title="attr-ul-compact"><code>compact</code></dfn> on <code><a href="grouping-content.html#the-ul-element">ul</a></code> elements</dt>
+   <dt><dfn id="attr-ul-type" title="attr-ul-type"><code>type</code></dfn> on <code><a href="grouping-content.html#the-ul-element">ul</a></code> elements</dt>
+   <dd><p>Use CSS instead.</p></dd>
+
+  </dl></body></html>
\ No newline at end of file

Index: named-character-references.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/named-character-references.html,v
retrieving revision 1.558
retrieving revision 1.559
diff -u -d -r1.558 -r1.559
--- named-character-references.html	6 Jan 2010 15:38:53 -0000	1.558
+++ named-character-references.html	6 Jan 2010 15:49:34 -0000	1.559
@@ -213,4 +213,69 @@
    .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; }
-   .appl
\ No newline at end of file
+   .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="data:text/css," id="complete" rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" id="author" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" id="highlight" rel="alternate stylesheet" title="Highlight implementation requirements"><script>
+   function getCookie(name) {
+     var params = location.search.substr(1).split("&");
+     for (var index = 0; index < params.length; index++) {
+       if (params[index] == name)
+         return "1";
+       var data = params[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     var cookies = document.cookie.split("; ");
+     for (var index = 0; index < cookies.length; index++) {
+       var data = cookies[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     return null;
+   }
+   function load(script) {
+     var e = document.createElement('script');
+     e.setAttribute('src', 'http://www.whatwg.org/specs/web-apps/current-work/' + script + '?' + encodeURIComponent(location) + '&' + encodeURIComponent(document.referrer));
+     document.body.appendChild(e);
+   }
+   function init() {
+     if (location.search == '?slow-browser')
+       return;
+     var configUI = document.createElement('div');
+     configUI.id = 'configUI';
+     document.body.appendChild(configUI);
+     // load('reviewer.js'); // would need cross-site XHR
+     if (document.getElementById('head'))
+       load('toc.js');
+     
+     // load('updater.js'); // would need cross-site XHR
+     load('dfn.js');
+     // load('status.js'); // would need cross-site XHR
+     if (getCookie('profile') == '1')
+       document.getElementsByTagName('h2')[0].textContent += '; load: ' + (new Date() - loadTimer) + 'ms';
+     fixBrokenLink();
+   }
+  </script><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><link href="syntax.html" title="9 The HTML syntax" rel="prev">
+  <link href="Overview.html#contents" title="Table of contents" rel="index">
+  <link href="the-xhtml-syntax.html" title="10 The XHTML syntax" rel="next">
+  </head><body onload="fixBrokenLink(); init()"><div class="head" id="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 (Author Edition)</h1>
+   </div><div>
+   <a href="syntax.html">&#8592; 9 The HTML syntax</a> &#8211;
+   <a href="Overview.html#contents">Table of contents</a> &#8211;
+   <a href="the-xhtml-syntax.html">10 The XHTML syntax &#8594;</a>
+  </div>
+
+  <h3 id="named-character-references"><span class="secno">9.2 </span><dfn>Named character references</dfn></h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>This table lists the character reference names that are supported
+  by HTML, and the code points to which they refer. It is referenced
+  by the previous sections.</p><div class="tall-and-narrow">
+   <table><thead><tr><th> Name </th> <th> Character </th> </tr></thead><tbody><tr><td> <code title="">AElig;</code> </td> <td> U+000C6 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">AMP;</code> </td> <td> U+00026 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Aacute;</code> </td> <td> U+000C1 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Abreve;</code> </td> <td> U+00102 </td> </tr><tr><td> <code title="">Acirc;</code> </td> <td> U+000C2 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Acy;</code> </td> <td> U+00410 </td> </tr><tr><td> <code title="">Afr;</code> </td> <td> U+1D504 </td> </tr><tr><td> <code title="">Agrave;</code> </td> <td> U+000C0 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Alpha;</code> </td <td> U+00391 </td> </tr><tr><td> <code title="">Amacr;</code> </td> <td> U+00100 </td> </tr><tr><td> <code title="">And;</code> </td> <td> U+02A53 </td> </tr><tr><td> <code title="">Aogon;</code> </td> <td> U+00104 </td> </tr><tr><td> <code title="">Aopf;</code> </td> <td> U+1D538 </td> </tr><tr><td> <code title="">ApplyFunction;</code> </td> <td> U+02061 </td> </tr><tr><td> <code title="">Aring;</code> </td> <td> U+000C5 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Ascr;</code> </td> <td> U+1D49C </td> </tr><tr><td> <code title="">Assign;</code> </td> <td> U+02254 </td> </tr><tr><td> <code title="">Atilde;</code> </td> <td> U+000C3 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Auml;</code> </td> <td> U+000C4 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Backslash;</code> </td> <td> U+02216 </td> </tr><tr><td> <code title="">arv;</code> </td> <td> U+02AE7 </td> </tr><tr><td> <code title="">Barwed;</code> </td> <td> U+02306 </td> </tr><tr><td> <code title="">Bcy;</code> </td> <td> U+00411 </td> </tr><tr><td> <code title="">Because;</code> </td> <td> U+02235 </td> </tr><tr><td> <code title="">Bernoullis;</code> </td> <td> U+0212C </td> </tr><tr><td> <code title="">Beta;</code> </td> <td> U+00392 </td> </tr><tr><td> <code title="">Bfr;</code> </td> <td> U+1D505 </td> </tr><tr><td> <code title="">Bopf;</code> </td> <td> U+1D539 </td> </tr><tr><td> <code title="">Breve;</code> </td> <td> U+002D8 </td> </tr><tr><td> <code title="">Bscr;</code> </td> <td> U+0212C </td> </tr><tr><td> <code title="">Bumpeq;</code> </td> <td> U+0224E </td> </tr><tr><td> <code title="">CHcy;</code> </td> <td> U+00427 </td> </tr><tr><td> <code title="">COPY;</code> </td> <td> U+000A9 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Cacute;</code> </td> <td> U+00106 </td> </tr><tr><td> <code title=""Cap;</code> </td> <td> U+022D2 </td> </tr><tr><td> <code title="">CapitalDifferentialD;</code> </td> <td> U+02145 </td> </tr><tr><td> <code title="">Cayleys;</code> </td> <td> U+0212D </td> </tr><tr><td> <code title="">Ccaron;</code> </td> <td> U+0010C </td> </tr><tr><td> <code title="">Ccedil;</code> </td> <td> U+000C7 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Ccirc;</code> </td> <td> U+00108 </td> </tr><tr><td> <code title="">Cconint;</code> </td> <td> U+02230 </td> </tr><tr><td> <code title="">Cdot;</code> </td> <td> U+0010A </td> </tr><tr><td> <code title="">Cedilla;</code> </td> <td> U+000B8 </td> </tr><tr><td> <code title="">CenterDot;</code> </td> <td> U+000B7 </td> </tr><tr><td> <code title="">Cfr;</code> </td> <td> U+0212D </td> </tr><tr><td> <code title="">Chi;</code> </td> <td> U+003A7 </td> </tr><tr><td> <code title="">CircleDot;</code> </td> <td> U+02299 </td> </tr><tr><td> <code title="">CircleMinus;</code> </td> <td> U+02296 </t> </tr><tr><td> <code title="">CirclePlus;</code> </td> <td> U+02295 </td> </tr><tr><td> <code title="">CircleTimes;</code> </td> <td> U+02297 </td> </tr><tr><td> <code title="">ClockwiseContourIntegral;</code> </td> <td> U+02232 </td> </tr><tr><td> <code title="">CloseCurlyDoubleQuote;</code> </td> <td> U+0201D </td> </tr><tr><td> <code title="">CloseCurlyQuote;</code> </td> <td> U+02019 </td> </tr><tr><td> <code title="">Colon;</code> </td> <td> U+02237 </td> </tr><tr><td> <code title="">Colone;</code> </td> <td> U+02A74 </td> </tr><tr><td> <code title="">Congruent;</code> </td> <td> U+02261 </td> </tr><tr><td> <code title="">Conint;</code> </td> <td> U+0222F </td> </tr><tr><td> <code title="">ContourIntegral;</code> </td> <td> U+0222E </td> </tr><tr><td> <code title="">Copf;</code> </td> <td> U+02102 </td> </tr><tr><td> <code title="">Coproduct;</code> </td> <td> U+02210 </td> </tr><tr><td> <code title="">CounterClockwiseContourIntegral;</code> </td> <td> U+02233 </td> </tr><tr><td> <code title="">Cross;/code> </td> <td> U+02A2F </td> </tr><tr><td> <code title="">Cscr;</code> </td> <td> U+1D49E </td> </tr><tr><td> <code title="">Cup;</code> </td> <td> U+022D3 </td> </tr><tr><td> <code title="">CupCap;</code> </td> <td> U+0224D </td> </tr><tr><td> <code title="">DD;</code> </td> <td> U+02145 </td> </tr><tr><td> <code title="">DDotrahd;</code> </td> <td> U+02911 </td> </tr><tr><td> <code title="">DJcy;</code> </td> <td> U+00402 </td> </tr><tr><td> <code title="">DScy;</code> </td> <td> U+00405 </td> </tr><tr><td> <code title="">DZcy;</code> </td> <td> U+0040F </td> </tr><tr><td> <code title="">Dagger;</code> </td> <td> U+02021 </td> </tr><tr><td> <code title="">Darr;</code> </td> <td> U+021A1 </td> </tr><tr><td> <code title="">Dashv;</code> </td> <td> U+02AE4 </td> </tr><tr><td> <code title="">Dcaron;</code> </td> <td> U+0010E </td> </tr><tr><td> <code title="">Dcy;</code> </td> <td> U+00414 </td> </tr><tr><td> <code title="">Del;</code> </td> <td> U+02207 </td> </tr><tr><td> <code title="">Delta;</code> </t> <td> U+00394 </td> </tr><tr><td> <code title="">Dfr;</code> </td> <td> U+1D507 </td> </tr><tr><td> <code title="">DiacriticalAcute;</code> </td> <td> U+000B4 </td> </tr><tr><td> <code title="">DiacriticalDot;</code> </td> <td> U+002D9 </td> </tr><tr><td> <code title="">DiacriticalDoubleAcute;</code> </td> <td> U+002DD </td> </tr><tr><td> <code title="">DiacriticalGrave;</code> </td> <td> U+00060 </td> </tr><tr><td> <code title="">DiacriticalTilde;</code> </td> <td> U+002DC </td> </tr><tr><td> <code title="">Diamond;</code> </td> <td> U+022C4 </td> </tr><tr><td> <code title="">DifferentialD;</code> </td> <td> U+02146 </td> </tr><tr><td> <code title="">Dopf;</code> </td> <td> U+1D53B </td> </tr><tr><td> <code title="">Dot;</code> </td> <td> U+000A8 </td> </tr><tr><td> <code title="">DotDot;</code> </td> <td> U+020DC </td> </tr><tr><td> <code title="">DotEqual;</code> </td> <td> U+02250 </td> </tr><tr><td> <code title="">DoubleContourIntegral;</code> </td> <td> U+0222F </td> </tr><tr><td> <code title="">DoubeDot;</code> </td> <td> U+000A8 </td> </tr><tr><td> <code title="">DoubleDownArrow;</code> </td> <td> U+021D3 </td> </tr><tr><td> <code title="">DoubleLeftArrow;</code> </td> <td> U+021D0 </td> </tr><tr><td> <code title="">DoubleLeftRightArrow;</code> </td> <td> U+021D4 </td> </tr><tr><td> <code title="">DoubleLeftTee;</code> </td> <td> U+02AE4 </td> </tr><tr><td> <code title="">DoubleLongLeftArrow;</code> </td> <td> U+027F8 </td> </tr><tr><td> <code title="">DoubleLongLeftRightArrow;</code> </td> <td> U+027FA </td> </tr><tr><td> <code title="">DoubleLongRightArrow;</code> </td> <td> U+027F9 </td> </tr><tr><td> <code title="">DoubleRightArrow;</code> </td> <td> U+021D2 </td> </tr><tr><td> <code title="">DoubleRightTee;</code> </td> <td> U+022A8 </td> </tr><tr><td> <code title="">DoubleUpArrow;</code> </td> <td> U+021D1 </td> </tr><tr><td> <code title="">DoubleUpDownArrow;</code> </td> <td> U+021D5 </td> </tr><tr><td> <code title="">DoubleVerticalBar;</code> </td> <td> U+02225 </td> </tr><tr><td> <code title"">DownArrow;</code> </td> <td> U+02193 </td> </tr><tr><td> <code title="">DownArrowBar;</code> </td> <td> U+02913 </td> </tr><tr><td> <code title="">DownArrowUpArrow;</code> </td> <td> U+021F5 </td> </tr><tr><td> <code title="">DownBreve;</code> </td> <td> U+00311 </td> </tr><tr><td> <code title="">DownLeftRightVector;</code> </td> <td> U+02950 </td> </tr><tr><td> <code title="">DownLeftTeeVector;</code> </td> <td> U+0295E </td> </tr><tr><td> <code title="">DownLeftVector;</code> </td> <td> U+021BD </td> </tr><tr><td> <code title="">DownLeftVectorBar;</code> </td> <td> U+02956 </td> </tr><tr><td> <code title="">DownRightTeeVector;</code> </td> <td> U+0295F </td> </tr><tr><td> <code title="">DownRightVector;</code> </td> <td> U+021C1 </td> </tr><tr><td> <code title="">DownRightVectorBar;</code> </td> <td> U+02957 </td> </tr><tr><td> <code title="">DownTee;</code> </td> <td> U+022A4 </td> </tr><tr><td> <code title="">DownTeeArrow;</code> </td> <td> U+021A7 </td> </tr><tr><td> <code title="">Downarrow;</code></td> <td> U+021D3 </td> </tr><tr><td> <code title="">Dscr;</code> </td> <td> U+1D49F </td> </tr><tr><td> <code title="">Dstrok;</code> </td> <td> U+00110 </td> </tr><tr><td> <code title="">ENG;</code> </td> <td> U+0014A </td> </tr><tr><td> <code title="">ETH;</code> </td> <td> U+000D0 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Eacute;</code> </td> <td> U+000C9 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Ecaron;</code> </td> <td> U+0011A </td> </tr><tr><td> <code title="">Ecirc;</code> </td> <td> U+000CA </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Ecy;</code> </td> <td> U+0042D </td> </tr><tr><td> <code title="">Edot;</code> </td> <td> U+00116 </td> </tr><tr><td> <code title="">Efr;</code> </td> <td> U+1D508 </td> </tr><tr><td> <code title="">Egrave;</code> </td> <td> U+000C8 </td> </tr><!-- (invalid entity with missing emicolon for legacy support only) --><tr><td> <code title="">Element;</code> </td> <td> U+02208 </td> </tr><tr><td> <code title="">Emacr;</code> </td> <td> U+00112 </td> </tr><tr><td> <code title="">EmptySmallSquare;</code> </td> <td> U+025FB </td> </tr><tr><td> <code title="">EmptyVerySmallSquare;</code> </td> <td> U+025AB </td> </tr><tr><td> <code title="">Eogon;</code> </td> <td> U+00118 </td> </tr><tr><td> <code title="">Eopf;</code> </td> <td> U+1D53C </td> </tr><tr><td> <code title="">Epsilon;</code> </td> <td> U+00395 </td> </tr><tr><td> <code title="">Equal;</code> </td> <td> U+02A75 </td> </tr><tr><td> <code title="">EqualTilde;</code> </td> <td> U+02242 </td> </tr><tr><td> <code title="">Equilibrium;</code> </td> <td> U+021CC </td> </tr><tr><td> <code title="">Escr;</code> </td> <td> U+02130 </td> </tr><tr><td> <code title="">Esim;</code> </td> <td> U+02A73 </td> </tr><tr><td> <code title="">Eta;</code> </td> <td> U+00397 </td> </tr><tr><td> <code title="">Euml;</code> </td> <td> U+000CB </td> </t><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Exists;</code> </td> <td> U+02203 </td> </tr><tr><td> <code title="">ExponentialE;</code> </td> <td> U+02147 </td> </tr><tr><td> <code title="">Fcy;</code> </td> <td> U+00424 </td> </tr><tr><td> <code title="">Ffr;</code> </td> <td> U+1D509 </td> </tr><tr><td> <code title="">FilledSmallSquare;</code> </td> <td> U+025FC </td> </tr><tr><td> <code title="">FilledVerySmallSquare;</code> </td> <td> U+025AA </td> </tr><tr><td> <code title="">Fopf;</code> </td> <td> U+1D53D </td> </tr><tr><td> <code title="">ForAll;</code> </td> <td> U+02200 </td> </tr><tr><td> <code title="">Fouriertrf;</code> </td> <td> U+02131 </td> </tr><tr><td> <code title="">Fscr;</code> </td> <td> U+02131 </td> </tr><tr><td> <code title="">GJcy;</code> </td> <td> U+00403 </td> </tr><tr><td> <code title="">GT;</code> </td> <td> U+0003E </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Gamma</code> </td> <td> U+00393 </td> </tr><tr><td> <code title="">Gammad;</code> </td> <td> U+003DC </td> </tr><tr><td> <code title="">Gbreve;</code> </td> <td> U+0011E </td> </tr><tr><td> <code title="">Gcedil;</code> </td> <td> U+00122 </td> </tr><tr><td> <code title="">Gcirc;</code> </td> <td> U+0011C </td> </tr><tr><td> <code title="">Gcy;</code> </td> <td> U+00413 </td> </tr><tr><td> <code title="">Gdot;</code> </td> <td> U+00120 </td> </tr><tr><td> <code title="">Gfr;</code> </td> <td> U+1D50A </td> </tr><tr><td> <code title="">Gg;</code> </td> <td> U+022D9 </td> </tr><tr><td> <code title="">Gopf;</code> </td> <td> U+1D53E </td> </tr><tr><td> <code title="">GreaterEqual;</code> </td> <td> U+02265 </td> </tr><tr><td> <code title="">GreaterEqualLess;</code> </td> <td> U+022DB </td> </tr><tr><td> <code title="">GreaterFullEqual;</code> </td> <td> U+02267 </td> </tr><tr><td> <code title="">GreaterGreater;</code> </td> <td> U+02AA2 </td> </tr><tr><td> <code title="">GreaterLess;</code> </td> <td> U+02277 </td></tr><tr><td> <code title="">GreaterSlantEqual;</code> </td> <td> U+02A7E </td> </tr><tr><td> <code title="">GreaterTilde;</code> </td> <td> U+02273 </td> </tr><tr><td> <code title="">Gscr;</code> </td> <td> U+1D4A2 </td> </tr><tr><td> <code title="">Gt;</code> </td> <td> U+0226B </td> </tr><tr><td> <code title="">HARDcy;</code> </td> <td> U+0042A </td> </tr><tr><td> <code title="">Hacek;</code> </td> <td> U+002C7 </td> </tr><tr><td> <code title="">Hat;</code> </td> <td> U+0005E </td> </tr><tr><td> <code title="">Hcirc;</code> </td> <td> U+00124 </td> </tr><tr><td> <code title="">Hfr;</code> </td> <td> U+0210C </td> </tr><tr><td> <code title="">HilbertSpace;</code> </td> <td> U+0210B </td> </tr><tr><td> <code title="">Hopf;</code> </td> <td> U+0210D </td> </tr><tr><td> <code title="">HorizontalLine;</code> </td> <td> U+02500 </td> </tr><tr><td> <code title="">Hscr;</code> </td> <td> U+0210B </td> </tr><tr><td> <code title="">Hstrok;</code> </td> <td> U+00126 </td> </tr><tr><td> <code title="">HumpDownHump;<code> </td> <td> U+0224E </td> </tr><tr><td> <code title="">HumpEqual;</code> </td> <td> U+0224F </td> </tr><tr><td> <code title="">IEcy;</code> </td> <td> U+00415 </td> </tr><tr><td> <code title="">IJlig;</code> </td> <td> U+00132 </td> </tr><tr><td> <code title="">IOcy;</code> </td> <td> U+00401 </td> </tr><tr><td> <code title="">Iacute;</code> </td> <td> U+000CD </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Icirc;</code> </td> <td> U+000CE </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Icy;</code> </td> <td> U+00418 </td> </tr><tr><td> <code title="">Idot;</code> </td> <td> U+00130 </td> </tr><tr><td> <code title="">Ifr;</code> </td> <td> U+02111 </td> </tr><tr><td> <code title="">Igrave;</code> </td> <td> U+000CC </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Im;</code> </td> <td> U+02111 </td> </tr><tr><td> <code title="">Imcr;</code> </td> <td> U+0012A </td> </tr><tr><td> <code title="">ImaginaryI;</code> </td> <td> U+02148 </td> </tr><tr><td> <code title="">Implies;</code> </td> <td> U+021D2 </td> </tr><tr><td> <code title="">Int;</code> </td> <td> U+0222C </td> </tr><tr><td> <code title="">Integral;</code> </td> <td> U+0222B </td> </tr><tr><td> <code title="">Intersection;</code> </td> <td> U+022C2 </td> </tr><tr><td> <code title="">InvisibleComma;</code> </td> <td> U+02063 </td> </tr><tr><td> <code title="">InvisibleTimes;</code> </td> <td> U+02062 </td> </tr><tr><td> <code title="">Iogon;</code> </td> <td> U+0012E </td> </tr><tr><td> <code title="">Iopf;</code> </td> <td> U+1D540 </td> </tr><tr><td> <code title="">Iota;</code> </td> <td> U+00399 </td> </tr><tr><td> <code title="">Iscr;</code> </td> <td> U+02110 </td> </tr><tr><td> <code title="">Itilde;</code> </td> <td> U+00128 </td> </tr><tr><td> <code title="">Iukcy;</code> </td> <td> U+00406 </td> </tr><tr><td> <code title="">Iuml;</code> </td> <td> U+000CF </td> </tr<!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Jcirc;</code> </td> <td> U+00134 </td> </tr><tr><td> <code title="">Jcy;</code> </td> <td> U+00419 </td> </tr><tr><td> <code title="">Jfr;</code> </td> <td> U+1D50D </td> </tr><tr><td> <code title="">Jopf;</code> </td> <td> U+1D541 </td> </tr><tr><td> <code title="">Jscr;</code> </td> <td> U+1D4A5 </td> </tr><tr><td> <code title="">Jsercy;</code> </td> <td> U+00408 </td> </tr><tr><td> <code title="">Jukcy;</code> </td> <td> U+00404 </td> </tr><tr><td> <code title="">KHcy;</code> </td> <td> U+00425 </td> </tr><tr><td> <code title="">KJcy;</code> </td> <td> U+0040C </td> </tr><tr><td> <code title="">Kappa;</code> </td> <td> U+0039A </td> </tr><tr><td> <code title="">Kcedil;</code> </td> <td> U+00136 </td> </tr><tr><td> <code title="">Kcy;</code> </td> <td> U+0041A </td> </tr><tr><td> <code title="">Kfr;</code> </td> <td> U+1D50E </td> </tr><tr><td> <code title="">Kopf;</code> </td> <td> U+1D542 </td> </tr><tr><td> code title="">Kscr;</code> </td> <td> U+1D4A6 </td> </tr><tr><td> <code title="">LJcy;</code> </td> <td> U+00409 </td> </tr><tr><td> <code title="">LT;</code> </td> <td> U+0003C </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Lacute;</code> </td> <td> U+00139 </td> </tr><tr><td> <code title="">Lambda;</code> </td> <td> U+0039B </td> </tr><tr><td> <code title="">Lang;</code> </td> <td> U+027EA </td> </tr><tr><td> <code title="">Laplacetrf;</code> </td> <td> U+02112 </td> </tr><tr><td> <code title="">Larr;</code> </td> <td> U+0219E </td> </tr><tr><td> <code title="">Lcaron;</code> </td> <td> U+0013D </td> </tr><tr><td> <code title="">Lcedil;</code> </td> <td> U+0013B </td> </tr><tr><td> <code title="">Lcy;</code> </td> <td> U+0041B </td> </tr><tr><td> <code title="">LeftAngleBracket;</code> </td> <td> U+027E8 </td> </tr><tr><td> <code title="">LeftArrow;</code> </td> <td> U+02190 </td> </tr><tr><td> <code title="">LeftArrowBar;</code> </td> <td> U+0214 </td> </tr><tr><td> <code title="">LeftArrowRightArrow;</code> </td> <td> U+021C6 </td> </tr><tr><td> <code title="">LeftCeiling;</code> </td> <td> U+02308 </td> </tr><tr><td> <code title="">LeftDoubleBracket;</code> </td> <td> U+027E6 </td> </tr><tr><td> <code title="">LeftDownTeeVector;</code> </td> <td> U+02961 </td> </tr><tr><td> <code title="">LeftDownVector;</code> </td> <td> U+021C3 </td> </tr><tr><td> <code title="">LeftDownVectorBar;</code> </td> <td> U+02959 </td> </tr><tr><td> <code title="">LeftFloor;</code> </td> <td> U+0230A </td> </tr><tr><td> <code title="">LeftRightArrow;</code> </td> <td> U+02194 </td> </tr><tr><td> <code title="">LeftRightVector;</code> </td> <td> U+0294E </td> </tr><tr><td> <code title="">LeftTee;</code> </td> <td> U+022A3 </td> </tr><tr><td> <code title="">LeftTeeArrow;</code> </td> <td> U+021A4 </td> </tr><tr><td> <code title="">LeftTeeVector;</code> </td> <td> U+0295A </td> </tr><tr><td> <code title="">LeftTriangle;</code> </td> <td> U+022B2 </td> </tr><tr><td> <cod title="">LeftTriangleBar;</code> </td> <td> U+029CF </td> </tr><tr><td> <code title="">LeftTriangleEqual;</code> </td> <td> U+022B4 </td> </tr><tr><td> <code title="">LeftUpDownVector;</code> </td> <td> U+02951 </td> </tr><tr><td> <code title="">LeftUpTeeVector;</code> </td> <td> U+02960 </td> </tr><tr><td> <code title="">LeftUpVector;</code> </td> <td> U+021BF </td> </tr><tr><td> <code title="">LeftUpVectorBar;</code> </td> <td> U+02958 </td> </tr><tr><td> <code title="">LeftVector;</code> </td> <td> U+021BC </td> </tr><tr><td> <code title="">LeftVectorBar;</code> </td> <td> U+02952 </td> </tr><tr><td> <code title="">Leftarrow;</code> </td> <td> U+021D0 </td> </tr><tr><td> <code title="">Leftrightarrow;</code> </td> <td> U+021D4 </td> </tr><tr><td> <code title="">LessEqualGreater;</code> </td> <td> U+022DA </td> </tr><tr><td> <code title="">LessFullEqual;</code> </td> <td> U+02266 </td> </tr><tr><td> <code title="">LessGreater;</code> </td> <td> U+02276 </td> </tr><tr><td> <code title="">LessLess;</code> /td> <td> U+02AA1 </td> </tr><tr><td> <code title="">LessSlantEqual;</code> </td> <td> U+02A7D </td> </tr><tr><td> <code title="">LessTilde;</code> </td> <td> U+02272 </td> </tr><tr><td> <code title="">Lfr;</code> </td> <td> U+1D50F </td> </tr><tr><td> <code title="">Ll;</code> </td> <td> U+022D8 </td> </tr><tr><td> <code title="">Lleftarrow;</code> </td> <td> U+021DA </td> </tr><tr><td> <code title="">Lmidot;</code> </td> <td> U+0013F </td> </tr><tr><td> <code title="">LongLeftArrow;</code> </td> <td> U+027F5 </td> </tr><tr><td> <code title="">LongLeftRightArrow;</code> </td> <td> U+027F7 </td> </tr><tr><td> <code title="">LongRightArrow;</code> </td> <td> U+027F6 </td> </tr><tr><td> <code title="">Longleftarrow;</code> </td> <td> U+027F8 </td> </tr><tr><td> <code title="">Longleftrightarrow;</code> </td> <td> U+027FA </td> </tr><tr><td> <code title="">Longrightarrow;</code> </td> <td> U+027F9 </td> </tr><tr><td> <code title="">Lopf;</code> </td> <td> U+1D543 </td> </tr><tr><td> <code title="">LowerLeftArrw;</code> </td> <td> U+02199 </td> </tr><tr><td> <code title="">LowerRightArrow;</code> </td> <td> U+02198 </td> </tr><tr><td> <code title="">Lscr;</code> </td> <td> U+02112 </td> </tr><tr><td> <code title="">Lsh;</code> </td> <td> U+021B0 </td> </tr><tr><td> <code title="">Lstrok;</code> </td> <td> U+00141 </td> </tr><tr><td> <code title="">Lt;</code> </td> <td> U+0226A </td> </tr><tr><td> <code title="">Map;</code> </td> <td> U+02905 </td> </tr><tr><td> <code title="">Mcy;</code> </td> <td> U+0041C </td> </tr><tr><td> <code title="">MediumSpace;</code> </td> <td> U+0205F </td> </tr><tr><td> <code title="">Mellintrf;</code> </td> <td> U+02133 </td> </tr><tr><td> <code title="">Mfr;</code> </td> <td> U+1D510 </td> </tr><tr><td> <code title="">MinusPlus;</code> </td> <td> U+02213 </td> </tr><tr><td> <code title="">Mopf;</code> </td> <td> U+1D544 </td> </tr><tr><td> <code title="">Mscr;</code> </td> <td> U+02133 </td> </tr><tr><td> <code title="">Mu;</code> </td> <td> U+0039C </td> </tr><tr><td> <code title=">NJcy;</code> </td> <td> U+0040A </td> </tr><tr><td> <code title="">Nacute;</code> </td> <td> U+00143 </td> </tr><tr><td> <code title="">Ncaron;</code> </td> <td> U+00147 </td> </tr><tr><td> <code title="">Ncedil;</code> </td> <td> U+00145 </td> </tr><tr><td> <code title="">Ncy;</code> </td> <td> U+0041D </td> </tr><tr><td> <code title="">NegativeMediumSpace;</code> </td> <td> U+0200B </td> </tr><tr><td> <code title="">NegativeThickSpace;</code> </td> <td> U+0200B </td> </tr><tr><td> <code title="">NegativeThinSpace;</code> </td> <td> U+0200B </td> </tr><tr><td> <code title="">NegativeVeryThinSpace;</code> </td> <td> U+0200B </td> </tr><tr><td> <code title="">NestedGreaterGreater;</code> </td> <td> U+0226B </td> </tr><tr><td> <code title="">NestedLessLess;</code> </td> <td> U+0226A </td> </tr><tr><td> <code title="">NewLine;</code> </td> <td> U+0000A </td> </tr><tr><td> <code title="">Nfr;</code> </td> <td> U+1D511 </td> </tr><tr><td> <code title="">NoBreak;</code> </td> <td> U+02060 </td> </tr><tr><td> <coe title="">NonBreakingSpace;</code> </td> <td> U+000A0 </td> </tr><tr><td> <code title="">Nopf;</code> </td> <td> U+02115 </td> </tr><tr><td> <code title="">Not;</code> </td> <td> U+02AEC </td> </tr><tr><td> <code title="">NotCongruent;</code> </td> <td> U+02262 </td> </tr><tr><td> <code title="">NotCupCap;</code> </td> <td> U+0226D </td> </tr><tr><td> <code title="">NotDoubleVerticalBar;</code> </td> <td> U+02226 </td> </tr><tr><td> <code title="">NotElement;</code> </td> <td> U+02209 </td> </tr><tr><td> <code title="">NotEqual;</code> </td> <td> U+02260 </td> </tr><tr><td> <code title="">NotExists;</code> </td> <td> U+02204 </td> </tr><tr><td> <code title="">NotGreater;</code> </td> <td> U+0226F </td> </tr><tr><td> <code title="">NotGreaterEqual;</code> </td> <td> U+02271 </td> </tr><tr><td> <code title="">NotGreaterLess;</code> </td> <td> U+02279 </td> </tr><tr><td> <code title="">NotGreaterTilde;</code> </td> <td> U+02275 </td> </tr><tr><td> <code title="">NotLeftTriangle;</code> </td> <td> U+022EA </td </tr><tr><td> <code title="">NotLeftTriangleEqual;</code> </td> <td> U+022EC </td> </tr><tr><td> <code title="">NotLess;</code> </td> <td> U+0226E </td> </tr><tr><td> <code title="">NotLessEqual;</code> </td> <td> U+02270 </td> </tr><tr><td> <code title="">NotLessGreater;</code> </td> <td> U+02278 </td> </tr><tr><td> <code title="">NotLessTilde;</code> </td> <td> U+02274 </td> </tr><tr><td> <code title="">NotPrecedes;</code> </td> <td> U+02280 </td> </tr><tr><td> <code title="">NotPrecedesSlantEqual;</code> </td> <td> U+022E0 </td> </tr><tr><td> <code title="">NotReverseElement;</code> </td> <td> U+0220C </td> </tr><tr><td> <code title="">NotRightTriangle;</code> </td> <td> U+022EB </td> </tr><tr><td> <code title="">NotRightTriangleEqual;</code> </td> <td> U+022ED </td> </tr><tr><td> <code title="">NotSquareSubsetEqual;</code> </td> <td> U+022E2 </td> </tr><tr><td> <code title="">NotSquareSupersetEqual;</code> </td> <td> U+022E3 </td> </tr><tr><td> <code title="">NotSubsetEqual;</code> </td> <td> U+02288 <td> </tr><tr><td> <code title="">NotSucceeds;</code> </td> <td> U+02281 </td> </tr><tr><td> <code title="">NotSucceedsSlantEqual;</code> </td> <td> U+022E1 </td> </tr><tr><td> <code title="">NotSupersetEqual;</code> </td> <td> U+02289 </td> </tr><tr><td> <code title="">NotTilde;</code> </td> <td> U+02241 </td> </tr><tr><td> <code title="">NotTildeEqual;</code> </td> <td> U+02244 </td> </tr><tr><td> <code title="">NotTildeFullEqual;</code> </td> <td> U+02247 </td> </tr><tr><td> <code title="">NotTildeTilde;</code> </td> <td> U+02249 </td> </tr><tr><td> <code title="">NotVerticalBar;</code> </td> <td> U+02224 </td> </tr><tr><td> <code title="">Nscr;</code> </td> <td> U+1D4A9 </td> </tr><tr><td> <code title="">Ntilde;</code> </td> <td> U+000D1 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Nu;</code> </td> <td> U+0039D </td> </tr><tr><td> <code title="">OElig;</code> </td> <td> U+00152 </td> </tr><tr><td> <code title="">Oacute;</code> </td> <td> U+0003 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Ocirc;</code> </td> <td> U+000D4 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Ocy;</code> </td> <td> U+0041E </td> </tr><tr><td> <code title="">Odblac;</code> </td> <td> U+00150 </td> </tr><tr><td> <code title="">Ofr;</code> </td> <td> U+1D512 </td> </tr><tr><td> <code title="">Ograve;</code> </td> <td> U+000D2 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Omacr;</code> </td> <td> U+0014C </td> </tr><tr><td> <code title="">Omega;</code> </td> <td> U+003A9 </td> </tr><tr><td> <code title="">Omicron;</code> </td> <td> U+0039F </td> </tr><tr><td> <code title="">Oopf;</code> </td> <td> U+1D546 </td> </tr><tr><td> <code title="">OpenCurlyDoubleQuote;</code> </td> <td> U+0201C </td> </tr><tr><td> <code title="">OpenCurlyQuote;</code> </td> <td> U+02018 </td> </tr><tr><td> <code title=">Or;</code> </td> <td> U+02A54 </td> </tr><tr><td> <code title="">Oscr;</code> </td> <td> U+1D4AA </td> </tr><tr><td> <code title="">Oslash;</code> </td> <td> U+000D8 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Otilde;</code> </td> <td> U+000D5 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Otimes;</code> </td> <td> U+02A37 </td> </tr><tr><td> <code title="">Ouml;</code> </td> <td> U+000D6 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">OverBar;</code> </td> <td> U+0203E </td> </tr><tr><td> <code title="">OverBrace;</code> </td> <td> U+023DE </td> </tr><tr><td> <code title="">OverBracket;</code> </td> <td> U+023B4 </td> </tr><tr><td> <code title="">OverParenthesis;</code> </td> <td> U+023DC </td> </tr><tr><td> <code title="">PartialD;</code> </td> <td> U+02202 </td> </tr><tr><td> <code title="">Pcy;</code> </td> <td> U+0041F </t> </tr><tr><td> <code title="">Pfr;</code> </td> <td> U+1D513 </td> </tr><tr><td> <code title="">Phi;</code> </td> <td> U+003A6 </td> </tr><tr><td> <code title="">Pi;</code> </td> <td> U+003A0 </td> </tr><tr><td> <code title="">PlusMinus;</code> </td> <td> U+000B1 </td> </tr><tr><td> <code title="">Poincareplane;</code> </td> <td> U+0210C </td> </tr><tr><td> <code title="">Popf;</code> </td> <td> U+02119 </td> </tr><tr><td> <code title="">Pr;</code> </td> <td> U+02ABB </td> </tr><tr><td> <code title="">Precedes;</code> </td> <td> U+0227A </td> </tr><tr><td> <code title="">PrecedesEqual;</code> </td> <td> U+02AAF </td> </tr><tr><td> <code title="">PrecedesSlantEqual;</code> </td> <td> U+0227C </td> </tr><tr><td> <code title="">PrecedesTilde;</code> </td> <td> U+0227E </td> </tr><tr><td> <code title="">Prime;</code> </td> <td> U+02033 </td> </tr><tr><td> <code title="">Product;</code> </td> <td> U+0220F </td> </tr><tr><td> <code title="">Proportion;</code> </td> <td> U+02237 </td> </tr><tr><td> <code title=""Proportional;</code> </td> <td> U+0221D </td> </tr><tr><td> <code title="">Pscr;</code> </td> <td> U+1D4AB </td> </tr><tr><td> <code title="">Psi;</code> </td> <td> U+003A8 </td> </tr><tr><td> <code title="">QUOT;</code> </td> <td> U+00022 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Qfr;</code> </td> <td> U+1D514 </td> </tr><tr><td> <code title="">Qopf;</code> </td> <td> U+0211A </td> </tr><tr><td> <code title="">Qscr;</code> </td> <td> U+1D4AC </td> </tr><tr><td> <code title="">RBarr;</code> </td> <td> U+02910 </td> </tr><tr><td> <code title="">REG;</code> </td> <td> U+000AE </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Racute;</code> </td> <td> U+00154 </td> </tr><tr><td> <code title="">Rang;</code> </td> <td> U+027EB </td> </tr><tr><td> <code title="">Rarr;</code> </td> <td> U+021A0 </td> </tr><tr><td> <code title="">Rarrtl;</code> </td> <td> U+02916 </td> </tr><tr><td> <code title=">Rcaron;</code> </td> <td> U+00158 </td> </tr><tr><td> <code title="">Rcedil;</code> </td> <td> U+00156 </td> </tr><tr><td> <code title="">Rcy;</code> </td> <td> U+00420 </td> </tr><tr><td> <code title="">Re;</code> </td> <td> U+0211C </td> </tr><tr><td> <code title="">ReverseElement;</code> </td> <td> U+0220B </td> </tr><tr><td> <code title="">ReverseEquilibrium;</code> </td> <td> U+021CB </td> </tr><tr><td> <code title="">ReverseUpEquilibrium;</code> </td> <td> U+0296F </td> </tr><tr><td> <code title="">Rfr;</code> </td> <td> U+0211C </td> </tr><tr><td> <code title="">Rho;</code> </td> <td> U+003A1 </td> </tr><tr><td> <code title="">RightAngleBracket;</code> </td> <td> U+027E9 </td> </tr><tr><td> <code title="">RightArrow;</code> </td> <td> U+02192 </td> </tr><tr><td> <code title="">RightArrowBar;</code> </td> <td> U+021E5 </td> </tr><tr><td> <code title="">RightArrowLeftArrow;</code> </td> <td> U+021C4 </td> </tr><tr><td> <code title="">RightCeiling;</code> </td> <td> U+02309 </td> </tr><tr><td> <code ttle="">RightDoubleBracket;</code> </td> <td> U+027E7 </td> </tr><tr><td> <code title="">RightDownTeeVector;</code> </td> <td> U+0295D </td> </tr><tr><td> <code title="">RightDownVector;</code> </td> <td> U+021C2 </td> </tr><tr><td> <code title="">RightDownVectorBar;</code> </td> <td> U+02955 </td> </tr><tr><td> <code title="">RightFloor;</code> </td> <td> U+0230B </td> </tr><tr><td> <code title="">RightTee;</code> </td> <td> U+022A2 </td> </tr><tr><td> <code title="">RightTeeArrow;</code> </td> <td> U+021A6 </td> </tr><tr><td> <code title="">RightTeeVector;</code> </td> <td> U+0295B </td> </tr><tr><td> <code title="">RightTriangle;</code> </td> <td> U+022B3 </td> </tr><tr><td> <code title="">RightTriangleBar;</code> </td> <td> U+029D0 </td> </tr><tr><td> <code title="">RightTriangleEqual;</code> </td> <td> U+022B5 </td> </tr><tr><td> <code title="">RightUpDownVector;</code> </td> <td> U+0294F </td> </tr><tr><td> <code title="">RightUpTeeVector;</code> </td> <td> U+0295C </td> </tr><tr><td> <code title="">RihtUpVector;</code> </td> <td> U+021BE </td> </tr><tr><td> <code title="">RightUpVectorBar;</code> </td> <td> U+02954 </td> </tr><tr><td> <code title="">RightVector;</code> </td> <td> U+021C0 </td> </tr><tr><td> <code title="">RightVectorBar;</code> </td> <td> U+02953 </td> </tr><tr><td> <code title="">Rightarrow;</code> </td> <td> U+021D2 </td> </tr><tr><td> <code title="">Ropf;</code> </td> <td> U+0211D </td> </tr><tr><td> <code title="">RoundImplies;</code> </td> <td> U+02970 </td> </tr><tr><td> <code title="">Rrightarrow;</code> </td> <td> U+021DB </td> </tr><tr><td> <code title="">Rscr;</code> </td> <td> U+0211B </td> </tr><tr><td> <code title="">Rsh;</code> </td> <td> U+021B1 </td> </tr><tr><td> <code title="">RuleDelayed;</code> </td> <td> U+029F4 </td> </tr><tr><td> <code title="">SHCHcy;</code> </td> <td> U+00429 </td> </tr><tr><td> <code title="">SHcy;</code> </td> <td> U+00428 </td> </tr><tr><td> <code title="">SOFTcy;</code> </td> <td> U+0042C </td> </tr><tr><td> <code title="">Sacute;</code> </t> <td> U+0015A </td> </tr><tr><td> <code title="">Sc;</code> </td> <td> U+02ABC </td> </tr><tr><td> <code title="">Scaron;</code> </td> <td> U+00160 </td> </tr><tr><td> <code title="">Scedil;</code> </td> <td> U+0015E </td> </tr><tr><td> <code title="">Scirc;</code> </td> <td> U+0015C </td> </tr><tr><td> <code title="">Scy;</code> </td> <td> U+00421 </td> </tr><tr><td> <code title="">Sfr;</code> </td> <td> U+1D516 </td> </tr><tr><td> <code title="">ShortDownArrow;</code> </td> <td> U+02193 </td> </tr><tr><td> <code title="">ShortLeftArrow;</code> </td> <td> U+02190 </td> </tr><tr><td> <code title="">ShortRightArrow;</code> </td> <td> U+02192 </td> </tr><tr><td> <code title="">ShortUpArrow;</code> </td> <td> U+02191 </td> </tr><tr><td> <code title="">Sigma;</code> </td> <td> U+003A3 </td> </tr><tr><td> <code title="">SmallCircle;</code> </td> <td> U+02218 </td> </tr><tr><td> <code title="">Sopf;</code> </td> <td> U+1D54A </td> </tr><tr><td> <code title="">Sqrt;</code> </td> <td> U+0221A </td> </tr><tr><td> <ode title="">Square;</code> </td> <td> U+025A1 </td> </tr><tr><td> <code title="">SquareIntersection;</code> </td> <td> U+02293 </td> </tr><tr><td> <code title="">SquareSubset;</code> </td> <td> U+0228F </td> </tr><tr><td> <code title="">SquareSubsetEqual;</code> </td> <td> U+02291 </td> </tr><tr><td> <code title="">SquareSuperset;</code> </td> <td> U+02290 </td> </tr><tr><td> <code title="">SquareSupersetEqual;</code> </td> <td> U+02292 </td> </tr><tr><td> <code title="">SquareUnion;</code> </td> <td> U+02294 </td> </tr><tr><td> <code title="">Sscr;</code> </td> <td> U+1D4AE </td> </tr><tr><td> <code title="">Star;</code> </td> <td> U+022C6 </td> </tr><tr><td> <code title="">Sub;</code> </td> <td> U+022D0 </td> </tr><tr><td> <code title="">Subset;</code> </td> <td> U+022D0 </td> </tr><tr><td> <code title="">SubsetEqual;</code> </td> <td> U+02286 </td> </tr><tr><td> <code title="">Succeeds;</code> </td> <td> U+0227B </td> </tr><tr><td> <code title="">SucceedsEqual;</code> </td> <td> U+02AB0 </td> </tr><tr><d> <code title="">SucceedsSlantEqual;</code> </td> <td> U+0227D </td> </tr><tr><td> <code title="">SucceedsTilde;</code> </td> <td> U+0227F </td> </tr><tr><td> <code title="">SuchThat;</code> </td> <td> U+0220B </td> </tr><tr><td> <code title="">Sum;</code> </td> <td> U+02211 </td> </tr><tr><td> <code title="">Sup;</code> </td> <td> U+022D1 </td> </tr><tr><td> <code title="">Superset;</code> </td> <td> U+02283 </td> </tr><tr><td> <code title="">SupersetEqual;</code> </td> <td> U+02287 </td> </tr><tr><td> <code title="">Supset;</code> </td> <td> U+022D1 </td> </tr><tr><td> <code title="">THORN;</code> </td> <td> U+000DE </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">TRADE;</code> </td> <td> U+02122 </td> </tr><tr><td> <code title="">TSHcy;</code> </td> <td> U+0040B </td> </tr><tr><td> <code title="">TScy;</code> </td> <td> U+00426 </td> </tr><tr><td> <code title="">Tab;</code> </td> <td> U+00009 </td> </tr><tr><td> <code title="">Tau;</code> </td> <d> U+003A4 </td> </tr><tr><td> <code title="">Tcaron;</code> </td> <td> U+00164 </td> </tr><tr><td> <code title="">Tcedil;</code> </td> <td> U+00162 </td> </tr><tr><td> <code title="">Tcy;</code> </td> <td> U+00422 </td> </tr><tr><td> <code title="">Tfr;</code> </td> <td> U+1D517 </td> </tr><tr><td> <code title="">Therefore;</code> </td> <td> U+02234 </td> </tr><tr><td> <code title="">Theta;</code> </td> <td> U+00398 </td> </tr><tr><td> <code title="">ThinSpace;</code> </td> <td> U+02009 </td> </tr><tr><td> <code title="">Tilde;</code> </td> <td> U+0223C </td> </tr><tr><td> <code title="">TildeEqual;</code> </td> <td> U+02243 </td> </tr><tr><td> <code title="">TildeFullEqual;</code> </td> <td> U+02245 </td> </tr><tr><td> <code title="">TildeTilde;</code> </td> <td> U+02248 </td> </tr><tr><td> <code title="">Topf;</code> </td> <td> U+1D54B </td> </tr><tr><td> <code title="">TripleDot;</code> </td> <td> U+020DB </td> </tr><tr><td> <code title="">Tscr;</code> </td> <td> U+1D4AF </td> </tr><tr><td> <code title=">Tstrok;</code> </td> <td> U+00166 </td> </tr><tr><td> <code title="">Uacute;</code> </td> <td> U+000DA </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Uarr;</code> </td> <td> U+0219F </td> </tr><tr><td> <code title="">Uarrocir;</code> </td> <td> U+02949 </td> </tr><tr><td> <code title="">Ubrcy;</code> </td> <td> U+0040E </td> </tr><tr><td> <code title="">Ubreve;</code> </td> <td> U+0016C </td> </tr><tr><td> <code title="">Ucirc;</code> </td> <td> U+000DB </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Ucy;</code> </td> <td> U+00423 </td> </tr><tr><td> <code title="">Udblac;</code> </td> <td> U+00170 </td> </tr><tr><td> <code title="">Ufr;</code> </td> <td> U+1D518 </td> </tr><tr><td> <code title="">Ugrave;</code> </td> <td> U+000D9 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Umacr;</code> </td> <td> U+0016A </td> </tr><tr><td> code title="">UnderBar;</code> </td> <td> U+0005F </td> </tr><tr><td> <code title="">UnderBrace;</code> </td> <td> U+023DF </td> </tr><tr><td> <code title="">UnderBracket;</code> </td> <td> U+023B5 </td> </tr><tr><td> <code title="">UnderParenthesis;</code> </td> <td> U+023DD </td> </tr><tr><td> <code title="">Union;</code> </td> <td> U+022C3 </td> </tr><tr><td> <code title="">UnionPlus;</code> </td> <td> U+0228E </td> </tr><tr><td> <code title="">Uogon;</code> </td> <td> U+00172 </td> </tr><tr><td> <code title="">Uopf;</code> </td> <td> U+1D54C </td> </tr><tr><td> <code title="">UpArrow;</code> </td> <td> U+02191 </td> </tr><tr><td> <code title="">UpArrowBar;</code> </td> <td> U+02912 </td> </tr><tr><td> <code title="">UpArrowDownArrow;</code> </td> <td> U+021C5 </td> </tr><tr><td> <code title="">UpDownArrow;</code> </td> <td> U+02195 </td> </tr><tr><td> <code title="">UpEquilibrium;</code> </td> <td> U+0296E </td> </tr><tr><td> <code title="">UpTee;</code> </td> <td> U+022A5 </td> </tr><tr><td> <code titl="">UpTeeArrow;</code> </td> <td> U+021A5 </td> </tr><tr><td> <code title="">Uparrow;</code> </td> <td> U+021D1 </td> </tr><tr><td> <code title="">Updownarrow;</code> </td> <td> U+021D5 </td> </tr><tr><td> <code title="">UpperLeftArrow;</code> </td> <td> U+02196 </td> </tr><tr><td> <code title="">UpperRightArrow;</code> </td> <td> U+02197 </td> </tr><tr><td> <code title="">Upsi;</code> </td> <td> U+003D2 </td> </tr><tr><td> <code title="">Upsilon;</code> </td> <td> U+003A5 </td> </tr><tr><td> <code title="">Uring;</code> </td> <td> U+0016E </td> </tr><tr><td> <code title="">Uscr;</code> </td> <td> U+1D4B0 </td> </tr><tr><td> <code title="">Utilde;</code> </td> <td> U+00168 </td> </tr><tr><td> <code title="">Uuml;</code> </td> <td> U+000DC </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">VDash;</code> </td> <td> U+022AB </td> </tr><tr><td> <code title="">Vbar;</code> </td> <td> U+02AEB </td> </tr><tr><td> <code title="">Vcy;</code> </td> <td> U+00412 /td> </tr><tr><td> <code title="">Vdash;</code> </td> <td> U+022A9 </td> </tr><tr><td> <code title="">Vdashl;</code> </td> <td> U+02AE6 </td> </tr><tr><td> <code title="">Vee;</code> </td> <td> U+022C1 </td> </tr><tr><td> <code title="">Verbar;</code> </td> <td> U+02016 </td> </tr><tr><td> <code title="">Vert;</code> </td> <td> U+02016 </td> </tr><tr><td> <code title="">VerticalBar;</code> </td> <td> U+02223 </td> </tr><tr><td> <code title="">VerticalLine;</code> </td> <td> U+0007C </td> </tr><tr><td> <code title="">VerticalSeparator;</code> </td> <td> U+02758 </td> </tr><tr><td> <code title="">VerticalTilde;</code> </td> <td> U+02240 </td> </tr><tr><td> <code title="">VeryThinSpace;</code> </td> <td> U+0200A </td> </tr><tr><td> <code title="">Vfr;</code> </td> <td> U+1D519 </td> </tr><tr><td> <code title="">Vopf;</code> </td> <td> U+1D54D </td> </tr><tr><td> <code title="">Vscr;</code> </td> <td> U+1D4B1 </td> </tr><tr><td> <code title="">Vvdash;</code> </td> <td> U+022AA </td> </tr><tr><td> <code title=""Wcirc;</code> </td> <td> U+00174 </td> </tr><tr><td> <code title="">Wedge;</code> </td> <td> U+022C0 </td> </tr><tr><td> <code title="">Wfr;</code> </td> <td> U+1D51A </td> </tr><tr><td> <code title="">Wopf;</code> </td> <td> U+1D54E </td> </tr><tr><td> <code title="">Wscr;</code> </td> <td> U+1D4B2 </td> </tr><tr><td> <code title="">Xfr;</code> </td> <td> U+1D51B </td> </tr><tr><td> <code title="">Xi;</code> </td> <td> U+0039E </td> </tr><tr><td> <code title="">Xopf;</code> </td> <td> U+1D54F </td> </tr><tr><td> <code title="">Xscr;</code> </td> <td> U+1D4B3 </td> </tr><tr><td> <code title="">YAcy;</code> </td> <td> U+0042F </td> </tr><tr><td> <code title="">YIcy;</code> </td> <td> U+00407 </td> </tr><tr><td> <code title="">YUcy;</code> </td> <td> U+0042E </td> </tr><tr><td> <code title="">Yacute;</code> </td> <td> U+000DD </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Ycirc;</code> </td> <td> U+00176 </td> </tr><tr><td> <code title="">Ycy;</code></td> <td> U+0042B </td> </tr><tr><td> <code title="">Yfr;</code> </td> <td> U+1D51C </td> </tr><tr><td> <code title="">Yopf;</code> </td> <td> U+1D550 </td> </tr><tr><td> <code title="">Yscr;</code> </td> <td> U+1D4B4 </td> </tr><tr><td> <code title="">Yuml;</code> </td> <td> U+00178 </td> </tr><tr><td> <code title="">ZHcy;</code> </td> <td> U+00416 </td> </tr><tr><td> <code title="">Zacute;</code> </td> <td> U+00179 </td> </tr><tr><td> <code title="">Zcaron;</code> </td> <td> U+0017D </td> </tr><tr><td> <code title="">Zcy;</code> </td> <td> U+00417 </td> </tr><tr><td> <code title="">Zdot;</code> </td> <td> U+0017B </td> </tr><tr><td> <code title="">ZeroWidthSpace;</code> </td> <td> U+0200B </td> </tr><tr><td> <code title="">Zeta;</code> </td> <td> U+00396 </td> </tr><tr><td> <code title="">Zfr;</code> </td> <td> U+02128 </td> </tr><tr><td> <code title="">Zopf;</code> </td> <td> U+02124 </td> </tr><tr><td> <code title="">Zscr;</code> </td> <td> U+1D4B5 </td> </tr><tr><td> <code title="">aacute;</code> </td <td> U+000E1 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">abreve;</code> </td> <td> U+00103 </td> </tr><tr><td> <code title="">ac;</code> </td> <td> U+0223E </td> </tr><tr><td> <code title="">acd;</code> </td> <td> U+0223F </td> </tr><tr><td> <code title="">acirc;</code> </td> <td> U+000E2 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">acute;</code> </td> <td> U+000B4 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">acy;</code> </td> <td> U+00430 </td> </tr><tr><td> <code title="">aelig;</code> </td> <td> U+000E6 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">af;</code> </td> <td> U+02061 </td> </tr><tr><td> <code title="">afr;</code> </td> <td> U+1D51E </td> </tr><tr><td> <code title="">agrave;</code> </td> <td> U+000E0 </td> </tr><!-- (invalid entity with missing semiclon for legacy support only) --><tr><td> <code title="">alefsym;</code> </td> <td> U+02135 </td> </tr><tr><td> <code title="">aleph;</code> </td> <td> U+02135 </td> </tr><tr><td> <code title="">alpha;</code> </td> <td> U+003B1 </td> </tr><tr><td> <code title="">amacr;</code> </td> <td> U+00101 </td> </tr><tr><td> <code title="">amalg;</code> </td> <td> U+02A3F </td> </tr><tr><td> <code title="">amp;</code> </td> <td> U+00026 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">and;</code> </td> <td> U+02227 </td> </tr><tr><td> <code title="">andand;</code> </td> <td> U+02A55 </td> </tr><tr><td> <code title="">andd;</code> </td> <td> U+02A5C </td> </tr><tr><td> <code title="">andslope;</code> </td> <td> U+02A58 </td> </tr><tr><td> <code title="">andv;</code> </td> <td> U+02A5A </td> </tr><tr><td> <code title="">ang;</code> </td> <td> U+02220 </td> </tr><tr><td> <code title="">ange;</code> </td> <td> U+029A4 </td> </tr><tr><td> <code title="">angle;</code></td> <td> U+02220 </td> </tr><tr><td> <code title="">angmsd;</code> </td> <td> U+02221 </td> </tr><tr><td> <code title="">angmsdaa;</code> </td> <td> U+029A8 </td> </tr><tr><td> <code title="">angmsdab;</code> </td> <td> U+029A9 </td> </tr><tr><td> <code title="">angmsdac;</code> </td> <td> U+029AA </td> </tr><tr><td> <code title="">angmsdad;</code> </td> <td> U+029AB </td> </tr><tr><td> <code title="">angmsdae;</code> </td> <td> U+029AC </td> </tr><tr><td> <code title="">angmsdaf;</code> </td> <td> U+029AD </td> </tr><tr><td> <code title="">angmsdag;</code> </td> <td> U+029AE </td> </tr><tr><td> <code title="">angmsdah;</code> </td> <td> U+029AF </td> </tr><tr><td> <code title="">angrt;</code> </td> <td> U+0221F </td> </tr><tr><td> <code title="">angrtvb;</code> </td> <td> U+022BE </td> </tr><tr><td> <code title="">angrtvbd;</code> </td> <td> U+0299D </td> </tr><tr><td> <code title="">angsph;</code> </td> <td> U+02222 </td> </tr><tr><td> <code title="">angst;</code> </td> <td> U+000C5 </td> </tr><tr><td> code title="">angzarr;</code> </td> <td> U+0237C </td> </tr><tr><td> <code title="">aogon;</code> </td> <td> U+00105 </td> </tr><tr><td> <code title="">aopf;</code> </td> <td> U+1D552 </td> </tr><tr><td> <code title="">ap;</code> </td> <td> U+02248 </td> </tr><tr><td> <code title="">apE;</code> </td> <td> U+02A70 </td> </tr><tr><td> <code title="">apacir;</code> </td> <td> U+02A6F </td> </tr><tr><td> <code title="">ape;</code> </td> <td> U+0224A </td> </tr><tr><td> <code title="">apid;</code> </td> <td> U+0224B </td> </tr><tr><td> <code title="">apos;</code> </td> <td> U+00027 </td> </tr><tr><td> <code title="">approx;</code> </td> <td> U+02248 </td> </tr><tr><td> <code title="">approxeq;</code> </td> <td> U+0224A </td> </tr><tr><td> <code title="">aring;</code> </td> <td> U+000E5 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ascr;</code> </td> <td> U+1D4B6 </td> </tr><tr><td> <code title="">ast;</code> </td> <td> U+0002A </td> </tr><tr><td> <codetitle="">asymp;</code> </td> <td> U+02248 </td> </tr><tr><td> <code title="">asympeq;</code> </td> <td> U+0224D </td> </tr><tr><td> <code title="">atilde;</code> </td> <td> U+000E3 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">auml;</code> </td> <td> U+000E4 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">awconint;</code> </td> <td> U+02233 </td> </tr><tr><td> <code title="">awint;</code> </td> <td> U+02A11 </td> </tr><tr><td> <code title="">bNot;</code> </td> <td> U+02AED </td> </tr><tr><td> <code title="">backcong;</code> </td> <td> U+0224C </td> </tr><tr><td> <code title="">backepsilon;</code> </td> <td> U+003F6 </td> </tr><tr><td> <code title="">backprime;</code> </td> <td> U+02035 </td> </tr><tr><td> <code title="">backsim;</code> </td> <td> U+0223D </td> </tr><tr><td> <code title="">backsimeq;</code> </td> <td> U+022CD </td> </tr><tr><td> <code title="">barvee;</code> </td> <td> U+02BD </td> </tr><tr><td> <code title="">barwed;</code> </td> <td> U+02305 </td> </tr><tr><td> <code title="">barwedge;</code> </td> <td> U+02305 </td> </tr><tr><td> <code title="">bbrk;</code> </td> <td> U+023B5 </td> </tr><tr><td> <code title="">bbrktbrk;</code> </td> <td> U+023B6 </td> </tr><tr><td> <code title="">bcong;</code> </td> <td> U+0224C </td> </tr><tr><td> <code title="">bcy;</code> </td> <td> U+00431 </td> </tr><tr><td> <code title="">bdquo;</code> </td> <td> U+0201E </td> </tr><tr><td> <code title="">becaus;</code> </td> <td> U+02235 </td> </tr><tr><td> <code title="">because;</code> </td> <td> U+02235 </td> </tr><tr><td> <code title="">bemptyv;</code> </td> <td> U+029B0 </td> </tr><tr><td> <code title="">bepsi;</code> </td> <td> U+003F6 </td> </tr><tr><td> <code title="">bernou;</code> </td> <td> U+0212C </td> </tr><tr><td> <code title="">beta;</code> </td> <td> U+003B2 </td> </tr><tr><td> <code title="">beth;</code> </td> <td> U+02136 </td> </tr><tr><td> <code title="">between;</code> </td> <t> U+0226C </td> </tr><tr><td> <code title="">bfr;</code> </td> <td> U+1D51F </td> </tr><tr><td> <code title="">bigcap;</code> </td> <td> U+022C2 </td> </tr><tr><td> <code title="">bigcirc;</code> </td> <td> U+025EF </td> </tr><tr><td> <code title="">bigcup;</code> </td> <td> U+022C3 </td> </tr><tr><td> <code title="">bigodot;</code> </td> <td> U+02A00 </td> </tr><tr><td> <code title="">bigoplus;</code> </td> <td> U+02A01 </td> </tr><tr><td> <code title="">bigotimes;</code> </td> <td> U+02A02 </td> </tr><tr><td> <code title="">bigsqcup;</code> </td> <td> U+02A06 </td> </tr><tr><td> <code title="">bigstar;</code> </td> <td> U+02605 </td> </tr><tr><td> <code title="">bigtriangledown;</code> </td> <td> U+025BD </td> </tr><tr><td> <code title="">bigtriangleup;</code> </td> <td> U+025B3 </td> </tr><tr><td> <code title="">biguplus;</code> </td> <td> U+02A04 </td> </tr><tr><td> <code title="">bigvee;</code> </td> <td> U+022C1 </td> </tr><tr><td> <code title="">bigwedge;</code> </td> <td> U+022C0 </td> </tr><tr><td><code title="">bkarow;</code> </td> <td> U+0290D </td> </tr><tr><td> <code title="">blacklozenge;</code> </td> <td> U+029EB </td> </tr><tr><td> <code title="">blacksquare;</code> </td> <td> U+025AA </td> </tr><tr><td> <code title="">blacktriangle;</code> </td> <td> U+025B4 </td> </tr><tr><td> <code title="">blacktriangledown;</code> </td> <td> U+025BE </td> </tr><tr><td> <code title="">blacktriangleleft;</code> </td> <td> U+025C2 </td> </tr><tr><td> <code title="">blacktriangleright;</code> </td> <td> U+025B8 </td> </tr><tr><td> <code title="">blank;</code> </td> <td> U+02423 </td> </tr><tr><td> <code title="">blk12;</code> </td> <td> U+02592 </td> </tr><tr><td> <code title="">blk14;</code> </td> <td> U+02591 </td> </tr><tr><td> <code title="">blk34;</code> </td> <td> U+02593 </td> </tr><tr><td> <code title="">block;</code> </td> <td> U+02588 </td> </tr><tr><td> <code title="">bnot;</code> </td> <td> U+02310 </td> </tr><tr><td> <code title="">bopf;</code> </td> <td> U+1D553 </td> </tr><tr><td> <code title=">bot;</code> </td> <td> U+022A5 </td> </tr><tr><td> <code title="">bottom;</code> </td> <td> U+022A5 </td> </tr><tr><td> <code title="">bowtie;</code> </td> <td> U+022C8 </td> </tr><tr><td> <code title="">boxDL;</code> </td> <td> U+02557 </td> </tr><tr><td> <code title="">boxDR;</code> </td> <td> U+02554 </td> </tr><tr><td> <code title="">boxDl;</code> </td> <td> U+02556 </td> </tr><tr><td> <code title="">boxDr;</code> </td> <td> U+02553 </td> </tr><tr><td> <code title="">boxH;</code> </td> <td> U+02550 </td> </tr><tr><td> <code title="">boxHD;</code> </td> <td> U+02566 </td> </tr><tr><td> <code title="">boxHU;</code> </td> <td> U+02569 </td> </tr><tr><td> <code title="">boxHd;</code> </td> <td> U+02564 </td> </tr><tr><td> <code title="">boxHu;</code> </td> <td> U+02567 </td> </tr><tr><td> <code title="">boxUL;</code> </td> <td> U+0255D </td> </tr><tr><td> <code title="">boxUR;</code> </td> <td> U+0255A </td> </tr><tr><td> <code title="">boxUl;</code> </td> <td> U+0255C </td> </tr><tr><td> <code title="">boUr;</code> </td> <td> U+02559 </td> </tr><tr><td> <code title="">boxV;</code> </td> <td> U+02551 </td> </tr><tr><td> <code title="">boxVH;</code> </td> <td> U+0256C </td> </tr><tr><td> <code title="">boxVL;</code> </td> <td> U+02563 </td> </tr><tr><td> <code title="">boxVR;</code> </td> <td> U+02560 </td> </tr><tr><td> <code title="">boxVh;</code> </td> <td> U+0256B </td> </tr><tr><td> <code title="">boxVl;</code> </td> <td> U+02562 </td> </tr><tr><td> <code title="">boxVr;</code> </td> <td> U+0255F </td> </tr><tr><td> <code title="">boxbox;</code> </td> <td> U+029C9 </td> </tr><tr><td> <code title="">boxdL;</code> </td> <td> U+02555 </td> </tr><tr><td> <code title="">boxdR;</code> </td> <td> U+02552 </td> </tr><tr><td> <code title="">boxdl;</code> </td> <td> U+02510 </td> </tr><tr><td> <code title="">boxdr;</code> </td> <td> U+0250C </td> </tr><tr><td> <code title="">boxh;</code> </td> <td> U+02500 </td> </tr><tr><td> <code title="">boxhD;</code> </td> <td> U+02565 </td> </tr><tr><td> <code title="">boxhU;/code> </td> <td> U+02568 </td> </tr><tr><td> <code title="">boxhd;</code> </td> <td> U+0252C </td> </tr><tr><td> <code title="">boxhu;</code> </td> <td> U+02534 </td> </tr><tr><td> <code title="">boxminus;</code> </td> <td> U+0229F </td> </tr><tr><td> <code title="">boxplus;</code> </td> <td> U+0229E </td> </tr><tr><td> <code title="">boxtimes;</code> </td> <td> U+022A0 </td> </tr><tr><td> <code title="">boxuL;</code> </td> <td> U+0255B </td> </tr><tr><td> <code title="">boxuR;</code> </td> <td> U+02558 </td> </tr><tr><td> <code title="">boxul;</code> </td> <td> U+02518 </td> </tr><tr><td> <code title="">boxur;</code> </td> <td> U+02514 </td> </tr><tr><td> <code title="">boxv;</code> </td> <td> U+02502 </td> </tr><tr><td> <code title="">boxvH;</code> </td> <td> U+0256A </td> </tr><tr><td> <code title="">boxvL;</code> </td> <td> U+02561 </td> </tr><tr><td> <code title="">boxvR;</code> </td> <td> U+0255E </td> </tr><tr><td> <code title="">boxvh;</code> </td> <td> U+0253C </td> </tr><tr><td> <code title="">bovl;</code> </td> <td> U+02524 </td> </tr><tr><td> <code title="">boxvr;</code> </td> <td> U+0251C </td> </tr><tr><td> <code title="">bprime;</code> </td> <td> U+02035 </td> </tr><tr><td> <code title="">breve;</code> </td> <td> U+002D8 </td> </tr><tr><td> <code title="">brvbar;</code> </td> <td> U+000A6 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">bscr;</code> </td> <td> U+1D4B7 </td> </tr><tr><td> <code title="">bsemi;</code> </td> <td> U+0204F </td> </tr><tr><td> <code title="">bsim;</code> </td> <td> U+0223D </td> </tr><tr><td> <code title="">bsime;</code> </td> <td> U+022CD </td> </tr><tr><td> <code title="">bsol;</code> </td> <td> U+0005C </td> </tr><tr><td> <code title="">bsolb;</code> </td> <td> U+029C5 </td> </tr><tr><td> <code title="">bsolhsub;</code> </td> <td> U+027C8 </td> </tr><tr><td> <code title="">bull;</code> </td> <td> U+02022 </td> </tr><tr><td> <code title="">bullet;</code> </td> <td> U+02022 </td> </tr><tr><td> <code title=""bump;</code> </td> <td> U+0224E </td> </tr><tr><td> <code title="">bumpE;</code> </td> <td> U+02AAE </td> </tr><tr><td> <code title="">bumpe;</code> </td> <td> U+0224F </td> </tr><tr><td> <code title="">bumpeq;</code> </td> <td> U+0224F </td> </tr><tr><td> <code title="">cacute;</code> </td> <td> U+00107 </td> </tr><tr><td> <code title="">cap;</code> </td> <td> U+02229 </td> </tr><tr><td> <code title="">capand;</code> </td> <td> U+02A44 </td> </tr><tr><td> <code title="">capbrcup;</code> </td> <td> U+02A49 </td> </tr><tr><td> <code title="">capcap;</code> </td> <td> U+02A4B </td> </tr><tr><td> <code title="">capcup;</code> </td> <td> U+02A47 </td> </tr><tr><td> <code title="">capdot;</code> </td> <td> U+02A40 </td> </tr><tr><td> <code title="">caret;</code> </td> <td> U+02041 </td> </tr><tr><td> <code title="">caron;</code> </td> <td> U+002C7 </td> </tr><tr><td> <code title="">ccaps;</code> </td> <td> U+02A4D </td> </tr><tr><td> <code title="">ccaron;</code> </td> <td> U+0010D </td> </tr><tr><td> <code titl="">ccedil;</code> </td> <td> U+000E7 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ccirc;</code> </td> <td> U+00109 </td> </tr><tr><td> <code title="">ccups;</code> </td> <td> U+02A4C </td> </tr><tr><td> <code title="">ccupssm;</code> </td> <td> U+02A50 </td> </tr><tr><td> <code title="">cdot;</code> </td> <td> U+0010B </td> </tr><tr><td> <code title="">cedil;</code> </td> <td> U+000B8 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">cemptyv;</code> </td> <td> U+029B2 </td> </tr><tr><td> <code title="">cent;</code> </td> <td> U+000A2 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">centerdot;</code> </td> <td> U+000B7 </td> </tr><tr><td> <code title="">cfr;</code> </td> <td> U+1D520 </td> </tr><tr><td> <code title="">chcy;</code> </td> <td> U+00447 </td> </tr><tr><td> <code title="">check;</code> </td> <td> U+02713 </td> </tr><tr><t> <code title="">checkmark;</code> </td> <td> U+02713 </td> </tr><tr><td> <code title="">chi;</code> </td> <td> U+003C7 </td> </tr><tr><td> <code title="">cir;</code> </td> <td> U+025CB </td> </tr><tr><td> <code title="">cirE;</code> </td> <td> U+029C3 </td> </tr><tr><td> <code title="">circ;</code> </td> <td> U+002C6 </td> </tr><tr><td> <code title="">circeq;</code> </td> <td> U+02257 </td> </tr><tr><td> <code title="">circlearrowleft;</code> </td> <td> U+021BA </td> </tr><tr><td> <code title="">circlearrowright;</code> </td> <td> U+021BB </td> </tr><tr><td> <code title="">circledR;</code> </td> <td> U+000AE </td> </tr><tr><td> <code title="">circledS;</code> </td> <td> U+024C8 </td> </tr><tr><td> <code title="">circledast;</code> </td> <td> U+0229B </td> </tr><tr><td> <code title="">circledcirc;</code> </td> <td> U+0229A </td> </tr><tr><td> <code title="">circleddash;</code> </td> <td> U+0229D </td> </tr><tr><td> <code title="">cire;</code> </td> <td> U+02257 </td> </tr><tr><td> <code title="">cirfnint;</ode> </td> <td> U+02A10 </td> </tr><tr><td> <code title="">cirmid;</code> </td> <td> U+02AEF </td> </tr><tr><td> <code title="">cirscir;</code> </td> <td> U+029C2 </td> </tr><tr><td> <code title="">clubs;</code> </td> <td> U+02663 </td> </tr><tr><td> <code title="">clubsuit;</code> </td> <td> U+02663 </td> </tr><tr><td> <code title="">colon;</code> </td> <td> U+0003A </td> </tr><tr><td> <code title="">colone;</code> </td> <td> U+02254 </td> </tr><tr><td> <code title="">coloneq;</code> </td> <td> U+02254 </td> </tr><tr><td> <code title="">comma;</code> </td> <td> U+0002C </td> </tr><tr><td> <code title="">commat;</code> </td> <td> U+00040 </td> </tr><tr><td> <code title="">comp;</code> </td> <td> U+02201 </td> </tr><tr><td> <code title="">compfn;</code> </td> <td> U+02218 </td> </tr><tr><td> <code title="">complement;</code> </td> <td> U+02201 </td> </tr><tr><td> <code title="">complexes;</code> </td> <td> U+02102 </td> </tr><tr><td> <code title="">cong;</code> </td> <td> U+02245 </td> </tr><tr><td> <code tile="">congdot;</code> </td> <td> U+02A6D </td> </tr><tr><td> <code title="">conint;</code> </td> <td> U+0222E </td> </tr><tr><td> <code title="">copf;</code> </td> <td> U+1D554 </td> </tr><tr><td> <code title="">coprod;</code> </td> <td> U+02210 </td> </tr><tr><td> <code title="">copy;</code> </td> <td> U+000A9 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">copysr;</code> </td> <td> U+02117 </td> </tr><tr><td> <code title="">crarr;</code> </td> <td> U+021B5 </td> </tr><tr><td> <code title="">cross;</code> </td> <td> U+02717 </td> </tr><tr><td> <code title="">cscr;</code> </td> <td> U+1D4B8 </td> </tr><tr><td> <code title="">csub;</code> </td> <td> U+02ACF </td> </tr><tr><td> <code title="">csube;</code> </td> <td> U+02AD1 </td> </tr><tr><td> <code title="">csup;</code> </td> <td> U+02AD0 </td> </tr><tr><td> <code title="">csupe;</code> </td> <td> U+02AD2 </td> </tr><tr><td> <code title="">ctdot;</code> </td> <td> U+022EF </td> </tr><tr><td> <code ttle="">cudarrl;</code> </td> <td> U+02938 </td> </tr><tr><td> <code title="">cudarrr;</code> </td> <td> U+02935 </td> </tr><tr><td> <code title="">cuepr;</code> </td> <td> U+022DE </td> </tr><tr><td> <code title="">cuesc;</code> </td> <td> U+022DF </td> </tr><tr><td> <code title="">cularr;</code> </td> <td> U+021B6 </td> </tr><tr><td> <code title="">cularrp;</code> </td> <td> U+0293D </td> </tr><tr><td> <code title="">cup;</code> </td> <td> U+0222A </td> </tr><tr><td> <code title="">cupbrcap;</code> </td> <td> U+02A48 </td> </tr><tr><td> <code title="">cupcap;</code> </td> <td> U+02A46 </td> </tr><tr><td> <code title="">cupcup;</code> </td> <td> U+02A4A </td> </tr><tr><td> <code title="">cupdot;</code> </td> <td> U+0228D </td> </tr><tr><td> <code title="">cupor;</code> </td> <td> U+02A45 </td> </tr><tr><td> <code title="">curarr;</code> </td> <td> U+021B7 </td> </tr><tr><td> <code title="">curarrm;</code> </td> <td> U+0293C </td> </tr><tr><td> <code title="">curlyeqprec;</code> </td> <td> U+022DE </td> </tr<tr><td> <code title="">curlyeqsucc;</code> </td> <td> U+022DF </td> </tr><tr><td> <code title="">curlyvee;</code> </td> <td> U+022CE </td> </tr><tr><td> <code title="">curlywedge;</code> </td> <td> U+022CF </td> </tr><tr><td> <code title="">curren;</code> </td> <td> U+000A4 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">curvearrowleft;</code> </td> <td> U+021B6 </td> </tr><tr><td> <code title="">curvearrowright;</code> </td> <td> U+021B7 </td> </tr><tr><td> <code title="">cuvee;</code> </td> <td> U+022CE </td> </tr><tr><td> <code title="">cuwed;</code> </td> <td> U+022CF </td> </tr><tr><td> <code title="">cwconint;</code> </td> <td> U+02232 </td> </tr><tr><td> <code title="">cwint;</code> </td> <td> U+02231 </td> </tr><tr><td> <code title="">cylcty;</code> </td> <td> U+0232D </td> </tr><tr><td> <code title="">dArr;</code> </td> <td> U+021D3 </td> </tr><tr><td> <code title="">dHar;</code> </td> <td> U+02965 </td> </tr><tr><td> <code title="">dagger</code> </td> <td> U+02020 </td> </tr><tr><td> <code title="">daleth;</code> </td> <td> U+02138 </td> </tr><tr><td> <code title="">darr;</code> </td> <td> U+02193 </td> </tr><tr><td> <code title="">dash;</code> </td> <td> U+02010 </td> </tr><tr><td> <code title="">dashv;</code> </td> <td> U+022A3 </td> </tr><tr><td> <code title="">dbkarow;</code> </td> <td> U+0290F </td> </tr><tr><td> <code title="">dblac;</code> </td> <td> U+002DD </td> </tr><tr><td> <code title="">dcaron;</code> </td> <td> U+0010F </td> </tr><tr><td> <code title="">dcy;</code> </td> <td> U+00434 </td> </tr><tr><td> <code title="">dd;</code> </td> <td> U+02146 </td> </tr><tr><td> <code title="">ddagger;</code> </td> <td> U+02021 </td> </tr><tr><td> <code title="">ddarr;</code> </td> <td> U+021CA </td> </tr><tr><td> <code title="">ddotseq;</code> </td> <td> U+02A77 </td> </tr><tr><td> <code title="">deg;</code> </td> <td> U+000B0 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">delta</code> </td> <td> U+003B4 </td> </tr><tr><td> <code title="">demptyv;</code> </td> <td> U+029B1 </td> </tr><tr><td> <code title="">dfisht;</code> </td> <td> U+0297F </td> </tr><tr><td> <code title="">dfr;</code> </td> <td> U+1D521 </td> </tr><tr><td> <code title="">dharl;</code> </td> <td> U+021C3 </td> </tr><tr><td> <code title="">dharr;</code> </td> <td> U+021C2 </td> </tr><tr><td> <code title="">diam;</code> </td> <td> U+022C4 </td> </tr><tr><td> <code title="">diamond;</code> </td> <td> U+022C4 </td> </tr><tr><td> <code title="">diamondsuit;</code> </td> <td> U+02666 </td> </tr><tr><td> <code title="">diams;</code> </td> <td> U+02666 </td> </tr><tr><td> <code title="">die;</code> </td> <td> U+000A8 </td> </tr><tr><td> <code title="">digamma;</code> </td> <td> U+003DD </td> </tr><tr><td> <code title="">disin;</code> </td> <td> U+022F2 </td> </tr><tr><td> <code title="">div;</code> </td> <td> U+000F7 </td> </tr><tr><td> <code title="">divide;</code> </td> <td> U+000F7 </td> </tr><!-- (invalid entity withmissing semicolon for legacy support only) --><tr><td> <code title="">divideontimes;</code> </td> <td> U+022C7 </td> </tr><tr><td> <code title="">divonx;</code> </td> <td> U+022C7 </td> </tr><tr><td> <code title="">djcy;</code> </td> <td> U+00452 </td> </tr><tr><td> <code title="">dlcorn;</code> </td> <td> U+0231E </td> </tr><tr><td> <code title="">dlcrop;</code> </td> <td> U+0230D </td> </tr><tr><td> <code title="">dollar;</code> </td> <td> U+00024 </td> </tr><tr><td> <code title="">dopf;</code> </td> <td> U+1D555 </td> </tr><tr><td> <code title="">dot;</code> </td> <td> U+002D9 </td> </tr><tr><td> <code title="">doteq;</code> </td> <td> U+02250 </td> </tr><tr><td> <code title="">doteqdot;</code> </td> <td> U+02251 </td> </tr><tr><td> <code title="">dotminus;</code> </td> <td> U+02238 </td> </tr><tr><td> <code title="">dotplus;</code> </td> <td> U+02214 </td> </tr><tr><td> <code title="">dotsquare;</code> </td> <td> U+022A1 </td> </tr><tr><td> <code title="">doublebarwedge;</code> </td> <td> U+02306 </td> /tr><tr><td> <code title="">downarrow;</code> </td> <td> U+02193 </td> </tr><tr><td> <code title="">downdownarrows;</code> </td> <td> U+021CA </td> </tr><tr><td> <code title="">downharpoonleft;</code> </td> <td> U+021C3 </td> </tr><tr><td> <code title="">downharpoonright;</code> </td> <td> U+021C2 </td> </tr><tr><td> <code title="">drbkarow;</code> </td> <td> U+02910 </td> </tr><tr><td> <code title="">drcorn;</code> </td> <td> U+0231F </td> </tr><tr><td> <code title="">drcrop;</code> </td> <td> U+0230C </td> </tr><tr><td> <code title="">dscr;</code> </td> <td> U+1D4B9 </td> </tr><tr><td> <code title="">dscy;</code> </td> <td> U+00455 </td> </tr><tr><td> <code title="">dsol;</code> </td> <td> U+029F6 </td> </tr><tr><td> <code title="">dstrok;</code> </td> <td> U+00111 </td> </tr><tr><td> <code title="">dtdot;</code> </td> <td> U+022F1 </td> </tr><tr><td> <code title="">dtri;</code> </td> <td> U+025BF </td> </tr><tr><td> <code title="">dtrif;</code> </td> <td> U+025BE </td> </tr><tr><td> <code title="">duarr;/code> </td> <td> U+021F5 </td> </tr><tr><td> <code title="">duhar;</code> </td> <td> U+0296F </td> </tr><tr><td> <code title="">dwangle;</code> </td> <td> U+029A6 </td> </tr><tr><td> <code title="">dzcy;</code> </td> <td> U+0045F </td> </tr><tr><td> <code title="">dzigrarr;</code> </td> <td> U+027FF </td> </tr><tr><td> <code title="">eDDot;</code> </td> <td> U+02A77 </td> </tr><tr><td> <code title="">eDot;</code> </td> <td> U+02251 </td> </tr><tr><td> <code title="">eacute;</code> </td> <td> U+000E9 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">easter;</code> </td> <td> U+02A6E </td> </tr><tr><td> <code title="">ecaron;</code> </td> <td> U+0011B </td> </tr><tr><td> <code title="">ecir;</code> </td> <td> U+02256 </td> </tr><tr><td> <code title="">ecirc;</code> </td> <td> U+000EA </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ecolon;</code> </td> <td> U+02255 </td> </tr><tr><td> <code titl="">ecy;</code> </td> <td> U+0044D </td> </tr><tr><td> <code title="">edot;</code> </td> <td> U+00117 </td> </tr><tr><td> <code title="">ee;</code> </td> <td> U+02147 </td> </tr><tr><td> <code title="">efDot;</code> </td> <td> U+02252 </td> </tr><tr><td> <code title="">efr;</code> </td> <td> U+1D522 </td> </tr><tr><td> <code title="">eg;</code> </td> <td> U+02A9A </td> </tr><tr><td> <code title="">egrave;</code> </td> <td> U+000E8 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">egs;</code> </td> <td> U+02A96 </td> </tr><tr><td> <code title="">egsdot;</code> </td> <td> U+02A98 </td> </tr><tr><td> <code title="">el;</code> </td> <td> U+02A99 </td> </tr><tr><td> <code title="">elinters;</code> </td> <td> U+023E7 </td> </tr><tr><td> <code title="">ell;</code> </td> <td> U+02113 </td> </tr><tr><td> <code title="">els;</code> </td> <td> U+02A95 </td> </tr><tr><td> <code title="">elsdot;</code> </td> <td> U+02A97 </td> </tr><tr><td> <code title="">emacr;</ode> </td> <td> U+00113 </td> </tr><tr><td> <code title="">empty;</code> </td> <td> U+02205 </td> </tr><tr><td> <code title="">emptyset;</code> </td> <td> U+02205 </td> </tr><tr><td> <code title="">emptyv;</code> </td> <td> U+02205 </td> </tr><tr><td> <code title="">emsp13;</code> </td> <td> U+02004 </td> </tr><tr><td> <code title="">emsp14;</code> </td> <td> U+02005 </td> </tr><tr><td> <code title="">emsp;</code> </td> <td> U+02003 </td> </tr><tr><td> <code title="">eng;</code> </td> <td> U+0014B </td> </tr><tr><td> <code title="">ensp;</code> </td> <td> U+02002 </td> </tr><tr><td> <code title="">eogon;</code> </td> <td> U+00119 </td> </tr><tr><td> <code title="">eopf;</code> </td> <td> U+1D556 </td> </tr><tr><td> <code title="">epar;</code> </td> <td> U+022D5 </td> </tr><tr><td> <code title="">eparsl;</code> </td> <td> U+029E3 </td> </tr><tr><td> <code title="">eplus;</code> </td> <td> U+02A71 </td> </tr><tr><td> <code title="">epsi;</code> </td> <td> U+003B5 </td> </tr><tr><td> <code title="">epsilon;</cde> </td> <td> U+003B5 </td> </tr><tr><td> <code title="">epsiv;</code> </td> <td> U+003F5 </td> </tr><tr><td> <code title="">eqcirc;</code> </td> <td> U+02256 </td> </tr><tr><td> <code title="">eqcolon;</code> </td> <td> U+02255 </td> </tr><tr><td> <code title="">eqsim;</code> </td> <td> U+02242 </td> </tr><tr><td> <code title="">eqslantgtr;</code> </td> <td> U+02A96 </td> </tr><tr><td> <code title="">eqslantless;</code> </td> <td> U+02A95 </td> </tr><tr><td> <code title="">equals;</code> </td> <td> U+0003D </td> </tr><tr><td> <code title="">equest;</code> </td> <td> U+0225F </td> </tr><tr><td> <code title="">equiv;</code> </td> <td> U+02261 </td> </tr><tr><td> <code title="">equivDD;</code> </td> <td> U+02A78 </td> </tr><tr><td> <code title="">eqvparsl;</code> </td> <td> U+029E5 </td> </tr><tr><td> <code title="">erDot;</code> </td> <td> U+02253 </td> </tr><tr><td> <code title="">erarr;</code> </td> <td> U+02971 </td> </tr><tr><td> <code title="">escr;</code> </td> <td> U+0212F </td> </tr><tr><td> <code ttle="">esdot;</code> </td> <td> U+02250 </td> </tr><tr><td> <code title="">esim;</code> </td> <td> U+02242 </td> </tr><tr><td> <code title="">eta;</code> </td> <td> U+003B7 </td> </tr><tr><td> <code title="">eth;</code> </td> <td> U+000F0 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">euml;</code> </td> <td> U+000EB </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">euro;</code> </td> <td> U+020AC </td> </tr><tr><td> <code title="">excl;</code> </td> <td> U+00021 </td> </tr><tr><td> <code title="">exist;</code> </td> <td> U+02203 </td> </tr><tr><td> <code title="">expectation;</code> </td> <td> U+02130 </td> </tr><tr><td> <code title="">exponentiale;</code> </td> <td> U+02147 </td> </tr><tr><td> <code title="">fallingdotseq;</code> </td> <td> U+02252 </td> </tr><tr><td> <code title="">fcy;</code> </td> <td> U+00444 </td> </tr><tr><td> <code title="">female;</code> </td> <td> U+02640 </td> </tr<tr><td> <code title="">ffilig;</code> </td> <td> U+0FB03 </td> </tr><tr><td> <code title="">fflig;</code> </td> <td> U+0FB00 </td> </tr><tr><td> <code title="">ffllig;</code> </td> <td> U+0FB04 </td> </tr><tr><td> <code title="">ffr;</code> </td> <td> U+1D523 </td> </tr><tr><td> <code title="">filig;</code> </td> <td> U+0FB01 </td> </tr><tr><td> <code title="">flat;</code> </td> <td> U+0266D </td> </tr><tr><td> <code title="">fllig;</code> </td> <td> U+0FB02 </td> </tr><tr><td> <code title="">fltns;</code> </td> <td> U+025B1 </td> </tr><tr><td> <code title="">fnof;</code> </td> <td> U+00192 </td> </tr><tr><td> <code title="">fopf;</code> </td> <td> U+1D557 </td> </tr><tr><td> <code title="">forall;</code> </td> <td> U+02200 </td> </tr><tr><td> <code title="">fork;</code> </td> <td> U+022D4 </td> </tr><tr><td> <code title="">forkv;</code> </td> <td> U+02AD9 </td> </tr><tr><td> <code title="">fpartint;</code> </td> <td> U+02A0D </td> </tr><tr><td> <code title="">frac12;</code> </td> <td> U+000BD </td> </tr><-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">frac13;</code> </td> <td> U+02153 </td> </tr><tr><td> <code title="">frac14;</code> </td> <td> U+000BC </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">frac15;</code> </td> <td> U+02155 </td> </tr><tr><td> <code title="">frac16;</code> </td> <td> U+02159 </td> </tr><tr><td> <code title="">frac18;</code> </td> <td> U+0215B </td> </tr><tr><td> <code title="">frac23;</code> </td> <td> U+02154 </td> </tr><tr><td> <code title="">frac25;</code> </td> <td> U+02156 </td> </tr><tr><td> <code title="">frac34;</code> </td> <td> U+000BE </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">frac35;</code> </td> <td> U+02157 </td> </tr><tr><td> <code title="">frac38;</code> </td> <td> U+0215C </td> </tr><tr><td> <code title="">frac45;</code> </td> <td> U+02158 </td> </tr><tr><td> <code title="">frac56;</code> </td> <td>U+0215A </td> </tr><tr><td> <code title="">frac58;</code> </td> <td> U+0215D </td> </tr><tr><td> <code title="">frac78;</code> </td> <td> U+0215E </td> </tr><tr><td> <code title="">frasl;</code> </td> <td> U+02044 </td> </tr><tr><td> <code title="">frown;</code> </td> <td> U+02322 </td> </tr><tr><td> <code title="">fscr;</code> </td> <td> U+1D4BB </td> </tr><tr><td> <code title="">gE;</code> </td> <td> U+02267 </td> </tr><tr><td> <code title="">gEl;</code> </td> <td> U+02A8C </td> </tr><tr><td> <code title="">gacute;</code> </td> <td> U+001F5 </td> </tr><tr><td> <code title="">gamma;</code> </td> <td> U+003B3 </td> </tr><tr><td> <code title="">gammad;</code> </td> <td> U+003DD </td> </tr><tr><td> <code title="">gap;</code> </td> <td> U+02A86 </td> </tr><tr><td> <code title="">gbreve;</code> </td> <td> U+0011F </td> </tr><tr><td> <code title="">gcirc;</code> </td> <td> U+0011D </td> </tr><tr><td> <code title="">gcy;</code> </td> <td> U+00433 </td> </tr><tr><td> <code title="">gdot;</code> </td> <td> U+00121 /td> </tr><tr><td> <code title="">ge;</code> </td> <td> U+02265 </td> </tr><tr><td> <code title="">gel;</code> </td> <td> U+022DB </td> </tr><tr><td> <code title="">geq;</code> </td> <td> U+02265 </td> </tr><tr><td> <code title="">geqq;</code> </td> <td> U+02267 </td> </tr><tr><td> <code title="">geqslant;</code> </td> <td> U+02A7E </td> </tr><tr><td> <code title="">ges;</code> </td> <td> U+02A7E </td> </tr><tr><td> <code title="">gescc;</code> </td> <td> U+02AA9 </td> </tr><tr><td> <code title="">gesdot;</code> </td> <td> U+02A80 </td> </tr><tr><td> <code title="">gesdoto;</code> </td> <td> U+02A82 </td> </tr><tr><td> <code title="">gesdotol;</code> </td> <td> U+02A84 </td> </tr><tr><td> <code title="">gesles;</code> </td> <td> U+02A94 </td> </tr><tr><td> <code title="">gfr;</code> </td> <td> U+1D524 </td> </tr><tr><td> <code title="">gg;</code> </td> <td> U+0226B </td> </tr><tr><td> <code title="">ggg;</code> </td> <td> U+022D9 </td> </tr><tr><td> <code title="">gimel;</code> </td> <td> U+02137 </td> </tr<tr><td> <code title="">gjcy;</code> </td> <td> U+00453 </td> </tr><tr><td> <code title="">gl;</code> </td> <td> U+02277 </td> </tr><tr><td> <code title="">glE;</code> </td> <td> U+02A92 </td> </tr><tr><td> <code title="">gla;</code> </td> <td> U+02AA5 </td> </tr><tr><td> <code title="">glj;</code> </td> <td> U+02AA4 </td> </tr><tr><td> <code title="">gnE;</code> </td> <td> U+02269 </td> </tr><tr><td> <code title="">gnap;</code> </td> <td> U+02A8A </td> </tr><tr><td> <code title="">gnapprox;</code> </td> <td> U+02A8A </td> </tr><tr><td> <code title="">gne;</code> </td> <td> U+02A88 </td> </tr><tr><td> <code title="">gneq;</code> </td> <td> U+02A88 </td> </tr><tr><td> <code title="">gneqq;</code> </td> <td> U+02269 </td> </tr><tr><td> <code title="">gnsim;</code> </td> <td> U+022E7 </td> </tr><tr><td> <code title="">gopf;</code> </td> <td> U+1D558 </td> </tr><tr><td> <code title="">grave;</code> </td> <td> U+00060 </td> </tr><tr><td> <code title="">gscr;</code> </td> <td> U+0210A </td> </tr><tr><td> <code tile="">gsim;</code> </td> <td> U+02273 </td> </tr><tr><td> <code title="">gsime;</code> </td> <td> U+02A8E </td> </tr><tr><td> <code title="">gsiml;</code> </td> <td> U+02A90 </td> </tr><tr><td> <code title="">gt;</code> </td> <td> U+0003E </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">gtcc;</code> </td> <td> U+02AA7 </td> </tr><tr><td> <code title="">gtcir;</code> </td> <td> U+02A7A </td> </tr><tr><td> <code title="">gtdot;</code> </td> <td> U+022D7 </td> </tr><tr><td> <code title="">gtlPar;</code> </td> <td> U+02995 </td> </tr><tr><td> <code title="">gtquest;</code> </td> <td> U+02A7C </td> </tr><tr><td> <code title="">gtrapprox;</code> </td> <td> U+02A86 </td> </tr><tr><td> <code title="">gtrarr;</code> </td> <td> U+02978 </td> </tr><tr><td> <code title="">gtrdot;</code> </td> <td> U+022D7 </td> </tr><tr><td> <code title="">gtreqless;</code> </td> <td> U+022DB </td> </tr><tr><td> <code title="">gtreqqless;</code> </td> <td> U+02A8C </td> </tr><tr<td> <code title="">gtrless;</code> </td> <td> U+02277 </td> </tr><tr><td> <code title="">gtrsim;</code> </td> <td> U+02273 </td> </tr><tr><td> <code title="">hArr;</code> </td> <td> U+021D4 </td> </tr><tr><td> <code title="">hairsp;</code> </td> <td> U+0200A </td> </tr><tr><td> <code title="">half;</code> </td> <td> U+000BD </td> </tr><tr><td> <code title="">hamilt;</code> </td> <td> U+0210B </td> </tr><tr><td> <code title="">hardcy;</code> </td> <td> U+0044A </td> </tr><tr><td> <code title="">harr;</code> </td> <td> U+02194 </td> </tr><tr><td> <code title="">harrcir;</code> </td> <td> U+02948 </td> </tr><tr><td> <code title="">harrw;</code> </td> <td> U+021AD </td> </tr><tr><td> <code title="">hbar;</code> </td> <td> U+0210F </td> </tr><tr><td> <code title="">hcirc;</code> </td> <td> U+00125 </td> </tr><tr><td> <code title="">hearts;</code> </td> <td> U+02665 </td> </tr><tr><td> <code title="">heartsuit;</code> </td> <td> U+02665 </td> </tr><tr><td> <code title="">hellip;</code> </td> <td> U+02026 </td> <tr><tr><td> <code title="">hercon;</code> </td> <td> U+022B9 </td> </tr><tr><td> <code title="">hfr;</code> </td> <td> U+1D525 </td> </tr><tr><td> <code title="">hksearow;</code> </td> <td> U+02925 </td> </tr><tr><td> <code title="">hkswarow;</code> </td> <td> U+02926 </td> </tr><tr><td> <code title="">hoarr;</code> </td> <td> U+021FF </td> </tr><tr><td> <code title="">homtht;</code> </td> <td> U+0223B </td> </tr><tr><td> <code title="">hookleftarrow;</code> </td> <td> U+021A9 </td> </tr><tr><td> <code title="">hookrightarrow;</code> </td> <td> U+021AA </td> </tr><tr><td> <code title="">hopf;</code> </td> <td> U+1D559 </td> </tr><tr><td> <code title="">horbar;</code> </td> <td> U+02015 </td> </tr><tr><td> <code title="">hscr;</code> </td> <td> U+1D4BD </td> </tr><tr><td> <code title="">hslash;</code> </td> <td> U+0210F </td> </tr><tr><td> <code title="">hstrok;</code> </td> <td> U+00127 </td> </tr><tr><td> <code title="">hybull;</code> </td> <td> U+02043 </td> </tr><tr><td> <code title="">hyphen;</code> </t> <td> U+02010 </td> </tr><tr><td> <code title="">iacute;</code> </td> <td> U+000ED </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ic;</code> </td> <td> U+02063 </td> </tr><tr><td> <code title="">icirc;</code> </td> <td> U+000EE </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">icy;</code> </td> <td> U+00438 </td> </tr><tr><td> <code title="">iecy;</code> </td> <td> U+00435 </td> </tr><tr><td> <code title="">iexcl;</code> </td> <td> U+000A1 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">iff;</code> </td> <td> U+021D4 </td> </tr><tr><td> <code title="">ifr;</code> </td> <td> U+1D526 </td> </tr><tr><td> <code title="">igrave;</code> </td> <td> U+000EC </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ii;</code> </td> <td> U+02148 </td> </tr><tr><td> <code title="">iiiint;</code> /td> <td> U+02A0C </td> </tr><tr><td> <code title="">iiint;</code> </td> <td> U+0222D </td> </tr><tr><td> <code title="">iinfin;</code> </td> <td> U+029DC </td> </tr><tr><td> <code title="">iiota;</code> </td> <td> U+02129 </td> </tr><tr><td> <code title="">ijlig;</code> </td> <td> U+00133 </td> </tr><tr><td> <code title="">imacr;</code> </td> <td> U+0012B </td> </tr><tr><td> <code title="">image;</code> </td> <td> U+02111 </td> </tr><tr><td> <code title="">imagline;</code> </td> <td> U+02110 </td> </tr><tr><td> <code title="">imagpart;</code> </td> <td> U+02111 </td> </tr><tr><td> <code title="">imath;</code> </td> <td> U+00131 </td> </tr><tr><td> <code title="">imof;</code> </td> <td> U+022B7 </td> </tr><tr><td> <code title="">imped;</code> </td> <td> U+001B5 </td> </tr><tr><td> <code title="">in;</code> </td> <td> U+02208 </td> </tr><tr><td> <code title="">incare;</code> </td> <td> U+02105 </td> </tr><tr><td> <code title="">infin;</code> </td> <td> U+0221E </td> </tr><tr><td> <code title="">infintie;</coe> </td> <td> U+029DD </td> </tr><tr><td> <code title="">inodot;</code> </td> <td> U+00131 </td> </tr><tr><td> <code title="">int;</code> </td> <td> U+0222B </td> </tr><tr><td> <code title="">intcal;</code> </td> <td> U+022BA </td> </tr><tr><td> <code title="">integers;</code> </td> <td> U+02124 </td> </tr><tr><td> <code title="">intercal;</code> </td> <td> U+022BA </td> </tr><tr><td> <code title="">intlarhk;</code> </td> <td> U+02A17 </td> </tr><tr><td> <code title="">intprod;</code> </td> <td> U+02A3C </td> </tr><tr><td> <code title="">iocy;</code> </td> <td> U+00451 </td> </tr><tr><td> <code title="">iogon;</code> </td> <td> U+0012F </td> </tr><tr><td> <code title="">iopf;</code> </td> <td> U+1D55A </td> </tr><tr><td> <code title="">iota;</code> </td> <td> U+003B9 </td> </tr><tr><td> <code title="">iprod;</code> </td> <td> U+02A3C </td> </tr><tr><td> <code title="">iquest;</code> </td> <td> U+000BF </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">scr;</code> </td> <td> U+1D4BE </td> </tr><tr><td> <code title="">isin;</code> </td> <td> U+02208 </td> </tr><tr><td> <code title="">isinE;</code> </td> <td> U+022F9 </td> </tr><tr><td> <code title="">isindot;</code> </td> <td> U+022F5 </td> </tr><tr><td> <code title="">isins;</code> </td> <td> U+022F4 </td> </tr><tr><td> <code title="">isinsv;</code> </td> <td> U+022F3 </td> </tr><tr><td> <code title="">isinv;</code> </td> <td> U+02208 </td> </tr><tr><td> <code title="">it;</code> </td> <td> U+02062 </td> </tr><tr><td> <code title="">itilde;</code> </td> <td> U+00129 </td> </tr><tr><td> <code title="">iukcy;</code> </td> <td> U+00456 </td> </tr><tr><td> <code title="">iuml;</code> </td> <td> U+000EF </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">jcirc;</code> </td> <td> U+00135 </td> </tr><tr><td> <code title="">jcy;</code> </td> <td> U+00439 </td> </tr><tr><td> <code title="">jfr;</code> </td> <td> U+1D527 </td> </tr><tr><td> <code title="">jmath</code> </td> <td> U+00237 </td> </tr><tr><td> <code title="">jopf;</code> </td> <td> U+1D55B </td> </tr><tr><td> <code title="">jscr;</code> </td> <td> U+1D4BF </td> </tr><tr><td> <code title="">jsercy;</code> </td> <td> U+00458 </td> </tr><tr><td> <code title="">jukcy;</code> </td> <td> U+00454 </td> </tr><tr><td> <code title="">kappa;</code> </td> <td> U+003BA </td> </tr><tr><td> <code title="">kappav;</code> </td> <td> U+003F0 </td> </tr><tr><td> <code title="">kcedil;</code> </td> <td> U+00137 </td> </tr><tr><td> <code title="">kcy;</code> </td> <td> U+0043A </td> </tr><tr><td> <code title="">kfr;</code> </td> <td> U+1D528 </td> </tr><tr><td> <code title="">kgreen;</code> </td> <td> U+00138 </td> </tr><tr><td> <code title="">khcy;</code> </td> <td> U+00445 </td> </tr><tr><td> <code title="">kjcy;</code> </td> <td> U+0045C </td> </tr><tr><td> <code title="">kopf;</code> </td> <td> U+1D55C </td> </tr><tr><td> <code title="">kscr;</code> </td> <td> U+1D4C0 </td> </tr><tr><td> <code title="">lAarr;</code> /td> <td> U+021DA </td> </tr><tr><td> <code title="">lArr;</code> </td> <td> U+021D0 </td> </tr><tr><td> <code title="">lAtail;</code> </td> <td> U+0291B </td> </tr><tr><td> <code title="">lBarr;</code> </td> <td> U+0290E </td> </tr><tr><td> <code title="">lE;</code> </td> <td> U+02266 </td> </tr><tr><td> <code title="">lEg;</code> </td> <td> U+02A8B </td> </tr><tr><td> <code title="">lHar;</code> </td> <td> U+02962 </td> </tr><tr><td> <code title="">lacute;</code> </td> <td> U+0013A </td> </tr><tr><td> <code title="">laemptyv;</code> </td> <td> U+029B4 </td> </tr><tr><td> <code title="">lagran;</code> </td> <td> U+02112 </td> </tr><tr><td> <code title="">lambda;</code> </td> <td> U+003BB </td> </tr><tr><td> <code title="">lang;</code> </td> <td> U+027E8 </td> </tr><tr><td> <code title="">langd;</code> </td> <td> U+02991 </td> </tr><tr><td> <code title="">langle;</code> </td> <td> U+027E8 </td> </tr><tr><td> <code title="">lap;</code> </td> <td> U+02A85 </td> </tr><tr><td> <code title="">laquo;</code> </td><td> U+000AB </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">larr;</code> </td> <td> U+02190 </td> </tr><tr><td> <code title="">larrb;</code> </td> <td> U+021E4 </td> </tr><tr><td> <code title="">larrbfs;</code> </td> <td> U+0291F </td> </tr><tr><td> <code title="">larrfs;</code> </td> <td> U+0291D </td> </tr><tr><td> <code title="">larrhk;</code> </td> <td> U+021A9 </td> </tr><tr><td> <code title="">larrlp;</code> </td> <td> U+021AB </td> </tr><tr><td> <code title="">larrpl;</code> </td> <td> U+02939 </td> </tr><tr><td> <code title="">larrsim;</code> </td> <td> U+02973 </td> </tr><tr><td> <code title="">larrtl;</code> </td> <td> U+021A2 </td> </tr><tr><td> <code title="">lat;</code> </td> <td> U+02AAB </td> </tr><tr><td> <code title="">latail;</code> </td> <td> U+02919 </td> </tr><tr><td> <code title="">late;</code> </td> <td> U+02AAD </td> </tr><tr><td> <code title="">lbarr;</code> </td> <td> U+0290C </td> </tr><tr><td> <code title="">lbbrk;</code </td> <td> U+02772 </td> </tr><tr><td> <code title="">lbrace;</code> </td> <td> U+0007B </td> </tr><tr><td> <code title="">lbrack;</code> </td> <td> U+0005B </td> </tr><tr><td> <code title="">lbrke;</code> </td> <td> U+0298B </td> </tr><tr><td> <code title="">lbrksld;</code> </td> <td> U+0298F </td> </tr><tr><td> <code title="">lbrkslu;</code> </td> <td> U+0298D </td> </tr><tr><td> <code title="">lcaron;</code> </td> <td> U+0013E </td> </tr><tr><td> <code title="">lcedil;</code> </td> <td> U+0013C </td> </tr><tr><td> <code title="">lceil;</code> </td> <td> U+02308 </td> </tr><tr><td> <code title="">lcub;</code> </td> <td> U+0007B </td> </tr><tr><td> <code title="">lcy;</code> </td> <td> U+0043B </td> </tr><tr><td> <code title="">ldca;</code> </td> <td> U+02936 </td> </tr><tr><td> <code title="">ldquo;</code> </td> <td> U+0201C </td> </tr><tr><td> <code title="">ldquor;</code> </td> <td> U+0201E </td> </tr><tr><td> <code title="">ldrdhar;</code> </td> <td> U+02967 </td> </tr><tr><td> <code title="">ldrushar</code> </td> <td> U+0294B </td> </tr><tr><td> <code title="">ldsh;</code> </td> <td> U+021B2 </td> </tr><tr><td> <code title="">le;</code> </td> <td> U+02264 </td> </tr><tr><td> <code title="">leftarrow;</code> </td> <td> U+02190 </td> </tr><tr><td> <code title="">leftarrowtail;</code> </td> <td> U+021A2 </td> </tr><tr><td> <code title="">leftharpoondown;</code> </td> <td> U+021BD </td> </tr><tr><td> <code title="">leftharpoonup;</code> </td> <td> U+021BC </td> </tr><tr><td> <code title="">leftleftarrows;</code> </td> <td> U+021C7 </td> </tr><tr><td> <code title="">leftrightarrow;</code> </td> <td> U+02194 </td> </tr><tr><td> <code title="">leftrightarrows;</code> </td> <td> U+021C6 </td> </tr><tr><td> <code title="">leftrightharpoons;</code> </td> <td> U+021CB </td> </tr><tr><td> <code title="">leftrightsquigarrow;</code> </td> <td> U+021AD </td> </tr><tr><td> <code title="">leftthreetimes;</code> </td> <td> U+022CB </td> </tr><tr><td> <code title="">leg;</code> </td> <td> U+022DA </td> </tr><tr><td> <cod title="">leq;</code> </td> <td> U+02264 </td> </tr><tr><td> <code title="">leqq;</code> </td> <td> U+02266 </td> </tr><tr><td> <code title="">leqslant;</code> </td> <td> U+02A7D </td> </tr><tr><td> <code title="">les;</code> </td> <td> U+02A7D </td> </tr><tr><td> <code title="">lescc;</code> </td> <td> U+02AA8 </td> </tr><tr><td> <code title="">lesdot;</code> </td> <td> U+02A7F </td> </tr><tr><td> <code title="">lesdoto;</code> </td> <td> U+02A81 </td> </tr><tr><td> <code title="">lesdotor;</code> </td> <td> U+02A83 </td> </tr><tr><td> <code title="">lesges;</code> </td> <td> U+02A93 </td> </tr><tr><td> <code title="">lessapprox;</code> </td> <td> U+02A85 </td> </tr><tr><td> <code title="">lessdot;</code> </td> <td> U+022D6 </td> </tr><tr><td> <code title="">lesseqgtr;</code> </td> <td> U+022DA </td> </tr><tr><td> <code title="">lesseqqgtr;</code> </td> <td> U+02A8B </td> </tr><tr><td> <code title="">lessgtr;</code> </td> <td> U+02276 </td> </tr><tr><td> <code title="">lesssim;</code> </td> <td> U+02272 </d> </tr><tr><td> <code title="">lfisht;</code> </td> <td> U+0297C </td> </tr><tr><td> <code title="">lfloor;</code> </td> <td> U+0230A </td> </tr><tr><td> <code title="">lfr;</code> </td> <td> U+1D529 </td> </tr><tr><td> <code title="">lg;</code> </td> <td> U+02276 </td> </tr><tr><td> <code title="">lgE;</code> </td> <td> U+02A91 </td> </tr><tr><td> <code title="">lhard;</code> </td> <td> U+021BD </td> </tr><tr><td> <code title="">lharu;</code> </td> <td> U+021BC </td> </tr><tr><td> <code title="">lharul;</code> </td> <td> U+0296A </td> </tr><tr><td> <code title="">lhblk;</code> </td> <td> U+02584 </td> </tr><tr><td> <code title="">ljcy;</code> </td> <td> U+00459 </td> </tr><tr><td> <code title="">ll;</code> </td> <td> U+0226A </td> </tr><tr><td> <code title="">llarr;</code> </td> <td> U+021C7 </td> </tr><tr><td> <code title="">llcorner;</code> </td> <td> U+0231E </td> </tr><tr><td> <code title="">llhard;</code> </td> <td> U+0296B </td> </tr><tr><td> <code title="">lltri;</code> </td> <td> U+025FA </td> </t><tr><td> <code title="">lmidot;</code> </td> <td> U+00140 </td> </tr><tr><td> <code title="">lmoust;</code> </td> <td> U+023B0 </td> </tr><tr><td> <code title="">lmoustache;</code> </td> <td> U+023B0 </td> </tr><tr><td> <code title="">lnE;</code> </td> <td> U+02268 </td> </tr><tr><td> <code title="">lnap;</code> </td> <td> U+02A89 </td> </tr><tr><td> <code title="">lnapprox;</code> </td> <td> U+02A89 </td> </tr><tr><td> <code title="">lne;</code> </td> <td> U+02A87 </td> </tr><tr><td> <code title="">lneq;</code> </td> <td> U+02A87 </td> </tr><tr><td> <code title="">lneqq;</code> </td> <td> U+02268 </td> </tr><tr><td> <code title="">lnsim;</code> </td> <td> U+022E6 </td> </tr><tr><td> <code title="">loang;</code> </td> <td> U+027EC </td> </tr><tr><td> <code title="">loarr;</code> </td> <td> U+021FD </td> </tr><tr><td> <code title="">lobrk;</code> </td> <td> U+027E6 </td> </tr><tr><td> <code title="">longleftarrow;</code> </td> <td> U+027F5 </td> </tr><tr><td> <code title="">longleftrightarrow;</code> </td> td> U+027F7 </td> </tr><tr><td> <code title="">longmapsto;</code> </td> <td> U+027FC </td> </tr><tr><td> <code title="">longrightarrow;</code> </td> <td> U+027F6 </td> </tr><tr><td> <code title="">looparrowleft;</code> </td> <td> U+021AB </td> </tr><tr><td> <code title="">looparrowright;</code> </td> <td> U+021AC </td> </tr><tr><td> <code title="">lopar;</code> </td> <td> U+02985 </td> </tr><tr><td> <code title="">lopf;</code> </td> <td> U+1D55D </td> </tr><tr><td> <code title="">loplus;</code> </td> <td> U+02A2D </td> </tr><tr><td> <code title="">lotimes;</code> </td> <td> U+02A34 </td> </tr><tr><td> <code title="">lowast;</code> </td> <td> U+02217 </td> </tr><tr><td> <code title="">lowbar;</code> </td> <td> U+0005F </td> </tr><tr><td> <code title="">loz;</code> </td> <td> U+025CA </td> </tr><tr><td> <code title="">lozenge;</code> </td> <td> U+025CA </td> </tr><tr><td> <code title="">lozf;</code> </td> <td> U+029EB </td> </tr><tr><td> <code title="">lpar;</code> </td> <td> U+00028 </td> </tr><tr><td> <codetitle="">lparlt;</code> </td> <td> U+02993 </td> </tr><tr><td> <code title="">lrarr;</code> </td> <td> U+021C6 </td> </tr><tr><td> <code title="">lrcorner;</code> </td> <td> U+0231F </td> </tr><tr><td> <code title="">lrhar;</code> </td> <td> U+021CB </td> </tr><tr><td> <code title="">lrhard;</code> </td> <td> U+0296D </td> </tr><tr><td> <code title="">lrm;</code> </td> <td> U+0200E </td> </tr><tr><td> <code title="">lrtri;</code> </td> <td> U+022BF </td> </tr><tr><td> <code title="">lsaquo;</code> </td> <td> U+02039 </td> </tr><tr><td> <code title="">lscr;</code> </td> <td> U+1D4C1 </td> </tr><tr><td> <code title="">lsh;</code> </td> <td> U+021B0 </td> </tr><tr><td> <code title="">lsim;</code> </td> <td> U+02272 </td> </tr><tr><td> <code title="">lsime;</code> </td> <td> U+02A8D </td> </tr><tr><td> <code title="">lsimg;</code> </td> <td> U+02A8F </td> </tr><tr><td> <code title="">lsqb;</code> </td> <td> U+0005B </td> </tr><tr><td> <code title="">lsquo;</code> </td> <td> U+02018 </td> </tr><tr><td> <code tite="">lsquor;</code> </td> <td> U+0201A </td> </tr><tr><td> <code title="">lstrok;</code> </td> <td> U+00142 </td> </tr><tr><td> <code title="">lt;</code> </td> <td> U+0003C </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ltcc;</code> </td> <td> U+02AA6 </td> </tr><tr><td> <code title="">ltcir;</code> </td> <td> U+02A79 </td> </tr><tr><td> <code title="">ltdot;</code> </td> <td> U+022D6 </td> </tr><tr><td> <code title="">lthree;</code> </td> <td> U+022CB </td> </tr><tr><td> <code title="">ltimes;</code> </td> <td> U+022C9 </td> </tr><tr><td> <code title="">ltlarr;</code> </td> <td> U+02976 </td> </tr><tr><td> <code title="">ltquest;</code> </td> <td> U+02A7B </td> </tr><tr><td> <code title="">ltrPar;</code> </td> <td> U+02996 </td> </tr><tr><td> <code title="">ltri;</code> </td> <td> U+025C3 </td> </tr><tr><td> <code title="">ltrie;</code> </td> <td> U+022B4 </td> </tr><tr><td> <code title="">ltrif;</code> </td> <td> U+025C2 </td> </tr><tr><td> <codetitle="">lurdshar;</code> </td> <td> U+0294A </td> </tr><tr><td> <code title="">luruhar;</code> </td> <td> U+02966 </td> </tr><tr><td> <code title="">mDDot;</code> </td> <td> U+0223A </td> </tr><tr><td> <code title="">macr;</code> </td> <td> U+000AF </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">male;</code> </td> <td> U+02642 </td> </tr><tr><td> <code title="">malt;</code> </td> <td> U+02720 </td> </tr><tr><td> <code title="">maltese;</code> </td> <td> U+02720 </td> </tr><tr><td> <code title="">map;</code> </td> <td> U+021A6 </td> </tr><tr><td> <code title="">mapsto;</code> </td> <td> U+021A6 </td> </tr><tr><td> <code title="">mapstodown;</code> </td> <td> U+021A7 </td> </tr><tr><td> <code title="">mapstoleft;</code> </td> <td> U+021A4 </td> </tr><tr><td> <code title="">mapstoup;</code> </td> <td> U+021A5 </td> </tr><tr><td> <code title="">marker;</code> </td> <td> U+025AE </td> </tr><tr><td> <code title="">mcomma;</code> </td> <td> U+02A29 </td> /tr><tr><td> <code title="">mcy;</code> </td> <td> U+0043C </td> </tr><tr><td> <code title="">mdash;</code> </td> <td> U+02014 </td> </tr><tr><td> <code title="">measuredangle;</code> </td> <td> U+02221 </td> </tr><tr><td> <code title="">mfr;</code> </td> <td> U+1D52A </td> </tr><tr><td> <code title="">mho;</code> </td> <td> U+02127 </td> </tr><tr><td> <code title="">micro;</code> </td> <td> U+000B5 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">mid;</code> </td> <td> U+02223 </td> </tr><tr><td> <code title="">midast;</code> </td> <td> U+0002A </td> </tr><tr><td> <code title="">midcir;</code> </td> <td> U+02AF0 </td> </tr><tr><td> <code title="">middot;</code> </td> <td> U+000B7 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">minus;</code> </td> <td> U+02212 </td> </tr><tr><td> <code title="">minusb;</code> </td> <td> U+0229F </td> </tr><tr><td> <code title="">minusd;</code> </td> <td> U+0238 </td> </tr><tr><td> <code title="">minusdu;</code> </td> <td> U+02A2A </td> </tr><tr><td> <code title="">mlcp;</code> </td> <td> U+02ADB </td> </tr><tr><td> <code title="">mldr;</code> </td> <td> U+02026 </td> </tr><tr><td> <code title="">mnplus;</code> </td> <td> U+02213 </td> </tr><tr><td> <code title="">models;</code> </td> <td> U+022A7 </td> </tr><tr><td> <code title="">mopf;</code> </td> <td> U+1D55E </td> </tr><tr><td> <code title="">mp;</code> </td> <td> U+02213 </td> </tr><tr><td> <code title="">mscr;</code> </td> <td> U+1D4C2 </td> </tr><tr><td> <code title="">mstpos;</code> </td> <td> U+0223E </td> </tr><tr><td> <code title="">mu;</code> </td> <td> U+003BC </td> </tr><tr><td> <code title="">multimap;</code> </td> <td> U+022B8 </td> </tr><tr><td> <code title="">mumap;</code> </td> <td> U+022B8 </td> </tr><tr><td> <code title="">nLeftarrow;</code> </td> <td> U+021CD </td> </tr><tr><td> <code title="">nLeftrightarrow;</code> </td> <td> U+021CE </td> </tr><tr><td> <code title="">nRightarrow;</code></td> <td> U+021CF </td> </tr><tr><td> <code title="">nVDash;</code> </td> <td> U+022AF </td> </tr><tr><td> <code title="">nVdash;</code> </td> <td> U+022AE </td> </tr><tr><td> <code title="">nabla;</code> </td> <td> U+02207 </td> </tr><tr><td> <code title="">nacute;</code> </td> <td> U+00144 </td> </tr><tr><td> <code title="">nap;</code> </td> <td> U+02249 </td> </tr><tr><td> <code title="">napos;</code> </td> <td> U+00149 </td> </tr><tr><td> <code title="">napprox;</code> </td> <td> U+02249 </td> </tr><tr><td> <code title="">natur;</code> </td> <td> U+0266E </td> </tr><tr><td> <code title="">natural;</code> </td> <td> U+0266E </td> </tr><tr><td> <code title="">naturals;</code> </td> <td> U+02115 </td> </tr><tr><td> <code title="">nbsp;</code> </td> <td> U+000A0 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ncap;</code> </td> <td> U+02A43 </td> </tr><tr><td> <code title="">ncaron;</code> </td> <td> U+00148 </td> </tr><tr><td> <code title="">ncedi;</code> </td> <td> U+00146 </td> </tr><tr><td> <code title="">ncong;</code> </td> <td> U+02247 </td> </tr><tr><td> <code title="">ncup;</code> </td> <td> U+02A42 </td> </tr><tr><td> <code title="">ncy;</code> </td> <td> U+0043D </td> </tr><tr><td> <code title="">ndash;</code> </td> <td> U+02013 </td> </tr><tr><td> <code title="">ne;</code> </td> <td> U+02260 </td> </tr><tr><td> <code title="">neArr;</code> </td> <td> U+021D7 </td> </tr><tr><td> <code title="">nearhk;</code> </td> <td> U+02924 </td> </tr><tr><td> <code title="">nearr;</code> </td> <td> U+02197 </td> </tr><tr><td> <code title="">nearrow;</code> </td> <td> U+02197 </td> </tr><tr><td> <code title="">nequiv;</code> </td> <td> U+02262 </td> </tr><tr><td> <code title="">nesear;</code> </td> <td> U+02928 </td> </tr><tr><td> <code title="">nexist;</code> </td> <td> U+02204 </td> </tr><tr><td> <code title="">nexists;</code> </td> <td> U+02204 </td> </tr><tr><td> <code title="">nfr;</code> </td> <td> U+1D52B </td> </tr><tr><td> <code title="">nge;</cde> </td> <td> U+02271 </td> </tr><tr><td> <code title="">ngeq;</code> </td> <td> U+02271 </td> </tr><tr><td> <code title="">ngsim;</code> </td> <td> U+02275 </td> </tr><tr><td> <code title="">ngt;</code> </td> <td> U+0226F </td> </tr><tr><td> <code title="">ngtr;</code> </td> <td> U+0226F </td> </tr><tr><td> <code title="">nhArr;</code> </td> <td> U+021CE </td> </tr><tr><td> <code title="">nharr;</code> </td> <td> U+021AE </td> </tr><tr><td> <code title="">nhpar;</code> </td> <td> U+02AF2 </td> </tr><tr><td> <code title="">ni;</code> </td> <td> U+0220B </td> </tr><tr><td> <code title="">nis;</code> </td> <td> U+022FC </td> </tr><tr><td> <code title="">nisd;</code> </td> <td> U+022FA </td> </tr><tr><td> <code title="">niv;</code> </td> <td> U+0220B </td> </tr><tr><td> <code title="">njcy;</code> </td> <td> U+0045A </td> </tr><tr><td> <code title="">nlArr;</code> </td> <td> U+021CD </td> </tr><tr><td> <code title="">nlarr;</code> </td> <td> U+0219A </td> </tr><tr><td> <code title="">nldr;</code> </td> <td> U02025 </td> </tr><tr><td> <code title="">nle;</code> </td> <td> U+02270 </td> </tr><tr><td> <code title="">nleftarrow;</code> </td> <td> U+0219A </td> </tr><tr><td> <code title="">nleftrightarrow;</code> </td> <td> U+021AE </td> </tr><tr><td> <code title="">nleq;</code> </td> <td> U+02270 </td> </tr><tr><td> <code title="">nless;</code> </td> <td> U+0226E </td> </tr><tr><td> <code title="">nlsim;</code> </td> <td> U+02274 </td> </tr><tr><td> <code title="">nlt;</code> </td> <td> U+0226E </td> </tr><tr><td> <code title="">nltri;</code> </td> <td> U+022EA </td> </tr><tr><td> <code title="">nltrie;</code> </td> <td> U+022EC </td> </tr><tr><td> <code title="">nmid;</code> </td> <td> U+02224 </td> </tr><tr><td> <code title="">nopf;</code> </td> <td> U+1D55F </td> </tr><tr><td> <code title="">not;</code> </td> <td> U+000AC </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">notin;</code> </td> <td> U+02209 </td> </tr><tr><td> <code title="">notinva;</code> </d> <td> U+02209 </td> </tr><tr><td> <code title="">notinvb;</code> </td> <td> U+022F7 </td> </tr><tr><td> <code title="">notinvc;</code> </td> <td> U+022F6 </td> </tr><tr><td> <code title="">notni;</code> </td> <td> U+0220C </td> </tr><tr><td> <code title="">notniva;</code> </td> <td> U+0220C </td> </tr><tr><td> <code title="">notnivb;</code> </td> <td> U+022FE </td> </tr><tr><td> <code title="">notnivc;</code> </td> <td> U+022FD </td> </tr><tr><td> <code title="">npar;</code> </td> <td> U+02226 </td> </tr><tr><td> <code title="">nparallel;</code> </td> <td> U+02226 </td> </tr><tr><td> <code title="">npolint;</code> </td> <td> U+02A14 </td> </tr><tr><td> <code title="">npr;</code> </td> <td> U+02280 </td> </tr><tr><td> <code title="">nprcue;</code> </td> <td> U+022E0 </td> </tr><tr><td> <code title="">nprec;</code> </td> <td> U+02280 </td> </tr><tr><td> <code title="">nrArr;</code> </td> <td> U+021CF </td> </tr><tr><td> <code title="">nrarr;</code> </td> <td> U+0219B </td> </tr><tr><td> <code title="">nrigharrow;</code> </td> <td> U+0219B </td> </tr><tr><td> <code title="">nrtri;</code> </td> <td> U+022EB </td> </tr><tr><td> <code title="">nrtrie;</code> </td> <td> U+022ED </td> </tr><tr><td> <code title="">nsc;</code> </td> <td> U+02281 </td> </tr><tr><td> <code title="">nsccue;</code> </td> <td> U+022E1 </td> </tr><tr><td> <code title="">nscr;</code> </td> <td> U+1D4C3 </td> </tr><tr><td> <code title="">nshortmid;</code> </td> <td> U+02224 </td> </tr><tr><td> <code title="">nshortparallel;</code> </td> <td> U+02226 </td> </tr><tr><td> <code title="">nsim;</code> </td> <td> U+02241 </td> </tr><tr><td> <code title="">nsime;</code> </td> <td> U+02244 </td> </tr><tr><td> <code title="">nsimeq;</code> </td> <td> U+02244 </td> </tr><tr><td> <code title="">nsmid;</code> </td> <td> U+02224 </td> </tr><tr><td> <code title="">nspar;</code> </td> <td> U+02226 </td> </tr><tr><td> <code title="">nsqsube;</code> </td> <td> U+022E2 </td> </tr><tr><td> <code title="">nsqsupe;</code> </td> <td> U+022E3 </td> </tr><tr><td> <ode title="">nsub;</code> </td> <td> U+02284 </td> </tr><tr><td> <code title="">nsube;</code> </td> <td> U+02288 </td> </tr><tr><td> <code title="">nsubseteq;</code> </td> <td> U+02288 </td> </tr><tr><td> <code title="">nsucc;</code> </td> <td> U+02281 </td> </tr><tr><td> <code title="">nsup;</code> </td> <td> U+02285 </td> </tr><tr><td> <code title="">nsupe;</code> </td> <td> U+02289 </td> </tr><tr><td> <code title="">nsupseteq;</code> </td> <td> U+02289 </td> </tr><tr><td> <code title="">ntgl;</code> </td> <td> U+02279 </td> </tr><tr><td> <code title="">ntilde;</code> </td> <td> U+000F1 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ntlg;</code> </td> <td> U+02278 </td> </tr><tr><td> <code title="">ntriangleleft;</code> </td> <td> U+022EA </td> </tr><tr><td> <code title="">ntrianglelefteq;</code> </td> <td> U+022EC </td> </tr><tr><td> <code title="">ntriangleright;</code> </td> <td> U+022EB </td> </tr><tr><td> <code title="">ntrianglerighteq;</coe> </td> <td> U+022ED </td> </tr><tr><td> <code title="">nu;</code> </td> <td> U+003BD </td> </tr><tr><td> <code title="">num;</code> </td> <td> U+00023 </td> </tr><tr><td> <code title="">numero;</code> </td> <td> U+02116 </td> </tr><tr><td> <code title="">numsp;</code> </td> <td> U+02007 </td> </tr><tr><td> <code title="">nvDash;</code> </td> <td> U+022AD </td> </tr><tr><td> <code title="">nvHarr;</code> </td> <td> U+02904 </td> </tr><tr><td> <code title="">nvdash;</code> </td> <td> U+022AC </td> </tr><tr><td> <code title="">nvinfin;</code> </td> <td> U+029DE </td> </tr><tr><td> <code title="">nvlArr;</code> </td> <td> U+02902 </td> </tr><tr><td> <code title="">nvrArr;</code> </td> <td> U+02903 </td> </tr><tr><td> <code title="">nwArr;</code> </td> <td> U+021D6 </td> </tr><tr><td> <code title="">nwarhk;</code> </td> <td> U+02923 </td> </tr><tr><td> <code title="">nwarr;</code> </td> <td> U+02196 </td> </tr><tr><td> <code title="">nwarrow;</code> </td> <td> U+02196 </td> </tr><tr><td> <code title="">nwnear;/code> </td> <td> U+02927 </td> </tr><tr><td> <code title="">oS;</code> </td> <td> U+024C8 </td> </tr><tr><td> <code title="">oacute;</code> </td> <td> U+000F3 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">oast;</code> </td> <td> U+0229B </td> </tr><tr><td> <code title="">ocir;</code> </td> <td> U+0229A </td> </tr><tr><td> <code title="">ocirc;</code> </td> <td> U+000F4 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ocy;</code> </td> <td> U+0043E </td> </tr><tr><td> <code title="">odash;</code> </td> <td> U+0229D </td> </tr><tr><td> <code title="">odblac;</code> </td> <td> U+00151 </td> </tr><tr><td> <code title="">odiv;</code> </td> <td> U+02A38 </td> </tr><tr><td> <code title="">odot;</code> </td> <td> U+02299 </td> </tr><tr><td> <code title="">odsold;</code> </td> <td> U+029BC </td> </tr><tr><td> <code title="">oelig;</code> </td> <td> U+00153 </td> </tr><tr><td> <code title="">ofcir;<code> </td> <td> U+029BF </td> </tr><tr><td> <code title="">ofr;</code> </td> <td> U+1D52C </td> </tr><tr><td> <code title="">ogon;</code> </td> <td> U+002DB </td> </tr><tr><td> <code title="">ograve;</code> </td> <td> U+000F2 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ogt;</code> </td> <td> U+029C1 </td> </tr><tr><td> <code title="">ohbar;</code> </td> <td> U+029B5 </td> </tr><tr><td> <code title="">ohm;</code> </td> <td> U+003A9 </td> </tr><tr><td> <code title="">oint;</code> </td> <td> U+0222E </td> </tr><tr><td> <code title="">olarr;</code> </td> <td> U+021BA </td> </tr><tr><td> <code title="">olcir;</code> </td> <td> U+029BE </td> </tr><tr><td> <code title="">olcross;</code> </td> <td> U+029BB </td> </tr><tr><td> <code title="">oline;</code> </td> <td> U+0203E </td> </tr><tr><td> <code title="">olt;</code> </td> <td> U+029C0 </td> </tr><tr><td> <code title="">omacr;</code> </td> <td> U+0014D </td> </tr><tr><td> <code title="">omega;</code></td> <td> U+003C9 </td> </tr><tr><td> <code title="">omicron;</code> </td> <td> U+003BF </td> </tr><tr><td> <code title="">omid;</code> </td> <td> U+029B6 </td> </tr><tr><td> <code title="">ominus;</code> </td> <td> U+02296 </td> </tr><tr><td> <code title="">oopf;</code> </td> <td> U+1D560 </td> </tr><tr><td> <code title="">opar;</code> </td> <td> U+029B7 </td> </tr><tr><td> <code title="">operp;</code> </td> <td> U+029B9 </td> </tr><tr><td> <code title="">oplus;</code> </td> <td> U+02295 </td> </tr><tr><td> <code title="">or;</code> </td> <td> U+02228 </td> </tr><tr><td> <code title="">orarr;</code> </td> <td> U+021BB </td> </tr><tr><td> <code title="">ord;</code> </td> <td> U+02A5D </td> </tr><tr><td> <code title="">order;</code> </td> <td> U+02134 </td> </tr><tr><td> <code title="">orderof;</code> </td> <td> U+02134 </td> </tr><tr><td> <code title="">ordf;</code> </td> <td> U+000AA </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ordm;</code> </t> <td> U+000BA </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">origof;</code> </td> <td> U+022B6 </td> </tr><tr><td> <code title="">oror;</code> </td> <td> U+02A56 </td> </tr><tr><td> <code title="">orslope;</code> </td> <td> U+02A57 </td> </tr><tr><td> <code title="">orv;</code> </td> <td> U+02A5B </td> </tr><tr><td> <code title="">oscr;</code> </td> <td> U+02134 </td> </tr><tr><td> <code title="">oslash;</code> </td> <td> U+000F8 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">osol;</code> </td> <td> U+02298 </td> </tr><tr><td> <code title="">otilde;</code> </td> <td> U+000F5 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">otimes;</code> </td> <td> U+02297 </td> </tr><tr><td> <code title="">otimesas;</code> </td> <td> U+02A36 </td> </tr><tr><td> <code title="">ouml;</code> </td> <td> U+000F6 </td> </tr><!-- (invalid entity with mising semicolon for legacy support only) --><tr><td> <code title="">ovbar;</code> </td> <td> U+0233D </td> </tr><tr><td> <code title="">par;</code> </td> <td> U+02225 </td> </tr><tr><td> <code title="">para;</code> </td> <td> U+000B6 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">parallel;</code> </td> <td> U+02225 </td> </tr><tr><td> <code title="">parsim;</code> </td> <td> U+02AF3 </td> </tr><tr><td> <code title="">parsl;</code> </td> <td> U+02AFD </td> </tr><tr><td> <code title="">part;</code> </td> <td> U+02202 </td> </tr><tr><td> <code title="">pcy;</code> </td> <td> U+0043F </td> </tr><tr><td> <code title="">percnt;</code> </td> <td> U+00025 </td> </tr><tr><td> <code title="">period;</code> </td> <td> U+0002E </td> </tr><tr><td> <code title="">permil;</code> </td> <td> U+02030 </td> </tr><tr><td> <code title="">perp;</code> </td> <td> U+022A5 </td> </tr><tr><td> <code title="">pertenk;</code> </td> <td> U+02031 </td> </tr><tr><td> <code title=">pfr;</code> </td> <td> U+1D52D </td> </tr><tr><td> <code title="">phi;</code> </td> <td> U+003C6 </td> </tr><tr><td> <code title="">phiv;</code> </td> <td> U+003D5 </td> </tr><tr><td> <code title="">phmmat;</code> </td> <td> U+02133 </td> </tr><tr><td> <code title="">phone;</code> </td> <td> U+0260E </td> </tr><tr><td> <code title="">pi;</code> </td> <td> U+003C0 </td> </tr><tr><td> <code title="">pitchfork;</code> </td> <td> U+022D4 </td> </tr><tr><td> <code title="">piv;</code> </td> <td> U+003D6 </td> </tr><tr><td> <code title="">planck;</code> </td> <td> U+0210F </td> </tr><tr><td> <code title="">planckh;</code> </td> <td> U+0210E </td> </tr><tr><td> <code title="">plankv;</code> </td> <td> U+0210F </td> </tr><tr><td> <code title="">plus;</code> </td> <td> U+0002B </td> </tr><tr><td> <code title="">plusacir;</code> </td> <td> U+02A23 </td> </tr><tr><td> <code title="">plusb;</code> </td> <td> U+0229E </td> </tr><tr><td> <code title="">pluscir;</code> </td> <td> U+02A22 </td> </tr><tr><td> <code title=">plusdo;</code> </td> <td> U+02214 </td> </tr><tr><td> <code title="">plusdu;</code> </td> <td> U+02A25 </td> </tr><tr><td> <code title="">pluse;</code> </td> <td> U+02A72 </td> </tr><tr><td> <code title="">plusmn;</code> </td> <td> U+000B1 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">plussim;</code> </td> <td> U+02A26 </td> </tr><tr><td> <code title="">plustwo;</code> </td> <td> U+02A27 </td> </tr><tr><td> <code title="">pm;</code> </td> <td> U+000B1 </td> </tr><tr><td> <code title="">pointint;</code> </td> <td> U+02A15 </td> </tr><tr><td> <code title="">popf;</code> </td> <td> U+1D561 </td> </tr><tr><td> <code title="">pound;</code> </td> <td> U+000A3 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">pr;</code> </td> <td> U+0227A </td> </tr><tr><td> <code title="">prE;</code> </td> <td> U+02AB3 </td> </tr><tr><td> <code title="">prap;</code> </td> <td> U+02AB7 </td> </tr><tr><td> <code tile="">prcue;</code> </td> <td> U+0227C </td> </tr><tr><td> <code title="">pre;</code> </td> <td> U+02AAF </td> </tr><tr><td> <code title="">prec;</code> </td> <td> U+0227A </td> </tr><tr><td> <code title="">precapprox;</code> </td> <td> U+02AB7 </td> </tr><tr><td> <code title="">preccurlyeq;</code> </td> <td> U+0227C </td> </tr><tr><td> <code title="">preceq;</code> </td> <td> U+02AAF </td> </tr><tr><td> <code title="">precnapprox;</code> </td> <td> U+02AB9 </td> </tr><tr><td> <code title="">precneqq;</code> </td> <td> U+02AB5 </td> </tr><tr><td> <code title="">precnsim;</code> </td> <td> U+022E8 </td> </tr><tr><td> <code title="">precsim;</code> </td> <td> U+0227E </td> </tr><tr><td> <code title="">prime;</code> </td> <td> U+02032 </td> </tr><tr><td> <code title="">primes;</code> </td> <td> U+02119 </td> </tr><tr><td> <code title="">prnE;</code> </td> <td> U+02AB5 </td> </tr><tr><td> <code title="">prnap;</code> </td> <td> U+02AB9 </td> </tr><tr><td> <code title="">prnsim;</code> </td> <td> U+022E8 </td> <tr><tr><td> <code title="">prod;</code> </td> <td> U+0220F </td> </tr><tr><td> <code title="">profalar;</code> </td> <td> U+0232E </td> </tr><tr><td> <code title="">profline;</code> </td> <td> U+02312 </td> </tr><tr><td> <code title="">profsurf;</code> </td> <td> U+02313 </td> </tr><tr><td> <code title="">prop;</code> </td> <td> U+0221D </td> </tr><tr><td> <code title="">propto;</code> </td> <td> U+0221D </td> </tr><tr><td> <code title="">prsim;</code> </td> <td> U+0227E </td> </tr><tr><td> <code title="">prurel;</code> </td> <td> U+022B0 </td> </tr><tr><td> <code title="">pscr;</code> </td> <td> U+1D4C5 </td> </tr><tr><td> <code title="">psi;</code> </td> <td> U+003C8 </td> </tr><tr><td> <code title="">puncsp;</code> </td> <td> U+02008 </td> </tr><tr><td> <code title="">qfr;</code> </td> <td> U+1D52E </td> </tr><tr><td> <code title="">qint;</code> </td> <td> U+02A0C </td> </tr><tr><td> <code title="">qopf;</code> </td> <td> U+1D562 </td> </tr><tr><td> <code title="">qprime;</code> </td> <td> U+02057 </td> /tr><tr><td> <code title="">qscr;</code> </td> <td> U+1D4C6 </td> </tr><tr><td> <code title="">quaternions;</code> </td> <td> U+0210D </td> </tr><tr><td> <code title="">quatint;</code> </td> <td> U+02A16 </td> </tr><tr><td> <code title="">quest;</code> </td> <td> U+0003F </td> </tr><tr><td> <code title="">questeq;</code> </td> <td> U+0225F </td> </tr><tr><td> <code title="">quot;</code> </td> <td> U+00022 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">rAarr;</code> </td> <td> U+021DB </td> </tr><tr><td> <code title="">rArr;</code> </td> <td> U+021D2 </td> </tr><tr><td> <code title="">rAtail;</code> </td> <td> U+0291C </td> </tr><tr><td> <code title="">rBarr;</code> </td> <td> U+0290F </td> </tr><tr><td> <code title="">rHar;</code> </td> <td> U+02964 </td> </tr><tr><td> <code title="">racute;</code> </td> <td> U+00155 </td> </tr><tr><td> <code title="">radic;</code> </td> <td> U+0221A </td> </tr><tr><td> <code title="">raemptyv;</code> </td> <td> U+29B3 </td> </tr><tr><td> <code title="">rang;</code> </td> <td> U+027E9 </td> </tr><tr><td> <code title="">rangd;</code> </td> <td> U+02992 </td> </tr><tr><td> <code title="">range;</code> </td> <td> U+029A5 </td> </tr><tr><td> <code title="">rangle;</code> </td> <td> U+027E9 </td> </tr><tr><td> <code title="">raquo;</code> </td> <td> U+000BB </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">rarr;</code> </td> <td> U+02192 </td> </tr><tr><td> <code title="">rarrap;</code> </td> <td> U+02975 </td> </tr><tr><td> <code title="">rarrb;</code> </td> <td> U+021E5 </td> </tr><tr><td> <code title="">rarrbfs;</code> </td> <td> U+02920 </td> </tr><tr><td> <code title="">rarrc;</code> </td> <td> U+02933 </td> </tr><tr><td> <code title="">rarrfs;</code> </td> <td> U+0291E </td> </tr><tr><td> <code title="">rarrhk;</code> </td> <td> U+021AA </td> </tr><tr><td> <code title="">rarrlp;</code> </td> <td> U+021AC </td> </tr><tr><td> <code title="">rarrpl;</code> </td> td> U+02945 </td> </tr><tr><td> <code title="">rarrsim;</code> </td> <td> U+02974 </td> </tr><tr><td> <code title="">rarrtl;</code> </td> <td> U+021A3 </td> </tr><tr><td> <code title="">rarrw;</code> </td> <td> U+0219D </td> </tr><tr><td> <code title="">ratail;</code> </td> <td> U+0291A </td> </tr><tr><td> <code title="">ratio;</code> </td> <td> U+02236 </td> </tr><tr><td> <code title="">rationals;</code> </td> <td> U+0211A </td> </tr><tr><td> <code title="">rbarr;</code> </td> <td> U+0290D </td> </tr><tr><td> <code title="">rbbrk;</code> </td> <td> U+02773 </td> </tr><tr><td> <code title="">rbrace;</code> </td> <td> U+0007D </td> </tr><tr><td> <code title="">rbrack;</code> </td> <td> U+0005D </td> </tr><tr><td> <code title="">rbrke;</code> </td> <td> U+0298C </td> </tr><tr><td> <code title="">rbrksld;</code> </td> <td> U+0298E </td> </tr><tr><td> <code title="">rbrkslu;</code> </td> <td> U+02990 </td> </tr><tr><td> <code title="">rcaron;</code> </td> <td> U+00159 </td> </tr><tr><td> <code title="">rcedil;<code> </td> <td> U+00157 </td> </tr><tr><td> <code title="">rceil;</code> </td> <td> U+02309 </td> </tr><tr><td> <code title="">rcub;</code> </td> <td> U+0007D </td> </tr><tr><td> <code title="">rcy;</code> </td> <td> U+00440 </td> </tr><tr><td> <code title="">rdca;</code> </td> <td> U+02937 </td> </tr><tr><td> <code title="">rdldhar;</code> </td> <td> U+02969 </td> </tr><tr><td> <code title="">rdquo;</code> </td> <td> U+0201D </td> </tr><tr><td> <code title="">rdquor;</code> </td> <td> U+0201D </td> </tr><tr><td> <code title="">rdsh;</code> </td> <td> U+021B3 </td> </tr><tr><td> <code title="">real;</code> </td> <td> U+0211C </td> </tr><tr><td> <code title="">realine;</code> </td> <td> U+0211B </td> </tr><tr><td> <code title="">realpart;</code> </td> <td> U+0211C </td> </tr><tr><td> <code title="">reals;</code> </td> <td> U+0211D </td> </tr><tr><td> <code title="">rect;</code> </td> <td> U+025AD </td> </tr><tr><td> <code title="">reg;</code> </td> <td> U+000AE </td> </tr><!-- (invalid entity with missing smicolon for legacy support only) --><tr><td> <code title="">rfisht;</code> </td> <td> U+0297D </td> </tr><tr><td> <code title="">rfloor;</code> </td> <td> U+0230B </td> </tr><tr><td> <code title="">rfr;</code> </td> <td> U+1D52F </td> </tr><tr><td> <code title="">rhard;</code> </td> <td> U+021C1 </td> </tr><tr><td> <code title="">rharu;</code> </td> <td> U+021C0 </td> </tr><tr><td> <code title="">rharul;</code> </td> <td> U+0296C </td> </tr><tr><td> <code title="">rho;</code> </td> <td> U+003C1 </td> </tr><tr><td> <code title="">rhov;</code> </td> <td> U+003F1 </td> </tr><tr><td> <code title="">rightarrow;</code> </td> <td> U+02192 </td> </tr><tr><td> <code title="">rightarrowtail;</code> </td> <td> U+021A3 </td> </tr><tr><td> <code title="">rightharpoondown;</code> </td> <td> U+021C1 </td> </tr><tr><td> <code title="">rightharpoonup;</code> </td> <td> U+021C0 </td> </tr><tr><td> <code title="">rightleftarrows;</code> </td> <td> U+021C4 </td> </tr><tr><td> <code title="">rightleftharpoons;</code> </td> <td>U+021CC </td> </tr><tr><td> <code title="">rightrightarrows;</code> </td> <td> U+021C9 </td> </tr><tr><td> <code title="">rightsquigarrow;</code> </td> <td> U+0219D </td> </tr><tr><td> <code title="">rightthreetimes;</code> </td> <td> U+022CC </td> </tr><tr><td> <code title="">ring;</code> </td> <td> U+002DA </td> </tr><tr><td> <code title="">risingdotseq;</code> </td> <td> U+02253 </td> </tr><tr><td> <code title="">rlarr;</code> </td> <td> U+021C4 </td> </tr><tr><td> <code title="">rlhar;</code> </td> <td> U+021CC </td> </tr><tr><td> <code title="">rlm;</code> </td> <td> U+0200F </td> </tr><tr><td> <code title="">rmoust;</code> </td> <td> U+023B1 </td> </tr><tr><td> <code title="">rmoustache;</code> </td> <td> U+023B1 </td> </tr><tr><td> <code title="">rnmid;</code> </td> <td> U+02AEE </td> </tr><tr><td> <code title="">roang;</code> </td> <td> U+027ED </td> </tr><tr><td> <code title="">roarr;</code> </td> <td> U+021FE </td> </tr><tr><td> <code title="">robrk;</code> </td> <td> U+027E7 </td> </tr><tr><td> <ode title="">ropar;</code> </td> <td> U+02986 </td> </tr><tr><td> <code title="">ropf;</code> </td> <td> U+1D563 </td> </tr><tr><td> <code title="">roplus;</code> </td> <td> U+02A2E </td> </tr><tr><td> <code title="">rotimes;</code> </td> <td> U+02A35 </td> </tr><tr><td> <code title="">rpar;</code> </td> <td> U+00029 </td> </tr><tr><td> <code title="">rpargt;</code> </td> <td> U+02994 </td> </tr><tr><td> <code title="">rppolint;</code> </td> <td> U+02A12 </td> </tr><tr><td> <code title="">rrarr;</code> </td> <td> U+021C9 </td> </tr><tr><td> <code title="">rsaquo;</code> </td> <td> U+0203A </td> </tr><tr><td> <code title="">rscr;</code> </td> <td> U+1D4C7 </td> </tr><tr><td> <code title="">rsh;</code> </td> <td> U+021B1 </td> </tr><tr><td> <code title="">rsqb;</code> </td> <td> U+0005D </td> </tr><tr><td> <code title="">rsquo;</code> </td> <td> U+02019 </td> </tr><tr><td> <code title="">rsquor;</code> </td> <td> U+02019 </td> </tr><tr><td> <code title="">rthree;</code> </td> <td> U+022CC </td> </tr><tr><td> code title="">rtimes;</code> </td> <td> U+022CA </td> </tr><tr><td> <code title="">rtri;</code> </td> <td> U+025B9 </td> </tr><tr><td> <code title="">rtrie;</code> </td> <td> U+022B5 </td> </tr><tr><td> <code title="">rtrif;</code> </td> <td> U+025B8 </td> </tr><tr><td> <code title="">rtriltri;</code> </td> <td> U+029CE </td> </tr><tr><td> <code title="">ruluhar;</code> </td> <td> U+02968 </td> </tr><tr><td> <code title="">rx;</code> </td> <td> U+0211E </td> </tr><tr><td> <code title="">sacute;</code> </td> <td> U+0015B </td> </tr><tr><td> <code title="">sbquo;</code> </td> <td> U+0201A </td> </tr><tr><td> <code title="">sc;</code> </td> <td> U+0227B </td> </tr><tr><td> <code title="">scE;</code> </td> <td> U+02AB4 </td> </tr><tr><td> <code title="">scap;</code> </td> <td> U+02AB8 </td> </tr><tr><td> <code title="">scaron;</code> </td> <td> U+00161 </td> </tr><tr><td> <code title="">sccue;</code> </td> <td> U+0227D </td> </tr><tr><td> <code title="">sce;</code> </td> <td> U+02AB0 </td> </tr><tr><td> <code ttle="">scedil;</code> </td> <td> U+0015F </td> </tr><tr><td> <code title="">scirc;</code> </td> <td> U+0015D </td> </tr><tr><td> <code title="">scnE;</code> </td> <td> U+02AB6 </td> </tr><tr><td> <code title="">scnap;</code> </td> <td> U+02ABA </td> </tr><tr><td> <code title="">scnsim;</code> </td> <td> U+022E9 </td> </tr><tr><td> <code title="">scpolint;</code> </td> <td> U+02A13 </td> </tr><tr><td> <code title="">scsim;</code> </td> <td> U+0227F </td> </tr><tr><td> <code title="">scy;</code> </td> <td> U+00441 </td> </tr><tr><td> <code title="">sdot;</code> </td> <td> U+022C5 </td> </tr><tr><td> <code title="">sdotb;</code> </td> <td> U+022A1 </td> </tr><tr><td> <code title="">sdote;</code> </td> <td> U+02A66 </td> </tr><tr><td> <code title="">seArr;</code> </td> <td> U+021D8 </td> </tr><tr><td> <code title="">searhk;</code> </td> <td> U+02925 </td> </tr><tr><td> <code title="">searr;</code> </td> <td> U+02198 </td> </tr><tr><td> <code title="">searrow;</code> </td> <td> U+02198 </td> </tr><tr><td> <code itle="">sect;</code> </td> <td> U+000A7 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">semi;</code> </td> <td> U+0003B </td> </tr><tr><td> <code title="">seswar;</code> </td> <td> U+02929 </td> </tr><tr><td> <code title="">setminus;</code> </td> <td> U+02216 </td> </tr><tr><td> <code title="">setmn;</code> </td> <td> U+02216 </td> </tr><tr><td> <code title="">sext;</code> </td> <td> U+02736 </td> </tr><tr><td> <code title="">sfr;</code> </td> <td> U+1D530 </td> </tr><tr><td> <code title="">sfrown;</code> </td> <td> U+02322 </td> </tr><tr><td> <code title="">sharp;</code> </td> <td> U+0266F </td> </tr><tr><td> <code title="">shchcy;</code> </td> <td> U+00449 </td> </tr><tr><td> <code title="">shcy;</code> </td> <td> U+00448 </td> </tr><tr><td> <code title="">shortmid;</code> </td> <td> U+02223 </td> </tr><tr><td> <code title="">shortparallel;</code> </td> <td> U+02225 </td> </tr><tr><td> <code title="">shy;</code> </td> <td> U+000AD </td> </tr><!-- invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">sigma;</code> </td> <td> U+003C3 </td> </tr><tr><td> <code title="">sigmaf;</code> </td> <td> U+003C2 </td> </tr><tr><td> <code title="">sigmav;</code> </td> <td> U+003C2 </td> </tr><tr><td> <code title="">sim;</code> </td> <td> U+0223C </td> </tr><tr><td> <code title="">simdot;</code> </td> <td> U+02A6A </td> </tr><tr><td> <code title="">sime;</code> </td> <td> U+02243 </td> </tr><tr><td> <code title="">simeq;</code> </td> <td> U+02243 </td> </tr><tr><td> <code title="">simg;</code> </td> <td> U+02A9E </td> </tr><tr><td> <code title="">simgE;</code> </td> <td> U+02AA0 </td> </tr><tr><td> <code title="">siml;</code> </td> <td> U+02A9D </td> </tr><tr><td> <code title="">simlE;</code> </td> <td> U+02A9F </td> </tr><tr><td> <code title="">simne;</code> </td> <td> U+02246 </td> </tr><tr><td> <code title="">simplus;</code> </td> <td> U+02A24 </td> </tr><tr><td> <code title="">simrarr;</code> </td> <td> U+02972 </td> </tr><t><td> <code title="">slarr;</code> </td> <td> U+02190 </td> </tr><tr><td> <code title="">smallsetminus;</code> </td> <td> U+02216 </td> </tr><tr><td> <code title="">smashp;</code> </td> <td> U+02A33 </td> </tr><tr><td> <code title="">smeparsl;</code> </td> <td> U+029E4 </td> </tr><tr><td> <code title="">smid;</code> </td> <td> U+02223 </td> </tr><tr><td> <code title="">smile;</code> </td> <td> U+02323 </td> </tr><tr><td> <code title="">smt;</code> </td> <td> U+02AAA </td> </tr><tr><td> <code title="">smte;</code> </td> <td> U+02AAC </td> </tr><tr><td> <code title="">softcy;</code> </td> <td> U+0044C </td> </tr><tr><td> <code title="">sol;</code> </td> <td> U+0002F </td> </tr><tr><td> <code title="">solb;</code> </td> <td> U+029C4 </td> </tr><tr><td> <code title="">solbar;</code> </td> <td> U+0233F </td> </tr><tr><td> <code title="">sopf;</code> </td> <td> U+1D564 </td> </tr><tr><td> <code title="">spades;</code> </td> <td> U+02660 </td> </tr><tr><td> <code title="">spadesuit;</code> </td> <td> U+02660 </td></tr><tr><td> <code title="">spar;</code> </td> <td> U+02225 </td> </tr><tr><td> <code title="">sqcap;</code> </td> <td> U+02293 </td> </tr><tr><td> <code title="">sqcup;</code> </td> <td> U+02294 </td> </tr><tr><td> <code title="">sqsub;</code> </td> <td> U+0228F </td> </tr><tr><td> <code title="">sqsube;</code> </td> <td> U+02291 </td> </tr><tr><td> <code title="">sqsubset;</code> </td> <td> U+0228F </td> </tr><tr><td> <code title="">sqsubseteq;</code> </td> <td> U+02291 </td> </tr><tr><td> <code title="">sqsup;</code> </td> <td> U+02290 </td> </tr><tr><td> <code title="">sqsupe;</code> </td> <td> U+02292 </td> </tr><tr><td> <code title="">sqsupset;</code> </td> <td> U+02290 </td> </tr><tr><td> <code title="">sqsupseteq;</code> </td> <td> U+02292 </td> </tr><tr><td> <code title="">squ;</code> </td> <td> U+025A1 </td> </tr><tr><td> <code title="">square;</code> </td> <td> U+025A1 </td> </tr><tr><td> <code title="">squarf;</code> </td> <td> U+025AA </td> </tr><tr><td> <code title="">squf;</code> </td> <td> +025AA </td> </tr><tr><td> <code title="">srarr;</code> </td> <td> U+02192 </td> </tr><tr><td> <code title="">sscr;</code> </td> <td> U+1D4C8 </td> </tr><tr><td> <code title="">ssetmn;</code> </td> <td> U+02216 </td> </tr><tr><td> <code title="">ssmile;</code> </td> <td> U+02323 </td> </tr><tr><td> <code title="">sstarf;</code> </td> <td> U+022C6 </td> </tr><tr><td> <code title="">star;</code> </td> <td> U+02606 </td> </tr><tr><td> <code title="">starf;</code> </td> <td> U+02605 </td> </tr><tr><td> <code title="">straightepsilon;</code> </td> <td> U+003F5 </td> </tr><tr><td> <code title="">straightphi;</code> </td> <td> U+003D5 </td> </tr><tr><td> <code title="">strns;</code> </td> <td> U+000AF </td> </tr><tr><td> <code title="">sub;</code> </td> <td> U+02282 </td> </tr><tr><td> <code title="">subE;</code> </td> <td> U+02AC5 </td> </tr><tr><td> <code title="">subdot;</code> </td> <td> U+02ABD </td> </tr><tr><td> <code title="">sube;</code> </td> <td> U+02286 </td> </tr><tr><td> <code title="">subedot;</code </td> <td> U+02AC3 </td> </tr><tr><td> <code title="">submult;</code> </td> <td> U+02AC1 </td> </tr><tr><td> <code title="">subnE;</code> </td> <td> U+02ACB </td> </tr><tr><td> <code title="">subne;</code> </td> <td> U+0228A </td> </tr><tr><td> <code title="">subplus;</code> </td> <td> U+02ABF </td> </tr><tr><td> <code title="">subrarr;</code> </td> <td> U+02979 </td> </tr><tr><td> <code title="">subset;</code> </td> <td> U+02282 </td> </tr><tr><td> <code title="">subseteq;</code> </td> <td> U+02286 </td> </tr><tr><td> <code title="">subseteqq;</code> </td> <td> U+02AC5 </td> </tr><tr><td> <code title="">subsetneq;</code> </td> <td> U+0228A </td> </tr><tr><td> <code title="">subsetneqq;</code> </td> <td> U+02ACB </td> </tr><tr><td> <code title="">subsim;</code> </td> <td> U+02AC7 </td> </tr><tr><td> <code title="">subsub;</code> </td> <td> U+02AD5 </td> </tr><tr><td> <code title="">subsup;</code> </td> <td> U+02AD3 </td> </tr><tr><td> <code title="">succ;</code> </td> <td> U+0227B </td> </tr><tr><td> <codetitle="">succapprox;</code> </td> <td> U+02AB8 </td> </tr><tr><td> <code title="">succcurlyeq;</code> </td> <td> U+0227D </td> </tr><tr><td> <code title="">succeq;</code> </td> <td> U+02AB0 </td> </tr><tr><td> <code title="">succnapprox;</code> </td> <td> U+02ABA </td> </tr><tr><td> <code title="">succneqq;</code> </td> <td> U+02AB6 </td> </tr><tr><td> <code title="">succnsim;</code> </td> <td> U+022E9 </td> </tr><tr><td> <code title="">succsim;</code> </td> <td> U+0227F </td> </tr><tr><td> <code title="">sum;</code> </td> <td> U+02211 </td> </tr><tr><td> <code title="">sung;</code> </td> <td> U+0266A </td> </tr><tr><td> <code title="">sup1;</code> </td> <td> U+000B9 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">sup2;</code> </td> <td> U+000B2 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">sup3;</code> </td> <td> U+000B3 </td> </tr><!-- (invalid entity with missing semicolon for legacy suport only) --><tr><td> <code title="">sup;</code> </td> <td> U+02283 </td> </tr><tr><td> <code title="">supE;</code> </td> <td> U+02AC6 </td> </tr><tr><td> <code title="">supdot;</code> </td> <td> U+02ABE </td> </tr><tr><td> <code title="">supdsub;</code> </td> <td> U+02AD8 </td> </tr><tr><td> <code title="">supe;</code> </td> <td> U+02287 </td> </tr><tr><td> <code title="">supedot;</code> </td> <td> U+02AC4 </td> </tr><tr><td> <code title="">suphsol;</code> </td> <td> U+027C9 </td> </tr><tr><td> <code title="">suphsub;</code> </td> <td> U+02AD7 </td> </tr><tr><td> <code title="">suplarr;</code> </td> <td> U+0297B </td> </tr><tr><td> <code title="">supmult;</code> </td> <td> U+02AC2 </td> </tr><tr><td> <code title="">supnE;</code> </td> <td> U+02ACC </td> </tr><tr><td> <code title="">supne;</code> </td> <td> U+0228B </td> </tr><tr><td> <code title="">supplus;</code> </td> <td> U+02AC0 </td> </tr><tr><td> <code title="">supset;</code> </td> <td> U+02283 </td> </tr><tr><td> <code title="">supseteq;</code> </t> <td> U+02287 </td> </tr><tr><td> <code title="">supseteqq;</code> </td> <td> U+02AC6 </td> </tr><tr><td> <code title="">supsetneq;</code> </td> <td> U+0228B </td> </tr><tr><td> <code title="">supsetneqq;</code> </td> <td> U+02ACC </td> </tr><tr><td> <code title="">supsim;</code> </td> <td> U+02AC8 </td> </tr><tr><td> <code title="">supsub;</code> </td> <td> U+02AD4 </td> </tr><tr><td> <code title="">supsup;</code> </td> <td> U+02AD6 </td> </tr><tr><td> <code title="">swArr;</code> </td> <td> U+021D9 </td> </tr><tr><td> <code title="">swarhk;</code> </td> <td> U+02926 </td> </tr><tr><td> <code title="">swarr;</code> </td> <td> U+02199 </td> </tr><tr><td> <code title="">swarrow;</code> </td> <td> U+02199 </td> </tr><tr><td> <code title="">swnwar;</code> </td> <td> U+0292A </td> </tr><tr><td> <code title="">szlig;</code> </td> <td> U+000DF </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">target;</code> </td> <td> U+02316 </td> </tr><tr><td> <code titl="">tau;</code> </td> <td> U+003C4 </td> </tr><tr><td> <code title="">tbrk;</code> </td> <td> U+023B4 </td> </tr><tr><td> <code title="">tcaron;</code> </td> <td> U+00165 </td> </tr><tr><td> <code title="">tcedil;</code> </td> <td> U+00163 </td> </tr><tr><td> <code title="">tcy;</code> </td> <td> U+00442 </td> </tr><tr><td> <code title="">tdot;</code> </td> <td> U+020DB </td> </tr><tr><td> <code title="">telrec;</code> </td> <td> U+02315 </td> </tr><tr><td> <code title="">tfr;</code> </td> <td> U+1D531 </td> </tr><tr><td> <code title="">there4;</code> </td> <td> U+02234 </td> </tr><tr><td> <code title="">therefore;</code> </td> <td> U+02234 </td> </tr><tr><td> <code title="">theta;</code> </td> <td> U+003B8 </td> </tr><tr><td> <code title="">thetasym;</code> </td> <td> U+003D1 </td> </tr><tr><td> <code title="">thetav;</code> </td> <td> U+003D1 </td> </tr><tr><td> <code title="">thickapprox;</code> </td> <td> U+02248 </td> </tr><tr><td> <code title="">thicksim;</code> </td> <td> U+0223C </td> </tr><tr><td> code title="">thinsp;</code> </td> <td> U+02009 </td> </tr><tr><td> <code title="">thkap;</code> </td> <td> U+02248 </td> </tr><tr><td> <code title="">thksim;</code> </td> <td> U+0223C </td> </tr><tr><td> <code title="">thorn;</code> </td> <td> U+000FE </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">tilde;</code> </td> <td> U+002DC </td> </tr><tr><td> <code title="">times;</code> </td> <td> U+000D7 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">timesb;</code> </td> <td> U+022A0 </td> </tr><tr><td> <code title="">timesbar;</code> </td> <td> U+02A31 </td> </tr><tr><td> <code title="">timesd;</code> </td> <td> U+02A30 </td> </tr><tr><td> <code title="">tint;</code> </td> <td> U+0222D </td> </tr><tr><td> <code title="">toea;</code> </td> <td> U+02928 </td> </tr><tr><td> <code title="">top;</code> </td> <td> U+022A4 </td> </tr><tr><td> <code title="">topbot;</code> </td> <td> U+02336 </td> </tr>tr><td> <code title="">topcir;</code> </td> <td> U+02AF1 </td> </tr><tr><td> <code title="">topf;</code> </td> <td> U+1D565 </td> </tr><tr><td> <code title="">topfork;</code> </td> <td> U+02ADA </td> </tr><tr><td> <code title="">tosa;</code> </td> <td> U+02929 </td> </tr><tr><td> <code title="">tprime;</code> </td> <td> U+02034 </td> </tr><tr><td> <code title="">trade;</code> </td> <td> U+02122 </td> </tr><tr><td> <code title="">triangle;</code> </td> <td> U+025B5 </td> </tr><tr><td> <code title="">triangledown;</code> </td> <td> U+025BF </td> </tr><tr><td> <code title="">triangleleft;</code> </td> <td> U+025C3 </td> </tr><tr><td> <code title="">trianglelefteq;</code> </td> <td> U+022B4 </td> </tr><tr><td> <code title="">triangleq;</code> </td> <td> U+0225C </td> </tr><tr><td> <code title="">triangleright;</code> </td> <td> U+025B9 </td> </tr><tr><td> <code title="">trianglerighteq;</code> </td> <td> U+022B5 </td> </tr><tr><td> <code title="">tridot;</code> </td> <td> U+025EC </td> </tr><tr><td> <code title"">trie;</code> </td> <td> U+0225C </td> </tr><tr><td> <code title="">triminus;</code> </td> <td> U+02A3A </td> </tr><tr><td> <code title="">triplus;</code> </td> <td> U+02A39 </td> </tr><tr><td> <code title="">trisb;</code> </td> <td> U+029CD </td> </tr><tr><td> <code title="">tritime;</code> </td> <td> U+02A3B </td> </tr><tr><td> <code title="">trpezium;</code> </td> <td> U+023E2 </td> </tr><tr><td> <code title="">tscr;</code> </td> <td> U+1D4C9 </td> </tr><tr><td> <code title="">tscy;</code> </td> <td> U+00446 </td> </tr><tr><td> <code title="">tshcy;</code> </td> <td> U+0045B </td> </tr><tr><td> <code title="">tstrok;</code> </td> <td> U+00167 </td> </tr><tr><td> <code title="">twixt;</code> </td> <td> U+0226C </td> </tr><tr><td> <code title="">twoheadleftarrow;</code> </td> <td> U+0219E </td> </tr><tr><td> <code title="">twoheadrightarrow;</code> </td> <td> U+021A0 </td> </tr><tr><td> <code title="">uArr;</code> </td> <td> U+021D1 </td> </tr><tr><td> <code title="">uHar;</code> </td> <td> U+02963 </td></tr><tr><td> <code title="">uacute;</code> </td> <td> U+000FA </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">uarr;</code> </td> <td> U+02191 </td> </tr><tr><td> <code title="">ubrcy;</code> </td> <td> U+0045E </td> </tr><tr><td> <code title="">ubreve;</code> </td> <td> U+0016D </td> </tr><tr><td> <code title="">ucirc;</code> </td> <td> U+000FB </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ucy;</code> </td> <td> U+00443 </td> </tr><tr><td> <code title="">udarr;</code> </td> <td> U+021C5 </td> </tr><tr><td> <code title="">udblac;</code> </td> <td> U+00171 </td> </tr><tr><td> <code title="">udhar;</code> </td> <td> U+0296E </td> </tr><tr><td> <code title="">ufisht;</code> </td> <td> U+0297E </td> </tr><tr><td> <code title="">ufr;</code> </td> <td> U+1D532 </td> </tr><tr><td> <code title="">ugrave;</code> </td> <td> U+000F9 </td> </tr><!-- (invalid entity with missing semicolon for legacy suport only) --><tr><td> <code title="">uharl;</code> </td> <td> U+021BF </td> </tr><tr><td> <code title="">uharr;</code> </td> <td> U+021BE </td> </tr><tr><td> <code title="">uhblk;</code> </td> <td> U+02580 </td> </tr><tr><td> <code title="">ulcorn;</code> </td> <td> U+0231C </td> </tr><tr><td> <code title="">ulcorner;</code> </td> <td> U+0231C </td> </tr><tr><td> <code title="">ulcrop;</code> </td> <td> U+0230F </td> </tr><tr><td> <code title="">ultri;</code> </td> <td> U+025F8 </td> </tr><tr><td> <code title="">umacr;</code> </td> <td> U+0016B </td> </tr><tr><td> <code title="">uml;</code> </td> <td> U+000A8 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">uogon;</code> </td> <td> U+00173 </td> </tr><tr><td> <code title="">uopf;</code> </td> <td> U+1D566 </td> </tr><tr><td> <code title="">uparrow;</code> </td> <td> U+02191 </td> </tr><tr><td> <code title="">updownarrow;</code> </td> <td> U+02195 </td> </tr><tr><td> <code title="">upharpoonleft;</coe> </td> <td> U+021BF </td> </tr><tr><td> <code title="">upharpoonright;</code> </td> <td> U+021BE </td> </tr><tr><td> <code title="">uplus;</code> </td> <td> U+0228E </td> </tr><tr><td> <code title="">upsi;</code> </td> <td> U+003C5 </td> </tr><tr><td> <code title="">upsih;</code> </td> <td> U+003D2 </td> </tr><tr><td> <code title="">upsilon;</code> </td> <td> U+003C5 </td> </tr><tr><td> <code title="">upuparrows;</code> </td> <td> U+021C8 </td> </tr><tr><td> <code title="">urcorn;</code> </td> <td> U+0231D </td> </tr><tr><td> <code title="">urcorner;</code> </td> <td> U+0231D </td> </tr><tr><td> <code title="">urcrop;</code> </td> <td> U+0230E </td> </tr><tr><td> <code title="">uring;</code> </td> <td> U+0016F </td> </tr><tr><td> <code title="">urtri;</code> </td> <td> U+025F9 </td> </tr><tr><td> <code title="">uscr;</code> </td> <td> U+1D4CA </td> </tr><tr><td> <code title="">utdot;</code> </td> <td> U+022F0 </td> </tr><tr><td> <code title="">utilde;</code> </td> <td> U+00169 </td> </tr><tr><td> <code tile="">utri;</code> </td> <td> U+025B5 </td> </tr><tr><td> <code title="">utrif;</code> </td> <td> U+025B4 </td> </tr><tr><td> <code title="">uuarr;</code> </td> <td> U+021C8 </td> </tr><tr><td> <code title="">uuml;</code> </td> <td> U+000FC </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">uwangle;</code> </td> <td> U+029A7 </td> </tr><tr><td> <code title="">vArr;</code> </td> <td> U+021D5 </td> </tr><tr><td> <code title="">vBar;</code> </td> <td> U+02AE8 </td> </tr><tr><td> <code title="">vBarv;</code> </td> <td> U+02AE9 </td> </tr><tr><td> <code title="">vDash;</code> </td> <td> U+022A8 </td> </tr><tr><td> <code title="">vangrt;</code> </td> <td> U+0299C </td> </tr><tr><td> <code title="">varepsilon;</code> </td> <td> U+003F5 </td> </tr><tr><td> <code title="">varkappa;</code> </td> <td> U+003F0 </td> </tr><tr><td> <code title="">varnothing;</code> </td> <td> U+02205 </td> </tr><tr><td> <code title="">varphi;</code> </td> <td> U+003D5 </td> </tr><tr<td> <code title="">varpi;</code> </td> <td> U+003D6 </td> </tr><tr><td> <code title="">varpropto;</code> </td> <td> U+0221D </td> </tr><tr><td> <code title="">varr;</code> </td> <td> U+02195 </td> </tr><tr><td> <code title="">varrho;</code> </td> <td> U+003F1 </td> </tr><tr><td> <code title="">varsigma;</code> </td> <td> U+003C2 </td> </tr><tr><td> <code title="">vartheta;</code> </td> <td> U+003D1 </td> </tr><tr><td> <code title="">vartriangleleft;</code> </td> <td> U+022B2 </td> </tr><tr><td> <code title="">vartriangleright;</code> </td> <td> U+022B3 </td> </tr><tr><td> <code title="">vcy;</code> </td> <td> U+00432 </td> </tr><tr><td> <code title="">vdash;</code> </td> <td> U+022A2 </td> </tr><tr><td> <code title="">vee;</code> </td> <td> U+02228 </td> </tr><tr><td> <code title="">veebar;</code> </td> <td> U+022BB </td> </tr><tr><td> <code title="">veeeq;</code> </td> <td> U+0225A </td> </tr><tr><td> <code title="">vellip;</code> </td> <td> U+022EE </td> </tr><tr><td> <code title="">verbar;</code> </td> td> U+0007C </td> </tr><tr><td> <code title="">vert;</code> </td> <td> U+0007C </td> </tr><tr><td> <code title="">vfr;</code> </td> <td> U+1D533 </td> </tr><tr><td> <code title="">vltri;</code> </td> <td> U+022B2 </td> </tr><tr><td> <code title="">vopf;</code> </td> <td> U+1D567 </td> </tr><tr><td> <code title="">vprop;</code> </td> <td> U+0221D </td> </tr><tr><td> <code title="">vrtri;</code> </td> <td> U+022B3 </td> </tr><tr><td> <code title="">vscr;</code> </td> <td> U+1D4CB </td> </tr><tr><td> <code title="">vzigzag;</code> </td> <td> U+0299A </td> </tr><tr><td> <code title="">wcirc;</code> </td> <td> U+00175 </td> </tr><tr><td> <code title="">wedbar;</code> </td> <td> U+02A5F </td> </tr><tr><td> <code title="">wedge;</code> </td> <td> U+02227 </td> </tr><tr><td> <code title="">wedgeq;</code> </td> <td> U+02259 </td> </tr><tr><td> <code title="">weierp;</code> </td> <td> U+02118 </td> </tr><tr><td> <code title="">wfr;</code> </td> <td> U+1D534 </td> </tr><tr><td> <code title="">wopf;</code> </td> <td> U1D568 </td> </tr><tr><td> <code title="">wp;</code> </td> <td> U+02118 </td> </tr><tr><td> <code title="">wr;</code> </td> <td> U+02240 </td> </tr><tr><td> <code title="">wreath;</code> </td> <td> U+02240 </td> </tr><tr><td> <code title="">wscr;</code> </td> <td> U+1D4CC </td> </tr><tr><td> <code title="">xcap;</code> </td> <td> U+022C2 </td> </tr><tr><td> <code title="">xcirc;</code> </td> <td> U+025EF </td> </tr><tr><td> <code title="">xcup;</code> </td> <td> U+022C3 </td> </tr><tr><td> <code title="">xdtri;</code> </td> <td> U+025BD </td> </tr><tr><td> <code title="">xfr;</code> </td> <td> U+1D535 </td> </tr><tr><td> <code title="">xhArr;</code> </td> <td> U+027FA </td> </tr><tr><td> <code title="">xharr;</code> </td> <td> U+027F7 </td> </tr><tr><td> <code title="">xi;</code> </td> <td> U+003BE </td> </tr><tr><td> <code title="">xlArr;</code> </td> <td> U+027F8 </td> </tr><tr><td> <code title="">xlarr;</code> </td> <td> U+027F5 </td> </tr><tr><td> <code title="">xmap;</code> </td> <td> U+027FC </td> </tr<tr><td> <code title="">xnis;</code> </td> <td> U+022FB </td> </tr><tr><td> <code title="">xodot;</code> </td> <td> U+02A00 </td> </tr><tr><td> <code title="">xopf;</code> </td> <td> U+1D569 </td> </tr><tr><td> <code title="">xoplus;</code> </td> <td> U+02A01 </td> </tr><tr><td> <code title="">xotime;</code> </td> <td> U+02A02 </td> </tr><tr><td> <code title="">xrArr;</code> </td> <td> U+027F9 </td> </tr><tr><td> <code title="">xrarr;</code> </td> <td> U+027F6 </td> </tr><tr><td> <code title="">xscr;</code> </td> <td> U+1D4CD </td> </tr><tr><td> <code title="">xsqcup;</code> </td> <td> U+02A06 </td> </tr><tr><td> <code title="">xuplus;</code> </td> <td> U+02A04 </td> </tr><tr><td> <code title="">xutri;</code> </td> <td> U+025B3 </td> </tr><tr><td> <code title="">xvee;</code> </td> <td> U+022C1 </td> </tr><tr><td> <code title="">xwedge;</code> </td> <td> U+022C0 </td> </tr><tr><td> <code title="">yacute;</code> </td> <td> U+000FD </td> </tr><!-- (invalid entity with missing semicolon for legacy support only)--><tr><td> <code title="">yacy;</code> </td> <td> U+0044F </td> </tr><tr><td> <code title="">ycirc;</code> </td> <td> U+00177 </td> </tr><tr><td> <code title="">ycy;</code> </td> <td> U+0044B </td> </tr><tr><td> <code title="">yen;</code> </td> <td> U+000A5 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">yfr;</code> </td> <td> U+1D536 </td> </tr><tr><td> <code title="">yicy;</code> </td> <td> U+00457 </td> </tr><tr><td> <code title="">yopf;</code> </td> <td> U+1D56A </td> </tr><tr><td> <code title="">yscr;</code> </td> <td> U+1D4CE </td> </tr><tr><td> <code title="">yucy;</code> </td> <td> U+0044E </td> </tr><tr><td> <code title="">yuml;</code> </td> <td> U+000FF </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">zacute;</code> </td> <td> U+0017A </td> </tr><tr><td> <code title="">zcaron;</code> </td> <td> U+0017E </td> </tr><tr><td> <code title="">zcy;</code> </td> <td> U+00437 </td> </tr><tr<td> <code title="">zdot;</code> </td> <td> U+0017C </td> </tr><tr><td> <code title="">zeetrf;</code> </td> <td> U+02128 </td> </tr><tr><td> <code title="">zeta;</code> </td> <td> U+003B6 </td> </tr><tr><td> <code title="">zfr;</code> </td> <td> U+1D537 </td> </tr><tr><td> <code title="">zhcy;</code> </td> <td> U+00436 </td> </tr><tr><td> <code title="">zigrarr;</code> </td> <td> U+021DD </td> </tr><tr><td> <code title="">zopf;</code> </td> <td> U+1D56B </td> </tr><tr><td> <code title="">zscr;</code> </td> <td> U+1D4CF </td> </tr><tr><td> <code title="">zwj;</code> </td> <td> U+0200D </td> </tr><tr><td> <code title="">zwnj;</code> </td> <td> U+0200C </td> </tr></tbody></table><!--
+   If we want to add character references, Almorca suggests:
+   > I would add &sub1; (character U+2081), &sub2;
+   > (character U+2082) and &sub3; (character U+2083). They
+   > would are the equivalent to &sup1;, &sup2;, and &sup3;.
+   See also: http://www.w3.org/2003/entities/
+  --></div></body></html>
\ No newline at end of file

Index: references.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/references.html,v
retrieving revision 1.558
retrieving revision 1.559
diff -u -d -r1.558 -r1.559
--- references.html	6 Jan 2010 15:38:53 -0000	1.558
+++ references.html	6 Jan 2010 15:49:34 -0000	1.559
@@ -213,4 +213,693 @@
    .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 
\ No newline at end of file
+   .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="data:text/css," id="complete" rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" id="author" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" id="highlight" rel="alternate stylesheet" title="Highlight implementation requirements"><script>
+   function getCookie(name) {
+     var params = location.search.substr(1).split("&");
+     for (var index = 0; index < params.length; index++) {
+       if (params[index] == name)
+         return "1";
+       var data = params[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     var cookies = document.cookie.split("; ");
+     for (var index = 0; index < cookies.length; index++) {
+       var data = cookies[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     return null;
+   }
+   function load(script) {
+     var e = document.createElement('script');
+     e.setAttribute('src', 'http://www.whatwg.org/specs/web-apps/current-work/' + script + '?' + encodeURIComponent(location) + '&' + encodeURIComponent(document.referrer));
+     document.body.appendChild(e);
+   }
+   function init() {
+     if (location.search == '?slow-browser')
+       return;
+     var configUI = document.createElement('div');
+     configUI.id = 'configUI';
+     document.body.appendChild(configUI);
+     // load('reviewer.js'); // would need cross-site XHR
+     if (document.getElementById('head'))
+       load('toc.js');
+     
+     // load('updater.js'); // would need cross-site XHR
+     load('dfn.js');
+     // load('status.js'); // would need cross-site XHR
+     if (getCookie('profile') == '1')
+       document.getElementsByTagName('h2')[0].textContent += '; load: ' + (new Date() - loadTimer) + 'ms';
+     fixBrokenLink();
+   }
+  </script><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><link href="index.html" title="Index" rel="prev">
+  <link href="Overview.html#contents" title="Table of contents" rel="index">
+  <link href="acknowledgements.html" title="Acknowledgements" rel="next">
+  </head><body onload="fixBrokenLink(); init()"><div class="head" id="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 (Author Edition)</h1>
+   </div><div>
+   <a href="index.html">&#8592; Index</a> &#8211;
+   <a href="Overview.html#contents">Table of contents</a> &#8211;
+   <a href="acknowledgements.html">Acknowledgements &#8594;</a>
+  </div>
+
+  <h2 class="no-num" id="references">References</h2><p class="XXX annotation"><b>Status: </b><i>Implemented and widely deployed</i></p><!--REFS--><!--END vCard--><!--END vEvent--><p>All references are normative unless marked "Non-normative".</p><!--START vCard--><!--START vEvent--><!-- XXX really should remove dates and version numbers from these references once and for all --><dl><dt id="refsABNF">[ABNF]</dt>
+   <dd><cite><a href="http://www.ietf.org/rfc/std/std68.txt">Augmented
+   BNF for Syntax Specifications: ABNF</a></cite>, D. Crocker,
+   P. Overell. IETF, January 2008.</dd>
+
+   <dt id="refsABOUT">[ABOUT]</dt>
+   <dd><cite><a href="http://tools.ietf.org/html/draft-holsten-about-uri-scheme">The
+   'about' URI scheme</a></cite>, J. Holsten, L. Hunt. IETF, August
+   2009.</dd>
+
+   <dt id="refsARIA">[ARIA]</dt>
+   <dd><cite><a href="http://www.w3.org/WAI/PF/aria/">Accessible Rich
+   Internet Applications (WAI-ARIA)</a></cite>, J. Craig, M. Cooper, L. Pappas,
+   R. Schwerdtfeger, L. Seeman. W3C, August 2009.</dd>
+
+   <dt id="refsARIAIMPL">[ARIAIMPL]</dt>
+   <dd><cite><a href="http://www.w3.org/WAI/PF/aria-implementation/">WAI-ARIA 1.0
+   User Agent Implementation Guide</a></cite>, A. Snow-Weaver,
+   M. Cooper. W3C, August 2009.</dd>
+
+   <dt id="refsATAG">[ATAG]</dt>
+   <dd>(Non-normative) <cite><a href="http://www.w3.org/TR/ATAG20/">Authoring Tool Accessibility
+   Guidelines (ATAG) 2.0</a></cite>, J. Richards, J. Spellman,
+   J. Treviranus. W3C, May 2009.</dd>
+
+   <dt id="refsATOM">[ATOM]</dt>
+   <dd>(Non-normative) <cite><a href="http://www.ietf.org/rfc/rfc4287.txt">The Atom Syndication
+   Format</a></cite>, M. Nottingham, R. Sayre. IETF, December
+   2005.</dd>
+
+   <dt id="refsBCP47">[BCP47]</dt>
+   <dd><cite><a href="http://www.ietf.org/rfc/bcp/bcp47.txt">Tags for
+   Identifying Languages; Matching of Language Tags</a></cite>,
+   A. Phillips, M. Davis. IETF, September 2006.</dd>
+
+   <dt id="refsBECSS">[BECSS]</dt>
+   <dd><cite><a href="http://www.w3.org/TR/becss/">Behavioral
+   Extensions to CSS</a></cite>, I. Hickson. W3C, October 2007.</dd>
+
+   <dt id="refsBEZIER">[BEZIER]</dt>
+   <dd><cite>Courbes &#224; poles</cite>, P. de Casteljau. INPI, 1959.</dd>
+
+   <dt id="refsBIDI">[BIDI]</dt>
+   <dd><cite><a href="http://www.unicode.org/reports/tr9/">UAX #9: Unicode
+   Bidirectional Algorithm</a></cite>, M. Davis. Unicode Consortium,
+   March 2008.</dd>
+
+   <dt id="refsBOCU1">[BOCU1]</dt>
+   <dd>(Non-normative) <cite><a href="http://www.unicode.org/notes/tn6/">UTN #6: BOCU-1:
+   MIME-Compatible Unicode Compression</a></cite>, M. Scherer,
+   M. Davis. Unicode Consortium, February 2006.</dd>
+
+   <dt id="refsCESU8">[CESU8]</dt>
+   <dd>(Non-normative) <cite><a href="http://www.unicode.org/reports/tr26/">UTR #26: Compatibility
+   Encoding Scheme For UTF-16: 8-BIT (CESU-8)</a></cite>,
+   T. Phipps. Unicode Consortium, April 2002.</dd>
+
+   <dt id="refsCHARMOD">[CHARMOD]</dt>
+   <dd>(Non-normative) <cite><a href="http://www.w3.org/TR/charmod/">Character Model for the World
+   Wide Web 1.0: Fundamentals</a></cite>, M. D&#252;rst, F. Yergeau,
+   R. Ishida, M. Wolf, T. Texin. W3C, February 2005.</dd>
+
+   <dt id="refsCOMPUTABLE">[COMPUTABLE]</dt>
+   <dd>(Non-normative) <cite><a href="http://www.turingarchive.org/browse.php/B/12">On computable
+   numbers, with an application to the
+   Entscheidungsproblem</a></cite>, A. Turing. In <cite>Proceedings of
+   the London Mathematical Society</cite>, series 2, volume 42, pages
+   230-265. London Mathematical Society, 1937.  Retrieved on
+   2007-03-03.</dd>
+
+   <dt id="refsCOOKIES">[COOKIES]</dt>
+   <!--
+   <dd><cite><a href="http://www.ietf.org/rfc/rfc2109.txt">HTTP State
+   Management Mechanism</a></cite>, D. Kristol, L. Montulli. IETF,
+   February 1997.</dd>
+   <dd><cite><a href="http://www.ietf.org/rfc/rfc2965.txt">HTTP State Management
+   Mechanism</a></cite>, D. Kristol, L. Montulli. IETF, October 2000.</dd>
+   -->
+   <dd><cite><a href="http://tools.ietf.org/html/draft-abarth-cookie">HTTP State
+   Management Mechanism</a></cite>, A. Barth. IETF, August 2009.</dd>
+
+   <dt id="refsCORS">[CORS]</dt>
+   <!--
+   <dd><cite><a href="http://www.w3.org/TR/cors/">Cross-Origin
+   Resource Sharing</a></cite>, A. van Kesteren. W3C, March 2009.</dd>
+   -->
+   <dd><cite><a href="http://dev.w3.org/2006/waf/access-control/">Cross-Origin
+   Resource Sharing</a></cite>, A. van Kesteren.  W3C, June 2009.</dd>
+
+   <dt id="refsCSS">[CSS]</dt>
+   <dd><cite><a href="http://www.w3.org/TR/CSS/">Cascading Style Sheets Level 2
+   Revision 1</a></cite>, B. Bos, T. &#199;elik, I.
+   Hickson, H. Lie. W3C, April 2009.</dd>
+
+   <dt id="refsCSSATTR">[CSSATTR]</dt>
+   <dd><cite><a href="http://dev.w3.org/csswg/css-style-attr/">CSS
+   Style Attribute Syntax</a></cite>, E. Etemad. W3C, December
+   2009.</dd>
+
+   <dt id="refsCSSCOLOR">[CSSCOLOR]</dt>
+   <!--
+   <dd><cite><a href="http://www.w3.org/TR/css3-color/">CSS Color
+   Module Level 3</a></cite>, T. &Ccedil;elik, C. Lilley, L.
+   Baron. W3C, July 2008.</dd>
+   -->
+   <dd><cite><a href="http://dev.w3.org/csswg/css3-color/">CSS Color
+   Module Level 3</a></cite>, T. &#199;elik, C. Lilley, L.
+   Baron. W3C, August 2008.</dd>
+
+   <dt id="refsCSSFONTS">[CSSFONTS]</dt>
+   <dd><cite><a href="http://www.w3.org/TR/css3-fonts/">CSS Fonts
+   Module Level 3</a></cite>, J. Daggett. W3C, June 2009.</dd>
+
+   <dt id="refsCSSOM">[CSSOM]</dt>
+   <dd><cite><a href="http://dev.w3.org/csswg/cssom/">Cascading Style Sheets
+   Object Model (CSSOM)</a></cite>, A. van Kesteren. W3C, December 2007.</dd>
+
+   <dt id="refsCSSUI">[CSSUI]</dt>
+   <dd><cite><a href="http://www.w3.org/TR/css3-ui/">CSS3 Basic User
+   Interface Module</a></cite>, T. &#199;elik. W3C, May 2004.</dd>
+
+   <dt id="refsDOMCORE">[DOMCORE]</dt>
+   <dd><cite><a href="http://www.w3.org/TR/DOM-Level-3-Core/">Document
+   Object Model (DOM) Level 3 Core Specification</a></cite>, A. Le
+   Hors, P. Le Hegaret, L. Wood, G. Nicol, J. Robie, M. Champion,
+   S. Byrnes. W3C, April 2004.</dd>
+   <!--
+   <dd><cite><a href="http://simon.html5.org/specs/web-dom-core">Web
+   DOM Core</a></cite>, S. Pieters. W3C, June 2009.</dd>
+   -->
+
+   <dt id="refsDOMEVENTS">[DOMEVENTS]</dt>
+   <!--
+   <dd><cite><a
+   href="http://www.w3.org/TR/DOM-Level-3-Events/">Document Object
+   Model (DOM) Level 3 Events Specification</a></cite>,
+   B. H&ouml;hrmann, P. Le Hegaret, T. Pixley. W3C, December
+   2007.</dd>
+   -->
+   <dd><cite><a href="http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html">Document
+   Object Model (DOM) Level 3 Events Specification</a></cite>,
+   D. Schepers. W3C, July 2009.</dd>
+
+   <dt id="refsDOMRANGE">[DOMRANGE]</dt>
+   <dd><cite><a href="http://www.w3.org/TR/DOM-Level-2-Traversal-Range/">Document
+   Object Model (DOM) Level 2 Traversal and Range
+   Specification</a></cite>, J.  Kesselman, J. Robie, M. Champion,
+   P. Sharpe, V. Apparao, L.  Wood. W3C, November 2000.</dd>
+
+   <dt id="refsDOMVIEWS">[DOMVIEWS]</dt>
+   <dd><cite><a href="http://www.w3.org/TR/DOM-Level-2-Views/">Document Object
+   Model (DOM) Level 2 Views Specification</a></cite>, A. Le Hors, L.
+   Cable. W3C, November 2000.</dd>
+
+   <dt id="refsECMA262">[ECMA262]</dt>
+   <dd><cite><a href="http://www.ecma-international.org/publications/standards/Ecma-262.htm">ECMAScript
+   Language Specification</a></cite>. ECMA, December 1999.</dd>
+
+   <dt id="refsECMA357">[ECMA357]</dt>
+   <dd>(Non-normative) <cite><a href="http://www.ecma-international.org/publications/standards/Ecma-357.htm">ECMAScript
+   for XML (E4X) Specification</a></cite>. ECMA, December 2005.</dd>
+
+   <dt id="refsEUCKR">[EUCKR]</dt>
+   <dd><cite>Hangul Unix Environment</cite>. Korea Industrial
+   Standards Association, 1992. Ref. No. KS C 5861-1992.</dd>
+
+   <dt id="refsEVENTSOURCE">[EVENTSOURCE]</dt>
+   <!--
+   <dd><cite><a href="http://www.w3.org/TR/eventsource/">Server-Sent
+   Events</a></cite>, I. Hickson. W3C, April 2009.</dd>
+   -->
+   <dd><cite><a href="http://dev.w3.org/html5/eventsource/">Server-Sent
+   Events</a></cite>, I. Hickson. W3C, July 2009.</dd>
+
+   <dt id="refsFILEAPI">[FILEAPI]</dt>
+   <dd><cite><a href="http://dev.w3.org/2006/webapi/FileUpload/publish/FileAPI.html">File
+   API</a></cite>, A. Ranganathan. W3C, August 2009.</dd>
+
+   <dt id="refsGBK">[GBK]</dt>
+   <dd><cite>Chinese Internal Code Specification</cite>. Chinese IT
+   Standardization Technical Committee, December 1995.</dd>
+   <!-- http://www.iana.org/assignments/charset-reg/GBK -->
+
+   <dt id="refsGRAPHICS">[GRAPHICS]</dt>
+   <dd>(Non-normative) <cite>Computer Graphics: Principles and
+   Practice in C</cite>, Second Edition, J. Foley, A. van Dam,
+   S. Feiner, J. Hughes. Addison-Wesley, July 1995. ISBN
+   0-201-84840-6.</dd>
+   <!--
+   This book ("Computer Graphics: Principles and Practice in C")
+   apparently does not make any references to literature in the
+   bibliographic section to define the "even-odd" rule for polygon
+   filling and hit testing. In the absence of such a reference, I
+   guess that this book is the most authoritative reference.
+   -->
+
+   <dt id="refsGREGORIAN">[GREGORIAN]</dt>
+   <dd>(Non-normative) <cite>Inter Gravissimas</cite>, A. Lilius,
+   C. Clavius. Gregory XIII Papal Bulls, February 1582.</dd>
+
+   <dt id="refsHATOM">[HATOM]</dt>
+   <dd>(Non-normative) <cite><a href="http://microformats.org/wiki/hatom">hAtom</a></cite>, D
+   Janes. Microformats, November 2009.</dd>
+
+   <dt id="refsHTMLDIFF">[HTMLDIFF]</dt>
+   <!--
+   <dd>(Non-normative) <cite><a
+   href="http://www.w3.org/TR/html5-diff/">HTML5 differences from
+   HTML4</a></cite>, A. van Kesteren. W3C, April 2009.</dd>
+   -->
+   <dd>(Non-normative) <cite><a href="http://dev.w3.org/html5/html4-differences/">HTML5
+   differences from HTML4</a></cite>, A. van Kesteren.  W3C, August
+   2009.</dd>
+
+   <dt id="refsHTTP">[HTTP]</dt>
+   <dd><cite><a href="http://www.ietf.org/rfc/rfc2616.txt">Hypertext
+   Transfer Protocol &#8212; HTTP/1.1</a></cite>, R. Fielding, J. Gettys,
+   J. Mogul, H.  Frystyk, L. Masinter, P. Leach, T. Berners-Lee. IETF,
+   June 1999.</dd>
+
+   <dt id="refsIANACHARSET">[IANACHARSET]</dt>
+   <dd><cite><a href="http://www.iana.org/assignments/character-sets">Character
+   Sets</a></cite>. IANA, May 2007.</dd>
+
+   <dt id="refsIANAPERMHEADERS">[IANAPERMHEADERS]</dt>
+   <dd><cite><a href="http://www.iana.org/assignments/message-headers/perm-headers.html">Permanent
+   Message Header Field Names</a></cite>. IANA, October 2009.</dd>
+
+   <dt id="refsISO8601">[ISO8601]</dt>
+   <dd><cite><a href="http://isotc.iso.org/livelink/livelink/4021199/ISO_8601_2004_E.zip?func=doc.Fetch&amp;nodeid=4021199">ISO8601: Data elements and interchange formats &#8212; Information interchange &#8212; Representation of dates and times</a></cite>. ISO, December 2004.</dd>
+
+   <dt id="refsISO885911">[ISO885911]</dt>
+   <dd><cite><a href="http://anubis.dkuug.dk/jtc1/sc2/open/02n3333.pdf">ISO-8859-11:
+   Information technology &#8212; 8-bit single-byte coded graphic
+   character sets &#8212; Part 11: Latin/Thai
+   alphabet</a></cite>. ISO, October 1999.</dd>
+
+   <dt id="refsJSON">[JSON]</dt>
+   <dd><cite><a href="http://www.ietf.org/rfc/rfc4627.txt">The
+   application/json Media Type for JavaScript Object Notation
+   (JSON)</a></cite>, D. Crockford. IETF, July 2006.</dd>
+
+   <dt id="refsJSURL">[JSURL]</dt>
+   <dd><cite><a href="http://tools.ietf.org/html/draft-hoehrmann-javascript-scheme">The
+   'javascript' resource identifier scheme</a></cite>,
+   B. H&#246;hrmann. IETF, November 2006.</dd>
+
+   <dt id="refsMAILTO">[MAILTO]</dt>
+   <dd><cite><a href="http://www.ietf.org/rfc/rfc2368.txt">The mailto URL
+   scheme</a></cite>, P. Hoffman, L. Masinter, J. Zawinski.
+   IETF, July 1998.</dd>
+
+   <dt id="refsMATHML">[MATHML]</dt>
+   <dd><cite><a href="http://www.w3.org/TR/MathML/">Mathematical
+   Markup Language (MathML)</a></cite>, D. Carlisle, P. Ion, R. Miner,
+   N. Poppelier. W3C, October 2003.</dd>
+
+   <dt id="refsMIMESNIFF">[MIMESNIFF]</dt>
+   <dd><cite><a href="http://tools.ietf.org/html/draft-abarth-mime-sniff">Content-Type
+   Processing Model</a></cite>, A. Barth, I. Hickson. IETF,
+   May 2009.</dd>
+
+   <dt id="refsMQ">[MQ]</dt>
+   <!--
+   <dd><cite><a href="http://www.w3.org/TR/css3-mediaqueries/">Media
+   Queries</a></cite>, H. Lie, T.  &Ccedil;elik, D. Glazman, A. van
+   Kesteren. W3C, April 2009.</dd>
+   -->
+   <dd><cite><a href="http://dev.w3.org/csswg/css3-mediaqueries/">Media
+   Queries</a></cite>, H. Lie, T.  &#199;elik, D. Glazman, A. van
+   Kesteren. W3C, July 2009.</dd>
+
+   <dt id="refsNPAPI">[NPAPI]</dt>
+   <dd>(Non-normative) <cite><a href="https://developer.mozilla.org/en/Gecko_Plugin_API_Reference">Gecko
+   Plugin API Reference</a></cite>. Mozilla, November 2008.</dd>
+
+   <dt id="refsOPENSEARCH">[OPENSEARCH]</dt>
+   <dd><cite><a href="http://www.opensearch.org/Specifications/OpenSearch/1.1#Autodiscovery_in_HTML.2FXHTML">Autodiscovery
+   in HTML/XHTML</a></cite>. In <cite>OpenSearch 1.1 Draft 4</cite>,
+   Section 4.6.2. OpenSearch.org.</dd>
+
+   <dt id="refsORIGIN">[ORIGIN]</dt>
+   <dd><cite><a href="http://tools.ietf.org/html/draft-abarth-origin">The HTTP
+   Origin Header</a></cite>, A. Barth, C. Jackson, I. Hickson. IETF,
+   September 2009.</dd>
+
+   <dt id="refsPINGBACK">[PINGBACK]</dt>
+   <dd><cite><a href="http://www.hixie.ch/specs/pingback/pingback">Pingback
+   1.0</a></cite>, S. Langridge, I. Hickson. January 2007.</dd>
+
+   <dt id="refsPNG">[PNG]</dt>
+   <dd><cite><a href="http://www.w3.org/TR/PNG/">Portable Network
+   Graphics (PNG) Specification</a></cite>, D. Duce. W3C, November
+   2003.</dd>
+
+   <dt id="refsPORTERDUFF">[PORTERDUFF]</dt>
+   <dd><cite><a href="http://keithp.com/~keithp/porterduff/p253-porter.pdf">Compositing
+   Digital Images</a></cite>, T. Porter, T. Duff. In <cite>Computer
+   graphics</cite>, volume 18, number 3, pp. 253-259. ACM Press, July
+   1984.</dd>
+
+   <dt id="refsPPUTF8">[PPUTF8]</dt>
+   <dd>(Non-normative) <cite><a href="http://www.ifi.uzh.ch/mml/mduerst/papers/PDF/IUC11-UTF-8.pdf">The
+   Properties and Promises <!-- Promizes (sic) --> of
+   UTF-8</a></cite>, M. D&#252;rst. University of Z&#252;rich,
+   September 1997. In <cite>Proceedings of the 11th International
+   Unicode Conference</cite>.</dd>
+
+   <dt id="refsPROGRESS">[PROGRESS]</dt>
+   <!--
+   <dd><cite><a href="http://www.w3.org/TR/progress-events/">Progress
+   Events</a></cite>, C. McCathieNevile. W3C, May 2008.</dd>
+   -->
+   <dd><cite><a href="http://dev.w3.org/2006/webapi/progress/Progress.html">Progress
+   Events</a></cite>, C. McCathieNevile. W3C, March 2009.</dd>
+
+   <dt id="refsPSL">[PSL]</dt>
+   <dd><cite><a href="http://publicsuffix.org/">Public Suffix List</a></cite>.
+   Mozilla Foundation.</dd>
+
+   <dt id="refsRFC1034">[RFC1034]</dt>
+   <dd><cite><a href="http://www.ietf.org/rfc/rfc1034.txt">Domain
+   Names - Concepts and Facilities</a></cite>, P. Mockapetris. IETF,
+   November 1987.</dd>
+
+   <dt id="refsRFC1345">[RFC1345]</dt>
+   <dd><cite><a href="http://www.ietf.org/rfc/rfc1345.txt">Character Mnemonics
+   and Character Sets</a></cite>, K. Simonsen. IETF, June 1992.</dd>
+
+   <dt id="refsRFC1468">[RFC1468]</dt>
+   <dd><cite><a href="http://www.ietf.org/rfc/rfc1468.txt">Japanese Character
+   Encoding for Internet Messages</a></cite>, J. Murai, M. Crispin, E. van der
+   Poel. IETF, June 1993.</dd>
+
+   <dt id="refsRFC1494">[RFC1494]</dt>
+   <dd>(Non-normative) <cite><a href="http://www.ietf.org/rfc/rfc1494.txt">Equivalences between
+   1988 X.400 and RFC-822 Message Bodies</a></cite>, H. Alvestrand,
+   S. Thompson. IETF, August 1993.</dd>
+
+   <dt id="refsRFC1554">[RFC1554]</dt>
+   <dd><cite><a href="http://www.ietf.org/rfc/rfc1554.txt">ISO-2022-JP-2:
+   Multilingual Extension of ISO-2022-JP</a></cite>, M. Ohta, K. Handa. IETF,
+   December 1993.</dd>
+
+   <dt id="refsRFC1557">[RFC1557]</dt>
+   <dd><cite><a href="http://www.ietf.org/rfc/rfc1557.txt">Korean Character
+   Encoding for Internet Messages</a></cite>, U. Choi, K. Chon, H. Park. IETF,
+   December 1993.</dd>
+
+   <dt id="refsRFC1842">[RFC1842]</dt>
+
+   <dd><cite><a href="http://www.ietf.org/rfc/rfc1842.txt">ASCII
+   Printable Characters-Based Chinese Character Encoding for Internet
+   Messages</a></cite>, Y. Wei, Y. Zhang, J. Li, J. Ding, Y. Jiang.
+   IETF, August 1995.</dd>
+
+   <dt id="refsRFC1922">[RFC1922]</dt>
+   <dd><cite><a href="http://www.ietf.org/rfc/rfc1922.txt">Chinese Character
+   Encoding for Internet Messages</a></cite>, HF. Zhu, DY. Hu, ZG. Wang, TC. Kao,
+   WCH. Chang, M. Crispin. IETF, March 1996.</dd>
+
+   <dt id="refsRFC2045">[RFC2045]</dt>
+   <dd><cite><a href="http://www.ietf.org/rfc/rfc2045.txt">Multipurpose Internet
+   Mail Extensions (MIME) Part One: Format of Internet Message Bodies</a></cite>,
+   N. Freed, N. Borenstein. IETF, November 1996.</dd>
+
+   <dt id="refsRFC2046">[RFC2046]</dt>
+   <dd><cite><a href="http://www.ietf.org/rfc/rfc2046.txt">Multipurpose Internet
+   Mail Extensions (MIME) Part Two: Media Types</a></cite>, N. Freed,
+   N.  Borenstein. IETF, November 1996.</dd> <!-- for text/plain and
+   "Internet Media type"; not for definition of "valid MIME type". -->
+
+   <dt id="refsRFC2119">[RFC2119]</dt>
+   <dd><cite><a href="http://www.ietf.org/rfc/rfc2119.txt">Key words for use in
+   RFCs to Indicate Requirement Levels</a></cite>, S. Bradner. IETF, March
+   1997.</dd>
+
+   <dt id="refsRFC2237">[RFC2237]</dt>
+   <dd><cite><a href="http://www.ietf.org/rfc/rfc2237.txt">Japanese Character
+   Encoding for Internet Messages</a></cite>, K. Tamaru. IETF, November
+   1997.</dd>
+
+   <dt id="refsRFC2313">[RFC2313]</dt>
+   <dd><cite><a href="http://www.ietf.org/rfc/rfc2313.txt">PKCS #1:
+   RSA Encryption</a></cite>, B. Kaliski. IETF, March 1998.</dd>
+
+   <dt id="refsRFC2318">[RFC2318]</dt>
+   <dd><cite><a href="http://www.ietf.org/rfc/rfc2318.txt">The
+   text/css Media Type</a></cite>, H. Lie, B. Bos, C. Lilley. IETF,
+   March 1998.</dd>
+
+   <dt id="refsRFC2388">[RFC2388]</dt>
+   <dd><cite><a href="http://www.ietf.org/rfc/rfc2388.txt">Returning Values from
+   Forms: multipart/form-data</a></cite>, L. Masinter. IETF, August 1998.</dd>
+
+   <dt id="refsRFC2483">[RFC2483]</dt>
+   <dd><cite><a href="http://www.ietf.org/rfc/rfc2483.txt">URI Resolution
+   Services Necessary for URN Resolution</a></cite>, M. Mealling, R. Daniel.
+   IETF, January 1999.</dd>
+
+   <dt id="refsRFC2781">[RFC2781]</dt>
+   <dd><cite><a href="http://www.ietf.org/rfc/rfc2781.txt">UTF-16, an
+   encoding of ISO 10646</a></cite>, P. Hoffman, F. Yergeau. IETF,
+   February 2000.</dd>
+
+   <dt id="refsRFC2646">[RFC2646]</dt>
+   <dd><cite><a href="http://www.ietf.org/rfc/rfc2646.txt">The Text/Plain Format
+   Parameter</a></cite>, R. Gellens. IETF, August 1999.</dd>
+
+   <dt id="refsRFC2806">[RFC2806]</dt>
+   <dd>(Non-normative) <cite><a href="http://www.ietf.org/rfc/rfc2806.txt">URLs for Telephone
+   Calls</a></cite>, A. Vaha-Sipila. IETF, April 2000.</dd>
+
+   <dt id="refsRFC3023">[RFC3023]</dt>
+   <dd><cite><a href="http://www.ietf.org/rfc/rfc3023.txt">XML Media
+   Types</a></cite>, M. Murata, S. St. Laurent, D. Kohn. IETF, January 2001.</dd>
+
+   <dt id="refsRFC3279">[RFC3279]</dt>
+   <dd><cite><a href="http://www.ietf.org/rfc/rfc3279.txt">Algorithms
+   and Identifiers for the Internet X.509 Public Key Infrastructure
+   Certificate and Certificate Revocation List (CRL)
+   Profile</a></cite>, W. Polk, R. Housley, L. Bassham. IETF, April
+   2002.</dd>
+
+   <dt id="refsRFC3490">[RFC3490]</dt>
+   <dd><cite><a href="http://www.ietf.org/rfc/rfc3490.txt">Internationalizing
+   Domain Names in Applications (IDNA)</a></cite>, P. Faltstrom, P. Hoffman, A.
+   Costello. IETF, March 2003.</dd>
+
+   <dt id="refsRFC3548">[RFC3548]</dt>
+   <dd><cite><a href="http://www.ietf.org/rfc/rfc3548.txt">The Base16, Base32,
+   and Base64 Data Encodings</a></cite>, S. Josefsson. IETF, July
+   2003.</dd>
+
+   <dt id="refsRFC3864">[RFC3864]</dt>
+   <dd><cite><a href="http://www.ietf.org/rfc/rfc3864.txt">Registration Procedures
+   for Message Header Fields</a></cite>, G. Klyne, M. Nottingham,
+   J. Mogul. IETF, September 2004.</dd>
+
+   <dt id="refsRFC3986">[RFC3986]</dt>
+   <dd><cite><a href="http://www.ietf.org/rfc/rfc3986.txt">Uniform Resource
+   Identifier (URI): Generic Syntax</a></cite>, T. Berners-Lee, R. Fielding, L.
+   Masinter. IETF, January 2005.</dd>
+
+   <dt id="refsRFC3987">[RFC3987]</dt>
+   <dd><cite><a href="http://www.ietf.org/rfc/rfc3987.txt">Internationalized
+   Resource Identifiers (IRIs)</a></cite>, M. D&#252;rst, M. Suignard. IETF, January
+   2005.</dd>
+
+   <dt id="refsRFC4281">[RFC4281]</dt>
+   <dd><cite><a href="http://www.ietf.org/rfc/rfc4281.txt">The Codecs Parameter
+   for "Bucket" Media Types</a></cite>, R. Gellens, D. Singer, P. Frojdh. IETF,
+   November 2005.</dd>
+
+   <dt id="refsRFC4329">[RFC4329]</dt>
+   <dd>(Non-normative) <cite><a href="http://www.ietf.org/rfc/rfc4329.txt">Scripting Media
+   Types</a></cite>, B. H&#246;hrmann. IETF, April 2006.</dd>
+
+   <dt id="refsRFC5280">[RFC5280]</dt>
+   <dd><cite><a href="http://www.ietf.org/rfc/rfc5280.txt">Internet
+   X.509 Public Key Infrastructure Certificate and Certificate
+   Revocation List (CRL) Profile</a></cite>, D. Cooper, S. Santesson,
+   S. Farrell, S. Boeyen, R. Housley, W. Polk. IETF, May 2008.</dd>
+
+   <dt id="refsRFC5322">[RFC5322]</dt>
+   <dd><cite><a href="http://www.ietf.org/rfc/rfc5322.txt">Internet Message
+   Format</a></cite>, P. Resnick. IETF, October 2008.</dd>
+
+   <dt id="refsSCSU">[SCSU]</dt>
+   <dd>(Non-normative) <cite><a href="http://www.unicode.org/reports/tr6/">UTR #6: A Standard
+   Compression Scheme For Unicode</a></cite>, M. Wolf, K. Whistler,
+   C. Wicksteed, M. Davis, A. Freytag, M. Scherer. Unicode Consortium,
+   May 2005.</dd>
+
+   <dt id="refsSELECTORS">[SELECTORS]</dt>
+   <dd><cite><a href="http://www.w3.org/TR/css3-selectors">Selectors</a></cite>,
+   T. &#199;elik, E. Etemad, D.  Glazman, I. Hickson, P. Linss,
+   J. Williams. W3C, March 2009.</dd>
+
+   <dt id="refsSHIFTJIS">[SHIFTJIS]</dt>
+   <dd><cite>JIS X0208: 7-bit and 8-bit double byte coded KANJI sets
+   for information interchange</cite>. Japanese Standards Association,
+   1997.</dd>
+
+   <dt id="refsSRGB">[SRGB]</dt>
+   <dd><cite><a href="http://webstore.iec.ch/webstore/webstore.nsf/artnum/025408!OpenDocument&amp;Click=">IEC
+   61966-2-1: Multimedia systems and equipment &#8212; Colour measurement
+   and management &#8212; Part 2-1: Colour management &#8212; Default RGB colour
+   space &#8212; sRGB</a></cite>. IEC, October 1999.</dd>
+
+   <dt id="refsSVG">[SVG]</dt>
+   <dd><cite><a href="http://www.w3.org/TR/SVGTiny12/">Scalable Vector
+   Graphics (SVG) Tiny 1.2 Specification</a></cite>, O. Andersson,
+   R. Berjon, E. Dahlstr&#246;m, A. Emmons, J. Ferraiolo, A. Grasso,
+   V. Hardy, S. Hayman, D. Jackson, C. Lilley, C. McCormack,
+   A. Neumann, C. Northway, A. Quint, N. Ramani, D. Schepers,
+   A. Shellshear. W3C, December 2008.</dd>
+
+   <dt id="refsTIS620">[TIS620]</dt>
+   <dd><cite><a href="http://www.nectec.or.th/it-standards/std620/std620.htm">UDC
+   681.3.04:003.62</a></cite>. Thai Industrial Standards Institute,
+   Ministry of Industry, Royal Thai Government, 1990. ISBN
+   974-606-153-4.</dd>
+
+   <dt id="refsUAAG">[UAAG]</dt>
+   <dd>(Non-normative) <cite><a href="http://www.w3.org/TR/UAAG20/">Web Content Accessibility
+   Guidelines (UAAG) 2.0</a></cite>, J. Allan, K. Ford, J. Richards,
+   J. Spellman. W3C, July 2009.</dd>
+
+   <dt id="refsUNICODE">[UNICODE]</dt>
+   <dd><cite><a href="http://www.unicode.org/versions/">The Unicode Standard</a></cite>. Unicode Consortium, 2007.</dd>
+
+   <dt id="refsUNIVCHARDET">[UNIVCHARDET]</dt>
+   <dd>(Non-normative) <cite><a href="http://www.mozilla.org/projects/intl/UniversalCharsetDetection.html">A
+   composite approach to language/encoding
+   detection</a></cite>, S. Li, K. Momoi. Netscape, September 2001. In
+   <cite>Proceedings of the 19th International Unicode
+   Conference</cite>.</dd>
+
+   <dt id="refsUTF7">[UTF7]</dt>
+   <dd><cite><a href="http://www.ietf.org/rfc/rfc2152.txt">UTF-7: A
+   Mail-Safe Transformation Format of Unicode</a></cite>,
+   D. Goldsmith, M. Davis. IETF, May 1997.</dd>
+
+   <dt id="refsUTF8DET">[UTF8DET]</dt>
+   <dd>(Non-normative) <cite><a href="http://www.w3.org/International/questions/qa-forms-utf-8">Multilingual
+   form encoding</a></cite>, M. D&#252;rst. W3C, October 2007.</dd>
+
+   <dt id="refsUTR36">[UTR36]</dt>
+   <dd>(Non-normative) <cite><a href="http://www.unicode.org/reports/tr36/">UTR #36: Unicode
+   Security Considerations</a></cite>, M. Davis, M. Suignard. Unicode
+   Consortium, July 2008.</dd>
+
+   <dt id="refsWCAG">[WCAG]</dt>
+   <dd>(Non-normative) <cite><a href="http://www.w3.org/TR/WCAG20/">Web Content Accessibility
+   Guidelines (WCAG) 2.0</a></cite>, B. Caldwell, M. Cooper, L. Reid,
+   G. Vanderheiden. W3C, December 2008.</dd>
+
+   <dt id="refsWEBADDRESSES">[WEBADDRESSES]</dt>
+   <dd><cite><a href="http://www.w3.org/html/wg/href/draft">Web
+   addresses in HTML5</a></cite>, D. Connolly,
+   C. Sperberg-McQueen. March 2009.</dd>
+
+   <dt id="refsWEBIDL">[WEBIDL]</dt>
+   <!--
+   <dd><cite><a href="http://www.w3.org/TR/WebIDL/">Web
+   IDL</a></cite>, C. McCormack. W3C, December 2008.</dd>
+   -->
+   <dd><cite><a href="http://dev.w3.org/2006/webapi/WebIDL/">Web
+   IDL</a></cite>, C. McCormack. W3C, July 2009.</dd>
+
+   <dt id="refsWEBLINK">[WEBLINK]</dt>
+   <dd><cite><a href="http://tools.ietf.org/html/draft-nottingham-http-link-header">Web
+   Linking</a></cite>, M. Nottingham. IETF, July 2009.</dd>
+
+   <dt id="refsWEBSOCKET">[WEBSOCKET]</dt>
+   <!--
+   <dd><cite><a href="http://www.w3.org/TR/websockets/">The Web Sockets
+   API</a></cite>, I. Hickson. W3C, April
+   2009.</dd>
+   -->
+   <dd><cite><a href="http://dev.w3.org/html5/websockets/">The Web Sockets
+   API</a></cite>, I. Hickson. W3C, August
+   2009.</dd>
+
+   <dt id="refsWHATWGWIKI">[WHATWGWIKI]</dt>
+   <dd><cite><a href="http://wiki.whatwg.org/">The WHATWG Wiki</a></cite>. WHATWG.</dd>
+
+   <dt id="refsWEBWORKERS">[WEBWORKERS]</dt>
+   <!--
+   <dd><cite><a
+   href="http://www.w3.org/TR/webworkers/">Workers</a></cite>,
+   I. Hickson. W3C, April 2009.</dd>
+   -->
+   <dd><cite><a href="http://dev.w3.org/html5/workers/">Web
+   Workers</a></cite>, I. Hickson. W3C, September 2009.</dd>
+
+   <dt id="refsWIN1252">[WIN1252]</dt>
+   <dd><cite><a href="http://www.microsoft.com/globaldev/reference/sbcs/1252.htm">Windows 1252</a></cite>. Microsoft.</dd>
+
+   <dt id="refsWIN1254">[WIN1254]</dt>
+   <dd><cite><a href="http://www.microsoft.com/globaldev/reference/sbcs/1254.htm">Windows 1254</a></cite>. Microsoft.</dd>
+
+   <dt id="refsWIN31J">[WIN31J]</dt>
+   <dd><cite><a href="http://www.microsoft.com/globaldev/reference/dbcs/932.mspx">Windows Codepage 932</a></cite>. Microsoft.</dd>
+
+   <dt id="refsWIN874">[WIN874]</dt>
+   <dd><cite><a href="http://www.microsoft.com/globaldev/reference/sbcs/874.mspx">Windows 874</a></cite>. Microsoft.</dd>
+
+   <dt id="refsWIN949">[WIN949]</dt>
+   <dd><cite><a href="http://www.microsoft.com/globaldev/reference/dbcs/949.mspx">Windows Codepage 949</a></cite>. Microsoft.</dd>
+
+   <dt id="refsX690">[X690]</dt>
+   <dd><cite><a href="http://www.itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf">Recommendation
+   X.690 &#8212; Information Technology &#8212; ASN.1 Encoding Rules &#8212;
+   Specification of Basic Encoding Rules (BER), Canonical Encoding
+   Rules (CER), and Distinguished Encoding Rules
+   (DER)</a></cite>. International Telecommunication Union, July
+   2002.</dd>
+
+   <dt id="refsXHR">[XHR]</dt>
+   <!--
+   <dd><cite><a href="http://www.w3.org/TR/XMLHttpRequest/">The XMLHttpRequest
+   Object</a></cite>, A. van Kesteren. W3C, April
+   2008.</dd>
+   -->
+   <dd><cite><a href="http://dev.w3.org/2006/webapi/XMLHttpRequest-2/"><code>XMLHttpRequest</code></a></cite>,
+   A. van Kesteren. W3C, June 2009.</dd>
+
+   <dt id="refsXML">[XML]</dt>
+   <dd><cite><a href="http://www.w3.org/TR/xml/">Extensible Markup
+   Language</a></cite>, T. Bray, J. Paoli, C. Sperberg-McQueen,
+   E. Maler, F. Yergeau. W3C, November 2008.</dd>
+
+   <dt id="refsXMLBASE">[XMLBASE]</dt>
+   <dd><cite><a href="http://www.w3.org/TR/xmlbase/">XML
+   Base</a></cite>, J. Marsh, R. Tobin. W3C, January 2009.</dd>
+
+   <dt id="refsXMLNS">[XMLNS]</dt>
+   <dd><cite><a href="http://www.w3.org/TR/xml-names/">Namespaces in
+   XML</a></cite>, T. Bray, D. Hollander, A. Layman, R. Tobin. W3C,
+   August 2006.</dd>
+
+   <dt id="refsXPATH10">[XPATH10]</dt>
+   <dd><cite><a href="http://www.w3.org/TR/1999/REC-xpath-19991116">XML Path
+   Language (XPath) Version 1.0</a></cite>, J. Clark, S. DeRose. W3C,
+   November 1999.</dd>
+
+   <dt id="refsXSLT10">[XSLT10]</dt>
+   <dd><cite><a href="http://www.w3.org/TR/1999/REC-xslt-19991116">XSL
+   Transformations (XSLT) Version 1.0</a></cite>, J. Clark. W3C,
+   November 1999.</dd>
+
+  </dl><!--END vCard--><!--END vEvent--></body></html>
\ No newline at end of file

Index: index.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/index.html,v
retrieving revision 1.556
retrieving revision 1.557
diff -u -d -r1.556 -r1.557
--- index.html	6 Jan 2010 15:38:53 -0000	1.556
+++ index.html	6 Jan 2010 15:49:34 -0000	1.557
@@ -62,4 +62,2726 @@
    a .diff-new { border-bottom: 1px blue solid; }
 
    h2 { page-break-before: always; }
-   h1, h2, h3, h4, h5, h6 { page-break-after: avo
\ No newline at end of file
+   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; }
[...2698 lines suppressed...]
+    </td></tr><tr><td> <code title="event-show">show</code>
+     </td><td> <code>Event</code>
+     </td><td> Fired at a <code><a href="interactive-elements.html#menus">menu</a></code> element when it is shown as a context menu
+
+    </td></tr><tr><td> <code title="event-submit">submit</code>
+     </td><td> <code>Event</code>
+     </td><td> Fired at a <code><a href="forms.html#the-form-element">form</a></code> element when it is <a href="#concept-form-submit" title="concept-form-submit">submitted</a>
+
+    </td></tr><tr><td> <code title="event-undo"><a href="#event-undo">undo</a></code>
+     </td><td> <code><a href="dnd.html#undomanagerevent">UndoManagerEvent</a></code>
+     </td><td> Fired at the <code><a href="browsers.html#window">Window</a></code> object when the user <a href="#undo:-moving-back-in-the-undo-transaction-history" title="do-undo">goes backward in the undo transaction history</a>
+
+    </td></tr><tr><td> <code title="event-unload">unload</code>
+     </td><td> <code>Event</code>
+     </td><td> Fired at the <code><a href="browsers.html#window">Window</a></code> object when the page is going away
+
+  </td></tr></tbody></table><p class="note">See also <a href="video.html#mediaevents">media element
+  events</a>, <a href="offline.html#appcacheevents">application cache events</a>,
+  and <a href="dnd.html#dndevents">drag-and-drop events</a>.</p><!--START vCard--><!--START vEvent--></body></html>
\ No newline at end of file

Index: dnd.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/dnd.html,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- dnd.html	6 Jan 2010 15:38:52 -0000	1.10
+++ dnd.html	6 Jan 2010 15:49:33 -0000	1.11
@@ -213,4 +213,759 @@
    .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-examp
\ No newline at end of file
+   .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="data:text/css," id="complete" rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" id="author" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" id="highlight" rel="alternate stylesheet" title="Highlight implementation requirements"><script>
+   function getCookie(name) {
+     var params = location.search.substr(1).split("&");
+     for (var index = 0; index < params.length; index++) {
+       if (params[index] == name)
+         return "1";
+       var data = params[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     var cookies = document.cookie.split("; ");
+     for (var index = 0; index < cookies.length; index++) {
+       var data = cookies[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     return null;
+   }
+   function load(script) {
+     var e = document.createElement('script');
+     e.setAttribute('src', 'http://www.whatwg.org/specs/web-apps/current-work/' + script + '?' + encodeURIComponent(location) + '&' + encodeURIComponent(document.referrer));
+     document.body.appendChild(e);
+   }
+   function init() {
+     if (location.search == '?slow-browser')
+       return;
+     var configUI = document.createElement('div');
+     configUI.id = 'configUI';
+     document.body.appendChild(configUI);
+     // load('reviewer.js'); // would need cross-site XHR
+     if (document.getElementById('head'))
+       load('toc.js');
+     
+     // load('updater.js'); // would need cross-site XHR
+     load('dfn.js');
+     // load('status.js'); // would need cross-site XHR
+     if (getCookie('profile') == '1')
+       document.getElementsByTagName('h2')[0].textContent += '; load: ' + (new Date() - loadTimer) + 'ms';
+     fixBrokenLink();
+   }
+  </script><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><link href="editing.html" title="7 User Interaction" rel="prev">
+  <link href="Overview.html#contents" title="Table of contents" rel="index">
+  <link href="comms.html" title="8 Communication" rel="next">
+  </head><body onload="fixBrokenLink(); init()"><div class="head" id="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 (Author Edition)</h1>
+   </div><div>
+   <a href="editing.html">&#8592; 7 User Interaction</a> &#8211;
+   <a href="Overview.html#contents">Table of contents</a> &#8211;
+   <a href="comms.html">8 Communication &#8594;</a>
+  <ol class="toc"><li><ol><li><a href="dnd.html#dnd"><span class="secno">7.9 </span>Drag and drop</a>
+    <ol><li><a href="dnd.html#introduction-4"><span class="secno">7.9.1 </span>Introduction</a></li><li><a href="dnd.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="dnd.html#dndevents"><span class="secno">7.9.3 </span>Events fired during a drag-and-drop action</a></li><li><a href="dnd.html#the-draggable-attribute"><span class="secno">7.9.4 </span>The <code>draggable</code> attribute</a></li><li><a href="dnd.html#copy-and-paste"><span class="secno">7.9.5 </span>Copy and paste</a></li></ol></li><li><a href="dnd.html#undo"><span class="secno">7.10 </span>Undo history</a>
+    <ol><li><a href="dnd.html#the-undomanager-interface"><span class="secno">7.10.1 </span>The <code>UndoManager</code> interface</a></li><li><a href="dnd.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="dnd.html#editing-apis"><span class="secno">7.11 </span>Editing APIs</a></li></ol></li></ol></div>
+
+  <h3 id="dnd"><span class="secno">7.9 </span><dfn>Drag and drop</dfn></h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><!-- v2 ideas for drag and drop:
+
+     * being able to animate a drop target:
+
+       > To implement this with simple interface I've proposed, events
+       > should be handled either by existing elements (like list
+       > items that compare their size and position of dragged element
+       > to decide whether element should be dropped before or after)
+       > or handled by container that would probably need to calculate
+       > positions of it's children and create new element to show
+       > drop target. Smooth Mac-like drag'n'drop can be implemented
+       > by animating drop target's padding/margin. So that's quite a
+       > bit of code that's going to be reinvented each time someone
+       > implements reordering.
+
+       <hyatt> :droptarget
+       <hyatt> or something
+       <hyatt> we don't support a pseudo-class for the drop target but that's a great idea
+       <Hixie_> yeah, thinking about that too
+       <Hixie_> :drop-target, :drop-target(above), :drop-target(below) and having ondragover be able to say "not on me, but next to me maybe"
+
+     * We should let drop targets communicate back to drag sources if
+       they want to communicate. (e.g. expose Window, and thus
+       postMessage(), on the dataTransfer object on drop.)
+
+       We should let drag sources provide a set of options via a
+       context menu when the drop happens. (So that, e.g., the source
+       can know whether a capabilities URI that it is passing along is
+       supposed to be read-write access or read-only access to the
+       object being dragged.)
+
+       We should let potential drop targets see the types (but not the
+       contents!) of dragged data so they can establish if they care
+       or not. (dataTransfer.hasType())
+
+       Ack: Ben Laurie (@g)
+
+--><p>This section defines an event-based drag-and-drop mechanism.</p><p>This specification does not define exactly what a
+  <em>drag-and-drop operation</em> actually is.</p><p>On a visual medium with a pointing device, a drag operation could
+  be the default action of a <code title="event-mousedown">mousedown</code> event that is followed by a
+  series of <code title="event-mousemove">mousemove</code> events, and
+  the drop could be triggered by the mouse being released.</p><p>On media without a pointing device, the user would probably have
+  to explicitly indicate his intention to perform a drag-and-drop
+  operation, stating what he wishes to drag and what he wishes to
+  drop, respectively.</p><h4 id="introduction-4"><span class="secno">7.9.1 </span>Introduction</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p><i>This section is non-normative.</i></p><p>To make an element draggable is simple: give the element a <code title="attr-draggable"><a href="#the-draggable-attribute">draggable</a></code> attribute, and set an event
+  listener for <code title="event-dragstart"><a href="#event-dragstart">dragstart</a></code> that
+  stores the data being dragged.</p><p>The event handler typically needs to check that it's not a text
+  selection that is being dragged, and then needs to store data into
+  the <code><a href="#datatransfer">DataTransfer</a></code> object and set the allowed effects
+  (copy, move, link, or some combination).</p><p>For example:</p><pre>&lt;p&gt;What fruits do you like?&lt;/p&gt;
+&lt;ol ondragstart="dragStartHandler(event)"&gt;
+ &lt;li draggable data-value="fruit-apple"&gt;Apples&lt;/li&gt;
+ &lt;li draggable data-value="fruit-orange"&gt;Oranges&lt;/li&gt;
+ &lt;li draggable data-value="fruit-pear"&gt;Pears&lt;/li&gt;
+&lt;/ol&gt;
+&lt;script&gt;
+  var internalDNDType = 'text/x-example'; // set this to something specific to your site
+  function dragStartHandler(event) {
+    if (event.target instanceof HTMLLIElement) {
+      // use the element's data-value="" attribute as the value to be moving:
+      event.dataTransfer.setData(internalDNDType, event.target.dataset.value);
+      event.effectAllowed = 'move'; // only allow moves
+    } else {
+      event.preventDefault(); // don't allow selection to be dragged
+    }
+  }
+&lt;/script&gt;</pre><hr><p>To accept a drop, the drop target has to listen to at least three
+  events. First, the <code title="event-dragenter"><a href="#event-dragenter">dragenter</a></code>
+  event, which is used to determine whether or not the drop target is
+  to accept the drop. If the drop is to be accepted, then this event
+  has to be canceled. Second, the <code title="event-dragover"><a href="#event-dragover">dragover</a></code> event, which is used to
+  determine what feedback is to be shown to the user. If the event is
+  canceled, then the feedback (typically the cursor) is updated based
+  on the <code title="dom-DataTransfer-DropEffect"><a href="#dom-datatransfer-dropeffect">dropEffect</a></code>
+  attribute's value, as set by the event handler; otherwise, the
+  default behavior (typically to do nothing) is used instead. Finally,
+  the <code title="event-drop"><a href="#event-drop">drop</a></code> event, which allows the
+  actual drop to be performed. This event also needs to be canceled,
+  so that the <code title="dom-DataTransfer-DropEffect"><a href="#dom-datatransfer-dropeffect">dropEffect</a></code> attribute's
+  value can be used by the source (otherwise it's reset).</p><p>For example:</p><pre>&lt;p&gt;Drop your favourite fruits below:&lt;/p&gt;
+&lt;ol class="dropzone"
+    ondragenter="dragEnterHandler(event)"
+    ondragover="dragOverHandler(event)"
+    ondrop="dropHandler(event)"&gt;
+&lt;/ol&gt;
+&lt;script&gt;
+  var internalDNDType = 'text/x-example'; // set this to something specific to your site
+  function dragEnterHandler(event) {
+    // cancel the event if the drag contains data of our type
+    if (event.dataTransfer.types.contains(internalDNDType))
+      event.preventDefault();
+  }
+  function dragOverHandler(event) {
+    event.dataTransfer.dropEffect = 'move';
+    event.preventDefault();
+  }
+  function dropHandler(event) {
+    // drop the data
+    var li = document.createElement('li');
+    var data = event.dataTransfer.getData(internalDNDType);
+    if (data == 'fruit-apple') {
+      li.textContent = 'Apples';
+    } else if (data == 'fruit-orange') {
+      li.textContent = 'Oranges';
+    } else if (data == 'fruit-pear') {
+      li.textContent = 'Pears';
+    } else {
+      li.textContent = 'Unknown Fruit';
+    }
+    event.target.appendChild(li);
+  }
+&lt;/script&gt;</pre><hr><p>To remove the original element (the one that was dragged) from
+  the display, the <code title="event-dragend"><a href="#event-dragend">dragend</a></code> event
+  can be used.</p><p>For our example here, that means updating the original markup to
+  handle that event:</p><pre>&lt;p&gt;What fruits do you like?&lt;/p&gt;
+&lt;ol ondragstart="dragStartHandler(event)" ondragend="dragEndHandler(event)"&gt;
+ <em>...as before...</em>
+&lt;/ol&gt;
+&lt;script&gt;
+  function dragStartHandler(event) {
+    // <em>...as before...</em>
+  }
+  function dragEndHandler(event) {
+    // remove the dragged element
+    event.target.parentNode.removeChild(event.target);
+  }
+&lt;/script&gt;</pre><h4 id="the-dragevent-and-datatransfer-interfaces"><span class="secno">7.9.2 </span>The <code><a href="#dragevent">DragEvent</a></code> and <code><a href="#datatransfer">DataTransfer</a></code> interfaces</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The drag-and-drop processing model involves several events. They
+  all use the <code><a href="#dragevent">DragEvent</a></code> interface.</p><pre class="idl">interface <dfn id="dragevent">DragEvent</dfn> : <span>MouseEvent</span> {
+  readonly attribute <a href="#datatransfer">DataTransfer</a> <a href="#dom-dragevent-datatransfer" title="dom-DragEvent-dataTransfer">dataTransfer</a>;
+
+  void <a href="#dom-dragevent-initdragevent" title="dom-DragEvent-initDragEvent">initDragEvent</a>(in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in <span>AbstractView</span> viewArg, in long detailArg, in long screenXArg, in long screenYArg, in long clientXArg, in long clientYArg, in boolean ctrlKeyArg, in boolean altKeyArg, in boolean shiftKeyArg, in boolean metaKeyArg, in unsigned short buttonArg, in EventTarget relatedTargetArg, in <a href="#datatransfer">DataTransfer</a> dataTransferArg);
+};</pre><dl class="domintro"><dt><var title="">event</var> . <code title="dom-DragEvent-dataTransfer"><a href="#dom-dragevent-datatransfer">dataTransfer</a></code></dt>
+
+   <dd>
+
+    <p>Returns the <code><a href="#datatransfer">DataTransfer</a></code> object for the event.</p>
+
+   </dd>
+
+  </dl><pre class="idl">interface <dfn id="datatransfer">DataTransfer</dfn> {
+           attribute DOMString <a href="#dom-datatransfer-dropeffect" title="dom-DataTransfer-dropEffect">dropEffect</a>;
+           attribute DOMString <a href="#dom-datatransfer-effectallowed" title="dom-DataTransfer-effectAllowed">effectAllowed</a>;
+
+  readonly attribute DOMStringList <a href="#dom-datatransfer-types" title="dom-DataTransfer-types">types</a>;
+  void <a href="#dom-datatransfer-cleardata" title="dom-DataTransfer-clearData">clearData</a>(in optional DOMString format);
+  void <a href="#dom-datatransfer-setdata" title="dom-DataTransfer-setData">setData</a>(in DOMString format, in DOMString data);
+  DOMString <a href="#dom-datatransfer-getdata" title="dom-DataTransfer-getData">getData</a>(in DOMString format);
+  readonly attribute <span>FileList</span> <a href="#dom-datatransfer-files" title="dom-DataTransfer-files">files</a>;
+
+  void <a href="#dom-datatransfer-setdragimage" title="dom-DataTransfer-setDragImage">setDragImage</a>(in Element image, in long x, in long y);
+  void <a href="#dom-datatransfer-addelement" title="dom-DataTransfer-addElement">addElement</a>(in Element element);
+};</pre><p><code><a href="#datatransfer">DataTransfer</a></code> objects can hold pieces of data, each
+  associated with a unique format. Formats are generally given by
+  <a href="infrastructure.html#mime-type" title="MIME type">MIME types</a>, with some values
+  special-cased for legacy reasons. For the purposes of this API,
+  however, the format strings are opaque, <a href="infrastructure.html#case-sensitive">case-sensitive</a>,
+  strings, and the empty string is a valid format string.</p><dl class="domintro"><dt><var title="">dataTransfer</var> . <code title="dom-DataTransfer-dropEffect"><a href="#dom-datatransfer-dropeffect">dropEffect</a></code> [ = <var title="">value</var> ]</dt>
+
+   <dd>
+
+    <p>Returns the kind of operation that is currently selected. If
+    the kind of operation isn't one of those that is allowed by the
+    <code title="dom-DataTransfer-effectAllowed"><a href="#dom-datatransfer-effectallowed">effectAllowed</a></code>
+    attribute, then the operation will fail.</p>
+
+    <p>Can be set, to change the selected operation.</p>
+
+    <p>The possible values are <code title="">none</code>, <code title="">copy</code>, <code title="">link</code>, and <code title="">move</code>.</p>
+
+   </dd>
+
+   <dt><var title="">dataTransfer</var> . <code title="dom-DataTransfer-effectAllowed"><a href="#dom-datatransfer-effectallowed">effectAllowed</a></code> [ = <var title="">value</var> ]</dt>
+
+   <dd>
+
+    <p>Returns the kinds of operations that are to be allowed.</p>
+
+    <p>Can be set, to change the allowed operations.</p>
+
+    <p>The possible values are <code title="">none</code>, <code title="">copy</code>, <code title="">copyLink</code>, <code title="">copyMove</code>, <code title="">link</code>, <code title="">linkMove</code>, <code title="">move</code>, <code title="">all</code>, and <code title="">uninitialized</code>,</p>
+
+   </dd>
+
+   <dt><var title="">dataTransfer</var> . <code title="dom-DataTransfer-types"><a href="#dom-datatransfer-types">types</a></code></dt>
+
+   <dd>
+
+    <p>Returns a <code>DOMStringList</code> listing the formats that
+    were set in the <code title="event-dragstart"><a href="#event-dragstart">dragstart</a></code>
+    event. In addition, if any files are being dragged, then one of
+    the types will be the string "<code title="">Files</code>".</p>
+
+   </dd>
+
+   <dt><var title="">dataTransfer</var> . <code title="dom-DataTransfer-clearData"><a href="#dom-datatransfer-cleardata">clearData</a></code>( [ <var title="">format</var> ] )</dt>
+
+   <dd>
+
+    <p>Removes the data of the specified formats. Removes all data if
+    the argument is omitted.</p>
+
+   </dd>
+
+   <dt><var title="">dataTransfer</var> . <code title="dom-DataTransfer-setData"><a href="#dom-datatransfer-setdata">setData</a></code>(<var title="">format</var>, <var title="">data</var>)</dt>
+
+   <dd>
+
+    <p>Adds the specified data.</p>
+
+   </dd>
+
+   <dt><var title="">data</var> = <var title="">dataTransfer</var> . <code title="dom-DataTransfer-getData"><a href="#dom-datatransfer-getdata">getData</a></code>(<var title="">format</var>)</dt>
+
+   <dd>
+
+    <p>Returns the specified data. If there is no such data, returns the empty string.</p>
+
+   </dd>
+
+   <dt><var title="">dataTransfer</var> . <code title="dom-DataTransfer-files"><a href="#dom-datatransfer-files">files</a></code></dt>
+
+   <dd>
+
+    <p>Returns a <code>FileList</code> of the files being dragged, if any.</p>
+
+   </dd>
+
+   <dt><var title="">dataTransfer</var> . <code title="dom-DataTransfer-setDragImage"><a href="#dom-datatransfer-setdragimage">setDragImage</a></code>(<var title="">element</var>, <var title="">x</var>, <var title="">y</var>)</dt>
+
+   <dd>
+
+    <p>Uses the given element to update the drag feedback, replacing any previously specified feedback.</p>
+
+   </dd>
+
+   <dt><var title="">dataTransfer</var> . <code title="dom-DataTransfer-addElement"><a href="#dom-datatransfer-addelement">addElement</a></code>(<var title="">element</var>)</dt>
+
+   <dd>
+
+    <p>Adds the given element to the list of elements used to render the drag feedback.</p>
+
+   </dd>
+
+  </dl><h4 id="dndevents"><span class="secno">7.9.3 </span>Events fired during a drag-and-drop action</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The following events are involved in the drag-and-drop
+  model.</p><table><thead><tr><th> Event Name </th>
+     <th> Target </th>
+     <th> Bubbles? </th>
+     <th> Cancelable? </th>
+     <th> <code title="dom-DataTransfer-dataTransfer">dataTransfer</code> </th>
+     <th> <code title="dom-DataTransfer-effectAllowed"><a href="#dom-datatransfer-effectallowed">effectAllowed</a></code> </th>
+     <th> <code title="dom-DataTransfer-dropEffect"><a href="#dom-datatransfer-dropeffect">dropEffect</a></code> </th>
+     <th> Default Action </th>
+    </tr></thead><tbody><tr><td><dfn id="event-dragstart" title="event-dragstart"><code>dragstart</code></dfn></td>
+     <td><a href="#source-node">Source node</a></td>
+     <td>&#10003; Bubbles</td>
+     <td>&#10003; Cancelable</td>
+     <td>Contains <a href="#source-node">source node</a> unless a selection is being dragged, in which case it is empty; <code title="dom-datatransfer-files"><a href="#dom-datatransfer-files">files</a></code> returns any files included in the drag operation</td>
+     <td><code title="">uninitialized</code></td>
+     <td><code title="">none</code></td>
+     <td>Initiate the drag-and-drop operation</td>
+    </tr><tr><td><dfn id="event-drag" title="event-drag"><code>drag</code></dfn></td>
+     <td><a href="#source-node">Source node</a></td>
+     <td>&#10003; Bubbles</td>
+     <td>&#10003; Cancelable</td>
+     <td>Empty</td>
+     <td><a href="#effectAllowed-initialization">Same as last event</a></td>
+     <td><code title="">none</code></td>
+     <td>Continue the drag-and-drop operation</td>
+    </tr><tr><td><dfn id="event-dragenter" title="event-dragenter"><code>dragenter</code></dfn></td>
+     <td><a href="#immediate-user-selection">Immediate user selection</a> or <a href="dom.html#the-body-element">the body element</a></td>
+     <td>&#10003; Bubbles</td>
+     <td>&#10003; Cancelable</td>
+     <td>Empty</td>
+     <td><a href="#effectAllowed-initialization">Same as last event</a></td>
+     <td><a href="#dropEffect-initialization">Based on <code>effectAllowed</code> value</a></td>
+     <td>Reject <a href="#immediate-user-selection">immediate user selection</a> as potential <a href="#current-target-element" title="current target element">target element</a></td>
+    </tr><tr><td><dfn id="event-dragleave" title="event-dragleave"><code>dragleave</code></dfn></td>
+     <td><a href="#current-target-element" title="current target element">Previous target element</a></td>
+     <td>&#10003; Bubbles</td>
+     <td>&#8212;</td>
+     <td>Empty</td>
+     <td><a href="#effectAllowed-initialization">Same as last event</a></td>
+     <td><code title="">none</code></td>
+     <td>None</td>
+    </tr><tr><td><dfn id="event-dragover" title="event-dragover"><code>dragover</code></dfn></td>
+     <td><a href="#current-target-element">Current target element</a></td>
+     <td>&#10003; Bubbles</td>
+     <td>&#10003; Cancelable</td>
+     <td>Empty</td>
+     <td><a href="#effectAllowed-initialization">Same as last event</a></td>
+     <td><a href="#dropEffect-initialization">Based on <code>effectAllowed</code> value</a></td>
+     <td>Reset the <a href="#current-drag-operation">current drag operation</a> to "none"</td>
+    </tr><tr><td><dfn id="event-drop" title="event-drop"><code>drop</code></dfn></td>
+     <td><a href="#current-target-element">Current target element</a></td>
+     <td>&#10003; Bubbles</td>
+     <td>&#10003; Cancelable</td>
+     <td><code title="dom-datatransfer-getdata"><a href="#dom-datatransfer-getdata">getData()</a></code> returns data set in <code title="dom-dragstart">dragstart</code> event; <code title="dom-datatransfer-files"><a href="#dom-datatransfer-files">files</a></code> returns any files included in the drag operation</td>
+     <td><a href="#effectAllowed-initialization">Same as last event</a></td>
+     <td><a href="#current-drag-operation">Current drag operation</a></td>
+     <td>Varies</td>
+    </tr><tr><td><dfn id="event-dragend" title="event-dragend"><code>dragend</code></dfn></td>
+     <td><a href="#source-node">Source node</a></td>
+     <td>&#10003; Bubbles</td>
+     <td>&#8212;</td>
+     <td>Empty</td>
+     <td><a href="#effectAllowed-initialization">Same as last event</a></td>
+     <td><a href="#current-drag-operation">Current drag operation</a></td>
+     <td>Varies</td>
+    </tr></tbody></table><h4 id="the-draggable-attribute"><span class="secno">7.9.4 </span>The <dfn title="attr-draggable"><code>draggable</code></dfn> attribute</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>All <a href="infrastructure.html#html-elements">HTML elements</a> may have the <code title="attr-draggable"><a href="#the-draggable-attribute">draggable</a></code> content attribute set. The
+  <code title="attr-draggable"><a href="#the-draggable-attribute">draggable</a></code> attribute is an
+  <a href="common-microsyntaxes.html#enumerated-attribute">enumerated attribute</a>. It has three states. The first
+  state is <i>true</i> and it has the keyword <code title="">true</code>. The second state is <i>false</i> and it has
+  the keyword <code title="">false</code>. The third state is
+  <i>auto</i>; it has no keywords but it is the <i>missing value
+  default</i>.</p><p>The <i>true</i> state means the element is draggable; the
+  <i>false</i> state means that it is not. The <i>auto</i> state
+  uses the default behavior of the user agent.</p><dl class="domintro"><dt><var title="">element</var> . <code title="dom-draggable"><a href="#dom-draggable">draggable</a></code> [ = <var title="">value</var> ]</dt>
+
+   <dd>
+
+    <p>Returns true if the element is draggable; otherwise, returns
+    false.</p>
+
+    <p>Can be set, to override the default and set the <code title="attr-draggable"><a href="#the-draggable-attribute">draggable</a></code> content attribute.</p>
+
+   </dd>
+
+  </dl><h4 id="copy-and-paste"><span class="secno">7.9.5 </span>Copy and paste</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>Copy-and-paste is a form of drag-and-drop: the "copy" part is
+  equivalent to dragging content to another application (the
+  "clipboard"), and the "paste" part is equivalent to dragging content
+  <em>from</em> another application.</p><p>Select-and-paste (a model used by mouse operations in the X
+  Window System) is equivalent to a drag-and-drop operation where the
+  source is the selection.</p><h3 id="undo"><span class="secno">7.10 </span><dfn>Undo history</dfn></h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><h4 id="the-undomanager-interface"><span class="secno">7.10.1 </span>The <code><a href="#undomanager">UndoManager</a></code> interface</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>To manage <a href="#undo-object">undo object</a> entries in the <a href="#undo-transaction-history">undo
+  transaction history</a>, the <code><a href="#undomanager">UndoManager</a></code>
+  interface can be used:</p><pre class="idl">interface <dfn id="undomanager">UndoManager</dfn> {
+  readonly attribute unsigned long <a href="#dom-undomanager-length" title="dom-UndoManager-length">length</a>;
+  getter any <a href="#dom-undomanager-item" title="dom-UndoManager-item">item</a>(in unsigned long index);
+  readonly attribute unsigned long <a href="#dom-undomanager-position" title="dom-UndoManager-position">position</a>;
+  unsigned long <a href="#dom-undomanager-add" title="dom-UndoManager-add">add</a>(in any data, in DOMString title);
+  void <a href="#dom-undomanager-remove" title="dom-UndoManager-remove">remove</a>(in unsigned long index);
+  void <a href="#dom-undomanager-clearundo" title="dom-UndoManager-clearUndo">clearUndo</a>();
+  void <a href="#dom-undomanager-clearredo" title="dom-UndoManager-clearRedo">clearRedo</a>();
+};</pre><dl class="domintro"><dt><var title="">window</var> . <code title="dom-undoManager"><a href="#dom-undomanager">undoManager</a></code></dt>
+
+   <dd>
+
+    <p>Returns the <code><a href="#undomanager">UndoManager</a></code> object.</p>
+
+   </dd>
+
+   <dt><var title="">undoManager</var> . <code title="dom-UndoManager-length"><a href="#dom-undomanager-length">length</a></code></dt>
+   <dd>
+
+    <p>Returns the number of entries in the undo history.</p>
+
+   </dd>
+
+   <dt><var title="">data</var> = <var title="">undoManager</var> . <code title="dom-UndoManager-item"><a href="#dom-undomanager-item">item</a></code>(<var title="">index</var>)</dt>
+   <dt><var title="">undoManager</var>[<var title="">index</var>]</dt>
+   <dd>
+
+    <p>Returns the entry with index <var title="">index</var> in the undo history.</p>
+
+    <p>Returns null if <var title="">index</var> is out of range.</p>
+
+   </dd>
+
+   <dt><var title="">undoManager</var> . <code title="dom-UndoManager-position"><a href="#dom-undomanager-position">position</a></code></dt>
+   <dd>
+
+    <p>Returns the number of the current entry in the undo history. (Entries at and past this point are <em>redo</em> entries.)</p>
+
+   </dd>
+
+   <dt><var title="">undoManager</var> . <code title="dom-UndoManager-add"><a href="#dom-undomanager-add">add</a></code>(<var title="">data</var>, <var title="">title</var>)</dt>
+   <dd>
+
+    <p>Adds the specified entry to the undo history.</p>
+
+   </dd>
+
+   <dt><var title="">undoManager</var> . <code title="dom-UndoManager-remove"><a href="#dom-undomanager-remove">remove</a></code>(<var title="">index</var>)</dt>
+   <dd>
+
+    <p>Removes the specified entry to the undo history.</p>
+
+    <p>Throws an <code><a href="urls.html#index_size_err">INDEX_SIZE_ERR</a></code> exception if the given index is out of range.</p>
+
+   </dd>
+
+   <dt><var title="">undoManager</var> . <code title="dom-UndoManager-clearUndo"><a href="#dom-undomanager-clearundo">clearUndo</a></code>()</dt>
+   <dd>
+
+    <p>Removes all entries before the current position in the undo history.</p>
+
+   </dd>
+
+   <dt><var title="">undoManager</var> . <code title="dom-UndoManager-clearRedo"><a href="#dom-undomanager-clearredo">clearRedo</a></code>()</dt>
+   <dd>
+
+    <p>Removes all entries at and after the current position in the undo history.</p>
+
+   </dd>
+
+  </dl><h4 id="the-undomanagerevent-interface-and-the-undo-and-redo-events"><span class="secno">7.10.2 </span>The <code><a href="#undomanagerevent">UndoManagerEvent</a></code> interface and the <code title="event-undo"><a href="#event-undo">undo</a></code> and <code title="event-redo"><a href="#event-redo">redo</a></code> events</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><pre class="idl">interface <dfn id="undomanagerevent">UndoManagerEvent</dfn> : Event {
+  readonly attribute any <a href="#dom-undomanagerevent-data" title="dom-UndoManagerEvent-data">data</a>;
+  void <a href="#dom-undomanagerevent-initundomanagerevent" title="dom-UndoManagerEvent-initUndoManagerEvent">initUndoManagerEvent</a>(in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in any dataArg);
+};</pre><dl class="domintro"><dt><var title="">event</var>  . <code title="dom-UndoManagerEvent-data"><a href="#dom-undomanagerevent-data">data</a></code></dt>
+
+   <dd>
+
+    <p>Returns the data that was passed to the <code title="dom-undomanager-add"><a href="#dom-undomanager-add">add()</a></code> method.</p>
+
+   </dd>
+
+  </dl><h3 id="editing-apis"><span class="secno">7.11 </span>Editing APIs</h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><dl class="domintro"><dt><var title="">document</var> . <code title="dom-document-execCommand"><a href="#execCommand">execCommand</a></code>(<var title="">commandId</var> [, <var title="">showUI</var> [, <var title="">value</var> ] ] )</dt>
+
+   <dd>
+
+    <p>Runs the action specified by the first argument, as described
+    in the list below. The second and third arguments sometimes affect
+    the action. (If they don't they are ignored.)</p>
+
+   </dd>
+
+   <dt><var title="">document</var> . <code title="dom-document-queryCommandEnabled"><a href="#dom-document-querycommandenabled">queryCommandEnabled</a></code>(<var title="">commandId</var>)</dt>
+
+   <dd>
+
+    <p>Returns whether the given command is enabled, as described in the list below.</p>
+
+   </dd>
+
+   <dt><var title="">document</var> . <code title="dom-document-queryCommandIndeterm"><a href="#dom-document-querycommandindeterm">queryCommandIndeterm</a></code>(<var title="">commandId</var>)</dt>
+
+   <dd>
+
+    <p>Returns whether the given command is indeterminate, as described in the list below.</p>
+
+   </dd>
+
+   <dt><var title="">document</var> . <code title="dom-document-queryCommandState"><a href="#dom-document-querycommandstate">queryCommandState</a></code>(<var title="">commandId</var>)</dt>
+
+   <dd>
+
+    <p>Returns the state of the command, as described in the list below.</p>
+
+   </dd>
+
+   <dt><var title="">document</var> . <code title="dom-document-queryCommandSupported"><a href="#dom-document-querycommandsupported">queryCommandSupported</a></code>(<var title="">commandId</var>)</dt>
+
+   <dd>
+
+    <p>Returns true if the command is supported; otherwise, returns false.</p>
+
+   </dd>
+
+   <dt><var title="">document</var> . <code title="dom-document-queryCommandValue"><a href="#dom-document-querycommandvalue">queryCommandValue</a></code>(<var title="">commandId</var>)</dt>
+
+   <dd>
+
+    <p>Returns the value of the command, as described in the list below.</p>
+
+   </dd>
+
+  </dl><p>A document is <dfn id="ready-for-editing-host-commands">ready for editing host commands</dfn> if it
+  has a selection that is entirely within an <a href="#editing-host">editing
+  host</a>, or if it has no selection but its caret is inside an
+  <a href="#editing-host">editing host</a>.</p><p>The possible values for <var title="">commandId</var>, and their
+  corresponding meanings, are as follows. </p><dl><dt><dfn id="command-bold" title="command-bold"><code>bold</code></dfn></dt>
+   <dd><strong>Summary</strong>: Toggles whether the selection is bold.</dd>
+   
+   <dd><strong>Enabled When</strong>: The document is <a href="#ready-for-editing-host-commands">ready for
+   editing host commands</a>.</dd>
+   <dd><strong>Indeterminate When</strong>: Never.</dd>
+   <dd><strong>State</strong>: True if the selection, or the caret, if
+   there is no selection, is, or is contained within, a
+   <code><a href="text-level-semantics.html#the-b-element">b</a></code> element. False otherwise.</dd>
+   <dd><strong>Value</strong>: The string "<code title="">true</code>"
+   if the expression given for the "State" above is true, the string
+   "<code title="">false</code>" otherwise.</dd>
+
+   <dt><dfn id="command-createlink" title="command-createLink"><code>createLink</code></dfn></dt>
+   <dd><strong>Summary</strong>: Toggles whether the selection is a
+   link or not. If the second argument is true, and a link is to be
+   added, the user agent will ask the user for the address. Otherwise,
+   the third argument will be used as the address.</dd>
+   
+   <dd><strong>Enabled When</strong>: The document is <a href="#ready-for-editing-host-commands">ready for
+   editing host commands</a>.</dd>
+   <dd><strong>Indeterminate When</strong>: Never.</dd>
+   <dd><strong>State</strong>: Always false.</dd>
+   <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
+
+   <dt><dfn id="command-delete" title="command-delete"><code>delete</code></dfn></dt>
+   <dd><strong>Summary</strong>: Deletes the selection or the
+   character before the cursor.</dd>
+   
+   <dd><strong>Enabled When</strong>: The document is <a href="#ready-for-editing-host-commands">ready for
+   editing host commands</a>.</dd>
+   <dd><strong>Indeterminate When</strong>: Never.</dd>
+   <dd><strong>State</strong>: Always false.</dd>
+   <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
+
+   <dt><dfn id="command-formatblock" title="command-formatBlock"><code>formatBlock</code></dfn></dt>
+   <dd><strong>Summary</strong>: Wraps the selection in the element
+   given by the second argument. If the second argument doesn't
+   specify an element that is a <dfn id="formatblock-candidate"><code title="">formatBlock</code>
+   candidate</dfn>, does nothing.</dd>
+   
+   <dd><strong>Enabled When</strong>: The document is <a href="#ready-for-editing-host-commands">ready for
+   editing host commands</a>.</dd>
+   <dd><strong>Indeterminate When</strong>: Never.</dd>
+   <dd><strong>State</strong>: Always false.</dd>
+   <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
+
+   <dt><dfn id="command-forwarddelete" title="command-forwardDelete"><code>forwardDelete</code></dfn></dt>
+   <dd><strong>Summary</strong>: Deletes the selection or the
+   character after the cursor.</dd>
+   
+   <dd><strong>Enabled When</strong>: The document is <a href="#ready-for-editing-host-commands">ready for
+   editing host commands</a>.</dd>
+   <dd><strong>Indeterminate When</strong>: Never.</dd>
+   <dd><strong>State</strong>: Always false.</dd>
+   <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
+
+   <dt><dfn id="command-insertimage" title="command-insertImage"><code>insertImage</code></dfn></dt>
+   <dd><strong>Summary</strong>: Toggles whether the selection is an
+   image or not. If the second argument is true, and an image is to be
+   added, the user agent will ask the user for the address. Otherwise,
+   the third argument will be used as the address.</dd>
+   
+   <dd><strong>Enabled When</strong>: The document is <a href="#ready-for-editing-host-commands">ready for
+   editing host commands</a>.</dd>
+   <dd><strong>Indeterminate When</strong>: Never.</dd>
+   <dd><strong>State</strong>: Always false.</dd>
+   <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
+
+   <dt><dfn id="command-inserthtml" title="command-insertHTML"><code>insertHTML</code></dfn></dt>
+   <dd><strong>Summary</strong>: Replaces the selection with the value
+   of the third argument parsed as HTML.</dd>
+   
+   <dd><strong>Enabled When</strong>: The document is <a href="#ready-for-editing-host-commands">ready for
+   editing host commands</a>.</dd>
+   <dd><strong>Indeterminate When</strong>: Never.</dd>
+   <dd><strong>State</strong>: Always false.</dd>
+   <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
+
+   <dt><dfn id="command-insertlinebreak" title="command-insertLineBreak"><code>insertLineBreak</code></dfn></dt>
+   <dd><strong>Summary</strong>: Inserts a line break.</dd>
+   
+   <dd><strong>Enabled When</strong>: The document is <a href="#ready-for-editing-host-commands">ready for
+   editing host commands</a>.</dd>
+   <dd><strong>Indeterminate When</strong>: Never.</dd>
+   <dd><strong>State</strong>: Always false.</dd>
+   <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
+
+   <dt><dfn id="command-insertorderedlist" title="command-insertOrderedList"><code>insertOrderedList</code></dfn></dt>
+   <dd><strong>Summary</strong>: Toggles whether the selection is an ordered list.</dd>
+   
+   <dd><strong>Enabled When</strong>: The document is <a href="#ready-for-editing-host-commands">ready for
+   editing host commands</a>.</dd>
+   <dd><strong>Indeterminate When</strong>: Never.</dd>
+   <dd><strong>State</strong>: Always false.</dd>
+   <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
+
+   <dt><dfn id="command-insertunorderedlist" title="command-insertUnorderedList"><code>insertUnorderedList</code></dfn></dt>
+   <dd><strong>Summary</strong>: Toggles whether the selection is an unordered list.</dd>
+   
+   <dd><strong>Enabled When</strong>: The document is <a href="#ready-for-editing-host-commands">ready for
+   editing host commands</a>.</dd>
+   <dd><strong>Indeterminate When</strong>: Never.</dd>
+   <dd><strong>State</strong>: Always false.</dd>
+   <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
+
+   <dt><dfn id="command-insertparagraph" title="command-insertParagraph"><code>insertParagraph</code></dfn></dt>
+   <dd><strong>Summary</strong>: Inserts a paragraph break.</dd>
+   
+   <dd><strong>Enabled When</strong>: The document is <a href="#ready-for-editing-host-commands">ready for
+   editing host commands</a>.</dd>
+   <dd><strong>Indeterminate When</strong>: Never.</dd>
+   <dd><strong>State</strong>: Always false.</dd>
+   <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
+
+   <dt><dfn id="command-inserttext" title="command-insertText"><code>insertText</code></dfn></dt>
+   <dd><strong>Summary</strong>: Inserts the text given in the third parameter.</dd>
+   
+   <dd><strong>Enabled When</strong>: The document is <a href="#ready-for-editing-host-commands">ready for
+   editing host commands</a>.</dd>
+   <dd><strong>Indeterminate When</strong>: Never.</dd>
+   <dd><strong>State</strong>: Always false.</dd>
+   <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
+
+   <dt><dfn id="command-italic" title="command-italic"><code>italic</code></dfn></dt>
+   <dd><strong>Summary</strong>: Toggles whether the selection is italic.</dd>
+   
+   <dd><strong>Enabled When</strong>: The document is <a href="#ready-for-editing-host-commands">ready for
+   editing host commands</a>.</dd>
+   <dd><strong>Indeterminate When</strong>: Never.</dd>
+   <dd><strong>State</strong>: True if the selection, or the caret, if
+   there is no selection, is, or is contained within, a
+   <code><a href="text-level-semantics.html#the-i-element">i</a></code> element. False otherwise.</dd>
+   <dd><strong>Value</strong>: The string "<code title="">true</code>"
+   if the expression given for the "State" above is true, the string
+   "<code title="">false</code>" otherwise.</dd>
+
+   <dt><dfn id="command-redo" title="command-redo"><code>redo</code></dfn></dt>
+   <dd><strong>Summary</strong>: Acts as if the user had requested a redo.</dd>
+   
+   <dd><strong>Enabled When</strong>: The <a href="#undo-position">undo position</a>
+   is not at the end of the <a href="#undo-transaction-history">undo transaction
+   history</a>.</dd>
+   <dd><strong>Indeterminate When</strong>: Never.</dd>
+   <dd><strong>State</strong>: Always false.</dd>
+   <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
+
+   <dt><dfn id="command-selectall" title="command-selectAll"><code>selectAll</code></dfn></dt>
+   <dd><strong>Summary</strong>: Selects all the editable content.</dd>
+   
+   <dd><strong>Enabled When</strong>: Always.</dd>
+   <dd><strong>Indeterminate When</strong>: Never.</dd>
+   <dd><strong>State</strong>: Always false.</dd>
+   <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
+
+   <dt><dfn id="command-subscript" title="command-subscript"><code>subscript</code></dfn></dt>
+   <dd><strong>Summary</strong>: Toggles whether the selection is subscripted.</dd>
+   
+   <dd><strong>Enabled When</strong>: The document is <a href="#ready-for-editing-host-commands">ready for
+   editing host commands</a>.</dd>
+   <dd><strong>Indeterminate When</strong>: Never.</dd>
+   <dd><strong>State</strong>: True if the selection, or the caret, if
+   there is no selection, is, or is contained within, a
+   <code><a href="text-level-semantics.html#the-sub-and-sup-elements">sub</a></code> element. False otherwise.</dd>
+   <dd><strong>Value</strong>: The string "<code title="">true</code>"
+   if the expression given for the "State" above is true, the string
+   "<code title="">false</code>" otherwise.</dd>
+
+   <dt><dfn id="command-superscript" title="command-superscript"><code>superscript</code></dfn></dt>
+   <dd><strong>Summary</strong>: Toggles whether the selection is superscripted.</dd>
+   
+   <dd><strong>Enabled When</strong>: The document is <a href="#ready-for-editing-host-commands">ready for
+   editing host commands</a>.</dd>
+   <dd><strong>Indeterminate When</strong>: Never.</dd>
+   <dd><strong>State</strong>: True if the selection, or the caret, if
+   there is no selection, is, or is contained within, a
+   <code><a href="text-level-semantics.html#the-sub-and-sup-elements">sup</a></code> element. False otherwise.</dd>
+   <dd><strong>Value</strong>: The string "<code title="">true</code>"
+   if the expression given for the "State" above is true, the string
+   "<code title="">false</code>" otherwise.</dd>
+
+   <dt><dfn id="command-undo" title="command-undo"><code>undo</code></dfn></dt>
+   <dd><strong>Summary</strong>: Acts as if the user had requested an undo.</dd>
+   
+   <dd><strong>Enabled When</strong>: The <a href="#undo-position">undo position</a>
+   is not at the start of the <a href="#undo-transaction-history">undo transaction
+   history</a>.</dd>
+   <dd><strong>Indeterminate When</strong>: Never.</dd>
+   <dd><strong>State</strong>: Always false.</dd>
+   <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
+
+   <dt><dfn id="command-unlink" title="command-unlink"><code>unlink</code></dfn></dt>
+   <dd><strong>Summary</strong>: Removes all links from the selection.</dd>
+   
+   <dd><strong>Enabled When</strong>: The document has a selection
+   that is entirely within an <a href="#editing-host">editing host</a> and that
+   contains (either partially or completely) at least one
+   <code><a href="text-level-semantics.html#the-a-element">a</a></code> element that has an <code title="attr-hyperlink-href"><a href="links.html#attr-hyperlink-href">href</a></code> attribute.</dd>
+   <dd><strong>Indeterminate When</strong>: Never.</dd>
+   <dd><strong>State</strong>: Always false.</dd>
+   <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
+
+   <dt><dfn id="command-unselect" title="command-unselect"><code>unselect</code></dfn></dt>
+   <dd><strong>Summary</strong>: Unselects everything.</dd>
+   
+   <dd><strong>Enabled When</strong>: Always.</dd>
+   <dd><strong>Indeterminate When</strong>: Never.</dd>
+   <dd><strong>State</strong>: Always false.</dd>
+   <dd><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>
+
+   
+   
+   
+   
+   
+   
+
+   
+   
+   
+   
+   
+   
+
+  </dl><!--
+v2 (well, really v0):
+ "forecolor", "hilitecolor", "fontname", "fontsize", "justifyleft",
+ "justifycenter", "justifyright", "justifyfull", "indent", "outdent"
+--></body></html>
\ No newline at end of file

Index: links.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/links.html,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- links.html	6 Jan 2010 15:38:53 -0000	1.11
+++ links.html	6 Jan 2010 15:49:34 -0000	1.12
@@ -213,4 +213,689 @@
    .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 
\ No newline at end of file
+   .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="data:text/css," id="complete" rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" id="author" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" id="highlight" rel="alternate stylesheet" title="Highlight implementation requirements"><script>
+   function getCookie(name) {
+     var params = location.search.substr(1).split("&");
+     for (var index = 0; index < params.length; index++) {
+       if (params[index] == name)
+         return "1";
+       var data = params[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     var cookies = document.cookie.split("; ");
+     for (var index = 0; index < cookies.length; index++) {
+       var data = cookies[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     return null;
+   }
+   function load(script) {
+     var e = document.createElement('script');
+     e.setAttribute('src', 'http://www.whatwg.org/specs/web-apps/current-work/' + script + '?' + encodeURIComponent(location) + '&' + encodeURIComponent(document.referrer));
+     document.body.appendChild(e);
+   }
+   function init() {
+     if (location.search == '?slow-browser')
+       return;
+     var configUI = document.createElement('div');
+     configUI.id = 'configUI';
+     document.body.appendChild(configUI);
+     // load('reviewer.js'); // would need cross-site XHR
+     if (document.getElementById('head'))
+       load('toc.js');
+     
+     // load('updater.js'); // would need cross-site XHR
+     load('dfn.js');
+     // load('status.js'); // would need cross-site XHR
+     if (getCookie('profile') == '1')
+       document.getElementsByTagName('h2')[0].textContent += '; load: ' + (new Date() - loadTimer) + 'ms';
+     fixBrokenLink();
+   }
+  </script><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><link href="history.html" title="6.8 Session history and navigation" rel="prev">
+  <link href="Overview.html#contents" title="Table of contents" rel="index">
+  <link href="editing.html" title="7 User Interaction" rel="next">
+  </head><body onload="fixBrokenLink(); init()"><div class="head" id="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 (Author Edition)</h1>
+   </div><div>
+   <a href="history.html">&#8592; 6.8 Session history and navigation</a> &#8211;
+   <a href="Overview.html#contents">Table of contents</a> &#8211;
+   <a href="editing.html">7 User Interaction &#8594;</a>
+  <ol class="toc"><li><ol><li><a href="links.html#links"><span class="secno">6.10 </span>Links</a>
+    <ol><li><a href="links.html#hyperlink-elements"><span class="secno">6.10.1 </span>Hyperlink elements</a></li><li><a href="links.html#linkTypes"><span class="secno">6.10.2 </span>Link types</a>
+      <ol><li><a href="links.html#link-type-alternate"><span class="secno">6.10.2.1 </span>Link type "<code>alternate</code>"</a></li><li><a href="links.html#link-type-archives"><span class="secno">6.10.2.2 </span>Link type "<code>archives</code>"</a></li><li><a href="links.html#link-type-author"><span class="secno">6.10.2.3 </span>Link type "<code>author</code>"</a></li><li><a href="links.html#link-type-bookmark"><span class="secno">6.10.2.4 </span>Link type "<code>bookmark</code>"</a></li><li><a href="links.html#link-type-external"><span class="secno">6.10.2.5 </span>Link type "<code>external</code>"</a></li><li><a href="links.html#link-type-help"><span class="secno">6.10.2.6 </span>Link type "<code>help</code>"</a></li><li><a href="links.html#rel-icon"><span class="secno">6.10.2.7 </span>Link type "<code>icon</code>"</a></li><li><a href="links.html#link-type-license"><span class="secno">6.10.2.8 </span>Link type "<code>license</code>"</a></li><li><a href="links.html#link-type-nofollow"><span class="secn">6.10.2.9 </span>Link type "<code>nofollow</code>"</a></li><li><a href="links.html#link-type-noreferrer"><span class="secno">6.10.2.10 </span>Link type "<code>noreferrer</code>"</a></li><li><a href="links.html#link-type-pingback"><span class="secno">6.10.2.11 </span>Link type "<code>pingback</code>"</a></li><li><a href="links.html#link-type-prefetch"><span class="secno">6.10.2.12 </span>Link type "<code>prefetch</code>"</a></li><li><a href="links.html#link-type-search"><span class="secno">6.10.2.13 </span>Link type "<code>search</code>"</a></li><li><a href="links.html#link-type-stylesheet"><span class="secno">6.10.2.14 </span>Link type "<code>stylesheet</code>"</a></li><li><a href="links.html#link-type-sidebar"><span class="secno">6.10.2.15 </span>Link type "<code>sidebar</code>"</a></li><li><a href="links.html#link-type-tag"><span class="secno">6.10.2.16 </span>Link type "<code>tag</code>"</a></li><li><a href="links.html#hierarchical-link-types"><span class="secno">6.10.2.17 </span>Hierarchical link types/a>
+        <ol><li><a href="links.html#link-type-index"><span class="secno">6.10.2.17.1 </span>Link type "<code>index</code>"</a></li><li><a href="links.html#link-type-up"><span class="secno">6.10.2.17.2 </span>Link type "<code>up</code>"</a></li></ol></li><li><a href="links.html#sequential-link-types"><span class="secno">6.10.2.18 </span>Sequential link types</a>
+        <ol><li><a href="links.html#link-type-first"><span class="secno">6.10.2.18.1 </span>Link type "<code>first</code>"</a></li><li><a href="links.html#link-type-last"><span class="secno">6.10.2.18.2 </span>Link type "<code>last</code>"</a></li><li><a href="links.html#link-type-next"><span class="secno">6.10.2.18.3 </span>Link type "<code>next</code>"</a></li><li><a href="links.html#link-type-prev"><span class="secno">6.10.2.18.4 </span>Link type "<code>prev</code>"</a></li></ol></li><li><a href="links.html#other-link-types"><span class="secno">6.10.2.19 </span>Other link types</a></li></ol></li></ol></li></ol></li></ol></div>
+
+  <h3 id="links"><span class="secno">6.10 </span>Links</h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><h4 id="hyperlink-elements"><span class="secno">6.10.1 </span>Hyperlink elements</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code><a href="text-level-semantics.html#the-a-element">a</a></code>, <code><a href="the-map-element.html#the-area-element">area</a></code>, and <code><a href="semantics.html#the-link-element">link</a></code>
+  elements can, in certain situations described in the definitions of
+  those elements, represent <dfn id="hyperlink" title="hyperlink">hyperlinks</dfn>.</p><p>The <dfn id="attr-hyperlink-href" title="attr-hyperlink-href"><code>href</code></dfn>
+  attribute on a hyperlink element must have a value that is a
+  <a href="urls.html#valid-url">valid URL</a>. This URL is the <em>destination
+  resource</em> of the hyperlink.</p><div class="note">
+
+   <p>The <code title="attr-hyperlink-href"><a href="#attr-hyperlink-href">href</a></code> attribute on
+   <code><a href="text-level-semantics.html#the-a-element">a</a></code> and <code><a href="the-map-element.html#the-area-element">area</a></code> elements is not required; when
+   those elements do not have <code title="attr-hyperlink-href"><a href="#attr-hyperlink-href">href</a></code> attributes they do not
+   represent hyperlinks.</p>
+
+   <p>The <code title="attr-link-href"><a href="semantics.html#attr-link-href">href</a></code> attribute on the
+   <code><a href="semantics.html#the-link-element">link</a></code> element <em>is</em> required, but whether a
+   <code><a href="semantics.html#the-link-element">link</a></code> element represents a hyperlink or not depends on
+   the value of the <code title="attr-link-rel"><a href="semantics.html#attr-link-rel">rel</a></code> attribute
+   of that element.</p>
+
+  </div><p>The <dfn id="attr-hyperlink-target" title="attr-hyperlink-target"><code>target</code></dfn>
+  attribute, if present, must be a <a href="browsers.html#valid-browsing-context-name-or-keyword">valid browsing context name
+  or keyword</a>. It gives the name of the <a href="browsers.html#browsing-context">browsing
+  context</a> that will be used. </p><p>The <dfn id="ping" title="attr-hyperlink-ping"><code>ping</code></dfn> attribute, if
+  present, gives the URLs of the resources that are interested in
+  being notified if the user follows the hyperlink. The value must be
+  a <a href="common-microsyntaxes.html#set-of-space-separated-tokens">set of space-separated tokens</a>, each of which must be a
+  <a href="urls.html#valid-url" title="valid URL">valid URL</a>. </p><p>For <code><a href="text-level-semantics.html#the-a-element">a</a></code> and <code><a href="the-map-element.html#the-area-element">area</a></code> elements that represent
+  hyperlinks, the relationship between the document containing the
+  hyperlink and the destination resource indicated by the hyperlink is
+  given by the value of the element's <dfn id="attr-hyperlink-rel" title="attr-hyperlink-rel"><code>rel</code></dfn> attribute, which
+  must be a <a href="common-microsyntaxes.html#set-of-space-separated-tokens">set of space-separated tokens</a>. The <a href="#linkTypes">allowed values and their meanings</a> are defined
+  below. The <code title="attr-hyperlink-rel"><a href="#attr-hyperlink-rel">rel</a></code> attribute has
+  no default value. If the attribute is omitted or if none of the
+  values in the attribute are recognized by the user agent, then the
+  document has no particular relationship with the destination
+  resource other than there being a hyperlink between the two.</p><p>The <dfn id="attr-hyperlink-media" title="attr-hyperlink-media"><code>media</code></dfn>
+  attribute describes for which media the target document was
+  designed. It is purely advisory. The value must be a <a href="common-microsyntaxes.html#valid-media-query">valid
+  media query</a>. The default, if the <code title="attr-hyperlink-media"><a href="#attr-hyperlink-media">media</a></code> attribute is omitted, is
+  "<code title="">all</code>".</p><p>The <dfn id="attr-hyperlink-hreflang" title="attr-hyperlink-hreflang"><code>hreflang</code></dfn>
+  attribute on hyperlink elements, if present, gives the language of
+  the linked resource. It is purely advisory. The value must be a
+  valid BCP 47 language code. <a href="references.html#refsBCP47">[BCP47]</a>
+  </p><p>The <dfn id="attr-hyperlink-type" title="attr-hyperlink-type"><code>type</code></dfn>
+  attribute, if present, gives the <a href="infrastructure.html#mime-type">MIME type</a> of the linked
+  resource. It is purely advisory. The value must be a <a href="infrastructure.html#valid-mime-type">valid
+  MIME type</a>, optionally with parameters. </p><div class="note">
+
+   <p>The <code title="attr-hyperlink-ping"><a href="#ping">ping</a></code> attribute is redundant
+   with pre-existing technologies like HTTP redirects and JavaScript
+   in allowing Web pages to track which off-site links are most
+   popular or allowing advertisers to track click-through rates.</p>
+
+   <p>However, the <code title="attr-hyperlink-ping"><a href="#ping">ping</a></code> attribute
+   provides these advantages to the user over those alternatives:</p>
+
+   <ul><li>It allows the user to see the final target URL
+    unobscured.</li>
+
+    <li>It allows the UA to inform the user about the out-of-band
+    notifications.</li>
+
+    <li>It allows the user to disable the notifications without losing
+    the underlying link functionality.</li>
+
+    <li>It allows the UA to optimize the use of available network
+    bandwidth so that the target page loads faster.</li>
+
+   </ul><p>Thus, while it is possible to track users without this feature,
+   authors are encouraged to use the <code title="attr-hyperlink-ping"><a href="#ping">ping</a></code> attribute so that the user
+   agent can make the user experience more transparent.</p>
+
+  </div><!-- resolving ping urls happens at audit time, so base URL changes
+  affect the values of ping attributes --><h4 id="linkTypes"><span class="secno">6.10.2 </span>Link types</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The following table summarizes the link types that are defined by
+  this specification. This table is non-normative; the actual
+  definitions for the link types are given in the next few
+  sections.</p><p>In this section, the term <i>referenced document</i> refers to
+  the resource identified by the element representing the link, and
+  the term <i>current document</i> refers to the resource within
+  which the element representing the link finds itself.</p><p>Except where otherwise specified, a keyword must not be specified
+  more than once per <code title="attr-rel-hyperlink">rel</code>
+  attribute.</p><p>The link types are <a href="infrastructure.html#ascii-case-insensitive">ASCII case-insensitive</a>
+  values.</p><p class="example">Thus, <code title="">rel="next"</code> is the
+  same as <code title="">rel="NEXT"</code>.</p><table><thead><tr><th rowspan="2">Link type</th>
+     <th colspan="2">Effect on...</th>
+     <th rowspan="2">Brief description</th>
+    </tr><tr><th><code><a href="semantics.html#the-link-element">link</a></code></th>
+     <th><code><a href="text-level-semantics.html#the-a-element">a</a></code> and <code><a href="the-map-element.html#the-area-element">area</a></code></th>
+    </tr></thead><tbody><tr><td><code title="rel-alternate"><a href="#link-type-alternate">alternate</a></code></td> <!-- second most used <link rel> value -->
+     <td><a href="semantics.html#hyperlink-link" title="hyperlink link">Hyperlink</a></td>
+     <td><a href="#hyperlink">Hyperlink</a></td>
+     <td>Gives alternate representations of the current document.</td>
+    </tr><tr><td><code title="rel-archives"><a href="#link-type-archives">archives</a></code></td>
+     <td><a href="semantics.html#hyperlink-link" title="hyperlink link">Hyperlink</a></td>
+     <td><a href="#hyperlink">Hyperlink</a></td>
+     <td>Provides a link to a collection of records, documents, or other materials of historical interest.</td>
+    </tr><tr><td><code title="rel-author"><a href="#link-type-author">author</a></code></td>
+     <td><a href="semantics.html#hyperlink-link" title="hyperlink link">Hyperlink</a></td>
+     <td><a href="#hyperlink">Hyperlink</a></td>
+     <td>Gives a link to the current document's author.</td>
+    </tr><tr><td><code title="rel-bookmark"><a href="#link-type-bookmark">bookmark</a></code></td> <!-- fourth most used <a rel> value -->
+     <td><em>not allowed</em></td>
+     <td><a href="#hyperlink">Hyperlink</a></td>
+     <td>Gives the permalink for the nearest ancestor section.</td>
+    </tr><!-- (commented out on the assumption that rel=contact is really XFN)
+    <tr>
+     <td><code title="rel-contact">contact</code></td> <!- 8th most used <a rel> value ->
+     <td><span title="hyperlink link">Hyperlink</span></td>
+     <td><span>Hyperlink</span></td>
+     <td>Gives a link to contact information for the current document.</td>
+    </tr>
+--><tr><td><code title="rel-external"><a href="#link-type-external">external</a></code></td> <!-- fifth and sixth most used <a rel> value (sixth is "external nofollow") -->
+     <td><em>not allowed</em></td>
+     <td><a href="#hyperlink">Hyperlink</a></td>
+     <td>Indicates that the referenced document is not part of the same site as the current document.</td>
+    </tr><tr><td><code title="rel-first"><a href="#link-type-first">first</a></code></td>
+     <td><a href="semantics.html#hyperlink-link" title="hyperlink link">Hyperlink</a></td>
+     <td><a href="#hyperlink">Hyperlink</a></td>
+     <td>Indicates that the current document is a part of a series, and that the first document in the series is the referenced document.</td>
+    </tr><tr><td><code title="rel-help"><a href="#link-type-help">help</a></code></td>
+     <td><a href="semantics.html#hyperlink-link" title="hyperlink link">Hyperlink</a></td>
+     <td><a href="#hyperlink">Hyperlink</a></td>
+     <td>Provides a link to context-sensitive help.</td>
+    </tr><tr><td><code title="rel-icon"><a href="#rel-icon">icon</a></code></td> <!-- link rel="shortcut icon" and its ilk are the fourth, sixth, and ninth most used values -->
+     <td><a href="semantics.html#external-resource-link" title="external resource link">External Resource</a></td>
+     <td><em>not allowed</em></td>
+     <td>Imports an icon to represent the current document.</td>
+    </tr><tr><td><code title="rel-index"><a href="#link-type-index">index</a></code></td> <!-- used more than "top" and "contents" on <link> (though on <a>, "contents" wins) -->
+     <td><a href="semantics.html#hyperlink-link" title="hyperlink link">Hyperlink</a></td>
+     <td><a href="#hyperlink">Hyperlink</a></td>
+     <td>Gives a link to the document that provides a table of contents or index listing the current document.</td>
+    </tr><tr><td><code title="rel-last"><a href="#link-type-last">last</a></code></td>
+     <td><a href="semantics.html#hyperlink-link" title="hyperlink link">Hyperlink</a></td>
+     <td><a href="#hyperlink">Hyperlink</a></td>
+     <td>Indicates that the current document is a part of a series, and that the last document in the series is the referenced document.</td>
+    </tr><tr><td><code title="rel-license"><a href="#link-type-license">license</a></code></td> <!-- seventh most used <a rel> value -->
+     <td><a href="semantics.html#hyperlink-link" title="hyperlink link">Hyperlink</a></td>
+     <td><a href="#hyperlink">Hyperlink</a></td>
+     <td>Indicates that the main content of the current document is covered by the copyright license described by the referenced document.</td>
+    </tr><tr><td><code title="rel-next"><a href="#link-type-next">next</a></code></td>
+     <td><a href="semantics.html#hyperlink-link" title="hyperlink link">Hyperlink</a></td>
+     <td><a href="#hyperlink">Hyperlink</a></td>
+     <td>Indicates that the current document is a part of a series, and that the next document in the series is the referenced document.</td>
+    </tr><tr><td><code title="rel-nofollow"><a href="#link-type-nofollow">nofollow</a></code></td> <!-- most used <a rel> value (and sixth most used is "external nofollow") -->
+     <td><em>not allowed</em></td>
+     <td><a href="#hyperlink">Hyperlink</a></td>
+     <td>Indicates that the current document's original author or publisher does not endorse the referenced document.</td>
+    </tr><tr><td><code title="rel-noreferrer"><a href="#link-type-noreferrer">noreferrer</a></code></td>
+     <td><em>not allowed</em></td>
+     <td><a href="#hyperlink">Hyperlink</a></td>
+     <td>Requires that the user agent not send an HTTP <code title="">Referer</code> (sic) header if the user follows the hyperlink.</td>
+    </tr><tr><td><code title="rel-pingback"><a href="#link-type-pingback">pingback</a></code></td>
+     <td><a href="semantics.html#external-resource-link" title="external resource link">External Resource</a></td>
+     <td><em>not allowed</em></td>
+     <td>Gives the address of the pingback server that handles pingbacks to the current document.</td>
+    </tr><tr><td><code title="rel-prefetch"><a href="#link-type-prefetch">prefetch</a></code></td>
+     <td><a href="semantics.html#external-resource-link" title="external resource link">External Resource</a></td>
+     <td><em>not allowed</em></td>
+     <td>Specifies that the target resource should be preemptively cached.</td>
+    </tr><tr><td><code title="rel-prev"><a href="#link-type-prev">prev</a></code></td> <!-- prev is used more than previous -->
+     <td><a href="semantics.html#hyperlink-link" title="hyperlink link">Hyperlink</a></td>
+     <td><a href="#hyperlink">Hyperlink</a></td>
+     <td>Indicates that the current document is a part of a series, and that the previous document in the series is the referenced document.</td>
+    </tr><tr><td><code title="rel-search"><a href="#link-type-search">search</a></code></td> <!-- used quite a bit -->
+     <td><a href="semantics.html#hyperlink-link" title="hyperlink link">Hyperlink</a></td>
+     <td><a href="#hyperlink">Hyperlink</a></td>
+     <td>Gives a link to a resource that can be used to search through the current document and its related pages.</td>
+    </tr><tr><td><code title="rel-stylesheet"><a href="#link-type-stylesheet">stylesheet</a></code></td> <!-- most commonly used <link rel> value, variants came in 7th, 8th, 12th, 17th... -->
+     <td><a href="semantics.html#external-resource-link" title="external resource link">External Resource</a></td>
+     <td><em>not allowed</em></td>
+     <td>Imports a stylesheet.</td>
+    </tr><tr><td><code title="rel-sidebar"><a href="#link-type-sidebar">sidebar</a></code></td> <!-- used quite a bit -->
+     <td><a href="semantics.html#hyperlink-link" title="hyperlink link">Hyperlink</a></td>
+     <td><a href="#hyperlink">Hyperlink</a></td>
+     <td>Specifies that the referenced document, if retrieved, is intended to be shown in the browser's sidebar (if it has one).</td>
+    </tr><tr><td><code title="rel-tag"><a href="#link-type-tag">tag</a></code></td> <!-- second and third most used <a rel> value (third is technically "category tag"). -->
+     <td><a href="semantics.html#hyperlink-link" title="hyperlink link">Hyperlink</a></td>
+     <td><a href="#hyperlink">Hyperlink</a></td>
+     <td>Gives a tag (identified by the given address) that applies to the current document.</td>
+    </tr><tr><td><code title="rel-up"><a href="#link-type-up">up</a></code></td>
+     <td><a href="semantics.html#hyperlink-link" title="hyperlink link">Hyperlink</a></td>
+     <td><a href="#hyperlink">Hyperlink</a></td>
+     <td>Provides a link to a document giving the context for the current document.</td>
+    </tr></tbody></table><!-- v2 ideas:
+   * rel="script"
+   * rel="related" // see also
+   * http://microformats.org/wiki/rel-enclosure
+  --><h5 id="link-type-alternate"><span class="secno">6.10.2.1 </span>Link type "<dfn title="rel-alternate"><code>alternate</code></dfn>"</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code title="rel-alternate"><a href="#link-type-alternate">alternate</a></code> keyword may be
+  used with <code><a href="semantics.html#the-link-element">link</a></code>, <code><a href="text-level-semantics.html#the-a-element">a</a></code>, and <code><a href="the-map-element.html#the-area-element">area</a></code>
+  elements. For <code><a href="semantics.html#the-link-element">link</a></code> elements, if the <code title="attr-link-rel"><a href="semantics.html#attr-link-rel">rel</a></code> attribute does not also contain the
+  keyword <code title="rel-stylesheet"><a href="#link-type-stylesheet">stylesheet</a></code>, it creates a
+  <a href="semantics.html#hyperlink-link" title="hyperlink link">hyperlink</a>; but if it
+  <em>does</em> also contain the keyword <code title="rel-stylesheet"><a href="#link-type-stylesheet">stylesheet</a></code>, the <code title="rel-alternate"><a href="#link-type-alternate">alternate</a></code> keyword instead modifies the
+  meaning of the <code title="rel-stylesheet"><a href="#link-type-stylesheet">stylesheet</a></code>
+  keyword in the way described for that keyword, and the rest of this
+  subsection doesn't apply.</p><p>The <code title="rel-alternate"><a href="#link-type-alternate">alternate</a></code> keyword
+  indicates that the referenced document is an alternate
+  representation of the current document.</p><p>The nature of the referenced document is given by the <code title="attr-hyperlink-media"><a href="#attr-hyperlink-media">media</a></code>, <code title="attr-hyperlink-hreflang"><a href="#attr-hyperlink-hreflang">hreflang</a></code>, and <code title="attr-hyperlink-type"><a href="#attr-hyperlink-type">type</a></code> attributes.</p><p>If the <code title="rel-alternate"><a href="#link-type-alternate">alternate</a></code> keyword is
+  used with the <code title="attr-hyperlink-media"><a href="#attr-hyperlink-media">media</a></code>
+  attribute, it indicates that the referenced document is intended for
+  use with the media specified.</p><p>If the <code title="rel-alternate"><a href="#link-type-alternate">alternate</a></code> keyword is
+  used with the <code title="attr-hyperlink-hreflang"><a href="#attr-hyperlink-hreflang">hreflang</a></code>
+  attribute, and that attribute's value differs from the <a href="infrastructure.html#root-element">root
+  element</a>'s <a href="elements.html#language">language</a>, it indicates that the
+  referenced document is a translation.</p><p>If the <code title="rel-alternate"><a href="#link-type-alternate">alternate</a></code> keyword is
+  used with the <code title="attr-hyperlink-type"><a href="#attr-hyperlink-type">type</a></code>
+  attribute, it indicates that the referenced document is a
+  reformulation of the current document in the specified format.</p><p>The <code title="attr-hyperlink-media"><a href="#attr-hyperlink-media">media</a></code>, <code title="attr-hyperlink-hreflang"><a href="#attr-hyperlink-hreflang">hreflang</a></code>, and <code title="attr-hyperlink-type"><a href="#attr-hyperlink-type">type</a></code> attributes can be combined
+  when specified with the <code title="rel-alternate"><a href="#link-type-alternate">alternate</a></code>
+  keyword.</p><div class="example">
+
+   <p>For example, the following link is a French translation that
+   uses the PDF format:</p>
+
+   <pre>&lt;link rel=alternate type=application/pdf hreflang=fr href=manual-fr&gt;</pre>
+
+  </div><p>The <code title="rel-alternate"><a href="#link-type-alternate">alternate</a></code> link
+  relationship is transitive &#8212; that is, if a document links to
+  two other documents with the link type "<code title="rel-alternate"><a href="#link-type-alternate">alternate</a></code>", then, in addition to
+  implying that those documents are alternative representations of the
+  first document, it is also implying that those two documents are
+  alternative representations of each other.</p><h5 id="link-type-archives"><span class="secno">6.10.2.2 </span>Link type "<dfn title="rel-archives"><code>archives</code></dfn>"</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code title="rel-archives"><a href="#link-type-archives">archives</a></code> keyword may be
+  used with <code><a href="semantics.html#the-link-element">link</a></code>, <code><a href="text-level-semantics.html#the-a-element">a</a></code>, and <code><a href="the-map-element.html#the-area-element">area</a></code>
+  elements. For <code><a href="semantics.html#the-link-element">link</a></code> elements, it creates a <a href="semantics.html#hyperlink-link" title="hyperlink link">hyperlink</a>.</p><p>The <code title="rel-archives"><a href="#link-type-archives">archives</a></code> keyword indicates
+  that the referenced document describes a collection of records,
+  documents, or other materials of historical interest.</p><p class="example">A blog's index page could link to an index of the
+  blog's past posts with <code title="">rel="archives"</code>.</p><h5 id="link-type-author"><span class="secno">6.10.2.3 </span>Link type "<dfn title="rel-author"><code>author</code></dfn>"</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code title="rel-author"><a href="#link-type-author">author</a></code> keyword may be
+  used with <code><a href="semantics.html#the-link-element">link</a></code>, <code><a href="text-level-semantics.html#the-a-element">a</a></code>, and <code><a href="the-map-element.html#the-area-element">area</a></code>
+  elements. For <code><a href="semantics.html#the-link-element">link</a></code> elements, it creates a <a href="semantics.html#hyperlink-link" title="hyperlink link">hyperlink</a>.</p><p>For <code><a href="text-level-semantics.html#the-a-element">a</a></code> and <code><a href="the-map-element.html#the-area-element">area</a></code> elements, the <code title="rel-author"><a href="#link-type-author">author</a></code> keyword indicates that the
+  referenced document provides further information about the author of
+  the nearest <code><a href="sections.html#the-article-element">article</a></code> element ancestor of the element
+  defining the hyperlink, if there is one, or of the page as a whole,
+  otherwise.</p><p>For <code><a href="semantics.html#the-link-element">link</a></code> elements, the <code title="rel-author"><a href="#link-type-author">author</a></code> keyword indicates that the
+  referenced document provides further information about the author
+  for the page as a whole.</p><p class="note">The "referenced document" can be, and often is, a
+  <code title="">mailto:</code> URL giving the e-mail address of the
+  author. <a href="references.html#refsMAILTO">[MAILTO]</a></p><h5 id="link-type-bookmark"><span class="secno">6.10.2.4 </span>Link type "<dfn title="rel-bookmark"><code>bookmark</code></dfn>"</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code title="rel-bookmark"><a href="#link-type-bookmark">bookmark</a></code> keyword may be
+  used with <code><a href="text-level-semantics.html#the-a-element">a</a></code> and <code><a href="the-map-element.html#the-area-element">area</a></code> elements.</p><p>The <code title="rel-bookmark"><a href="#link-type-bookmark">bookmark</a></code> keyword gives a
+  permalink for the nearest ancestor <code><a href="sections.html#the-article-element">article</a></code> element of
+  the linking element in question, or of <a href="#associatedSection">the section the linking element is most
+  closely associated with</a>, if there are no ancestor
+  <code><a href="sections.html#the-article-element">article</a></code> elements.</p><div class="example">
+   <p>The following snippet has three permalinks. A user agent could
+   determine which permalink applies to which part of the spec by
+   looking at where the permalinks are given.</p>
+   <pre> ...
+ &lt;body&gt;
+  &lt;h1&gt;Example of permalinks&lt;/h1&gt;
+  &lt;div id="a"&gt;
+   &lt;h2&gt;First example&lt;/h2&gt;
+   &lt;p&gt;&lt;a href="a.html" rel="bookmark"&gt;This&lt;/a&gt; permalink applies to
+   only the content from the first H2 to the second H2. The DIV isn't
+   exactly that section, but it roughly corresponds to it.&lt;/p&gt;
+  &lt;/div&gt;
+  &lt;h2&gt;Second example&lt;/h2&gt;
+  &lt;article id="b"&gt;
+   &lt;p&gt;&lt;a href="b.html" rel="bookmark"&gt;This&lt;/a&gt; permalink applies to
+   the outer ARTICLE element (which could be, e.g., a blog post).&lt;/p&gt;
+   &lt;article id="c"&gt;
+    &lt;p&gt;&lt;a href="c.html" rel="bookmark"&gt;This&lt;/a&gt; permalink applies to
+    the inner ARTICLE element (which could be, e.g., a blog comment).&lt;/p&gt;
+   &lt;/article&gt;
+  &lt;/article&gt;
+ &lt;/body&gt;
+ ...</pre>
+  </div><!-- (commented out on the assumption that rel=contact is really XFN)
+  <h5>Link type "<dfn title="rel-contact"><code>contact</code></dfn>"</h5>
+
+  <p>The <code title="rel-contact">contact</code> keyword may be used
+  with <code>link</code>, <code>a</code>, and <code>area</code>
+  elements. For <code>link</code> elements, it creates a <span
+  title="hyperlink link">hyperlink</span>.</p>
+
+  <p>For <code>a</code> and <code>area</code> elements, the <code
+  title="rel-contact">contact</code> keyword indicates that the
+  referenced document provides further contact information for the
+  author of the nearest <code>article</code> element ancestor of the
+  element defining the hyperlink, if there is one, or of the page as a
+  whole, otherwise.</p>
+
+  <div class="impl">
+
+  <p>User agents must treat any hyperlink in an <code>address</code>
+  element as having the <code title="rel-contact">contact</code> link
+  type specified.</p>
+
+  </div>
+
+  <p>For <code>link</code> elements, the <code
+  title="rel-contact">contact</code> keyword indicates that the
+  referenced document provides further contact information for the
+  page as a whole.</p>
+--><h5 id="link-type-external"><span class="secno">6.10.2.5 </span>Link type "<dfn title="rel-external"><code>external</code></dfn>"</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code title="rel-external"><a href="#link-type-external">external</a></code> keyword may be
+  used with <code><a href="text-level-semantics.html#the-a-element">a</a></code> and <code><a href="the-map-element.html#the-area-element">area</a></code> elements.</p><p>The <code title="rel-external"><a href="#link-type-external">external</a></code> keyword indicates
+  that the link is leading to a document that is not part of the site
+  that the current document forms a part of.</p><h5 id="link-type-help"><span class="secno">6.10.2.6 </span>Link type "<dfn title="rel-help"><code>help</code></dfn>"</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code title="rel-help"><a href="#link-type-help">help</a></code> keyword may be used with
+  <code><a href="semantics.html#the-link-element">link</a></code>, <code><a href="text-level-semantics.html#the-a-element">a</a></code>, and <code><a href="the-map-element.html#the-area-element">area</a></code>
+  elements. For <code><a href="semantics.html#the-link-element">link</a></code> elements, it creates a <a href="semantics.html#hyperlink-link" title="hyperlink link">hyperlink</a>.</p><p>For <code><a href="text-level-semantics.html#the-a-element">a</a></code> and <code><a href="the-map-element.html#the-area-element">area</a></code> elements, the <code title="rel-help"><a href="#link-type-help">help</a></code> keyword indicates that the referenced
+  document provides further help information for the parent of the
+  element defining the hyperlink, and its children.</p><div class="example">
+
+   <p>In the following example, the form control has associated
+   context-sensitive help. The user agent could use this information,
+   for example, displaying the referenced document if the user presses
+   the "Help" or "F1" key.</p>
+
+   <pre> &lt;p&gt;&lt;label&gt; Topic: &lt;input name=topic&gt; &lt;a href="help/topic.html" rel="help"&gt;(Help)&lt;/a&gt;&lt;/label&gt;&lt;/p&gt;</pre>
+
+  </div><p>For <code><a href="semantics.html#the-link-element">link</a></code> elements, the <code title="rel-help"><a href="#link-type-help">help</a></code> keyword indicates that the referenced
+  document provides help for the page as a whole.</p><h5 id="rel-icon"><span class="secno">6.10.2.7 </span>Link type "<dfn title="rel-icon"><code>icon</code></dfn>"</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code title="rel-icon"><a href="#rel-icon">icon</a></code> keyword may be used with
+  <code><a href="semantics.html#the-link-element">link</a></code> elements, for which it creates an <a href="semantics.html#external-resource-link" title="external resource link">external resource link</a>.</p><p>Icons could be auditory icons, visual icons, or other kinds of
+  icons. </p><p>The <dfn id="attr-link-sizes" title="attr-link-sizes"><code>sizes</code></dfn>
+  attribute gives the sizes of icons for visual media.</p><p>If specified, the attribute must have a value that is an
+  <a href="common-microsyntaxes.html#unordered-set-of-unique-space-separated-tokens">unordered set of unique space-separated tokens</a>. The
+  values must all be either <code title="attr-link-sizes-any"><a href="#attr-link-sizes-any">any</a></code> or a value that consists of
+  two <a href="common-microsyntaxes.html#valid-non-negative-integer" title="valid non-negative integer">valid non-negative
+  integers</a> that do not have a leading U+0030 DIGIT ZERO (0)
+  character and that are separated by a single U+0078 LATIN SMALL
+  LETTER X character (x).</p><p>The keywords represent icon sizes.</p><p>The <dfn id="attr-link-sizes-any" title="attr-link-sizes-any"><code>any</code></dfn> keyword
+  represents that the resource contains a scalable icon, e.g. as
+  provided by an SVG image.</p><p>The keywords specified on the <code title="attr-link-sizes"><a href="#attr-link-sizes">sizes</a></code> attribute must not represent
+  icon sizes that are not actually available in the linked
+  resource.</p><div class="example">
+
+   <p>The following snippet shows the top part of an application with
+   several icons.</p>
+
+   <pre>&lt;!DOCTYPE HTML&gt;
+&lt;html&gt;
+ &lt;head&gt;
+  &lt;title&gt;lsForums &#8212; Inbox&lt;/title&gt;
+  &lt;link rel=icon href=favicon.png sizes="16x16" type="image/png"&gt;
+  &lt;link rel=icon href=windows.ico sizes="32x32 48x48"&gt;
+  &lt;link rel=icon href=mac.icns sizes="128x128 512x512 8192x8192 32768x32768"&gt;
+  &lt;link rel=icon href=iphone.png sizes="59x60" type="image/png"&gt;
+  &lt;link rel=icon href=gnome.svg sizes="any" type="image/svg+xml"&gt;
+  &lt;link rel=stylesheet href=lsforums.css&gt;
+  &lt;script src=lsforums.js&gt;&lt;/script&gt;
+  &lt;meta name=application-name content="lsForums"&gt;
+ &lt;/head&gt;
+ &lt;body&gt;
+  ...</pre>
+
+  </div><h5 id="link-type-license"><span class="secno">6.10.2.8 </span>Link type "<dfn title="rel-license"><code>license</code></dfn>"</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code title="rel-license"><a href="#link-type-license">license</a></code> keyword may be used
+  with <code><a href="semantics.html#the-link-element">link</a></code>, <code><a href="text-level-semantics.html#the-a-element">a</a></code>, and <code><a href="the-map-element.html#the-area-element">area</a></code>
+  elements. For <code><a href="semantics.html#the-link-element">link</a></code> elements, it creates a <a href="semantics.html#hyperlink-link" title="hyperlink link">hyperlink</a>.</p><p>The <code title="rel-license"><a href="#link-type-license">license</a></code> keyword indicates
+  that the referenced document provides the copyright license terms
+  under which the main content of the current document is
+  provided.</p><p>This specification does not specify how to distinguish between
+  the main content of a document and content that is not deemed to be
+  part of that main content. The distinction should be made clear to
+  the user.</p><div class="example">
+
+   <p>Consider a photo sharing site. A page on that site might
+   describe and show a photograph, and the page might be marked up as
+   follows:</p>
+
+   <pre>&lt;!DOCTYPE HTML&gt;
+&lt;html&gt;
+ &lt;head&gt;
+  &lt;title&gt;Exampl Pictures: Kissat&lt;/title&gt;
+  &lt;link rel="stylesheet" href="/style/default"&gt;
+ &lt;/head&gt;
+ &lt;body&gt;
+  &lt;h1&gt;Kissat&lt;/h1&gt;
+  &lt;nav&gt;
+   &lt;a href="../"&gt;Return to photo index&lt;/a&gt;
+  &lt;/nav&gt;
+  &lt;figure&gt;
+   &lt;dd&gt;&lt;img src="/pix/39627052_fd8dcd98b5.jpg"&gt;
+   &lt;dt&gt;Kissat
+  &lt;/figure&gt;
+  &lt;p&gt;One of them has six toes!&lt;/p&gt;
+  &lt;p&gt;&lt;small&gt;&lt;a rel="license" href="http://www.opensource.org/licenses/mit-license.php"&gt;MIT Licensed&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
+  &lt;footer&gt;
+   &lt;a href="/"&gt;Home&lt;/a&gt; | &lt;a href="../"&gt;Photo index&lt;/a&gt;
+   &lt;p&gt;&lt;small&gt;&#169; copyright 2009 Exampl Pictures. All Rights Reserved.&lt;/small&gt;&lt;/p&gt;
+  &lt;/footer&gt;
+ &lt;/body&gt;
+&lt;/html&gt;</pre>
+
+   <p>In this case the <code title="rel-license"><a href="#link-type-license">license</a></code>
+   applies to just the photo (the main content of the document), not
+   the whole document. In particular not the design of the page
+   itself, which is covered by the copyright given at the bottom of
+   the document. This could be made clearer in the styling
+   (e.g. making the license link prominently positioned near the
+   photograph, while having the page copyright in light small text at
+   the foot of the page.</p>
+
+  </div><h5 id="link-type-nofollow"><span class="secno">6.10.2.9 </span>Link type "<dfn title="rel-nofollow"><code>nofollow</code></dfn>"</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code title="rel-nofollow"><a href="#link-type-nofollow">nofollow</a></code> keyword may be
+  used with <code><a href="text-level-semantics.html#the-a-element">a</a></code> and <code><a href="the-map-element.html#the-area-element">area</a></code> elements.</p><p>The <code title="rel-nofollow"><a href="#link-type-nofollow">nofollow</a></code> keyword indicates
+  that the link is not endorsed by the original author or publisher of
+  the page, or that the link to the referenced document was included
+  primarily because of a commercial relationship between people
+  affiliated with the two pages.</p><h5 id="link-type-noreferrer"><span class="secno">6.10.2.10 </span>Link type "<dfn title="rel-noreferrer"><code>noreferrer</code></dfn>"</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code title="rel-noreferrer"><a href="#link-type-noreferrer">noreferrer</a></code> keyword may be
+  used with <code><a href="text-level-semantics.html#the-a-element">a</a></code> and <code><a href="the-map-element.html#the-area-element">area</a></code> elements.</p><p>It indicates that no referrer information is to be leaked when
+  following the link.</p><!-- v2: Would be nice to apply this to other elements too,
+  e.g. letting <img> or CSS or <video> hide the referrer --><h5 id="link-type-pingback"><span class="secno">6.10.2.11 </span>Link type "<dfn title="rel-pingback"><code>pingback</code></dfn>"</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code title="rel-pingback"><a href="#link-type-pingback">pingback</a></code> keyword may be
+  used with <code><a href="semantics.html#the-link-element">link</a></code> elements, for which it creates an <a href="semantics.html#external-resource-link" title="external resource link">external resource link</a>.</p><p>For the semantics of the <code title="rel-pingback"><a href="#link-type-pingback">pingback</a></code> keyword, see the Pingback 1.0
+  specification. <a href="references.html#refsPINGBACK">[PINGBACK]</a></p><h5 id="link-type-prefetch"><span class="secno">6.10.2.12 </span>Link type "<dfn title="rel-prefetch"><code>prefetch</code></dfn>"</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code title="rel-prefetch"><a href="#link-type-prefetch">prefetch</a></code> keyword may be
+  used with <code><a href="semantics.html#the-link-element">link</a></code> elements, for which it creates an <a href="semantics.html#external-resource-link" title="external resource link">external resource link</a>.</p><p>The <code title="rel-prefetch"><a href="#link-type-prefetch">prefetch</a></code> keyword indicates
+  that preemptively fetching and caching the specified resource is
+  likely to be beneficial, as it is highly likely that the user will
+  require this resource.</p><p>There is no default type for resources given by the <code title="rel-prefetch"><a href="#link-type-prefetch">prefetch</a></code> keyword.</p><h5 id="link-type-search"><span class="secno">6.10.2.13 </span>Link type "<dfn title="rel-search"><code>search</code></dfn>"</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code title="rel-search"><a href="#link-type-search">search</a></code> keyword may be used
+  with <code><a href="semantics.html#the-link-element">link</a></code>, <code><a href="text-level-semantics.html#the-a-element">a</a></code>, and <code><a href="the-map-element.html#the-area-element">area</a></code>
+  elements. For <code><a href="semantics.html#the-link-element">link</a></code> elements, it creates a <a href="semantics.html#hyperlink-link" title="hyperlink link">hyperlink</a>.</p><p>The <code title="rel-search"><a href="#link-type-search">search</a></code> keyword indicates that
+  the referenced document provides an interface specifically for
+  searching the document and its related resources.</p><p class="note">OpenSearch description documents can be used with
+  <code><a href="semantics.html#the-link-element">link</a></code> elements and the <code title="rel-search"><a href="#link-type-search">search</a></code> link type to enable user agents to
+  autodiscover search interfaces. <a href="references.html#refsOPENSEARCH">[OPENSEARCH]</a></p><h5 id="link-type-stylesheet"><span class="secno">6.10.2.14 </span>Link type "<dfn title="rel-stylesheet"><code>stylesheet</code></dfn>"</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code title="rel-stylesheet"><a href="#link-type-stylesheet">stylesheet</a></code> keyword may be
+  used with <code><a href="semantics.html#the-link-element">link</a></code> elements, for which it creates an <a href="semantics.html#external-resource-link" title="external resource link">external resource link</a> that
+  contributes to the <a href="semantics.html#styling">styling processing model</a>.</p><p>The specified resource is a resource that describes how to
+  present the document. Exactly how the resource is to be processed
+  depends on the actual type of the resource.</p><p>If the <code title="rel-alternate"><a href="#link-type-alternate">alternate</a></code> keyword is
+  also specified on the <code><a href="semantics.html#the-link-element">link</a></code> element, then <dfn id="the-link-is-an-alternative-stylesheet">the link
+  is an alternative stylesheet</dfn>; in this case, the <code title="attr-title"><a href="elements.html#the-title-attribute">title</a></code> attribute must be specified on the
+  <code><a href="semantics.html#the-link-element">link</a></code> element, with a non-empty value.</p><p>The default type for resources given by the <code title="rel-stylesheet"><a href="#link-type-stylesheet">stylesheet</a></code> keyword is <code title="">text/css</code>.</p><h5 id="link-type-sidebar"><span class="secno">6.10.2.15 </span>Link type "<dfn title="rel-sidebar"><code>sidebar</code></dfn>"</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code title="rel-sidebar"><a href="#link-type-sidebar">sidebar</a></code> keyword may be used
+  with <code><a href="semantics.html#the-link-element">link</a></code>, <code><a href="text-level-semantics.html#the-a-element">a</a></code>, and <code><a href="the-map-element.html#the-area-element">area</a></code>
+  elements. For <code><a href="semantics.html#the-link-element">link</a></code> elements, it creates a <a href="semantics.html#hyperlink-link" title="hyperlink link">hyperlink</a>.</p><p>The <code title="rel-sidebar"><a href="#link-type-sidebar">sidebar</a></code> keyword indicates
+  that the referenced document, if retrieved, is intended to be shown
+  in a <a href="browsers.html#secondary-browsing-context">secondary browsing context</a> (if possible), instead
+  of in the current <a href="browsers.html#browsing-context">browsing context</a>.</p><p>A <a href="#hyperlink" title="hyperlink">hyperlink element</a> with the <code title="rel-sidebar"><a href="#link-type-sidebar">sidebar</a></code> keyword specified is a <dfn id="rel-sidebar-hyperlink" title="rel-sidebar-hyperlink">sidebar hyperlink</dfn>.</p><h5 id="link-type-tag"><span class="secno">6.10.2.16 </span>Link type "<dfn title="rel-tag"><code>tag</code></dfn>"</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code title="rel-tag"><a href="#link-type-tag">tag</a></code> keyword may be used
+  with <code><a href="semantics.html#the-link-element">link</a></code>, <code><a href="text-level-semantics.html#the-a-element">a</a></code>, and <code><a href="the-map-element.html#the-area-element">area</a></code>
+  elements. For <code><a href="semantics.html#the-link-element">link</a></code> elements, it creates a <a href="semantics.html#hyperlink-link" title="hyperlink link">hyperlink</a>.</p><p>The <code title="rel-tag"><a href="#link-type-tag">tag</a></code> keyword indicates that the
+  <em>tag</em> that the referenced document represents applies to the
+  current document.</p><p class="note">Since it indicates that the tag <em>applies to the
+  current document</em>, it would be inappropriate to use this keyword
+  in the markup of a <a href="commands.html#tag-cloud">tag cloud</a>, which lists
+  the popular tag across a set of pages.</p><h5 id="hierarchical-link-types"><span class="secno">6.10.2.17 </span>Hierarchical link types</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>Some documents form part of a hierarchical structure of
+  documents.</p><p>A hierarchical structure of documents is one where each document
+  can have various subdocuments. The document of which a document is a
+  subdocument is said to be the document's <em>parent</em>. A document
+  with no parent forms the top of the hierarchy.</p><p>A document may be part of multiple hierarchies.</p><h6 id="link-type-index"><span class="secno">6.10.2.17.1 </span>Link type "<dfn title="rel-index"><code>index</code></dfn>"</h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code title="rel-index"><a href="#link-type-index">index</a></code> keyword may be used with
+  <code><a href="semantics.html#the-link-element">link</a></code>, <code><a href="text-level-semantics.html#the-a-element">a</a></code>, and <code><a href="the-map-element.html#the-area-element">area</a></code>
+  elements. For <code><a href="semantics.html#the-link-element">link</a></code> elements, it creates a <a href="semantics.html#hyperlink-link" title="hyperlink link">hyperlink</a>.</p><p>The <code title="rel-index"><a href="#link-type-index">index</a></code> keyword indicates that
+  the document is part of a hierarchical structure, and that the link
+  is leading to the document that is the top of the hierarchy. It
+  conveys more information when used with the <code title="rel-up"><a href="#link-type-up">up</a></code> keyword (q.v.).</p><h6 id="link-type-up"><span class="secno">6.10.2.17.2 </span>Link type "<dfn title="rel-up"><code>up</code></dfn>"</h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code title="rel-up"><a href="#link-type-up">up</a></code> keyword may be used with
+  <code><a href="semantics.html#the-link-element">link</a></code>, <code><a href="text-level-semantics.html#the-a-element">a</a></code>, and <code><a href="the-map-element.html#the-area-element">area</a></code>
+  elements. For <code><a href="semantics.html#the-link-element">link</a></code> elements, it creates a <a href="semantics.html#hyperlink-link" title="hyperlink link">hyperlink</a>.</p><p>The <code title="rel-up"><a href="#link-type-up">up</a></code> keyword indicates that the
+  document is part of a hierarchical structure, and that the link is
+  leading to a document that is an ancestor of the current
+  document.</p><p>The <code title="rel-up"><a href="#link-type-up">up</a></code> keyword may be repeated within
+  a <code title="attr-hyperlink-rel"><a href="#attr-hyperlink-rel">rel</a></code> attribute to indicate
+  the hierarchical distance from the current document to the
+  referenced document. If it occurs only once, then the link is
+  leading to the current document's parent; each additional occurrence
+  of the keyword represents one further level. If the <code title="rel-index"><a href="#link-type-index">index</a></code> keyword is also present, then the
+  number of <code title="rel-up"><a href="#link-type-up">up</a></code> keywords is the depth of
+  the current page relative to the top of the hierarchy. Only one link
+  is created for the set of one or more <code title="rel-up"><a href="#link-type-up">up</a></code>
+  keywords and, if present, the <code title="rel-index"><a href="#link-type-index">index</a></code>
+  keyword.</p><p>If the page is part of multiple hierarchies, then they should be
+  described in different <a href="content-models.html#paragraph" title="paragraph">paragraphs</a>. </p><div class="example">
+
+   <p>This can be used to mark up a navigation style sometimes known
+   as bread crumbs. In the following example, the current page can be
+   reached via two paths.</p>
+
+   <pre>&lt;nav&gt;
+ &lt;p&gt;
+  &lt;a href="/" rel="index up up up"&gt;Main&lt;/a&gt; &gt;
+  &lt;a href="/products/" rel="up up"&gt;Products&lt;/a&gt; &gt;
+  &lt;a href="/products/dishwashers/" rel="up"&gt;Dishwashers&lt;/a&gt; &gt;
+  &lt;a&gt;Second hand&lt;/a&gt;
+ &lt;/p&gt;
+ &lt;p&gt;
+  &lt;a href="/" rel="index up up"&gt;Main&lt;/a&gt; &gt;
+  &lt;a href="/second-hand/" rel="up"&gt;Second hand&lt;/a&gt; &gt;
+  &lt;a&gt;Dishwashers&lt;/a&gt;
+ &lt;/p&gt;
+&lt;/nav&gt;</pre>
+
+  </div><p class="note">The <code title="dom-a-relList"><a href="#dom-a-rellist">relList</a></code> IDL
+  attribute (e.g. on the <code><a href="text-level-semantics.html#the-a-element">a</a></code> element) does not currently
+  represent multiple <code title="rel-up"><a href="#link-type-up">up</a></code> keywords (the
+  interface hides duplicates).</p><h5 id="sequential-link-types"><span class="secno">6.10.2.18 </span>Sequential link types</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>Some documents form part of a sequence of documents.</p><p>A sequence of documents is one where each document can have a
+  <em>previous sibling</em> and a <em>next sibling</em>. A document
+  with no previous sibling is the start of its sequence, a document
+  with no next sibling is the end of its sequence.</p><p>A document may be part of multiple sequences.</p><h6 id="link-type-first"><span class="secno">6.10.2.18.1 </span>Link type "<dfn title="rel-first"><code>first</code></dfn>"</h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code title="rel-first"><a href="#link-type-first">first</a></code> keyword may be used with
+  <code><a href="semantics.html#the-link-element">link</a></code>, <code><a href="text-level-semantics.html#the-a-element">a</a></code>, and <code><a href="the-map-element.html#the-area-element">area</a></code>
+  elements. For <code><a href="semantics.html#the-link-element">link</a></code> elements, it creates a <a href="semantics.html#hyperlink-link" title="hyperlink link">hyperlink</a>.</p><p>The <code title="rel-first"><a href="#link-type-first">first</a></code> keyword indicates that
+  the document is part of a sequence, and that the link is leading to
+  the document that is the first logical document in the sequence.</p><h6 id="link-type-last"><span class="secno">6.10.2.18.2 </span>Link type "<dfn title="rel-last"><code>last</code></dfn>"</h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code title="rel-last"><a href="#link-type-last">last</a></code> keyword may be used with
+  <code><a href="semantics.html#the-link-element">link</a></code>, <code><a href="text-level-semantics.html#the-a-element">a</a></code>, and <code><a href="the-map-element.html#the-area-element">area</a></code>
+  elements. For <code><a href="semantics.html#the-link-element">link</a></code> elements, it creates a <a href="semantics.html#hyperlink-link" title="hyperlink link">hyperlink</a>.</p><p>The <code title="rel-last"><a href="#link-type-last">last</a></code> keyword indicates that the
+  document is part of a sequence, and that the link is leading to the
+  document that is the last logical document in the sequence.</p><h6 id="link-type-next"><span class="secno">6.10.2.18.3 </span>Link type "<dfn title="rel-next"><code>next</code></dfn>"</h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code title="rel-next"><a href="#link-type-next">next</a></code> keyword may be used with
+  <code><a href="semantics.html#the-link-element">link</a></code>, <code><a href="text-level-semantics.html#the-a-element">a</a></code>, and <code><a href="the-map-element.html#the-area-element">area</a></code>
+  elements. For <code><a href="semantics.html#the-link-element">link</a></code> elements, it creates a <a href="semantics.html#hyperlink-link" title="hyperlink link">hyperlink</a>.</p><p>The <code title="rel-next"><a href="#link-type-next">next</a></code> keyword indicates that the
+  document is part of a sequence, and that the link is leading to the
+  document that is the next logical document in the sequence.</p><h6 id="link-type-prev"><span class="secno">6.10.2.18.4 </span>Link type "<dfn title="rel-prev"><code>prev</code></dfn>"</h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code title="rel-prev"><a href="#link-type-prev">prev</a></code> keyword may be used with
+  <code><a href="semantics.html#the-link-element">link</a></code>, <code><a href="text-level-semantics.html#the-a-element">a</a></code>, and <code><a href="the-map-element.html#the-area-element">area</a></code>
+  elements. For <code><a href="semantics.html#the-link-element">link</a></code> elements, it creates a <a href="semantics.html#hyperlink-link" title="hyperlink link">hyperlink</a>.</p><p>The <code title="rel-prev"><a href="#link-type-prev">prev</a></code> keyword indicates that the
+  document is part of a sequence, and that the link is leading to the
+  document that is the previous logical document in the sequence.</p><h5 id="other-link-types"><span class="secno">6.10.2.19 </span>Other link types</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p><dfn id="concept-rel-extensions" title="concept-rel-extensions">Extensions to the predefined
+  set of link types</dfn> may be registered in the <a href="http://wiki.whatwg.org/wiki/RelExtensions">WHATWG Wiki
+  RelExtensions page</a>. <a href="references.html#refsWHATWGWIKI">[WHATWGWIKI]</a></p><p>Anyone is free to edit the WHATWG Wiki RelExtensions page at any
+  time to add a type. Extension types must be specified with the
+  following information:</p><dl><dt>Keyword</dt>
+
+   <dd><p>The actual value being defined. The value should not be
+   confusingly similar to any other defined value (e.g. differing only
+   in case).</p></dd>
+
+
+   <dt>Effect on... <code><a href="semantics.html#the-link-element">link</a></code></dt>
+
+   <dd>
+
+    <p>One of the following:</p>
+
+    <dl><dt>not allowed</dt>
+
+     <dd>The keyword is not allowed to be specified on
+     <code><a href="semantics.html#the-link-element">link</a></code> elements.</dd>
+
+     <dt>Hyperlink</dt>
+
+     <dd>The keyword may be specified on a <code><a href="semantics.html#the-link-element">link</a></code> element;
+     it creates a <a href="semantics.html#hyperlink-link" title="hyperlink link">hyperlink
+     link</a>.</dd>
+
+     <dt>External Resource</dt>
+
+     <dd>The keyword may be specified on a <code><a href="semantics.html#the-link-element">link</a></code> element;
+     it creates a <a href="semantics.html#external-resource-link" title="external resource link">external
+     resource link</a>.</dd>
+
+    </dl></dd>
+
+
+   <dt>Effect on... <code><a href="text-level-semantics.html#the-a-element">a</a></code> and <code><a href="the-map-element.html#the-area-element">area</a></code></dt>
+
+   <dd>
+
+    <p>One of the following:</p>
+
+    <dl><dt>not allowed</dt>
+
+     <dd>The keyword is not allowed to be specified on <code><a href="text-level-semantics.html#the-a-element">a</a></code>
+     and <code><a href="the-map-element.html#the-area-element">area</a></code> elements.</dd>
+
+     <dt>Hyperlink</dt>
+
+     <dd>The keyword may be specified on <code><a href="text-level-semantics.html#the-a-element">a</a></code> and
+     <code><a href="the-map-element.html#the-area-element">area</a></code> elements.</dd>
+
+    </dl></dd>
+
+
+   <dt>Brief description</dt>
+
+   <dd><p>A short non-normative description of what the keyword's
+   meaning is.</p></dd>
+
+
+   <dt>Specification</dt>
+
+   <dd><p>A link to a more detailed description of the keyword's
+   semantics and requirements. It could be another page on the Wiki,
+   or a link to an external page.</p></dd>
+
+
+   <dt>Synonyms</dt>
+
+   <dd><p>A list of other keyword values that have exactly the same
+   processing requirements. Authors should not use the values defined
+   to be synonyms, they are only intended to allow user agents to
+   support legacy content. Anyone may remove synonyms that are not
+   used in practice; only names that need to be processed as synonyms
+   for compatibility with legacy content are to be registered in this
+   way.</p></dd>
+
+
+   <dt>Status</dt>
+
+   <dd>
+
+    <p>One of the following:</p>
+
+    <dl><dt>Proposed</dt>
+
+     <dd>The keyword has not received wide peer review and
+     approval. Someone has proposed it and is, or soon will be, using
+     it.</dd>
+
+     <dt>Ratified</dt>
+
+     <dd>The keyword has received wide peer review and approval. It
+     has a specification that unambiguously defines how to handle
+     pages that use the keyword, including when they use it in
+     incorrect ways.</dd>
+
+     <dt>Discontinued</dt>
+
+     <dd>The keyword has received wide peer review and it has been
+     found wanting. Existing pages are using this keyword, but new
+     pages should avoid it. The "brief description" and
+     "specification" entries will give details of what authors should
+     use instead, if anything.</dd>
+
+    </dl><p>If a keyword is found to be redundant with existing values, it
+    should be removed and listed as a synonym for the existing
+    value.</p>
+
+    <p>If a keyword is registered in the "proposed" state for a
+    period of a month or more without being used or specified, then it
+    may be removed from the registry.</p>
+
+    <p>If a keyword is added with the "proposed" status and found to
+    be redundant with existing values, it should be removed and listed
+    as a synonym for the existing value. If a keyword is added with
+    the "proposed" status and found to be harmful, then it should be
+    changed to "discontinued" status.</p>
+
+    <p>Anyone can change the status at any time, but should only do so
+    in accordance with the definitions above.</p>
+
+   </dd>
+
+  </dl><p>Types defined as extensions in the <a href="http://wiki.whatwg.org/wiki/RelExtensions">WHATWG Wiki
+  RelExtensions page</a> with the status "proposed" or "ratified" may
+  be used with the <code title="">rel</code> attribute on
+  <code><a href="semantics.html#the-link-element">link</a></code>, <code><a href="text-level-semantics.html#the-a-element">a</a></code>, and <code><a href="the-map-element.html#the-area-element">area</a></code> elements in
+  accordance to the "Effect on..." field. <a href="references.html#refsWHATWGWIKI">[WHATWGWIKI]</a></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.615
retrieving revision 1.616
diff -u -d -r1.615 -r1.616
--- spec.html	6 Jan 2010 15:38:54 -0000	1.615
+++ spec.html	6 Jan 2010 15:49:35 -0000	1.616
@@ -0,0 +1,30931 @@
+<!DOCTYPE html><!-- when publishing, change bits marked ZZZ --><html lang=en-US-x-Hixie><head><title>HTML5 (Author Edition)</title><script src="link-fixup.js"></script><link href="whatwg.css" rel="stylesheet"/><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; }
[...30901 lines suppressed...]
+ v2  * make the spec consistent about whether the word "algorithm" is part of
+       an algorithm's name or not ("</dfn> algorithm", "</span> algorithm")
+ v2  * 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.
+ v2  * become more consistent about what markup we use to mark up
+       productions (nothing? <i>? <code>?)
+ v2  * use <code>Document</code> consistently instead of 'document'.
+ v2  * s/raise/throw/g
+ v2  * be clearer about arrays/lists/collections being zero-based
+       despite using the term "/index/th".
+ v2  * 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>
+--></body></html>
\ No newline at end of file

Index: number-state.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/number-state.html,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- number-state.html	6 Jan 2010 15:38:53 -0000	1.11
+++ number-state.html	6 Jan 2010 15:49:34 -0000	1.12
@@ -213,4 +213,785 @@
    .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-tabl
\ No newline at end of file
+   .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="data:text/css," id="complete" rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" id="author" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" id="highlight" rel="alternate stylesheet" title="Highlight implementation requirements"><script>
+   function getCookie(name) {
+     var params = location.search.substr(1).split("&");
+     for (var index = 0; index < params.length; index++) {
+       if (params[index] == name)
+         return "1";
+       var data = params[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     var cookies = document.cookie.split("; ");
+     for (var index = 0; index < cookies.length; index++) {
+       var data = cookies[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     return null;
+   }
+   function load(script) {
+     var e = document.createElement('script');
+     e.setAttribute('src', 'http://www.whatwg.org/specs/web-apps/current-work/' + script + '?' + encodeURIComponent(location) + '&' + encodeURIComponent(document.referrer));
+     document.body.appendChild(e);
+   }
+   function init() {
+     if (location.search == '?slow-browser')
+       return;
+     var configUI = document.createElement('div');
+     configUI.id = 'configUI';
+     document.body.appendChild(configUI);
+     // load('reviewer.js'); // would need cross-site XHR
+     if (document.getElementById('head'))
+       load('toc.js');
+     
+     // load('updater.js'); // would need cross-site XHR
+     load('dfn.js');
+     // load('status.js'); // would need cross-site XHR
+     if (getCookie('profile') == '1')
+       document.getElementsByTagName('h2')[0].textContent += '; load: ' + (new Date() - loadTimer) + 'ms';
+     fixBrokenLink();
+   }
+  </script><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><link href="states-of-the-type-attribute.html" title="4.10.5.1 States of the type attribute" rel="prev">
+  <link href="Overview.html#contents" title="Table of contents" rel="index">
+  <link href="common-input-element-attributes.html" title="4.10.5.2 Common input element attributes" rel="next">
+  </head><body onload="fixBrokenLink(); init()"><div class="head" id="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 (Author Edition)</h1>
+   </div><div>
+   <a href="states-of-the-type-attribute.html">&#8592; 4.10.5.1 States of the type attribute</a> &#8211;
+   <a href="Overview.html#contents">Table of contents</a> &#8211;
+   <a href="common-input-element-attributes.html">4.10.5.2 Common input element attributes &#8594;</a>
+  <ol class="toc"><li><ol><li><ol><li><ol><li><ol><li><a href="number-state.html#number-state"><span class="secno">4.10.5.1.13 </span>Number state</a></li><li><a href="number-state.html#range-state"><span class="secno">4.10.5.1.14 </span>Range state</a></li><li><a href="number-state.html#color-state"><span class="secno">4.10.5.1.15 </span>Color state</a></li><li><a href="number-state.html#checkbox-state"><span class="secno">4.10.5.1.16 </span>Checkbox state</a></li><li><a href="number-state.html#radio-button-state"><span class="secno">4.10.5.1.17 </span>Radio Button state</a></li><li><a href="number-state.html#file-upload-state"><span class="secno">4.10.5.1.18 </span>File Upload state</a></li><li><a href="number-state.html#submit-button-state"><span class="secno">4.10.5.1.19 </span>Submit Button state</a></li><li><a href="number-state.html#image-button-state"><span class="secno">4.10.5.1.20 </span>Image Button state</a></li><li><a href="number-state.html#reset-button-state"><span class="secno">4.10.5.1.21 /span>Reset Button state</a></li><li><a href="number-state.html#button-state"><span class="secno">4.10.5.1.22 </span>Button state</a></li></ol></li></ol></li></ol></li></ol></li></ol></div>
+
+  <h6 id="number-state"><span class="secno">4.10.5.1.13 </span><dfn title="attr-input-type-number">Number</dfn> state</h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code><a href="the-input-element.html#the-input-element">input</a></code> element <a href="#represents">represents</a> a control
+  for setting the element's <a href="#concept-fe-value" title="concept-fe-value">value</a> to a string representing a
+  number.</p><p>The <code title="attr-input-value"><a href="the-input-element.html#attr-input-value">value</a></code> attribute, if
+  specified, must have a value that is a <a href="common-microsyntaxes.html#valid-floating-point-number">valid floating point
+  number</a>.</p><!-- ok to set out-of-range value, we never know
+  when we might have to represent bogus input --><p>The <code title="attr-input-min"><a href="common-input-element-attributes.html#attr-input-min">min</a></code> attribute, if
+  specified, must have a value that is a <a href="common-microsyntaxes.html#valid-floating-point-number">valid floating point
+  number</a>. The <code title="attr-input-max"><a href="common-input-element-attributes.html#attr-input-max">max</a></code>
+  attribute, if specified, must have a value that is a <a href="common-microsyntaxes.html#valid-floating-point-number">valid
+  floating point number</a>.</p><p>The <a href="#concept-input-step-default" title="concept-input-step-default">default
+  step</a> is 1 (allowing only integers, unless the <code title="attr-input-min"><a href="common-input-element-attributes.html#attr-input-min">min</a></code> attribute has a non-integer
+  value).</p><div class="bookkeeping">
+
+   <p>The following common <code><a href="the-input-element.html#the-input-element">input</a></code> element content
+   attributes, IDL attributes, and methods apply to the element:
+   <code title="attr-input-autocomplete"><a href="common-input-element-attributes.html#attr-input-autocomplete">autocomplete</a></code>,
+   <code title="attr-input-list"><a href="common-input-element-attributes.html#attr-input-list">list</a></code>,
+   <code title="attr-input-max"><a href="common-input-element-attributes.html#attr-input-max">max</a></code>,
+   <code title="attr-input-min"><a href="common-input-element-attributes.html#attr-input-min">min</a></code>,
+   <code title="attr-input-readonly"><a href="common-input-element-attributes.html#attr-input-readonly">readonly</a></code>,
+   <code title="attr-input-required"><a href="common-input-element-attributes.html#attr-input-required">required</a></code>, and
+   <code title="attr-input-step"><a href="common-input-element-attributes.html#attr-input-step">step</a></code> content attributes;
+   <code title="dom-input-list"><a href="#dom-input-list">list</a></code>,
+   <code title="dom-input-value"><a href="#dom-input-value">value</a></code>,
+   <code title="dom-input-valueAsNumber"><a href="#dom-input-valueasnumber">valueAsNumber</a></code>, and
+   <code title="dom-input-selectedOption"><a href="#dom-input-selectedoption">selectedOption</a></code> IDL attributes;
+   <code title="dom-input-stepDown"><a href="#dom-input-stepdown">stepDown()</a></code> and
+   <code title="dom-input-stepUp"><a href="#dom-input-stepup">stepUp()</a></code> methods.</p>
+
+   <p>The <code title="dom-input-value"><a href="#dom-input-value">value</a></code> IDL attribute is
+   in mode <a href="#dom-input-value-value" title="dom-input-value-value">value</a>.</p>
+
+   <p>The <code title="event-input-input"><a href="#event-input-input">input</a></code> and <code title="event-input-change"><a href="#event-input-change">change</a></code> events apply.</p>
+
+   <p>The following content attributes must not be specified and do not
+   apply to the element:
+   <code class="no-backref" title="attr-input-accept"><a href="#attr-input-accept">accept</a></code>,
+   <code class="no-backref" title="attr-input-alt"><a href="#attr-input-alt">alt</a></code>,
+   <code class="no-backref" title="attr-input-checked"><a href="the-input-element.html#attr-input-checked">checked</a></code>,
+   <code class="no-backref" title="attr-fs-formaction"><a href="association-of-controls-and-forms.html#attr-fs-formaction">formaction</a></code>,
+   <code class="no-backref" title="attr-fs-formenctype"><a href="association-of-controls-and-forms.html#attr-fs-formenctype">formenctype</a></code>,
+   <code class="no-backref" title="attr-fs-formmethod"><a href="association-of-controls-and-forms.html#attr-fs-formmethod">formmethod</a></code>,
+   <code class="no-backref" title="attr-fs-formnovalidate"><a href="association-of-controls-and-forms.html#attr-fs-formnovalidate">formnovalidate</a></code>,
+   <code class="no-backref" title="attr-fs-formtarget"><a href="association-of-controls-and-forms.html#attr-fs-formtarget">formtarget</a></code>,
+   <code class="no-backref" title="attr-dim-height"><a href="the-map-element.html#attr-dim-height">height</a></code>,
+   <code class="no-backref" title="attr-input-maxlength"><a href="common-input-element-attributes.html#attr-input-maxlength">maxlength</a></code>,
+   <code class="no-backref" title="attr-input-multiple"><a href="common-input-element-attributes.html#attr-input-multiple">multiple</a></code>,
+   <code class="no-backref" title="attr-input-pattern"><a href="common-input-element-attributes.html#attr-input-pattern">pattern</a></code>,
+   <code class="no-backref" title="attr-input-placeholder"><a href="common-input-element-attributes.html#attr-input-placeholder">placeholder</a></code>,
+   <code class="no-backref" title="attr-input-size"><a href="common-input-element-attributes.html#attr-input-size">size</a></code>,
+   <code class="no-backref" title="attr-input-src"><a href="#attr-input-src">src</a></code>, and
+   <code class="no-backref" title="attr-dim-width"><a href="the-map-element.html#attr-dim-width">width</a></code>.</p>
+
+   <p>The following IDL attributes and methods do not apply to the
+   element:
+   <code class="no-backref" title="dom-input-checked"><a href="#dom-input-checked">checked</a></code>,
+   <code class="no-backref" title="dom-input-files"><a href="#dom-input-files">files</a></code>,
+   <code class="no-backref" title="dom-textarea/input-selectionStart"><a href="#dom-textarea-input-selectionstart">selectionStart</a></code>,
+   <code class="no-backref" title="dom-textarea/input-selectionEnd"><a href="#dom-textarea-input-selectionend">selectionEnd</a></code>, and
+   <code class="no-backref" title="dom-input-valueAsDate"><a href="#dom-input-valueasdate">valueAsDate</a></code> IDL attributes;
+   <code class="no-backref" title="dom-textarea/input-select"><a href="#dom-textarea-input-select">select()</a></code> and
+   <code class="no-backref" title="dom-textarea/input-setSelectionRange"><a href="#dom-textarea-input-setselectionrange">setSelectionRange()</a></code> methods.</p>
+
+  </div><h6 id="range-state"><span class="secno">4.10.5.1.14 </span><dfn title="attr-input-type-range">Range</dfn> state</h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code><a href="the-input-element.html#the-input-element">input</a></code> element <a href="#represents">represents</a> a control
+  for setting the element's <a href="#concept-fe-value" title="concept-fe-value">value</a> to a string representing a
+  number, but with the caveat that the exact value is not important,
+  letting UAs provide a simpler interface than they do for the <a href="#number-state" title="attr-input-type-number">Number</a> state.</p><p>The <code title="attr-input-value"><a href="the-input-element.html#attr-input-value">value</a></code> attribute, if
+  specified, must have a value that is a <a href="common-microsyntaxes.html#valid-floating-point-number">valid floating point
+  number</a>.</p><!-- ok to set out-of-range value, we never know
+  when we might have to represent bogus input --><p>The <code title="attr-input-min"><a href="common-input-element-attributes.html#attr-input-min">min</a></code> attribute, if
+  specified, must have a value that is a <a href="common-microsyntaxes.html#valid-floating-point-number">valid floating point
+  number</a>. The <a href="#concept-input-min-default" title="concept-input-min-default">default
+  minimum</a> is 0. The <code title="attr-input-max"><a href="common-input-element-attributes.html#attr-input-max">max</a></code>
+  attribute, if specified, must have a value that is a <a href="common-microsyntaxes.html#valid-floating-point-number">valid
+  floating point number</a>. The <a href="#concept-input-max-default" title="concept-input-max-default">default maximum</a> is 100.</p><p>The <dfn id="concept-input-value-default-range" title="concept-input-value-default-range">default
+  value</dfn> is the <a href="#concept-input-min" title="concept-input-min">minimum</a>
+  plus half the difference between the <a href="#concept-input-min" title="concept-input-min">minimum</a> and the <a href="#concept-input-max" title="concept-input-max">maximum</a>, unless the <a href="#concept-input-max" title="concept-input-max">maximum</a> is less than the <a href="#concept-input-min" title="concept-input-min">minimum</a>, in which case the <a href="#concept-input-value-default-range" title="concept-input-value-default-range">default value</a> is
+  the <a href="#concept-input-min" title="concept-input-min">minimum</a>.</p><p>The <a href="#concept-input-step-default" title="concept-input-step-default">default
+  step</a> is 1 (allowing only integers, unless the <code title="attr-input-min"><a href="common-input-element-attributes.html#attr-input-min">min</a></code> attribute has a non-integer
+  value).</p><div class="bookkeeping">
+
+   <p>The following common <code><a href="the-input-element.html#the-input-element">input</a></code> element content
+   attributes, IDL attributes, and methods apply to the element:
+   <code title="attr-input-autocomplete"><a href="common-input-element-attributes.html#attr-input-autocomplete">autocomplete</a></code>,
+   <code title="attr-input-list"><a href="common-input-element-attributes.html#attr-input-list">list</a></code>,
+   <code title="attr-input-max"><a href="common-input-element-attributes.html#attr-input-max">max</a></code>,
+   <code title="attr-input-min"><a href="common-input-element-attributes.html#attr-input-min">min</a></code>, and
+   <code title="attr-input-step"><a href="common-input-element-attributes.html#attr-input-step">step</a></code> content attributes;
+   <code title="dom-input-list"><a href="#dom-input-list">list</a></code>,
+   <code title="dom-input-value"><a href="#dom-input-value">value</a></code>,
+   <code title="dom-input-valueAsNumber"><a href="#dom-input-valueasnumber">valueAsNumber</a></code>, and
+   <code title="dom-input-selectedOption"><a href="#dom-input-selectedoption">selectedOption</a></code> IDL attributes;
+   <code title="dom-input-stepDown"><a href="#dom-input-stepdown">stepDown()</a></code> and
+   <code title="dom-input-stepUp"><a href="#dom-input-stepup">stepUp()</a></code> methods.</p>
+
+   <p>The <code title="dom-input-value"><a href="#dom-input-value">value</a></code> IDL attribute is
+   in mode <a href="#dom-input-value-value" title="dom-input-value-value">value</a>.</p>
+
+   <p>The <code title="event-input-input"><a href="#event-input-input">input</a></code> and <code title="event-input-change"><a href="#event-input-change">change</a></code> events apply.</p>
+
+   <p>The following content attributes must not be specified and do not
+   apply to the element:
+   <code class="no-backref" title="attr-input-accept"><a href="#attr-input-accept">accept</a></code>,
+   <code class="no-backref" title="attr-input-alt"><a href="#attr-input-alt">alt</a></code>,
+   <code class="no-backref" title="attr-input-checked"><a href="the-input-element.html#attr-input-checked">checked</a></code>,
+   <code class="no-backref" title="attr-fs-formaction"><a href="association-of-controls-and-forms.html#attr-fs-formaction">formaction</a></code>,
+   <code class="no-backref" title="attr-fs-formenctype"><a href="association-of-controls-and-forms.html#attr-fs-formenctype">formenctype</a></code>,
+   <code class="no-backref" title="attr-fs-formmethod"><a href="association-of-controls-and-forms.html#attr-fs-formmethod">formmethod</a></code>,
+   <code class="no-backref" title="attr-fs-formnovalidate"><a href="association-of-controls-and-forms.html#attr-fs-formnovalidate">formnovalidate</a></code>,
+   <code class="no-backref" title="attr-fs-formtarget"><a href="association-of-controls-and-forms.html#attr-fs-formtarget">formtarget</a></code>,
+   <code class="no-backref" title="attr-dim-height"><a href="the-map-element.html#attr-dim-height">height</a></code>,
+   <code class="no-backref" title="attr-input-maxlength"><a href="common-input-element-attributes.html#attr-input-maxlength">maxlength</a></code>,
+   <code class="no-backref" title="attr-input-multiple"><a href="common-input-element-attributes.html#attr-input-multiple">multiple</a></code>,
+   <code class="no-backref" title="attr-input-pattern"><a href="common-input-element-attributes.html#attr-input-pattern">pattern</a></code>,
+   <code class="no-backref" title="attr-input-placeholder"><a href="common-input-element-attributes.html#attr-input-placeholder">placeholder</a></code>,
+   <code class="no-backref" title="attr-input-readonly"><a href="common-input-element-attributes.html#attr-input-readonly">readonly</a></code>,
+   <code class="no-backref" title="attr-input-required"><a href="common-input-element-attributes.html#attr-input-required">required</a></code>,
+   <code class="no-backref" title="attr-input-size"><a href="common-input-element-attributes.html#attr-input-size">size</a></code>,
+   <code class="no-backref" title="attr-input-src"><a href="#attr-input-src">src</a></code>, and
+   <code class="no-backref" title="attr-dim-width"><a href="the-map-element.html#attr-dim-width">width</a></code>.</p>
+
+   <p>The following IDL attributes and methods do not apply to the
+   element:
+   <code class="no-backref" title="dom-input-checked"><a href="#dom-input-checked">checked</a></code>,
+   <code class="no-backref" title="dom-input-files"><a href="#dom-input-files">files</a></code>,
+   <code class="no-backref" title="dom-textarea/input-selectionStart"><a href="#dom-textarea-input-selectionstart">selectionStart</a></code>,
+   <code class="no-backref" title="dom-textarea/input-selectionEnd"><a href="#dom-textarea-input-selectionend">selectionEnd</a></code>, and
+   <code class="no-backref" title="dom-input-valueAsDate"><a href="#dom-input-valueasdate">valueAsDate</a></code> IDL attributes;
+   <code class="no-backref" title="dom-textarea/input-select"><a href="#dom-textarea-input-select">select()</a></code> and
+   <code class="no-backref" title="dom-textarea/input-setSelectionRange"><a href="#dom-textarea-input-setselectionrange">setSelectionRange()</a></code> methods.</p>
+
+  </div><div class="example">
+
+   <p>Here is an of a range control using an autocomplete list with
+   the <code title="attr-input-list"><a href="common-input-element-attributes.html#attr-input-list">list</a></code> attribute. This could
+   be useful if there are values along the full range of the control
+   that are especially important, such as preconfigured light levels
+   or typical speed limits in a range control used as a speed
+   control. The following markup fragment:</p>
+
+   <pre>&lt;input type="range" min="-100" max="100" value="0" step="10" name="power" list="powers"&gt;
+&lt;datalist id="powers"&gt;
+ &lt;option value="0"&gt;
+ &lt;option value="-30"&gt;
+ &lt;option value="30"&gt;
+ &lt;option value="+50"&gt;
+&lt;/datalist&gt;
+</pre>
+
+   <p>...with the following style sheet applied:</p>
+
+   <pre>input { height: 75px; width: 49px; background: #D5CCBB; color: black; }</pre>
+
+   <p>...might render as:</p>
+
+   <p><img alt="A vertical slider control whose primary colour is black and whose background colour is beige, with the slider having five tick marks, one long one at each extremity, and three short ones clustered around the midpoint." src="images/sample-range.png"></p><p>Note how the UA determined the orientation of the control from
+   the ratio of the style-sheet-specified height and width properties.
+   The colours were similiarly derived from the style sheet. The tick
+   marks, however, were derived from the markup. In particular, the
+   <code title="attr-input-step"><a href="common-input-element-attributes.html#attr-input-step">step</a></code> attribute has not
+   affected the placement of tick marks, the UA deciding to only use
+   the author-specified completion values and then adding longer tick
+   marks at the extremes.</p>
+
+   <p>Note also how the invalid value <code title="">+50</code> was
+   completely ignored.</p>
+
+  </div><h6 id="color-state"><span class="secno">4.10.5.1.15 </span><dfn title="attr-input-type-color">Color</dfn> state</h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code><a href="the-input-element.html#the-input-element">input</a></code> element <a href="#represents">represents</a> a color
+  well control, for setting the element's <a href="#concept-fe-value" title="concept-fe-value">value</a> to a string representing a
+  <a href="common-microsyntaxes.html#simple-color">simple color</a>.</p><p>The <code title="attr-input-value"><a href="the-input-element.html#attr-input-value">value</a></code> attribute, if
+  specified, must have a value that is a <a href="common-microsyntaxes.html#valid-simple-color">valid simple
+  color</a>.</p><div class="bookkeeping">
+
+   <p>The following common <code><a href="the-input-element.html#the-input-element">input</a></code> element content
+   attributes, IDL attributes, and methods apply to the element:
+   <code title="attr-input-autocomplete"><a href="common-input-element-attributes.html#attr-input-autocomplete">autocomplete</a></code> and
+   <code title="attr-input-list"><a href="common-input-element-attributes.html#attr-input-list">list</a></code> content attributes;
+   <code title="dom-input-list"><a href="#dom-input-list">list</a></code>,
+   <code title="dom-input-value"><a href="#dom-input-value">value</a></code>, and
+   <code title="dom-input-selectedOption"><a href="#dom-input-selectedoption">selectedOption</a></code> IDL attributes.</p>
+
+   <p>The <code title="dom-input-value"><a href="#dom-input-value">value</a></code> IDL attribute is
+   in mode <a href="#dom-input-value-value" title="dom-input-value-value">value</a>.</p>
+
+   <p>The <code title="event-input-input"><a href="#event-input-input">input</a></code> and <code title="event-input-change"><a href="#event-input-change">change</a></code> events apply.</p>
+
+   <p>The following content attributes must not be specified and do not
+   apply to the element:
+   <code class="no-backref" title="attr-input-accept"><a href="#attr-input-accept">accept</a></code>,
+   <code class="no-backref" title="attr-input-alt"><a href="#attr-input-alt">alt</a></code>,
+   <code class="no-backref" title="attr-input-checked"><a href="the-input-element.html#attr-input-checked">checked</a></code>,
+   <code class="no-backref" title="attr-fs-formaction"><a href="association-of-controls-and-forms.html#attr-fs-formaction">formaction</a></code>,
+   <code class="no-backref" title="attr-fs-formenctype"><a href="association-of-controls-and-forms.html#attr-fs-formenctype">formenctype</a></code>,
+   <code class="no-backref" title="attr-fs-formmethod"><a href="association-of-controls-and-forms.html#attr-fs-formmethod">formmethod</a></code>,
+   <code class="no-backref" title="attr-fs-formnovalidate"><a href="association-of-controls-and-forms.html#attr-fs-formnovalidate">formnovalidate</a></code>,
+   <code class="no-backref" title="attr-fs-formtarget"><a href="association-of-controls-and-forms.html#attr-fs-formtarget">formtarget</a></code>,
+   <code class="no-backref" title="attr-dim-height"><a href="the-map-element.html#attr-dim-height">height</a></code>,
+   <code class="no-backref" title="attr-input-maxlength"><a href="common-input-element-attributes.html#attr-input-maxlength">maxlength</a></code>,
+   <code class="no-backref" title="attr-input-max"><a href="common-input-element-attributes.html#attr-input-max">max</a></code>,
+   <code class="no-backref" title="attr-input-min"><a href="common-input-element-attributes.html#attr-input-min">min</a></code>,
+   <code class="no-backref" title="attr-input-multiple"><a href="common-input-element-attributes.html#attr-input-multiple">multiple</a></code>,
+   <code class="no-backref" title="attr-input-pattern"><a href="common-input-element-attributes.html#attr-input-pattern">pattern</a></code>,
+   <code class="no-backref" title="attr-input-placeholder"><a href="common-input-element-attributes.html#attr-input-placeholder">placeholder</a></code>,
+   <code class="no-backref" title="attr-input-readonly"><a href="common-input-element-attributes.html#attr-input-readonly">readonly</a></code>,
+   <code class="no-backref" title="attr-input-required"><a href="common-input-element-attributes.html#attr-input-required">required</a></code>,
+   <code class="no-backref" title="attr-input-size"><a href="common-input-element-attributes.html#attr-input-size">size</a></code>,
+   <code class="no-backref" title="attr-input-src"><a href="#attr-input-src">src</a></code>,
+   <code class="no-backref" title="attr-input-step"><a href="common-input-element-attributes.html#attr-input-step">step</a></code>, and
+   <code class="no-backref" title="attr-dim-width"><a href="the-map-element.html#attr-dim-width">width</a></code>.</p>
+
+   <p>The following IDL attributes and methods do not apply to the
+   element:
+   <code class="no-backref" title="dom-input-checked"><a href="#dom-input-checked">checked</a></code>,
+   <code class="no-backref" title="dom-input-files"><a href="#dom-input-files">files</a></code>,
+   <code class="no-backref" title="dom-textarea/input-selectionStart"><a href="#dom-textarea-input-selectionstart">selectionStart</a></code>,
+   <code class="no-backref" title="dom-textarea/input-selectionEnd"><a href="#dom-textarea-input-selectionend">selectionEnd</a></code>,
+   <code class="no-backref" title="dom-input-valueAsDate"><a href="#dom-input-valueasdate">valueAsDate</a></code>, and
+   <code class="no-backref" title="dom-input-valueAsNumber"><a href="#dom-input-valueasnumber">valueAsNumber</a></code> IDL attributes;
+   <code class="no-backref" title="dom-textarea/input-select"><a href="#dom-textarea-input-select">select()</a></code>,
+   <code class="no-backref" title="dom-textarea/input-setSelectionRange"><a href="#dom-textarea-input-setselectionrange">setSelectionRange()</a></code>,
+   <code class="no-backref" title="dom-input-stepDown"><a href="#dom-input-stepdown">stepDown()</a></code>, and
+   <code class="no-backref" title="dom-input-stepUp"><a href="#dom-input-stepup">stepUp()</a></code> methods.</p>
+
+  </div><h6 id="checkbox-state"><span class="secno">4.10.5.1.16 </span><dfn title="attr-input-type-checkbox">Checkbox</dfn> state</h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code><a href="the-input-element.html#the-input-element">input</a></code> element <a href="#represents">represents</a> a
+  two-state control that represents the element's <a href="#concept-fe-checked" title="concept-fe-checked">checkedness</a> state. If the
+  element's <a href="#concept-fe-checked" title="concept-fe-checked">checkedness</a> state
+  is true, the control represents a positive selection, and if it is
+  false, a negative selection. If the element's <code title="dom-input-indeterminate"><a href="#dom-input-indeterminate">indeterminate</a></code> IDL attribute
+  is set to true, then the control's selection should be obscured as
+  if the control was in a third, indeterminate, state.</p><p class="note">The control is never a true tri-state control, even
+  if the element's <code title="dom-input-indeterminate"><a href="#dom-input-indeterminate">indeterminate</a></code> IDL attribute
+  is set to true. The <code title="dom-input-indeterminate"><a href="#dom-input-indeterminate">indeterminate</a></code> IDL attribute
+  only gives the appearance of a third state.</p><dl class="domintro"><dt><var title="">input</var> . <code title="dom-input-indeterminate"><a href="#dom-input-indeterminate">indeterminate</a></code> [ = <var title="">value</var> ]</dt>
+
+   <dd>
+
+    <p>When set, overrides the rendering of <a href="#checkbox-state" title="attr-input-type-checkbox">checkbox</a> controls so that
+    the current value is not visible.</p>
+
+   </dd>
+
+  </dl><div class="bookkeeping">
+
+   <p>The following common <code><a href="the-input-element.html#the-input-element">input</a></code> element content
+   attributes and IDL attributes apply to the element:
+   <code title="attr-input-checked"><a href="the-input-element.html#attr-input-checked">checked</a></code>, and
+   <code title="attr-input-required"><a href="common-input-element-attributes.html#attr-input-required">required</a></code> content attributes;
+   <code title="dom-input-checked"><a href="#dom-input-checked">checked</a></code> and
+   <code title="dom-input-value"><a href="#dom-input-value">value</a></code> IDL attributes.</p>
+
+   <p>The <code title="dom-input-value"><a href="#dom-input-value">value</a></code> IDL attribute is
+   in mode <a href="#dom-input-value-default-on" title="dom-input-value-default-on">default/on</a>.</p>
+
+   <p>The <code title="event-input-change"><a href="#event-input-change">change</a></code> event applies.</p>
+
+   <p>The following content attributes must not be specified and do not
+   apply to the element:
+   <code class="no-backref" title="attr-input-accept"><a href="#attr-input-accept">accept</a></code>,
+   <code class="no-backref" title="attr-input-alt"><a href="#attr-input-alt">alt</a></code>,
+   <code class="no-backref" title="attr-input-autocomplete"><a href="common-input-element-attributes.html#attr-input-autocomplete">autocomplete</a></code>,
+   <code class="no-backref" title="attr-fs-formaction"><a href="association-of-controls-and-forms.html#attr-fs-formaction">formaction</a></code>,
+   <code class="no-backref" title="attr-fs-formenctype"><a href="association-of-controls-and-forms.html#attr-fs-formenctype">formenctype</a></code>,
+   <code class="no-backref" title="attr-fs-formmethod"><a href="association-of-controls-and-forms.html#attr-fs-formmethod">formmethod</a></code>,
+   <code class="no-backref" title="attr-fs-formnovalidate"><a href="association-of-controls-and-forms.html#attr-fs-formnovalidate">formnovalidate</a></code>,
+   <code class="no-backref" title="attr-fs-formtarget"><a href="association-of-controls-and-forms.html#attr-fs-formtarget">formtarget</a></code>,
+   <code class="no-backref" title="attr-dim-height"><a href="the-map-element.html#attr-dim-height">height</a></code>,
+   <code class="no-backref" title="attr-input-list"><a href="common-input-element-attributes.html#attr-input-list">list</a></code>,
+   <code class="no-backref" title="attr-input-max"><a href="common-input-element-attributes.html#attr-input-max">max</a></code>,
+   <code class="no-backref" title="attr-input-maxlength"><a href="common-input-element-attributes.html#attr-input-maxlength">maxlength</a></code>,
+   <code class="no-backref" title="attr-input-min"><a href="common-input-element-attributes.html#attr-input-min">min</a></code>,
+   <code class="no-backref" title="attr-input-multiple"><a href="common-input-element-attributes.html#attr-input-multiple">multiple</a></code>,
+   <code class="no-backref" title="attr-input-pattern"><a href="common-input-element-attributes.html#attr-input-pattern">pattern</a></code>,
+   <code class="no-backref" title="attr-input-placeholder"><a href="common-input-element-attributes.html#attr-input-placeholder">placeholder</a></code>,
+   <code class="no-backref" title="attr-input-readonly"><a href="common-input-element-attributes.html#attr-input-readonly">readonly</a></code>,
+   <code class="no-backref" title="attr-input-size"><a href="common-input-element-attributes.html#attr-input-size">size</a></code>,
+   <code class="no-backref" title="attr-input-src"><a href="#attr-input-src">src</a></code>,
+   <code class="no-backref" title="attr-input-step"><a href="common-input-element-attributes.html#attr-input-step">step</a></code>, and
+   <code class="no-backref" title="attr-dim-width"><a href="the-map-element.html#attr-dim-width">width</a></code>.</p>
+
+   <p>The following IDL attributes and methods do not apply to the
+   element:
+   <code class="no-backref" title="dom-input-files"><a href="#dom-input-files">files</a></code>,
+   <code class="no-backref" title="dom-input-list"><a href="#dom-input-list">list</a></code>,
+   <code class="no-backref" title="dom-input-selectedOption"><a href="#dom-input-selectedoption">selectedOption</a></code>,
+   <code class="no-backref" title="dom-textarea/input-selectionStart"><a href="#dom-textarea-input-selectionstart">selectionStart</a></code>,
+   <code class="no-backref" title="dom-textarea/input-selectionEnd"><a href="#dom-textarea-input-selectionend">selectionEnd</a></code>,
+   <code class="no-backref" title="dom-input-valueAsDate"><a href="#dom-input-valueasdate">valueAsDate</a></code>, and
+   <code class="no-backref" title="dom-input-valueAsNumber"><a href="#dom-input-valueasnumber">valueAsNumber</a></code> IDL attributes;
+   <code class="no-backref" title="dom-textarea/input-select"><a href="#dom-textarea-input-select">select()</a></code>,
+   <code class="no-backref" title="dom-textarea/input-setSelectionRange"><a href="#dom-textarea-input-setselectionrange">setSelectionRange()</a></code>,
+   <code class="no-backref" title="dom-input-stepDown"><a href="#dom-input-stepdown">stepDown()</a></code>, and
+   <code class="no-backref" title="dom-input-stepUp"><a href="#dom-input-stepup">stepUp()</a></code> methods.</p>
+
+   <p>The <code class="no-backref" title="event-input-input"><a href="#event-input-input">input</a></code> event does not apply.</p>
+
+  </div><h6 id="radio-button-state"><span class="secno">4.10.5.1.17 </span><dfn title="attr-input-type-radio">Radio Button</dfn> state</h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code><a href="the-input-element.html#the-input-element">input</a></code> element <a href="#represents">represents</a> a control
+  that, when used in conjunction with other <code><a href="the-input-element.html#the-input-element">input</a></code>
+  elements, forms a <i><a href="#radio-button-group">radio button group</a></i> in which only one
+  control can have its <a href="#concept-fe-checked" title="concept-fe-checked">checkedness</a> state set to true. If
+  the element's <a href="#concept-fe-checked" title="concept-fe-checked">checkedness</a>
+  state is true, the control represents the selected control in the
+  group, and if it is false, it indicates a control in the group that
+  is not selected.</p><p>The <dfn id="radio-button-group"><i>radio button group</i></dfn> that contains an
+  <code><a href="the-input-element.html#the-input-element">input</a></code> element <var title="">a</var> also contains all
+  the other <code><a href="the-input-element.html#the-input-element">input</a></code> elements <var title="">b</var> that
+  fulfill all of the following conditions:</p><ul><li>The <code><a href="the-input-element.html#the-input-element">input</a></code> element <var title="">b</var>'s <code title="attr-input-type"><a href="the-input-element.html#attr-input-type">type</a></code> attribute is in the <a href="#radio-button-state" title="attr-input-type-radio">Radio Button</a> state.</li>
+
+   <li>Either <var title="">a</var> and <var title="">b</var> have the
+   same <a href="association-of-controls-and-forms.html#form-owner">form owner</a>, or they both have no <a href="association-of-controls-and-forms.html#form-owner">form
+   owner</a>.</li>
+
+   <li>They both have a <code title="attr-fe-name"><a href="association-of-controls-and-forms.html#attr-fe-name">name</a></code>
+   attribute, and the value of <var title="">a</var>'s <code title="attr-fe-name"><a href="association-of-controls-and-forms.html#attr-fe-name">name</a></code> attribute is a
+   <a href="infrastructure.html#compatibility-caseless">compatibility caseless</a> match for the value of <var title="">b</var>'s <code title="attr-fe-name"><a href="association-of-controls-and-forms.html#attr-fe-name">name</a></code>
+   attribute.</li>
+
+  </ul><p>A document must not contain an <code><a href="the-input-element.html#the-input-element">input</a></code> element whose
+  <i><a href="#radio-button-group">radio button group</a></i> contains only that element.</p><p class="note">If none of the radio buttons in a <a href="#radio-button-group">radio button
+  group</a> are checked when they are inserted into the document,
+  then they will all be initially unchecked in the interface, until
+  such time as one of them is checked (either by the user or by
+  script).</p><div class="bookkeeping">
+
+   <p>The following common <code><a href="the-input-element.html#the-input-element">input</a></code> element content
+   attributes and IDL attributes apply to the element:
+   <code title="attr-input-checked"><a href="the-input-element.html#attr-input-checked">checked</a></code> and
+   <code title="attr-input-required"><a href="common-input-element-attributes.html#attr-input-required">required</a></code> content attributes;
+   <code title="dom-input-checked"><a href="#dom-input-checked">checked</a></code> and
+   <code title="dom-input-value"><a href="#dom-input-value">value</a></code> IDL attributes.</p>
+
+   <p>The <code title="dom-input-value"><a href="#dom-input-value">value</a></code> IDL attribute is
+   in mode <a href="#dom-input-value-default-on" title="dom-input-value-default-on">default/on</a>.</p>
+
+   <p>The <code title="event-input-change"><a href="#event-input-change">change</a></code> event applies.</p>
+
+   <p>The following content attributes must not be specified and do not
+   apply to the element:
+   <code class="no-backref" title="attr-input-accept"><a href="#attr-input-accept">accept</a></code>,
+   <code class="no-backref" title="attr-input-alt"><a href="#attr-input-alt">alt</a></code>,
+   <code class="no-backref" title="attr-input-autocomplete"><a href="common-input-element-attributes.html#attr-input-autocomplete">autocomplete</a></code>,
+   <code class="no-backref" title="attr-fs-formaction"><a href="association-of-controls-and-forms.html#attr-fs-formaction">formaction</a></code>,
+   <code class="no-backref" title="attr-fs-formenctype"><a href="association-of-controls-and-forms.html#attr-fs-formenctype">formenctype</a></code>,
+   <code class="no-backref" title="attr-fs-formmethod"><a href="association-of-controls-and-forms.html#attr-fs-formmethod">formmethod</a></code>,
+   <code class="no-backref" title="attr-fs-formnovalidate"><a href="association-of-controls-and-forms.html#attr-fs-formnovalidate">formnovalidate</a></code>,
+   <code class="no-backref" title="attr-fs-formtarget"><a href="association-of-controls-and-forms.html#attr-fs-formtarget">formtarget</a></code>,
+   <code class="no-backref" title="attr-dim-height"><a href="the-map-element.html#attr-dim-height">height</a></code>,
+   <code class="no-backref" title="attr-input-list"><a href="common-input-element-attributes.html#attr-input-list">list</a></code>,
+   <code class="no-backref" title="attr-input-max"><a href="common-input-element-attributes.html#attr-input-max">max</a></code>,
+   <code class="no-backref" title="attr-input-maxlength"><a href="common-input-element-attributes.html#attr-input-maxlength">maxlength</a></code>,
+   <code class="no-backref" title="attr-input-min"><a href="common-input-element-attributes.html#attr-input-min">min</a></code>,
+   <code class="no-backref" title="attr-input-multiple"><a href="common-input-element-attributes.html#attr-input-multiple">multiple</a></code>,
+   <code class="no-backref" title="attr-input-pattern"><a href="common-input-element-attributes.html#attr-input-pattern">pattern</a></code>,
+   <code class="no-backref" title="attr-input-placeholder"><a href="common-input-element-attributes.html#attr-input-placeholder">placeholder</a></code>,
+   <code class="no-backref" title="attr-input-readonly"><a href="common-input-element-attributes.html#attr-input-readonly">readonly</a></code>,
+   <code class="no-backref" title="attr-input-size"><a href="common-input-element-attributes.html#attr-input-size">size</a></code>,
+   <code class="no-backref" title="attr-input-src"><a href="#attr-input-src">src</a></code>,
+   <code class="no-backref" title="attr-input-step"><a href="common-input-element-attributes.html#attr-input-step">step</a></code>, and
+   <code class="no-backref" title="attr-dim-width"><a href="the-map-element.html#attr-dim-width">width</a></code>.</p>
+
+   <p>The following IDL attributes and methods do not apply to the
+   element:
+   <code class="no-backref" title="dom-input-files"><a href="#dom-input-files">files</a></code>,
+   <code class="no-backref" title="dom-input-list"><a href="#dom-input-list">list</a></code>,
+   <code class="no-backref" title="dom-input-selectedOption"><a href="#dom-input-selectedoption">selectedOption</a></code>,
+   <code class="no-backref" title="dom-textarea/input-selectionStart"><a href="#dom-textarea-input-selectionstart">selectionStart</a></code>,
+   <code class="no-backref" title="dom-textarea/input-selectionEnd"><a href="#dom-textarea-input-selectionend">selectionEnd</a></code>,
+   <code class="no-backref" title="dom-input-valueAsDate"><a href="#dom-input-valueasdate">valueAsDate</a></code>, and
+   <code class="no-backref" title="dom-input-valueAsNumber"><a href="#dom-input-valueasnumber">valueAsNumber</a></code> IDL attributes;
+   <code class="no-backref" title="dom-textarea/input-select"><a href="#dom-textarea-input-select">select()</a></code>,
+   <code class="no-backref" title="dom-textarea/input-setSelectionRange"><a href="#dom-textarea-input-setselectionrange">setSelectionRange()</a></code>,
+   <code class="no-backref" title="dom-input-stepDown"><a href="#dom-input-stepdown">stepDown()</a></code>, and
+   <code class="no-backref" title="dom-input-stepUp"><a href="#dom-input-stepup">stepUp()</a></code> methods.</p>
+
+   <p>The <code class="no-backref" title="event-input-input"><a href="#event-input-input">input</a></code> event does not apply.</p>
+
+  </div><h6 id="file-upload-state"><span class="secno">4.10.5.1.18 </span><dfn title="attr-input-type-file">File Upload</dfn> state</h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><!-- v2 ideas:
+   * maximum height/width or required ratio for image uploads? - Leons Petrazickis
+   * maximum per-file upload size - Alfonso Mart&iacute;nez de Lizarrondo
+  --><p>The <code><a href="the-input-element.html#the-input-element">input</a></code> element <a href="#represents">represents</a> a list of
+  <dfn id="concept-input-type-file-selected" title="concept-input-type-file-selected">selected files</dfn>,
+  each file consisting of a file name, a file type, and a file body
+  (the contents of the file).</p><hr><p>The <dfn id="attr-input-accept" title="attr-input-accept"><code>accept</code></dfn>
+  attribute may be specified to provide user agents with a hint of
+  what file types the server will be able to accept.</p><p>If specified, the attribute must consist of a <a href="common-microsyntaxes.html#set-of-comma-separated-tokens">set of
+  comma-separated tokens</a>, each of which must be an <a href="infrastructure.html#ascii-case-insensitive">ASCII
+  case-insensitive</a> match for one of the following:</p><dl><dt>The string <code title="">audio/*</code></dt>
+
+   <dd>Indicates that sound files are accepted.</dd>
+
+   <dt>The string <code title="">video/*</code></dt>
+
+   <dd>Indicates that video files are accepted.</dd>
+
+   <dt>The string <code title="">image/*</code></dt>
+
+   <dd>Indicates that image files are accepted.</dd>
+
+   <dt>A <a href="infrastructure.html#valid-mime-type">valid MIME type</a>, with no parameters</dt>
+
+   <dd>Indicates that files of the specified type are accepted.</dd>
+
+  </dl><p>The tokens must not be <a href="infrastructure.html#ascii-case-insensitive">ASCII case-insensitive</a>
+  matches for any of the other tokens (i.e. duplicates are not
+  allowed). </p><div class="example">
+
+   <p>For historical reasons, the <code title="dom-input-value"><a href="#dom-input-value">value</a></code> IDL attribute prefixes the
+   filename with the string "<code title="">C:\fakepath\</code>". Some
+   legacy user agents actually included the full path (which was a
+   security vulnerability). As a result of this, obtaining the
+   filename from the <code title="dom-input-value"><a href="#dom-input-value">value</a></code> IDL
+   attribute in a backwards-compatible way is non-trivial. The
+   following function extracts the filename in a suitably compatible
+   manner:</p>
+
+   <pre>function extractFilename(path) {<!--
+  if (path.substr(0, 12) == "C:\\fakepath\\")
+    return path.substr(12);-->
+  var x;
+  x = path.lastIndexOf('\\');
+  if (x &gt;= 0) // Windows-based path
+    return path.substr(x+1);
+  x = path.lastIndexOf('/');
+  if (x &gt;= 0) // Unix-based path
+    return path.substr(x+1);
+  return path; // just the filename
+}</pre>
+
+   <p>This can be used as follows:</p>
+
+   <pre>&lt;p&gt;&lt;input type=file name=image onchange="updateFilename(this.value)"&gt;&lt;/p&gt;
+&lt;p&gt;The name of the file you picked is: &lt;span id="filename"&gt;(none)&lt;/span&gt;&lt;/p&gt;
+&lt;script&gt;
+ function updateFilename(path) {
+   var name = extractFilename(path);
+   document.getElementById('filename').textContent = name;
+ }
+&lt;/script&gt;</pre>
+
+   <!-- How useful this actually is... is unclear. -->
+
+  </div><hr><div class="bookkeeping">
+
+   <p>The following common <code><a href="the-input-element.html#the-input-element">input</a></code> element content
+   attributes apply to the element:
+
+   </p><p>The following common <code><a href="the-input-element.html#the-input-element">input</a></code> element content
+   attributes and IDL attributes apply to the element:
+   <code title="attr-input-accept"><a href="#attr-input-accept">accept</a></code>,
+   <code title="attr-input-multiple"><a href="common-input-element-attributes.html#attr-input-multiple">multiple</a></code>, and
+   <code title="attr-input-required"><a href="common-input-element-attributes.html#attr-input-required">required</a></code>;
+   <code title="dom-input-files"><a href="#dom-input-files">files</a></code> and
+   <code title="dom-input-value"><a href="#dom-input-value">value</a></code> IDL attributes.</p>
+
+   <p>The <code title="dom-input-value"><a href="#dom-input-value">value</a></code> IDL attribute is
+   in mode <a href="#dom-input-value-filename" title="dom-input-value-filename">filename</a>.</p>
+
+   <p>The <code title="event-input-change"><a href="#event-input-change">change</a></code> event applies.</p>
+
+   <p>The following content attributes must not be specified and do not
+   apply to the element:
+   <code class="no-backref" title="attr-input-alt"><a href="#attr-input-alt">alt</a></code>,
+   <code class="no-backref" title="attr-input-autocomplete"><a href="common-input-element-attributes.html#attr-input-autocomplete">autocomplete</a></code>,
+   <code class="no-backref" title="attr-input-checked"><a href="the-input-element.html#attr-input-checked">checked</a></code>,
+   <code class="no-backref" title="attr-fs-formaction"><a href="association-of-controls-and-forms.html#attr-fs-formaction">formaction</a></code>,
+   <code class="no-backref" title="attr-fs-formenctype"><a href="association-of-controls-and-forms.html#attr-fs-formenctype">formenctype</a></code>,
+   <code class="no-backref" title="attr-fs-formmethod"><a href="association-of-controls-and-forms.html#attr-fs-formmethod">formmethod</a></code>,
+   <code class="no-backref" title="attr-fs-formnovalidate"><a href="association-of-controls-and-forms.html#attr-fs-formnovalidate">formnovalidate</a></code>,
+   <code class="no-backref" title="attr-fs-formtarget"><a href="association-of-controls-and-forms.html#attr-fs-formtarget">formtarget</a></code>,
+   <code class="no-backref" title="attr-dim-height"><a href="the-map-element.html#attr-dim-height">height</a></code>,
+   <code class="no-backref" title="attr-input-list"><a href="common-input-element-attributes.html#attr-input-list">list</a></code>,
+   <code class="no-backref" title="attr-input-max"><a href="common-input-element-attributes.html#attr-input-max">max</a></code>,
+   <code class="no-backref" title="attr-input-maxlength"><a href="common-input-element-attributes.html#attr-input-maxlength">maxlength</a></code>,
+   <code class="no-backref" title="attr-input-min"><a href="common-input-element-attributes.html#attr-input-min">min</a></code>,
+   <code class="no-backref" title="attr-input-pattern"><a href="common-input-element-attributes.html#attr-input-pattern">pattern</a></code>,
+   <code class="no-backref" title="attr-input-placeholder"><a href="common-input-element-attributes.html#attr-input-placeholder">placeholder</a></code>,
+   <code class="no-backref" title="attr-input-readonly"><a href="common-input-element-attributes.html#attr-input-readonly">readonly</a></code>,
+   <code class="no-backref" title="attr-input-size"><a href="common-input-element-attributes.html#attr-input-size">size</a></code>,
+   <code class="no-backref" title="attr-input-src"><a href="#attr-input-src">src</a></code>,
+   <code class="no-backref" title="attr-input-step"><a href="common-input-element-attributes.html#attr-input-step">step</a></code>, and
+   <code class="no-backref" title="attr-dim-width"><a href="the-map-element.html#attr-dim-width">width</a></code>.</p>
+
+   <p>The element's <code title="attr-input-value"><a href="the-input-element.html#attr-input-value">value</a></code>
+   attribute must be omitted.</p>
+
+   <p>The following IDL attributes and methods do not apply to the
+   element:
+   <code class="no-backref" title="dom-input-checked"><a href="#dom-input-checked">checked</a></code>,
+   <code class="no-backref" title="dom-input-list"><a href="#dom-input-list">list</a></code>,
+   <code class="no-backref" title="dom-input-selectedOption"><a href="#dom-input-selectedoption">selectedOption</a></code>,
+   <code class="no-backref" title="dom-textarea/input-selectionStart"><a href="#dom-textarea-input-selectionstart">selectionStart</a></code>,
+   <code class="no-backref" title="dom-textarea/input-selectionEnd"><a href="#dom-textarea-input-selectionend">selectionEnd</a></code>,
+   <code class="no-backref" title="dom-input-valueAsDate"><a href="#dom-input-valueasdate">valueAsDate</a></code>, and
+   <code class="no-backref" title="dom-input-valueAsNumber"><a href="#dom-input-valueasnumber">valueAsNumber</a></code> IDL attributes;
+   <code class="no-backref" title="dom-textarea/input-select"><a href="#dom-textarea-input-select">select()</a></code>,
+   <code class="no-backref" title="dom-textarea/input-setSelectionRange"><a href="#dom-textarea-input-setselectionrange">setSelectionRange()</a></code>,
+   <code class="no-backref" title="dom-input-stepDown"><a href="#dom-input-stepdown">stepDown()</a></code>, and
+   <code class="no-backref" title="dom-input-stepUp"><a href="#dom-input-stepup">stepUp()</a></code> methods.</p>
+
+   <p>The <code class="no-backref" title="event-input-input"><a href="#event-input-input">input</a></code> event does not apply.</p>
+
+  </div><h6 id="submit-button-state"><span class="secno">4.10.5.1.19 </span><dfn title="attr-input-type-submit">Submit Button</dfn> state</h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code><a href="the-input-element.html#the-input-element">input</a></code> element <a href="#represents">represents</a> a button
+  that, when activated, submits the form.  The element is a <a href="forms.html#concept-button" title="concept-button">button</a>, specifically a <a href="forms.html#concept-submit-button" title="concept-submit-button">submit button</a>.</p><p>The <code title="attr-fs-formaction"><a href="association-of-controls-and-forms.html#attr-fs-formaction">formaction</a></code>, <code title="attr-fs-formenctype"><a href="association-of-controls-and-forms.html#attr-fs-formenctype">formenctype</a></code>, <code title="attr-fs-formmethod"><a href="association-of-controls-and-forms.html#attr-fs-formmethod">formmethod</a></code>, <code title="attr-fs-formnovalidate"><a href="association-of-controls-and-forms.html#attr-fs-formnovalidate">formnovalidate</a></code>, and <code title="attr-fs-formtarget"><a href="association-of-controls-and-forms.html#attr-fs-formtarget">formtarget</a></code> attributes are <a href="association-of-controls-and-forms.html#attributes-for-form-submission">attributes
+  for form submission</a>.</p><p class="note">The <code title="attr-fs-formnovalidate"><a href="association-of-controls-and-forms.html#attr-fs-formnovalidate">formnovalidate</a></code> attribute can
+  be used to make submit buttons that do not trigger the constraint
+  validation.</p><div class="bookkeeping">
+
+   <p>The following common <code><a href="the-input-element.html#the-input-element">input</a></code> element content
+   attributes and IDL attributes apply to the element:
+   <code title="attr-fs-formaction"><a href="association-of-controls-and-forms.html#attr-fs-formaction">formaction</a></code>,
+   <code title="attr-fs-formenctype"><a href="association-of-controls-and-forms.html#attr-fs-formenctype">formenctype</a></code>,
+   <code title="attr-fs-formmethod"><a href="association-of-controls-and-forms.html#attr-fs-formmethod">formmethod</a></code>,
+   <code title="attr-fs-formnovalidate"><a href="association-of-controls-and-forms.html#attr-fs-formnovalidate">formnovalidate</a></code>, and
+   <code title="attr-fs-formtarget"><a href="association-of-controls-and-forms.html#attr-fs-formtarget">formtarget</a></code> content attributes;
+   <code title="dom-input-value"><a href="#dom-input-value">value</a></code> IDL attribute.</p>
+
+   <p>The <code title="dom-input-value"><a href="#dom-input-value">value</a></code> IDL attribute is
+   in mode <a href="#dom-input-value-default" title="dom-input-value-default">default</a>.</p>
+
+   <p>The following content attributes must not be specified and do not
+   apply to the element:
+   <code class="no-backref" title="attr-input-accept"><a href="#attr-input-accept">accept</a></code>,
+   <code class="no-backref" title="attr-input-alt"><a href="#attr-input-alt">alt</a></code>,
+   <code class="no-backref" title="attr-input-autocomplete"><a href="common-input-element-attributes.html#attr-input-autocomplete">autocomplete</a></code>,
+   <code class="no-backref" title="attr-input-checked"><a href="the-input-element.html#attr-input-checked">checked</a></code>,
+   <code class="no-backref" title="attr-dim-height"><a href="the-map-element.html#attr-dim-height">height</a></code>,
+   <code class="no-backref" title="attr-input-list"><a href="common-input-element-attributes.html#attr-input-list">list</a></code>,
+   <code class="no-backref" title="attr-input-max"><a href="common-input-element-attributes.html#attr-input-max">max</a></code>,
+   <code class="no-backref" title="attr-input-maxlength"><a href="common-input-element-attributes.html#attr-input-maxlength">maxlength</a></code>,
+   <code class="no-backref" title="attr-input-min"><a href="common-input-element-attributes.html#attr-input-min">min</a></code>,
+   <code class="no-backref" title="attr-input-multiple"><a href="common-input-element-attributes.html#attr-input-multiple">multiple</a></code>,
+   <code class="no-backref" title="attr-input-pattern"><a href="common-input-element-attributes.html#attr-input-pattern">pattern</a></code>,
+   <code class="no-backref" title="attr-input-placeholder"><a href="common-input-element-attributes.html#attr-input-placeholder">placeholder</a></code>,
+   <code class="no-backref" title="attr-input-readonly"><a href="common-input-element-attributes.html#attr-input-readonly">readonly</a></code>,
+   <code class="no-backref" title="attr-input-required"><a href="common-input-element-attributes.html#attr-input-required">required</a></code>,
+   <code class="no-backref" title="attr-input-size"><a href="common-input-element-attributes.html#attr-input-size">size</a></code>,
+   <code class="no-backref" title="attr-input-src"><a href="#attr-input-src">src</a></code>,
+   <code class="no-backref" title="attr-input-step"><a href="common-input-element-attributes.html#attr-input-step">step</a></code>, and
+   <code class="no-backref" title="attr-dim-width"><a href="the-map-element.html#attr-dim-width">width</a></code>.</p>
+
+   <p>The following IDL attributes and methods do not apply to the
+   element:
+   <code class="no-backref" title="dom-input-checked"><a href="#dom-input-checked">checked</a></code>,
+   <code class="no-backref" title="dom-input-files"><a href="#dom-input-files">files</a></code>,
+   <code class="no-backref" title="dom-input-list"><a href="#dom-input-list">list</a></code>,
+   <code class="no-backref" title="dom-input-selectedOption"><a href="#dom-input-selectedoption">selectedOption</a></code>,
+   <code class="no-backref" title="dom-textarea/input-selectionStart"><a href="#dom-textarea-input-selectionstart">selectionStart</a></code>,
+   <code class="no-backref" title="dom-textarea/input-selectionEnd"><a href="#dom-textarea-input-selectionend">selectionEnd</a></code>,
+   <code class="no-backref" title="dom-input-valueAsDate"><a href="#dom-input-valueasdate">valueAsDate</a></code>, and
+   <code class="no-backref" title="dom-input-valueAsNumber"><a href="#dom-input-valueasnumber">valueAsNumber</a></code> IDL attributes;
+   <code class="no-backref" title="dom-textarea/input-select"><a href="#dom-textarea-input-select">select()</a></code>,
+   <code class="no-backref" title="dom-textarea/input-setSelectionRange"><a href="#dom-textarea-input-setselectionrange">setSelectionRange()</a></code>,
+   <code class="no-backref" title="dom-input-stepDown"><a href="#dom-input-stepdown">stepDown()</a></code>, and
+   <code class="no-backref" title="dom-input-stepUp"><a href="#dom-input-stepup">stepUp()</a></code> methods.</p>
+
+   <p>The <code class="no-backref" title="event-input-input"><a href="#event-input-input">input</a></code> and <code class="no-backref" title="event-input-change"><a href="#event-input-change">change</a></code> events do not apply.</p>
+
+  </div><h6 id="image-button-state"><span class="secno">4.10.5.1.20 </span><dfn title="attr-input-type-image">Image Button</dfn> state</h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code><a href="the-input-element.html#the-input-element">input</a></code> element <a href="#represents">represents</a> either an
+  image from which a user can select a coordinate and submit the form,
+  or alternatively a button from which the user can submit the
+  form. The element is a <a href="forms.html#concept-button" title="concept-button">button</a>,
+  specifically a <a href="forms.html#concept-submit-button" title="concept-submit-button">submit
+  button</a>.</p><hr><p>The image is given by the <dfn id="attr-input-src" title="attr-input-src"><code>src</code></dfn> attribute. The <code title="attr-input-src"><a href="#attr-input-src">src</a></code> attribute must be present, and
+  must contain a <a href="urls.html#valid-url">valid URL</a> referencing a non-interactive,
+  optionally animated, image resource that is neither paged nor
+  scripted.</p><p>The <dfn id="attr-input-alt" title="attr-input-alt"><code>alt</code></dfn> attribute
+  provides the textual label for the alternative button for users and
+  user agents who cannot use the image. The <code title="attr-input-alt"><a href="#attr-input-alt">alt</a></code> attribute must also be present,
+  and must contain a non-empty string.</p><p>The <code><a href="the-input-element.html#the-input-element">input</a></code> element supports <a href="the-map-element.html#dimension-attributes">dimension
+  attributes</a>.</p><p>The <code title="attr-fs-formaction"><a href="association-of-controls-and-forms.html#attr-fs-formaction">formaction</a></code>, <code title="attr-fs-formenctype"><a href="association-of-controls-and-forms.html#attr-fs-formenctype">formenctype</a></code>, <code title="attr-fs-formmethod"><a href="association-of-controls-and-forms.html#attr-fs-formmethod">formmethod</a></code>, <code title="attr-fs-formnovalidate"><a href="association-of-controls-and-forms.html#attr-fs-formnovalidate">formnovalidate</a></code>, and <code title="attr-fs-formtarget"><a href="association-of-controls-and-forms.html#attr-fs-formtarget">formtarget</a></code> attributes are <a href="association-of-controls-and-forms.html#attributes-for-form-submission">attributes
+  for form submission</a>.</p><div class="bookkeeping">
+
+   <p>The following common <code><a href="the-input-element.html#the-input-element">input</a></code> element content
+   attributes and IDL attributes apply to the element:
+   <code title="attr-input-alt"><a href="#attr-input-alt">alt</a></code>,
+   <code title="attr-fs-formaction"><a href="association-of-controls-and-forms.html#attr-fs-formaction">formaction</a></code>,
+   <code title="attr-fs-formenctype"><a href="association-of-controls-and-forms.html#attr-fs-formenctype">formenctype</a></code>,
+   <code title="attr-fs-formmethod"><a href="association-of-controls-and-forms.html#attr-fs-formmethod">formmethod</a></code>,
+   <code title="attr-fs-formnovalidate"><a href="association-of-controls-and-forms.html#attr-fs-formnovalidate">formnovalidate</a></code>,
+   <code title="attr-fs-formtarget"><a href="association-of-controls-and-forms.html#attr-fs-formtarget">formtarget</a></code>,
+   <code title="attr-dim-height"><a href="the-map-element.html#attr-dim-height">height</a></code>,
+   <code title="attr-input-src"><a href="#attr-input-src">src</a></code>, and
+   <code title="attr-dim-width"><a href="the-map-element.html#attr-dim-width">width</a></code> content attributes;
+   <code title="dom-input-value"><a href="#dom-input-value">value</a></code> IDL attribute.</p>
+
+   <p>The <code title="dom-input-value"><a href="#dom-input-value">value</a></code> IDL attribute is
+   in mode <a href="#dom-input-value-default" title="dom-input-value-default">default</a>.</p>
+
+   <p>The following content attributes must not be specified and do not
+   apply to the element:
+   <code class="no-backref" title="attr-input-accept"><a href="#attr-input-accept">accept</a></code>,
+   <code class="no-backref" title="attr-input-autocomplete"><a href="common-input-element-attributes.html#attr-input-autocomplete">autocomplete</a></code>,
+   <code class="no-backref" title="attr-input-checked"><a href="the-input-element.html#attr-input-checked">checked</a></code>,
+   <code class="no-backref" title="attr-input-list"><a href="common-input-element-attributes.html#attr-input-list">list</a></code>,
+   <code class="no-backref" title="attr-input-max"><a href="common-input-element-attributes.html#attr-input-max">max</a></code>,
+   <code class="no-backref" title="attr-input-maxlength"><a href="common-input-element-attributes.html#attr-input-maxlength">maxlength</a></code>,
+   <code class="no-backref" title="attr-input-min"><a href="common-input-element-attributes.html#attr-input-min">min</a></code>,
+   <code class="no-backref" title="attr-input-multiple"><a href="common-input-element-attributes.html#attr-input-multiple">multiple</a></code>,
+   <code class="no-backref" title="attr-input-pattern"><a href="common-input-element-attributes.html#attr-input-pattern">pattern</a></code>,
+   <code class="no-backref" title="attr-input-placeholder"><a href="common-input-element-attributes.html#attr-input-placeholder">placeholder</a></code>,
+   <code class="no-backref" title="attr-input-readonly"><a href="common-input-element-attributes.html#attr-input-readonly">readonly</a></code>,
+   <code class="no-backref" title="attr-input-required"><a href="common-input-element-attributes.html#attr-input-required">required</a></code>,
+   <code class="no-backref" title="attr-input-size"><a href="common-input-element-attributes.html#attr-input-size">size</a></code>, and
+   <code class="no-backref" title="attr-input-step"><a href="common-input-element-attributes.html#attr-input-step">step</a></code>.</p>
+
+   <p>The element's <code title="attr-input-value"><a href="the-input-element.html#attr-input-value">value</a></code>
+   attribute must be omitted.</p>
+
+   <p>The following IDL attributes and methods do not apply to the
+   element:
+   <code class="no-backref" title="dom-input-checked"><a href="#dom-input-checked">checked</a></code>,
+   <code class="no-backref" title="dom-input-files"><a href="#dom-input-files">files</a></code>,
+   <code class="no-backref" title="dom-input-list"><a href="#dom-input-list">list</a></code>,
+   <code class="no-backref" title="dom-input-selectedOption"><a href="#dom-input-selectedoption">selectedOption</a></code>,
+   <code class="no-backref" title="dom-textarea/input-selectionStart"><a href="#dom-textarea-input-selectionstart">selectionStart</a></code>,
+   <code class="no-backref" title="dom-textarea/input-selectionEnd"><a href="#dom-textarea-input-selectionend">selectionEnd</a></code>,
+   <code class="no-backref" title="dom-input-valueAsDate"><a href="#dom-input-valueasdate">valueAsDate</a></code>, and
+   <code class="no-backref" title="dom-input-valueAsNumber"><a href="#dom-input-valueasnumber">valueAsNumber</a></code> IDL attributes;
+   <code class="no-backref" title="dom-textarea/input-select"><a href="#dom-textarea-input-select">select()</a></code>,
+   <code class="no-backref" title="dom-textarea/input-setSelectionRange"><a href="#dom-textarea-input-setselectionrange">setSelectionRange()</a></code>,
+   <code class="no-backref" title="dom-input-stepDown"><a href="#dom-input-stepdown">stepDown()</a></code>, and
+   <code class="no-backref" title="dom-input-stepUp"><a href="#dom-input-stepup">stepUp()</a></code> methods.</p>
+
+   <p>The <code class="no-backref" title="event-input-input"><a href="#event-input-input">input</a></code> and <code class="no-backref" title="event-input-change"><a href="#event-input-change">change</a></code> events do not apply.</p>
+
+  </div><p class="note">Many aspects of this state's behavior are similar to
+  the behavior of the <code><a href="embedded-content-1.html#the-img-element">img</a></code> element. Readers are encouraged
+  to read that section, where many of the same requirements are
+  described in more detail.</p><h6 id="reset-button-state"><span class="secno">4.10.5.1.21 </span><dfn title="attr-input-type-reset">Reset Button</dfn> state</h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code><a href="the-input-element.html#the-input-element">input</a></code> element <a href="#represents">represents</a> a button
+  that, when activated, resets the form.  The element is a <a href="forms.html#concept-button" title="concept-button">button</a>.</p><div class="bookkeeping">
+
+   <p>The <code title="dom-input-value"><a href="#dom-input-value">value</a></code> IDL attribute
+   applies to this element and is in mode <a href="#dom-input-value-default" title="dom-input-value-default">default</a>.</p>
+
+   <p>The following content attributes must not be specified and do not
+   apply to the element:
+   <code class="no-backref" title="attr-input-accept"><a href="#attr-input-accept">accept</a></code>,
+   <code class="no-backref" title="attr-input-alt"><a href="#attr-input-alt">alt</a></code>,
+   <code class="no-backref" title="attr-input-autocomplete"><a href="common-input-element-attributes.html#attr-input-autocomplete">autocomplete</a></code>,
+   <code class="no-backref" title="attr-input-checked"><a href="the-input-element.html#attr-input-checked">checked</a></code>,
+   <code class="no-backref" title="attr-fs-formaction"><a href="association-of-controls-and-forms.html#attr-fs-formaction">formaction</a></code>,
+   <code class="no-backref" title="attr-fs-formenctype"><a href="association-of-controls-and-forms.html#attr-fs-formenctype">formenctype</a></code>,
+   <code class="no-backref" title="attr-fs-formmethod"><a href="association-of-controls-and-forms.html#attr-fs-formmethod">formmethod</a></code>,
+   <code class="no-backref" title="attr-fs-formnovalidate"><a href="association-of-controls-and-forms.html#attr-fs-formnovalidate">formnovalidate</a></code>,
+   <code class="no-backref" title="attr-fs-formtarget"><a href="association-of-controls-and-forms.html#attr-fs-formtarget">formtarget</a></code>,
+   <code class="no-backref" title="attr-dim-height"><a href="the-map-element.html#attr-dim-height">height</a></code>,
+   <code class="no-backref" title="attr-input-list"><a href="common-input-element-attributes.html#attr-input-list">list</a></code>,
+   <code class="no-backref" title="attr-input-max"><a href="common-input-element-attributes.html#attr-input-max">max</a></code>,
+   <code class="no-backref" title="attr-input-maxlength"><a href="common-input-element-attributes.html#attr-input-maxlength">maxlength</a></code>,
+   <code class="no-backref" title="attr-input-min"><a href="common-input-element-attributes.html#attr-input-min">min</a></code>,
+   <code class="no-backref" title="attr-input-multiple"><a href="common-input-element-attributes.html#attr-input-multiple">multiple</a></code>,
+   <code class="no-backref" title="attr-input-pattern"><a href="common-input-element-attributes.html#attr-input-pattern">pattern</a></code>,
+   <code class="no-backref" title="attr-input-placeholder"><a href="common-input-element-attributes.html#attr-input-placeholder">placeholder</a></code>,
+   <code class="no-backref" title="attr-input-readonly"><a href="common-input-element-attributes.html#attr-input-readonly">readonly</a></code>,
+   <code class="no-backref" title="attr-input-required"><a href="common-input-element-attributes.html#attr-input-required">required</a></code>,
+   <code class="no-backref" title="attr-input-size"><a href="common-input-element-attributes.html#attr-input-size">size</a></code>,
+   <code class="no-backref" title="attr-input-src"><a href="#attr-input-src">src</a></code>,
+   <code class="no-backref" title="attr-input-step"><a href="common-input-element-attributes.html#attr-input-step">step</a></code>, and
+   <code class="no-backref" title="attr-dim-width"><a href="the-map-element.html#attr-dim-width">width</a></code>.</p>
+
+   <p>The following IDL attributes and methods do not apply to the
+   element:
+   <code class="no-backref" title="dom-input-checked"><a href="#dom-input-checked">checked</a></code>,
+   <code class="no-backref" title="dom-input-files"><a href="#dom-input-files">files</a></code>,
+   <code class="no-backref" title="dom-input-list"><a href="#dom-input-list">list</a></code>,
+   <code class="no-backref" title="dom-input-selectedOption"><a href="#dom-input-selectedoption">selectedOption</a></code>,
+   <code class="no-backref" title="dom-textarea/input-selectionStart"><a href="#dom-textarea-input-selectionstart">selectionStart</a></code>,
+   <code class="no-backref" title="dom-textarea/input-selectionEnd"><a href="#dom-textarea-input-selectionend">selectionEnd</a></code>,
+   <code class="no-backref" title="dom-input-valueAsDate"><a href="#dom-input-valueasdate">valueAsDate</a></code>, and
+   <code class="no-backref" title="dom-input-valueAsNumber"><a href="#dom-input-valueasnumber">valueAsNumber</a></code> IDL attributes;
+   <code class="no-backref" title="dom-textarea/input-select"><a href="#dom-textarea-input-select">select()</a></code>,
+   <code class="no-backref" title="dom-textarea/input-setSelectionRange"><a href="#dom-textarea-input-setselectionrange">setSelectionRange()</a></code>,
+   <code class="no-backref" title="dom-input-stepDown"><a href="#dom-input-stepdown">stepDown()</a></code>, and
+   <code class="no-backref" title="dom-input-stepUp"><a href="#dom-input-stepup">stepUp()</a></code> methods.</p>
+
+   <p>The <code class="no-backref" title="event-input-input"><a href="#event-input-input">input</a></code> and <code class="no-backref" title="event-input-change"><a href="#event-input-change">change</a></code> events do not apply.</p>
+
+  </div><h6 id="button-state"><span class="secno">4.10.5.1.22 </span><dfn title="attr-input-type-button">Button</dfn> state</h6><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>The <code><a href="the-input-element.html#the-input-element">input</a></code> element <a href="#represents">represents</a> a button
+  with no default behavior.  The element is a <a href="forms.html#concept-button" title="concept-button">button</a>.</p><div class="bookkeeping">
+
+   <p>The <code title="dom-input-value"><a href="#dom-input-value">value</a></code> IDL attribute
+   applies to this element and is in mode <a href="#dom-input-value-default" title="dom-input-value-default">default</a>.</p>
+
+   <p>The following content attributes must not be specified and do not
+   apply to the element:
+   <code class="no-backref" title="attr-input-accept"><a href="#attr-input-accept">accept</a></code>,
+   <code class="no-backref" title="attr-input-alt"><a href="#attr-input-alt">alt</a></code>,
+   <code class="no-backref" title="attr-input-autocomplete"><a href="common-input-element-attributes.html#attr-input-autocomplete">autocomplete</a></code>,
+   <code class="no-backref" title="attr-input-checked"><a href="the-input-element.html#attr-input-checked">checked</a></code>,
+   <code class="no-backref" title="attr-fs-formaction"><a href="association-of-controls-and-forms.html#attr-fs-formaction">formaction</a></code>,
+   <code class="no-backref" title="attr-fs-formenctype"><a href="association-of-controls-and-forms.html#attr-fs-formenctype">formenctype</a></code>,
+   <code class="no-backref" title="attr-fs-formmethod"><a href="association-of-controls-and-forms.html#attr-fs-formmethod">formmethod</a></code>,
+   <code class="no-backref" title="attr-fs-formnovalidate"><a href="association-of-controls-and-forms.html#attr-fs-formnovalidate">formnovalidate</a></code>,
+   <code class="no-backref" title="attr-fs-formtarget"><a href="association-of-controls-and-forms.html#attr-fs-formtarget">formtarget</a></code>,
+   <code class="no-backref" title="attr-dim-height"><a href="the-map-element.html#attr-dim-height">height</a></code>,
+   <code class="no-backref" title="attr-input-list"><a href="common-input-element-attributes.html#attr-input-list">list</a></code>,
+   <code class="no-backref" title="attr-input-max"><a href="common-input-element-attributes.html#attr-input-max">max</a></code>,
+   <code class="no-backref" title="attr-input-maxlength"><a href="common-input-element-attributes.html#attr-input-maxlength">maxlength</a></code>,
+   <code class="no-backref" title="attr-input-min"><a href="common-input-element-attributes.html#attr-input-min">min</a></code>,
+   <code class="no-backref" title="attr-input-multiple"><a href="common-input-element-attributes.html#attr-input-multiple">multiple</a></code>,
+   <code class="no-backref" title="attr-input-pattern"><a href="common-input-element-attributes.html#attr-input-pattern">pattern</a></code>,
+   <code class="no-backref" title="attr-input-placeholder"><a href="common-input-element-attributes.html#attr-input-placeholder">placeholder</a></code>,
+   <code class="no-backref" title="attr-input-readonly"><a href="common-input-element-attributes.html#attr-input-readonly">readonly</a></code>,
+   <code class="no-backref" title="attr-input-required"><a href="common-input-element-attributes.html#attr-input-required">required</a></code>,
+   <code class="no-backref" title="attr-input-size"><a href="common-input-element-attributes.html#attr-input-size">size</a></code>,
+   <code class="no-backref" title="attr-input-src"><a href="#attr-input-src">src</a></code>,
+   <code class="no-backref" title="attr-input-step"><a href="common-input-element-attributes.html#attr-input-step">step</a></code>, and
+   <code class="no-backref" title="attr-dim-width"><a href="the-map-element.html#attr-dim-width">width</a></code>.</p>
+
+   <p>The following IDL attributes and methods do not apply to the
+   element:
+   <code class="no-backref" title="dom-input-checked"><a href="#dom-input-checked">checked</a></code>,
+   <code class="no-backref" title="dom-input-files"><a href="#dom-input-files">files</a></code>,
+   <code class="no-backref" title="dom-input-list"><a href="#dom-input-list">list</a></code>,
+   <code class="no-backref" title="dom-input-selectedOption"><a href="#dom-input-selectedoption">selectedOption</a></code>,
+   <code class="no-backref" title="dom-textarea/input-selectionStart"><a href="#dom-textarea-input-selectionstart">selectionStart</a></code>,
+   <code class="no-backref" title="dom-textarea/input-selectionEnd"><a href="#dom-textarea-input-selectionend">selectionEnd</a></code>,
+   <code class="no-backref" title="dom-input-valueAsDate"><a href="#dom-input-valueasdate">valueAsDate</a></code>, and
+   <code class="no-backref" title="dom-input-valueAsNumber"><a href="#dom-input-valueasnumber">valueAsNumber</a></code> IDL attributes;
+   <code class="no-backref" title="dom-textarea/input-select"><a href="#dom-textarea-input-select">select()</a></code>,
+   <code class="no-backref" title="dom-textarea/input-setSelectionRange"><a href="#dom-textarea-input-setselectionrange">setSelectionRange()</a></code>,
+   <code class="no-backref" title="dom-input-stepDown"><a href="#dom-input-stepdown">stepDown()</a></code>, and
+   <code class="no-backref" title="dom-input-stepUp"><a href="#dom-input-stepup">stepUp()</a></code> methods.</p>
+
+   <p>The <code class="no-backref" title="event-input-input"><a href="#event-input-input">input</a></code> and <code class="no-backref" title="event-input-change"><a href="#event-input-change">change</a></code> events do not apply.</p>
+
+  </div></body></html>
\ No newline at end of file

Index: sections.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/sections.html,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- sections.html	6 Jan 2010 15:38:53 -0000	1.11
+++ sections.html	6 Jan 2010 15:49:35 -0000	1.12
@@ -0,0 +1,1266 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<!DOCTYPE html>
+<!-- when publishing, change bits marked ZZZ --><html lang="en-US-x-Hixie" class="split chapter"><head><title>4.4 Sections &#8212; HTML5 (Author Edition)</title><script src="link-fixup.js"></script><link href="whatwg.css" rel="stylesheet"><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; }
[...1236 lines suppressed...]
+   <ol class="brief"><li>
+     <p>Section created for <code><a href="#the-body-element-0">body</a></code> node.</p>
+     <p>Associated with heading "A".</p>
+     <p>Also associated with paragraph "B".</p>
+     <p>Nested sections:</p>
+     <ol class="brief"><li>
+       <p>Section implied for first <code><a href="#the-h1-h2-h3-h4-h5-and-h6-elements">h2</a></code> element.</p>
+       <p>Associated with heading "C".</p>
+       <p>Also associated with paragraph "D".</p>
+       <p>No nested sections.</p>
+      </li>
+      <li>
+       <p>Section implied for second <code><a href="#the-h1-h2-h3-h4-h5-and-h6-elements">h2</a></code> element.</p>
+       <p>Associated with heading "E".</p>
+       <p>Also associated with paragraph "F".</p>
+       <p>No nested sections.</p>
+      </li>
+     </ol></li>
+   </ol></div></body></html>
\ No newline at end of file

Index: acknowledgements.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/acknowledgements.html,v
retrieving revision 1.557
retrieving revision 1.558
diff -u -d -r1.557 -r1.558
--- acknowledgements.html	6 Jan 2010 15:38:52 -0000	1.557
+++ acknowledgements.html	6 Jan 2010 15:49:33 -0000	1.558
@@ -213,4 +213,700 @@
    .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-exampl
\ No newline at end of file
+   .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="data:text/css," id="complete" rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" id="author" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" id="highlight" rel="alternate stylesheet" title="Highlight implementation requirements"><script>
+   function getCookie(name) {
+     var params = location.search.substr(1).split("&");
+     for (var index = 0; index < params.length; index++) {
+       if (params[index] == name)
+         return "1";
+       var data = params[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     var cookies = document.cookie.split("; ");
+     for (var index = 0; index < cookies.length; index++) {
+       var data = cookies[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     return null;
+   }
+   function load(script) {
+     var e = document.createElement('script');
+     e.setAttribute('src', 'http://www.whatwg.org/specs/web-apps/current-work/' + script + '?' + encodeURIComponent(location) + '&' + encodeURIComponent(document.referrer));
+     document.body.appendChild(e);
+   }
+   function init() {
+     if (location.search == '?slow-browser')
+       return;
+     var configUI = document.createElement('div');
+     configUI.id = 'configUI';
+     document.body.appendChild(configUI);
+     // load('reviewer.js'); // would need cross-site XHR
+     if (document.getElementById('head'))
+       load('toc.js');
+     
+     // load('updater.js'); // would need cross-site XHR
+     load('dfn.js');
+     // load('status.js'); // would need cross-site XHR
+     if (getCookie('profile') == '1')
+       document.getElementsByTagName('h2')[0].textContent += '; load: ' + (new Date() - loadTimer) + 'ms';
+     fixBrokenLink();
+   }
+  </script><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><link href="references.html" title="References" rel="prev">
+  <link href="Overview.html#contents" title="Table of contents" rel="index">
+  </head><body onload="fixBrokenLink(); init()"><div class="head" id="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 (Author Edition)</h1>
+   </div><div>
+   <a href="references.html">&#8592; References</a> &#8211;
+   <a href="Overview.html#contents">Table of contents</a>
+  </div>
+
+  <h2 class="no-num" id="acknowledgements">Acknowledgements</h2><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><!-- ACKS --><p>Thanks to
+
+  Aankhen,
+  Aaron Boodman,
+  Aaron Leventhal,
+  Adam Barth,
+  Adam de Boor,
+  Adam Roben,
+  Addison Phillips,
+  Adele Peterson,
+  Adrian Bateman,
+  Adrian Sutton,
+  Agust&#237;n Fern&#225;ndez,
+  Ajai Tirumali,
+  Alan Plum,
+  Alastair Campbell,
+  Alex Bishop,
+  Alex Nicolaou,
+  Alex Rousskov,
+  Alexander J. Vincent,
+  Alexey Feldgendler,
+  &#1040;&#1083;&#1077;&#1082;&#1089;&#1077;&#1081; &#1055;&#1088;&#1086;&#1089;&#1082;&#1091;&#1088;&#1103;&#1082;&#1086;&#1074; (Alexey Proskuryakov),
+  Alexis Deveria,
+  Allan Clements,
+  Amos Jeffries,
+  Anders Carlsson,
+  Andreas<!-- mqmq87 -->,
+  Andrei Popescu,
+  Andr&#233; E. Veltstra,
+  Andrew Clover,
+  Andrew Gove,
+  Andrew Grieve,
+  Andrew Oakley,
+  Andrew Sidwell,
+  Andrew Smith,
+  Andrew W. Hagen,
+  Andy Heydon,
+  Andy Palay,
+  Anne van Kesteren,
+  Anthony Boyd,
+  Anthony Bryan,
+  Anthony Hickson,
+  Anthony Ricaud,
+  Antti Koivisto,
+  Aron Spohr,
+  Arphen Lin,
+  Aryeh Gregor,
+  Asbj&#248;rn Ulsberg,
+  Ashley Sheridan,
+  Aurelien Levy,
+  Ave Wrigley,
+  Ben Boyle,
+  Ben Godfrey,
+  Ben Leslie,
+  Ben Meadowcroft,
+  Ben Millard,
+  Benjamin Hawkes-Lewis,
+  Bert Bos,
+  Bijan Parsia,
+  Bil Corry,
+  Bill Mason,
+  Bill McCoy,
+  Billy Wong,
+  Bj&#246;rn H&#246;hrmann,
+  Blake Frantz,
+  Boris Zbarsky,
+  Brad Fults,
+  Brad Neuberg,
+  Brady Eidson,
+  Brendan Eich,
+  Brenton Simpson,
+  Brett Wilson,
+  Brett Zamir,
+  Brian Campbell,
+  Brian Korver,
+  Brian Ryner,
+  Brian Smith,
+  Brian Wilson,
+  Bryan Sullivan,
+  Bruce D'Arcus,
+  Bruce Lawson,
+  Bruce Miller,
+  C. Williams,
+  Cameron McCormack,
+  Cao Yipeng,
+  Carlos Gabriel Cardona,
+  Carlos Perell&#243; Mar&#237;n,
+  Chao Cai,
+  &#50980;&#49437;&#52268; (Channy Yun),
+  Charl van Niekerk,
+  Charles Iliya Krempeaux,
+  Charles McCathieNevile,
+  Chris Cressman,
+  Chris Morris,
+  Chris Pearce,
+  Christian Biesinger,
+  Christian Johansen,
+  Christian Schmidt,
+  Christopher Aillon,
+  Chriswa,
+  Cole Robison,
+  Colin Fine,
+  Collin Jackson,
+  Corprew Reed,
+  Craig Cockburn,
+  Csaba Gabor,
+  Daniel Barclay,
+  Daniel Bratell,
+  Daniel Brooks,
+  Daniel Brumbaugh Keeney,
+  Daniel Davis,
+  Daniel Glazman,
+  Daniel Peng,
+  Daniel Schattenkirchner,
+  Daniel Sp&#229;ng,
+  Daniel Steinberg,
+  Danny Sullivan,
+  Darin Adler,
+  Darin Fisher,
+  Darxus,
+  Dave Camp,
+  Dave Hodder,
+  Dave Lampton,
+  Dave Singer,
+  Dave Townsend<!-- Mossop on moz irc -->,
+  David Baron,
+  David Bloom,
+  David Bruant,
+  David Carlisle,
+  David E. Cleary,
+  David Egan Evans,
+  David Flanagan,
+  David Gerard,
+  David H&#229;s&#228;ther,
+  David Hyatt,
+  David I. Lehn,
+  David Matja,
+  David Remahl,
+  David Smith,
+  David Woolley,
+  DeWitt Clinton,
+  Dean Edridge,
+  Dean Edwards,
+  Debi Orton,
+  Derek Featherstone,
+  Dimitri Glazkov,
+  Dimitry Golubovsky,
+  Divya Manian,
+  dolphinling,
+  Dominique Haza&#235;l-Massieux,
+  Doron Rosenberg,
+  Doug Kramer,
+  Drew Wilson,
+  Edmund Lai,
+  Eduard Pascual,
+  Eduardo Vela,
+  Edward O'Connor,
+  Edward Welbourne,
+  Edward Z. Yang,
+  Eira Monstad,
+  Eliot Graff,
+  Elizabeth Castro,
+  Elliott Sprehn,
+  Elliotte Harold,
+  Eric Carlson,
+  Eric Law,
+  Eric Rescorla,
+  Erik Arvidsson,
+  Evan Martin,
+  Evan Prodromou,
+  Evert,
+  fantasai,
+  Felix Sasaki,
+  Francesco Schwarz,
+  Francis Brosnan Blazquez,
+  Franck 'Shift' Qu&#233;lain,
+  Frank Barchard,
+  &#40284;&#39164;&#25991;&#25935; (Fumitoshi Ukai),
+  Futomi Hatano,
+  Gavin Carothers,
+  Gareth Rees,
+  Garrett Smith,
+  Geoffrey Garen,
+  Geoffrey Sneddon,
+  George Lund,
+  Giovanni Campagna,
+  Graham Klyne,
+  Greg Botten,
+  Greg Houston,
+  Gregg Tavares,
+  Grey,
+  Gytis Jakutonis,
+  H&#229;kon Wium Lie,
+  Hallvord Reiar Michaelsen Steen,
+  Hans S. T&#248;mmerhalt,
+  Henri Sivonen,
+  Henrik Lied,
+  Henry Mason,
+  Hugh Winkler,
+  Ian Bicking,
+  Ian Davis,
+  Ignacio Javier,
+  Ivan Enderlin,
+  Ivo Emanuel Gon&#231;alves,
+  J. King,
+  Jacques Distler,
+  James Craig,
+  James Graham,
+  James Justin Harrell,
+  James M Snell,
+  James Perrett,
+  James Robinson,
+  Jan-Klaas Kollhof,
+  Jason Kersey,
+  Jason Lustig,
+  Jason White,
+  Jasper Bryant-Greene,
+  Jed Hartman,
+  Jeff Balogh,
+  Jeff Cutsinger,
+  Jeff Schiller,
+  Jeff Walden,
+  Jeffrey Zeldman,
+  &#32993;&#24935;&#37586; (Jennifer Braithwaite),
+  Jens Bannmann,
+  Jens Fendler,
+  Jens Lindstr&#246;m,
+  Jens Meiert,
+  Jeremy Keith,
+  Jeremy Orlow,
+  Jeroen van der Meer,
+  Jian Li,
+  Jim Jewett,
+  Jim Ley,
+  Jim Meehan,
+  Jjgod Jiang,
+  Jo&#227;o Eiras,
+  Joe Clark,
+  Joe Gregorio,
+  Joel Spolsky,
+  Johan Herland,
+  John Boyer,
+  John Bussjaeger,
+  John Carpenter,
+  John Fallows,
+  John Foliot,
+  John Harding,
+  John Keiser,
+  John Snyders,
+  John-Mark Bell,
+  Johnny Stenback,
+  Jon Ferraiolo,
+  Jon Gibbins,
+  Jon Perlow,
+  Jonas Sicking,
+  Jonathan Rees,
+  Jonathan Worent,
+  Jonny Axelsson,
+  Jorgen Horstink,
+  Jorunn Danielsen Newth,
+  Joseph Kesselman,
+  Joseph Pecoraro,
+  Josh Aas,
+  Josh Levenberg,
+  Joshua Randall,
+  Jukka K. Korpela,
+  Jules Cl&#233;ment-Ripoche,
+  Julian Reschke,
+  Justin Sinclair,
+  Kai Hendry,
+  Kartikaya Gupta,
+  Kathy Walton,
+  Kelly Norton,
+  Kevin Benson,
+  Korn&#233;l P&#225;l,
+  Kornel Lesinski,
+  Kristof Zelechovski,
+  &#40658;&#28580;&#21083;&#24535; (KUROSAWA Takeshi),
+  Kyle Hofmann<!-- Ozob -->,
+  L&#233;onard Bouchet,
+  Lachlan Hunt,
+  Larry Masinter,
+  Larry Page,
+  Lars Gunther<!-- Keryx Web -->,
+  Lars Solberg,
+  Laura Granka,
+  Laura L. Carlson,
+  Laura Wisewell,
+  Laurens Holst,
+  Lee Kowalkowski,
+  Leif Halvard Silli,
+  Lenny Domnitser,
+  Leons Petrazickis,
+  Logan<!-- on moz irc -->,
+  Loune,
+  Luke Kenneth Casson Leighton,
+  Maciej Stachowiak,
+  Magnus Kristiansen<!-- Dashiva -->,
+  Maik Merten,
+  Malcolm Rowe,
+  Mark Birbeck,
+  Mark Miller,
+  Mark Nottingham,
+  Mark Pilgrim,
+  Mark Rowe<!--bdash-->,
+  Mark Schenk,
+  Mark Wilton-Jones,
+  Martijn Wargers,
+  Martin Atkins,
+  Martin D&#252;rst,
+  Martin Honnen,
+  Martin Kutschker,
+  Masataka Yakura,
+  Mathieu Henri,
+  Matt Schmidt,
+  Matt Wright,
+  Matthew Gregan,
+  Matthew Mastracci,
+  Matthew Raymond,
+  Matthew Thomas,
+  Mattias Waldau,
+  Max Romantschuk,
+  Menno van Slooten,
+  Micah Dubinko,
+  Michael 'Ratt' Iannarelli,
+  Michael A. Nachbaur,
+  Michael A. Puls II<!--Shadow2531-->,
+  Michael Carter,
+  Michael Daskalov,
+  Michael Enright,
+  Michael Gratton,
+  Michael Nordman,
+  Michael Powers,
+  Michael(tm) Smith,
+  Michel Fortin,
+  Michelangelo De Simone,
+  Michiel van der Blonk,
+  Mihai &#350;ucan<!-- from ROBO Design -->,
+  Mike Brown,
+  Mike Dierken<!-- S. Mike Dierken -->,
+  Mike Dixon,
+  Mike Schinkel,
+  Mike Shaver,
+  Mikko Rantalainen,
+  Mohamed Zergaoui<!-- Innovimax SARL -->,
+  Ms2ger,
+  NARUSE Yui,
+  Neil Deakin,
+  Neil Rashbrook,
+  Neil Soiffer,
+  Nicholas Shanks,
+  Nicolas Gallagher,
+  Noah Mendelsohn,
+  Noah Slater,
+  Ojan Vafai,
+  Olaf Hoffmann,
+  Olav Junker Kj&#230;r,
+  Old&#345;ich Vete&#353;n&#237;k,
+  Oliver Hunt,
+  Oliver Rigby,
+  Olivier Gendrin,
+  Olli Pettay,
+  Patrick H. Lauke,
+  Paul Norman,
+  Per-Erik Brodin,
+  Peter Karlsson,
+  Peter Kasting,
+  Peter Stark,
+  Peter-Paul Koch,
+  Philip J&#228;genstedt,
+  Philip Taylor,
+  Philip TAYLOR<!-- a different one -->,
+  Prateek Rungta,
+  Rachid Finge,
+  Rajas Moonka,
+  Ralf Stoltze,
+  Ralph Giles,
+  Raphael Champeimont,
+  Remco,
+  Remy Sharp,
+  Rene Saarsoo,
+  Rene Stach,
+  Ric Hardacre,
+  Rich Doughty,
+  Richard Ishida,
+  Rigo Wenning,
+  Rikkert Koppes,
+  Rimantas Liubertas,
+  Rob Ennals,
+  Robert Blaut,
+  Robert Collins,
+  Robert O'Callahan,
+  Robert Sayre,
+  Robin Berjon,
+  Roland Steiner,
+  Roman Ivanov,
+  Roy Fielding,
+  Ryan King,
+  S. Mike Dierken,
+  Sam Dutton,
+  Sam Kuper,
+  Sam Ruby,
+  Sam Weinig,
+  Sander van Lambalgen,
+  Sarven Capadisli,
+  Scott Gonz&#225;lez,
+  Scott Hess,
+  Sean Fraser,
+  Sean Hogan,
+  Sean Knapp,
+  Sebastian Markb&#229;ge,
+  Sebastian Schnitzenbaumer,
+  Seth Call,
+  Shanti Rao,
+  Shaun Inman,
+  Shiki Okasaka,
+  Sierk Bornemann,
+  Sigbj&#248;rn Vik,
+  Silvia Pfeiffer,
+  Simon Montagu,
+  Simon Pieters,
+  Simon Spiegel,
+  skeww, <!-- on reddit -->
+  Stefan Haustein,
+  Stefan Santesson,
+  Steffen Meschkat,
+  Stephen Ma,
+  Steve Faulkner,
+  Steve Runyon,
+  Steven Bennett,
+  Steven Garrity,
+  Steven Tate,
+  Stewart Brodie,
+  Stuart Ballard,
+  Stuart Parmenter,
+  Subramanian Peruvemba,
+  Sunava Dutta,
+  Susan Borgrink,
+  Susan <!--G.--> Lesch,
+  Sylvain Pasche,
+  T. J. Crowder,
+  <span lang="tr" title="">Tantek &#199;elik</span>,
+  &#30000;&#26449;&#20581;&#20154; (TAMURA Kent),
+  Ted Mielczarek,
+  Terrence Wood,
+  Thomas Broyer,
+  Thomas O'Connor,
+  Tim Altman,
+  Tim Johansson,
+  Toby Inkster,
+  Todd Moody,
+  Tom Pike,
+  Tommy Thorsen,
+  Travis Leithead,
+  Tyler Close,
+  Vladimir Katardjiev,
+  Vladimir Vuki&#263;evi&#263;,
+  voracity,
+  Wakaba,
+  Wayne Pollock,
+  Wellington Fernando de Macedo,
+  Will Levine,
+  William Swanson,
+  Wladimir Palant,
+  Wojciech Mach,
+  Wolfram Kriesing,
+  Yi-An Huang,
+  Yngve Nysaeter Pettersen,
+  Yuzo Fujishima,
+  Zhenbin Xu,
+  Zoltan Herczeg,
+  and
+  &#216;istein E. Andersen,
+
+  for their useful comments, both large and small, that have led to
+  changes to this specification over the years.</p><p>Thanks also to everyone who has ever posted about HTML5 to their
+  blogs, public mailing lists, or forums, including the <a href="http://lists.w3.org/Archives/Public/public-html/">W3C
+  public-html list</a> and the <a href="http://www.whatwg.org/mailing-list">various WHATWG lists</a>.
+
+  </p><p>Special thanks to Richard Williamson for creating the first
+  implementation of <code><a href="the-canvas-element.html#the-canvas-element">canvas</a></code> in Safari, from which the
+  canvas feature was designed.</p><p>Special thanks also to the Microsoft employees who first
+  implemented the event-based drag-and-drop mechanism, <code title="attr-contenteditable"><a href="editing.html#attr-contenteditable">contenteditable</a></code>, and other
+  features first widely deployed by the Windows Internet Explorer
+  browser.</p><p>Thanks to the participants of the microdata usability study for
+  allowing us to use their mistakes as a guide for designing the
+  microdata feature.</p><p>Thanks to the many sources that provided inspiration for the
+  examples used in the specification.</p><p>Thanks also to the Microsoft blogging community for some ideas,
+  to the attendees of the W3C Workshop on Web Applications and
+  Compound Documents for inspiration, to the #mrt crew, the #mrt.no
+  crew, and the #whatwg crew, and to Pillar and Hedral for their ideas
+  and support.</p><!-- Hopefully Kam won't notice he's covered by these
+  acknowledgements three times! --><!--
+ v2  * library of resources:
+        var library = new ZipFile("data.zip");
+        library.onload = function() {
+          var sound1 = library.getAudio("sound1.wav"); // returns an Audio object
+          var image1 = library.getImage("image1.png"); // returns an HTMLImageElement
+          var doc1 = library.getXMLDocument("doc1.xml"); // returns a Document
+          var doc2 = library.getHTMLDocument("doc1.html"); // returns an HTMLDocument
+        }
+       or:
+        var library = new ResourceLoader("data.zip");
+        library.add("moredata.zip");
+        library.onload = function() { ... }
+        library.onloading = function() {
+          reportLoadProgress(library.progress); // 0.0 .. 1.0
+        }
+       or:
+        var library = new AudioZip("sounds.zip");
+        library.onload = function() {
+          var sound1 = library["sound1.wav"];
+          sound.play();
+        }
+ v2  * [onclick] should make element focusable; enter should send onclick ?
+ v2  * a fairly common situation for web authors is to have two lists, where
+       the contents of the second depends on the value of the first. Is there
+       any way we could extend the current model to include this functionality?
+       (e.g. bugzilla product/component ui)
+ v2  * quick-searchable select
+ v2  * include/exclude selectors (two multi-select columns with arrows to
+       move selected items) and that sort of thing.
+       http://slashdot.org/comments.pl?sid=110240&cid=9357022
+ v2  * Oh, and forms need a standardized Help widget/icon. I know I can
+       turn my cursor into a question mark, but I'm looking for something
+       simple and pervasive. Maybe you can wrap fields in a help tag, just
+       as you do for fieldsets. And in that help tag, attributes are
+       available that allow for a nice, formatted, clean, full help text
+       popup/area/thing.
+       http://slashdot.org/comments.pl?sid=110240&cid=9359006
+ v2  * Validating only part of a form. - Anja Lehmann
+ v2  * Reminder to add a way to expose access keys in buttons, i.e.
+       Sub&mit where & signifies the m is the access key to use. Possibly
+       automatic? <input accesskey="m" value="Submit"> browser would be
+       smart enough to underline the first instance of the access key if
+       it exists (case insensitive)? - kerz
+       [or deprecate the lot (->web apps)]
+ v2  * need an attribute that says "the children of this element are in
+       their own tabbing universe, tabindex should be relative to each
+       other, not to the document"
+       -> web apps?
+ v2  * make select widgets have multiple columns
+       or ->web apps with list view
+ v2  * required as a group (one of the following must be available):
+       + i propose something like the following:
+           <input type="text" group="contact" name="voicephone"> Voice phone
+           <input type="text" group="contact" name="fax"> Fax
+           <input type="text" group="contact" name="mobile"> Mobile phone
+           <input type="text" group="contact" name="email"> E-mail
+         if the user fills out none of the form fields in the "contact"
+         group, an error message is shown and the form is not submitted.
+         - Peter-Paul Koch
+ v2  * formatting of number fields, text fields, etc, so that when the
+       field is not focused, the value is displayed differently. Seems
+       like this would also be useful e.g. for <output> or something so
+       you can display localised dates, etc.
+ v2  * being able to select date range (from day x to day y)
+ v2  * ways of visualizing a linefeed in a <textarea> so it looks different
+       from wrapping text
+ v2  * all login systems have
+         1. enter username and password
+         2. create new account
+         3. lost password
+       some way of integrating this into one system, since it's so common
+ v2  * way of identifying different sorts of mailadresses
+         a) mailing-list
+         b) person
+         c) department in a company ("support", "marketing" and such)
+         d) general mail (like "info", "mail", "contact" and such)
+         e) other sorts of groupings
+       (or ->web apps; this is talking about in mailto: links, I think)
+ v2  * hotswapping login identities like in windows xp
+         you are logged in on operamail.com, and you want to check the mail
+         of another user. somehow, combined with the wand or whatever,
+         the browser will remember the login page, and it can re-submit it
+         without having to load the initial page (saving time)
+ v2  * provide different measuring systems, like having the html indicate
+       fluid in both fluid ounces and liters, and the browser can display
+       one or the other based on regional settings in the browser or ui,
+       display conversions in a tooltip, or let the user decide which
+       format to display.
+ v2  * indicate "x days ago" or "y days into the future" rather than date
+ v2  * input control for anniversaries
+ v2  * only submit fields that have changed, or a way to include in the
+       submission a list of which form controls were changed from their
+       default value
+ v2  * have a way of marking the first option of a <select> as the default
+       but have it not satisfy a new required="" attribute on <select> so
+       that you can have selects that require a valid value.
+ v2  * type="time" value="now"
+ v2  * add something to type="number" to support basic currency and unit
+       formatting of input
+ v2  * <fieldset enabled-if-checked="myCheckboxOrRadioButton">
+       ...to allow sections to only be enabled if a radio button makes it
+       relevant, for instance.
+ v2  * Yan Morin proposed a multi-column dropdown <select> or <datalist>:
+         _________________
+        |_New_York______|V|_________________  <- input  with a table link and a down arrow
+        |_City__________|_State_|_Country_|_| <- header of the table
+        | Montreal      |  QC   | Canada  |A| <- top arrow of the scroll
+        |>New York     <|  NY   | US      | | <- selected row
+        | Washington    |  DC   | US      |X| <- cursor scroll
+        | San Francisco |  CA   | US      | |
+        |_Toronto_______|__ON___|_Canada__|V| <- bottom arrow of the scroll
+
+ v2  * add for="" attribute to <input type="password"> so that you can
+       link usernames and passwords. (Jonas Sicking)
+ v2  * value for unchecked checkbox?
+ v2  * A way to specify the default button - Michael Gratton
+ v2  * <fieldset readonly>?
+ v2  * dolphinling suggests having a way to mark certain parts of a
+       form as being dependent on another (mutually exclusive parts of
+       a form)
+ v2  * expose the form data set, either as an object (on which one can
+       invoke the JSON serialiser), or in the form of a method on
+       HTMLFormElement that returns the form data set serialised
+       according to a particular encoding (defaulting to the form's
+       enctype="" one, probably). This would allow forms to be used
+       with XHR-like systems without having to manually construct the
+       form data set the way that is done today.
+
+Consistency in editorial style:
+ v2  * need to become consistent about whether or not to quote keyword
+       ("<code title="">foo</code>" vs <code>foo</code>)
+ v2  * make the spec consistent about whether the word "algorithm" is part of
+       an algorithm's name or not ("</dfn> algorithm", "</span> algorithm")
+ v2  * 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.
+ v2  * become more consistent about what markup we use to mark up
+       productions (nothing? <i>? <code>?)
+ v2  * use <code>Document</code> consistently instead of 'document'.
+ v2  * s/raise/throw/g
+ v2  * be clearer about arrays/lists/collections being zero-based
+       despite using the term "/index/th".
+ v2  * 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>
+--></body></html>
\ No newline at end of file

Index: syntax.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/syntax.html,v
retrieving revision 1.559
retrieving revision 1.560
diff -u -d -r1.559 -r1.560
--- syntax.html	6 Jan 2010 15:38:54 -0000	1.559
+++ syntax.html	6 Jan 2010 15:49:35 -0000	1.560
@@ -526,4 +526,342 @@
    <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">
\ No newline at end of file
+    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 characters ("),
+    U+0027 APOSTROPHE characters ('), U+003D EQUALS SIGN
+    characters (=), U+003C LESS-THAN SIGN characters (&lt;), U+003E
+    GREATER-THAN SIGN characters (&gt;), 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="the-input-element.html#attr-input-value">value</a></code> attribute is given
+     with the unquoted attribute value syntax:</p>
+
+     <pre>&lt;input <em>value=yes</em>&gt;</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 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 characters ('), and
+    finally followed by a second single U+0027 APOSTROPHE character
+    (').</p>
+
+    <div class="example">
+
+     <p>In the following example, the <code title="attr-input-type"><a href="the-input-element.html#attr-input-type">type</a></code> attribute is given with the
+     single-quoted attribute value syntax:</p>
+
+     <pre>&lt;input <em>type='checkbox'</em>&gt;</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 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 characters ("),
+    and finally followed by a second single U+0022 QUOTATION MARK
+    character (").</p>
+
+    <div class="example">
+
+     <p>In the following example, the <code title="attr-fe-name"><a href="association-of-controls-and-forms.html#attr-fe-name">name</a></code> attribute is given with the
+     double-quoted attribute value syntax:</p>
+
+     <pre>&lt;input <em>name="be evil"</em>&gt;</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 <a href="#syntax">the
+  HTML syntax</a>.</p><h5 id="optional-tags"><span class="secno">9.1.2.4 </span>Optional tags</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><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="">&lt;html&gt;</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="sections.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="sections.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="sections.html#the-body-element-0">body</a></code> element is a <code><a href="scripting-1.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="sections.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="sections.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="grouping-content.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="grouping-content.html#the-li-element">li</a></code> element is
+  immediately followed by another <code><a href="grouping-content.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="grouping-content.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="grouping-content.html#the-dt-element">dt</a></code> element is
+  immediately followed by another <code><a href="grouping-content.html#the-dt-element">dt</a></code> element or a
+  <code><a href="grouping-content.html#the-dd-element">dd</a></code> element.</p><!-- </dd> --><p>A <code><a href="grouping-content.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="grouping-content.html#the-dd-element">dd</a></code> element is
+  immediately followed by another <code><a href="grouping-content.html#the-dd-element">dd</a></code> element or a
+  <code><a href="grouping-content.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="grouping-content.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="grouping-content.html#the-p-element">p</a></code> element is
+  immediately followed by an <code><a href="sections.html#the-address-element">address</a></code>,
+  <code><a href="sections.html#the-article-element">article</a></code>, <code><a href="sections.html#the-aside-element">aside</a></code>, <code><a href="grouping-content.html#the-blockquote-element">blockquote</a></code>,
+  <!--v2DATAGRID <code>datagrid</code>,--> <code><a href="obsolete.html#dir">dir</a></code>,
+  <code><a href="grouping-content.html#the-div-element">div</a></code>, <code><a href="grouping-content.html#the-dl-element">dl</a></code>, <code><a href="forms.html#the-fieldset-element">fieldset</a></code>,
+  <code><a href="sections.html#the-footer-element">footer</a></code>, <code><a href="forms.html#the-form-element">form</a></code>, <code><a href="sections.html#the-h1-h2-h3-h4-h5-and-h6-elements">h1</a></code>,
+  <code><a href="sections.html#the-h1-h2-h3-h4-h5-and-h6-elements">h2</a></code>, <code><a href="sections.html#the-h1-h2-h3-h4-h5-and-h6-elements">h3</a></code>, <code><a href="sections.html#the-h1-h2-h3-h4-h5-and-h6-elements">h4</a></code>, <code><a href="sections.html#the-h1-h2-h3-h4-h5-and-h6-elements">h5</a></code>,
+  <code><a href="sections.html#the-h1-h2-h3-h4-h5-and-h6-elements">h6</a></code>, <code><a href="sections.html#the-header-element">header</a></code>, <code><a href="sections.html#the-hgroup-element">hgroup</a></code>,
+  <code><a href="grouping-content.html#the-hr-element">hr</a></code>, <code><a href="interactive-elements.html#menus">menu</a></code>, <code><a href="sections.html#the-nav-element">nav</a></code>,
+  <code><a href="grouping-content.html#the-ol-element">ol</a></code>, <code><a href="grouping-content.html#the-p-element">p</a></code>, <code><a href="grouping-content.html#the-pre-element">pre</a></code>,
+  <code><a href="sections.html#the-section-element">section</a></code>, <code><a href="tabular-data.html#the-table-element">table</a></code>, or <code><a href="grouping-content.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="the-button-element.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="the-button-element.html#the-optgroup-element">optgroup</a></code> element <!--has an ancestor
+  <code>select</code> element and--> is immediately followed by
+  another <code><a href="the-button-element.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="the-button-element.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="the-button-element.html#the-option-element">option</a></code> element is
+  immediately followed by another <code><a href="the-button-element.html#the-option-element">option</a></code> element, or if
+  it is immediately followed by an <code><a href="the-button-element.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 class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><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="grouping-content.html#the-pre-element">pre</a></code> and <code><a href="the-button-element.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="grouping-content.html#the-pre-element">pre</a></code> blocks are equivalent:</p>
+   <pre>&lt;pre&gt;Hello&lt;/pre&gt;</pre>
+   <pre>&lt;pre&gt;<br>Hello&lt;/pre&gt;</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 class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><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="">&lt;/</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 (&gt;), or U+002F SOLIDUS (/).</p><h4 id="text-0"><span class="secno">9.1.3 </span>Text</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><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 class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><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 class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><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 character
+  (&amp;). 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. </dd>
+
+
+   <dt>Decimal numeric character reference</dt>
+
+   <dd>The ampersand must be followed by a U+0023 NUMBER SIGN
+   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
+   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 (&amp;) 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
+  (&lt;), or another U+0026 AMPERSAND character (&amp;).</p><h4 id="cdata-sections"><span class="secno">9.1.5 </span>CDATA sections</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><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="">&lt;![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="">]]&gt;</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="">]]&gt;</code>).</p><h4 id="comments"><span class="secno">9.1.6 </span>Comments</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</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="">&lt;!--</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 (&gt;), nor start with a U+002D
+  HYPHEN-MINUS character (-) followed by a U+003E GREATER-THAN SIGN
+  (&gt;) character, nor contain two consecutive U+002D HYPHEN-MINUS
+  characters (<code title="">--</code>), nor end with a U+002D
+  HYPHEN-MINUS 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="">--&gt;</code>).</p></body></html>
\ No newline at end of file

Index: common-microsyntaxes.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/common-microsyntaxes.html,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- common-microsyntaxes.html	6 Jan 2010 15:38:52 -0000	1.11
+++ common-microsyntaxes.html	6 Jan 2010 15:49:33 -0000	1.12
@@ -213,4 +213,425 @@
    .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-tabl
\ No newline at end of file
+   .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="data:text/css," id="complete" rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" id="author" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" id="highlight" rel="alternate stylesheet" title="Highlight implementation requirements"><script>
+   function getCookie(name) {
+     var params = location.search.substr(1).split("&");
+     for (var index = 0; index < params.length; index++) {
+       if (params[index] == name)
+         return "1";
+       var data = params[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     var cookies = document.cookie.split("; ");
+     for (var index = 0; index < cookies.length; index++) {
+       var data = cookies[index].split("=");
+       if (data[0] == name)
+         return unescape(data[1]);
+     }
+     return null;
+   }
+   function load(script) {
+     var e = document.createElement('script');
+     e.setAttribute('src', 'http://www.whatwg.org/specs/web-apps/current-work/' + script + '?' + encodeURIComponent(location) + '&' + encodeURIComponent(document.referrer));
+     document.body.appendChild(e);
+   }
+   function init() {
+     if (location.search == '?slow-browser')
+       return;
+     var configUI = document.createElement('div');
+     configUI.id = 'configUI';
+     document.body.appendChild(configUI);
+     // load('reviewer.js'); // would need cross-site XHR
+     if (document.getElementById('head'))
+       load('toc.js');
+     
+     // load('updater.js'); // would need cross-site XHR
+     load('dfn.js');
+     // load('status.js'); // would need cross-site XHR
+     if (getCookie('profile') == '1')
+       document.getElementsByTagName('h2')[0].textContent += '; load: ' + (new Date() - loadTimer) + 'ms';
+     fixBrokenLink();
+   }
+  </script><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><link href="infrastructure.html" title="2 Common infrastructure" rel="prev">
+  <link href="Overview.html#contents" title="Table of contents" rel="index">
+  <link href="urls.html" title="2.5 URLs" rel="next">
+  </head><body onload="fixBrokenLink(); init()"><div class="head" id="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 (Author Edition)</h1>
+   </div><div>
+   <a href="infrastructure.html">&#8592; 2 Common infrastructure</a> &#8211;
+   <a href="Overview.html#contents">Table of contents</a> &#8211;
+   <a href="urls.html">2.5 URLs &#8594;</a>
+  <ol class="toc"><li><ol><li><a href="common-microsyntaxes.html#common-microsyntaxes"><span class="secno">2.4 </span>Common microsyntaxes</a>
+    <ol><li><a href="common-microsyntaxes.html#boolean-attributes"><span class="secno">2.4.1 </span>Boolean attributes</a></li><li><a href="common-microsyntaxes.html#keywords-and-enumerated-attributes"><span class="secno">2.4.2 </span>Keywords and enumerated attributes</a></li><li><a href="common-microsyntaxes.html#numbers"><span class="secno">2.4.3 </span>Numbers</a>
+      <ol><li><a href="common-microsyntaxes.html#non-negative-integers"><span class="secno">2.4.3.1 </span>Non-negative integers</a></li><li><a href="common-microsyntaxes.html#signed-integers"><span class="secno">2.4.3.2 </span>Signed integers</a></li><li><a href="common-microsyntaxes.html#real-numbers"><span class="secno">2.4.3.3 </span>Real numbers</a></li><li><a href="common-microsyntaxes.html#lists-of-integers"><span class="secno">2.4.3.4 </span>Lists of integers</a></li></ol></li><li><a href="common-microsyntaxes.html#dates-and-times"><span class="secno">2.4.4 </span>Dates and times</a>
+      <ol><li><a href="common-microsyntaxes.html#months"><span class="secno">2.4.4.1 </span>Months</a></li><li><a href="common-microsyntaxes.html#dates"><span class="secno">2.4.4.2 </span>Dates</a></li><li><a href="common-microsyntaxes.html#times"><span class="secno">2.4.4.3 </span>Times</a></li><li><a href="common-microsyntaxes.html#local-dates-and-times"><span class="secno">2.4.4.4 </span>Local dates and times</a></li><li><a href="common-microsyntaxes.html#global-dates-and-times"><span class="secno">2.4.4.5 </span>Global dates and times</a></li><li><a href="common-microsyntaxes.html#weeks"><span class="secno">2.4.4.6 </span>Weeks</a></li><li><a href="common-microsyntaxes.html#vaguer-moments-in-time"><span class="secno">2.4.4.7 </span>Vaguer moments in time</a></li></ol></li><li><a href="common-microsyntaxes.html#colors"><span class="secno">2.4.5 </span>Colors</a></li><li><a href="common-microsyntaxes.html#space-separated-tokens"><span class="secno">2.4.6 </span>Space-separated tokens</a></li><li><a href=common-microsyntaxes.html#comma-separated-tokens"><span class="secno">2.4.7 </span>Comma-separated tokens</a></li><li><a href="common-microsyntaxes.html#syntax-references"><span class="secno">2.4.8 </span>References</a></li><li><a href="common-microsyntaxes.html#mq"><span class="secno">2.4.9 </span>Media queries</a></li></ol></li></ol></li></ol></div>
+
+  <h3 id="common-microsyntaxes"><span class="secno">2.4 </span>Common microsyntaxes</h3><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>There are various places in HTML that accept particular data
+  types, such as dates or numbers. This section describes what the
+  conformance criteria for content in those formats is, and how to
+  parse them.</p><h4 id="boolean-attributes"><span class="secno">2.4.1 </span>Boolean attributes</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>A number of attributes are <dfn id="boolean-attribute" title="boolean attribute">boolean
+  attributes</dfn>. The presence of a boolean attribute on an element
+  represents the true value, and the absence of the attribute
+  represents the false value.</p><p>If the attribute is present, its value must either be the empty
+  string or a value that is an <a href="infrastructure.html#ascii-case-insensitive">ASCII case-insensitive</a>
+  match for the attribute's canonical name, with no leading or
+  trailing whitespace.</p><p class="note">The values "true" and "false" are not allowed on
+  boolean attributes. To represent a false value, the attribute has to
+  be omitted altogether.</p><h4 id="keywords-and-enumerated-attributes"><span class="secno">2.4.2 </span>Keywords and enumerated attributes</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>Some attributes are defined as taking one of a finite set of
+  keywords. Such attributes are called <dfn id="enumerated-attribute" title="enumerated
+  attribute">enumerated attributes</dfn>. The keywords are each
+  defined to map to a particular <em>state</em> (several keywords
+  might map to the same state, in which case some of the keywords are
+  synonyms of each other; additionally, some of the keywords can be
+  said to be non-conforming, and are only in the specification for
+  historical reasons). In addition, two default states can be
+  given. The first is the <i>invalid value default</i>, the second
+  is the <i>missing value default</i>.</p><p>If an enumerated attribute is specified, the attribute's value
+  must be an <a href="infrastructure.html#ascii-case-insensitive">ASCII case-insensitive</a> match for one of the
+  given keywords that are not said to be non-conforming, with no
+  leading or trailing whitespace.</p><p>When the attribute is specified, if its value is an <a href="infrastructure.html#ascii-case-insensitive">ASCII
+  case-insensitive</a> match for one of the given keywords then
+  that keyword's state is the state that the attribute represents. If
+  the attribute value matches none of the given keywords, but the
+  attribute has an <i>invalid value default</i>, then the attribute
+  represents that state. Otherwise, if the attribute value matches
+  none of the keywords but there is a <i>missing value default</i>
+  state defined, then <em>that</em> is the state represented by the
+  attribute. Otherwise, there is no default, and invalid values must
+  be ignored.</p><p>When the attribute is <em>not</em> specified, if there is a
+  <i>missing value default</i> state defined, then that is the state
+  represented by the (missing) attribute. Otherwise, the absence of
+  the attribute means that there is no state represented.</p><p class="note">The empty string can be a valid keyword.</p><h4 id="numbers"><span class="secno">2.4.3 </span>Numbers</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><h5 id="non-negative-integers"><span class="secno">2.4.3.1 </span>Non-negative integers</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>A string is a <dfn id="valid-non-negative-integer">valid non-negative integer</dfn> if it
+  consists of one or more characters in the range U+0030 DIGIT ZERO
+  (0) to U+0039 DIGIT NINE (9).</p><p>A <a href="#valid-non-negative-integer">valid non-negative integer</a> represents the number
+  that is represented in base ten by that string of digits.</p><h5 id="signed-integers"><span class="secno">2.4.3.2 </span>Signed integers</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>A string is a <dfn id="valid-integer">valid integer</dfn> if it consists of one or
+  more characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
+  NINE (9), optionally prefixed with a U+002D HYPHEN-MINUS character
+  (-).</p><p>A <a href="#valid-integer">valid integer</a> without a U+002D HYPHEN-MINUS (-)
+  prefix represents the number that is represented in base ten by that
+  string of digits. A <a href="#valid-integer">valid integer</a> <em>with</em> a
+  U+002D HYPHEN-MINUS (-) prefix represents the number represented in
+  base ten by the string of digits that follows the U+002D
+  HYPHEN-MINUS, subtracted from zero.</p><h5 id="real-numbers"><span class="secno">2.4.3.3 </span>Real numbers</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>A string is a <dfn id="valid-floating-point-number">valid floating point number</dfn> if it
+  consists of:</p><ol class="brief"><li>Optionally, a U+002D HYPHEN-MINUS character (-).</li>
+
+   <li>A series of one or more characters in the range U+0030 DIGIT
+   ZERO (0) to U+0039 DIGIT NINE (9).</li>
+
+   <li>Optionally:
+
+    <ol><li>A single U+002E FULL STOP character (.).</li>
+
+     <li>A series of one or more characters in the range U+0030 DIGIT
+     ZERO (0) to U+0039 DIGIT NINE (9).</li>
+
+    </ol></li>
+
+   <li>Optionally:
+
+    <ol><li>Either a U+0065 LATIN SMALL LETTER E character (e) or a
+     U+0045 LATIN CAPITAL LETTER E character (E).</li>
+
+     <li>Optionally, a U+002D HYPHEN-MINUS character (-) or U+002B
+     PLUS SIGN character (+).</li>
+
+     <li>A series of one or more characters in the range U+0030 DIGIT
+     ZERO (0) to U+0039 DIGIT NINE (9).</li>
+
+    </ol></li>
+
+  </ol><p>A <a href="#valid-floating-point-number">valid floating point number</a> represents the number
+  obtained by multiplying the significand by ten raised to the power
+  of the exponent, where the significand is the first number,
+  interpreted as base ten (including the decimal point and the number
+  after the decimal point, if any, and interpreting the significand as
+  a negative number if the whole string starts with a U+002D
+  HYPHEN-MINUS character (-) and the number is not zero), and where
+  the exponent is the number after the E, if any (interpreted as a
+  negative number if there is a U+002D HYPHEN-MINUS character (-)
+  between the E and the number and the number is not zero, or else
+  ignoring a U+002B PLUS SIGN character (+) between the E and the
+  number if there is one). If there is no E, then the exponent is
+  treated as zero.</p><p class="note">The Infinity and Not-a-Number (NaN) values are not
+  <a href="#valid-floating-point-number" title="valid floating point number">valid floating point
+  numbers</a>.</p><h5 id="lists-of-integers"><span class="secno">2.4.3.4 </span>Lists of integers</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>A <dfn id="valid-list-of-integers">valid list of integers</dfn> is a number of <a href="#valid-integer" title="valid integer">valid integers</a> separated by U+002C
+  COMMA characters, with no other characters (e.g. no <a href="#space-character" title="space character">space characters</a>). In addition, there
+  might be restrictions on the number of integers that can be given,
+  or on the range of values allowed.</p><h4 id="dates-and-times"><span class="secno">2.4.4 </span>Dates and times</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>In the algorithms below, the <dfn id="number-of-days-in-month-month-of-year-year">number of days in month <var title="">month</var> of year <var title="">year</var></dfn> is:
+  <em>31</em> if <var title="">month</var> is 1, 3, 5, 7, 8, 10, or
+  12; <em>30</em> if <var title="">month</var> is 4, 6, 9, or 11;
+  <em>29</em> if <var title="">month</var> is 2 and <var title="">year</var> is a number divisible by 400, or if <var title="">year</var> is a number divisible by 4 but not by 100; and
+  <em>28</em> otherwise. This takes into account leap years in the
+  Gregorian calendar. <a href="references.html#refsGREGORIAN">[GREGORIAN]</a></p><p>The <dfn id="concept-datetime-digit" title="concept-datetime-digit">digits</dfn> in the date
+  and time syntaxes defined in this section must be characters in the
+  range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), used to
+  express numbers in base ten.</p><h5 id="months"><span class="secno">2.4.4.1 </span>Months</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>A <dfn id="concept-month" title="concept-month">month</dfn> consists of a specific
+  proleptic Gregorian date with no time-zone information and no date
+  information beyond a year and a month. <a href="references.html#refsGREGORIAN">[GREGORIAN]</a></p><p>A string is a <dfn id="valid-month-string">valid month string</dfn> representing a year
+  <var title="">year</var> and month <var title="">month</var> if it
+  consists of the following components in the given order:</p><ol><li>Four or more <a href="#concept-datetime-digit" title="concept-datetime-digit">digits</a>, representing <var title="">year</var>, where <var title="">year</var>&#160;&gt;&#160;0</li>
+
+   <li>A U+002D HYPHEN-MINUS character (-)</li>
+
+   <li>Two <a href="#concept-datetime-digit" title="concept-datetime-digit">digits</a>,
+   representing the month <var title="">month</var>, in the range
+   1&#160;&#8804;&#160;<var title="">month</var>&#160;&#8804;&#160;12</li>
+
+  </ol><h5 id="dates"><span class="secno">2.4.4.2 </span>Dates</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>A <dfn id="concept-date" title="concept-date">date</dfn> consists of a specific
+  proleptic Gregorian date with no time-zone information, consisting
+  of a year, a month, and a day. <a href="references.html#refsGREGORIAN">[GREGORIAN]</a></p><p>A string is a <dfn id="valid-date-string">valid date string</dfn> representing a year
+  <var title="">year</var>, month <var title="">month</var>, and day
+  <var title="">day</var> if it consists of the following components
+  in the given order:</p><ol><li>A <a href="#valid-month-string">valid month string</a>, representing <var title="">year</var> and <var title="">month</var></li>
+
+   <li>A U+002D HYPHEN-MINUS character (-)</li>
+
+   <li>Two <a href="#concept-datetime-digit" title="concept-datetime-digit">digits</a>,
+   representing <var title="">day</var>, in the range
+   1&#160;&#8804;&#160;<var title="">day</var>&#160;&#8804;&#160;<var title="">maxday</var> where <var title="">maxday</var> is the <a href="#number-of-days-in-month-month-of-year-year" title="number of days in month month of year year">number of days
+   in the month <var title="">month</var> and year <var title="">year</var></a></li>
+
+  </ol><h5 id="times"><span class="secno">2.4.4.3 </span>Times</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>A <dfn id="concept-time" title="concept-time">time</dfn> consists of a specific
+  time with no time-zone information, consisting of an hour, a minute,
+  a second, and a fraction of a second.</p><p>A string is a <dfn id="valid-time-string">valid time string</dfn> representing an hour
+  <var title="">hour</var>, a minute <var title="">minute</var>, and a
+  second <var title="">second</var> if it consists of the following
+  components in the given order:</p><ol><li>Two <a href="#concept-datetime-digit" title="concept-datetime-digit">digits</a>,
+   representing <var title="">hour</var>, in the range
+   0&#160;&#8804;&#160;<var title="">hour</var>&#160;&#8804;&#160;23</li>
+
+   <li>A U+003A COLON character (:)</li>
+
+   <li>Two <a href="#concept-datetime-digit" title="concept-datetime-digit">digits</a>,
+   representing <var title="">minute</var>, in the range
+   0&#160;&#8804;&#160;<var title="">minute</var>&#160;&#8804;&#160;59</li>
+
+   <li>Optionally (required if <var title="">second</var> is
+   non-zero):
+
+    <ol><li>A U+003A COLON character (:)</li>
+
+     <li>Two <a href="#concept-datetime-digit" title="concept-datetime-digit">digits</a>,
+     representing the integer part of <var title="">second</var>, in
+     the range 0&#160;&#8804;&#160;<var title="">s</var>&#160;&#8804;&#160;59</li>
+
+     <li>Optionally (required if <var title="">second</var> is not an
+     integer):
+
+      <ol><li>A 002E FULL STOP character (.)</li>
+
+       <li>One or more <a href="#concept-datetime-digit" title="concept-datetime-digit">digits</a>, representing the
+       fractional part of <var title="">second</var></li>
+
+      </ol></li>
+
+    </ol></li>
+
+  </ol><p class="note">The <var title="">second</var> component cannot be
+  60 or 61; leap seconds cannot be represented.</p><h5 id="local-dates-and-times"><span class="secno">2.4.4.4 </span>Local dates and times</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>A <dfn id="concept-datetime-local" title="concept-datetime-local">local date and time</dfn>
+  consists of a specific proleptic Gregorian date, consisting of a
+  year, a month, and a day, and a time, consisting of an hour, a
+  minute, a second, and a fraction of a second, but expressed without
+  a time zone. <a href="references.html#refsGREGORIAN">[GREGORIAN]</a></p><p>A string is a <dfn id="valid-local-date-and-time-string">valid local date and time string</dfn>
+  representing a date and time if it consists of the following
+  components in the given order:</p><ol><li>A <a href="#valid-date-string">valid date string</a> representing the date.</li>
+
+   <li>A U+0054 LATIN CAPITAL LETTER T character (T).</li>
+
+   <li>A <a href="#valid-time-string">valid time string</a> representing the time.</li>
+
+  </ol><h5 id="global-dates-and-times"><span class="secno">2.4.4.5 </span>Global dates and times</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>A <dfn id="concept-datetime" title="concept-datetime">global date and time</dfn>
+  consists of a specific proleptic Gregorian date, consisting of a
+  year, a month, and a day, and a time, consisting of an hour, a
+  minute, a second, and a fraction of a second, expressed with a
+  time-zone offset, consisting of a signed number of hours and
+  minutes. <a href="references.html#refsGREGORIAN">[GREGORIAN]</a></p><p>A string is a <dfn id="valid-global-date-and-time-string">valid global date and time string</dfn>
+  representing a date, time, and a time-zone offset if it consists of
+  the following components in the given order:</p><ol><li>A <a href="#valid-date-string">valid date string</a> representing the date</li>
+
+   <li>A U+0054 LATIN CAPITAL LETTER T character (T)</li>
+
+   <li>A <a href="#valid-time-string">valid time string</a> representing the time</li>
+
+   <li>Either:
+
+    <ul><li>A U+005A LATIN CAPITAL LETTER Z character (Z), allowed only
+     if the time zone is UTC</li>
+
+     <li>Or:
+
+      <ol><li>Either a U+002B PLUS SIGN character (+) or a U+002D
+       HYPHEN-MINUS character (-), representing the sign of the
+       time-zone offset</li>
+
+       <li>Two <a href="#concept-datetime-digit" title="concept-datetime-digit">digits</a>,
+       representing the hours component <var title="">hour</var> of
+       the time-zone offset, in the range 0&#160;&#8804;&#160;<var title="">hour</var>&#160;&#8804;&#160;23</li>
+
+       <li>A U+003A COLON character (:)</li>
+
+       <li>Two <a href="#concept-datetime-digit" title="concept-datetime-digit">digits</a>,
+       representing the minutes component <var title="">minute</var>
+       of the time-zone offset, in the range 0&#160;&#8804;&#160;<var title="">minute</var>&#160;&#8804;&#160;59</li>
+
+      </ol></li>
+
+    </ul></li>
+
+  </ol><p class="note">This format allows for time-zone offsets from -23:59
+  to +23:59. In practice, however, the range of offsets of actual time
+  zones is -12:00 to +14:00, and the minutes component of offsets of
+  actual time zones is always either 00, 30, or 45.</p><div class="example">
+
+   <p>The following are some examples of dates written as <a href="#valid-global-date-and-time-string" title="valid global date and time string">valid global date and
+   time strings</a>.</p>
+
+   <dl><dt>"<code>0037-12-13T00:00Z</code>"</dt>
+
+    <dd>Midnight UTC on the birthday of Nero (the Roman Emperor).</dd>
+
+    <dt>"<code>1979-10-14T12:00:00.001-04:00</code>"</dt>
+
+    <dd>One millisecond after noon on October 14th 1979, in the time
+    zone in use on the east coast of the USA during daylight saving
+    time.</dd>
+
+    <dt>"<code>8592-01-01T02:09+02:09</code>"</dt>
+
+    <dd>Midnight UTC on the 1st of January, 8592. The time zone
+    associated with that time is two hours and nine minutes ahead of
+    UTC, which is not currently a real time zone, but is nonetheless
+    allowed.</dd>
+
+   </dl><p>Several things are notable about these dates:</p>
+
+   <ul><li>Years with fewer than four digits have to be
+    zero-padded. The date "37-12-13" would not be a valid date.</li>
+
+    <li>To unambiguously identify a moment in time prior to the
+    introduction of the Gregorian calendar, the date has to be first
+    converted to the Gregorian calendar from the calendar in use at
+    the time (e.g. from the Julian calendar). The date of Nero's birth
+    is the 15th of December 37, in the Julian Calendar, which is the
+    13th of December 37 in the proleptic Gregorian Calendar.</li> <!--
+    This might not be true. I can't find a reference that gives his
+    birthday with an explicit statement about the calendar being
+    used. However, it seems unlikely that it would be given in the
+    Gregorian calendar, so I assume sites use the Julian one. -->
+
+    <li>The time and time-zone offset components are not optional.</li>
+
+    <li>Dates before the year one can't be represented as a datetime
+    in this version of HTML.</li>
+
+    <li>Time-zone offsets differ based on daylight savings time.</li>
+
+   </ul></div><h5 id="weeks"><span class="secno">2.4.4.6 </span>Weeks</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>A <dfn id="concept-week" title="concept-week">week</dfn> consists of a week-year
+  number and a week number representing a seven-day period starting on
+  a Monday. Each week-year in this calendaring system has either 52 or
+  53 such seven-day periods, as defined below. The seven-day period
+  starting on the Gregorian date Monday December 29th 1969
+  (1969-12-29) is defined as week number 1 in week-year
+  1970. Consecutive weeks are numbered sequentially. The week before
+  the number 1 week in a week-year is the last week in the previous
+  week-year, and vice versa. <a href="references.html#refsGREGORIAN">[GREGORIAN]</a></p><p>A week-year with a number <var title="">year</var> has 53 weeks
+  if it corresponds to either a year <var title="">year</var> in the
+  proleptic Gregorian calendar that has a Thursday as its first day
+  (January 1st), or a year <var title="">year</var> in the proleptic
+  Gregorian calendar that has a Wednesday as its first day (January
+  1st) and where <var title="">year</var> is a number divisible by
+  400, or a number divisible by 4 but not by 100. All other week-years
+  have 52 weeks.</p><p>The <dfn id="week-number-of-the-last-day">week number of the last day</dfn> of a week-year with 53
+  weeks is 53; the week number of the last day of a week-year with 52
+  weeks is 52.</p><p class="note">The week-year number of a particular day can be
+  different than the number of the year that contains that day in the
+  proleptic Gregorian calendar. The first week in a week-year <var title="">y</var> is the week that contains the first Thursday of
+  the Gregorian year <var title="">y</var>.</p><p>A string is a <dfn id="valid-week-string">valid week string</dfn> representing a
+  week-year <var title="">year</var> and week <var title="">week</var>
+  if it consists of the following components in the given order:</p><ol><li>Four or more <a href="#concept-datetime-digit" title="concept-datetime-digit">digits</a>, representing <var title="">year</var>, where <var title="">year</var>&#160;&gt;&#160;0</li>
+
+   <li>A U+002D HYPHEN-MINUS character (-)</li>
+
+   <li>A U+0057 LATIN CAPITAL LETTER W character (W)</li>
+
+   <li>Two <a href="#concept-datetime-digit" title="concept-datetime-digit">digits</a>,
+   representing the week <var title="">week</var>, in the range
+   1&#160;&#8804;&#160;<var title="">week</var>&#160;&#8804;&#160;<var title="">maxweek</var>, where <var title="">maxweek</var> is the
+   <a href="#week-number-of-the-last-day">week number of the last day</a> of week-year <var title="">year</var></li>
+
+  </ol><h5 id="vaguer-moments-in-time"><span class="secno">2.4.4.7 </span>Vaguer moments in time</h5><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>A string is a <dfn id="valid-date-or-time-string">valid date or time string</dfn> if it is also
+  one of the following:</p><ul><li>A <a href="#valid-date-string">valid date string</a>.</li>
+
+   <li>A <a href="#valid-time-string">valid time string</a>.</li>
+
+   <li>A <a href="#valid-global-date-and-time-string">valid global date and time string</a>.</li>
+
+  </ul><p>A string is a <dfn id="valid-date-or-time-string-in-content">valid date or time string in content</dfn> if
+  it consists of zero or more <a href="#white_space">White_Space</a> characters,
+  followed by a <a href="#valid-date-or-time-string">valid date or time string</a>, followed by
+  zero or more further <a href="#white_space">White_Space</a> characters.</p><hr><p>A string is a <dfn id="valid-date-string-with-optional-time">valid date string with optional time</dfn> if
+  it is also one of the following:</p><ul><li>A <a href="#valid-date-string">valid date string</a>.</li>
+
+   <li>A <a href="#valid-global-date-and-time-string">valid global date and time string</a>.</li>
+
+  </ul><p>A string is a <dfn id="valid-date-string-in-content-with-optional-time">valid date string in content with optional
+  time</dfn> if it consists of zero or more <a href="#white_space">White_Space</a>
+  characters, followed by a <a href="#valid-date-string-with-optional-time">valid date string with optional
+  time</a>, followed by zero or more further
+  <a href="#white_space">White_Space</a> characters.</p><h4 id="colors"><span class="secno">2.4.5 </span>Colors</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>A <dfn id="simple-color">simple color</dfn> consists of three 8-bit numbers in the
+  range 0..255, representing the red, green, and blue components of
+  the color respectively, in the sRGB color space. <a href="references.html#refsSRGB">[SRGB]</a></p><p>A string is a <dfn id="valid-simple-color">valid simple color</dfn> if it is exactly
+  seven characters long, and the first character is a U+0023 NUMBER
+  SIGN character (#), and the remaining six characters are all in the
+  range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), U+0041 LATIN
+  CAPITAL LETTER A to U+0046 LATIN CAPITAL LETTER F, U+0061 LATIN
+  SMALL LETTER A to U+0066 LATIN SMALL LETTER F, with the first two
+  digits representing the red component, the middle two digits
+  representing the green component, and the last two digits
+  representing the blue component, in hexadecimal.</p><p>A string is a <dfn id="valid-lowercase-simple-color">valid lowercase simple color</dfn> if it is a
+  <a href="#valid-simple-color">valid simple color</a> and doesn't use any characters in
+  the range U+0041 LATIN CAPITAL LETTER A to U+0046 LATIN CAPITAL
+  LETTER F.</p><hr><p class="note">The <a href="the-canvas-element.html#canvas-context-2d" title="canvas-context-2d">2D graphics
+  context</a> has a separate color syntax that also handles
+  opacity.</p><h4 id="space-separated-tokens"><span class="secno">2.4.6 </span>Space-separated tokens</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>A <dfn id="set-of-space-separated-tokens">set of space-separated tokens</dfn> is a string containing
+  zero or more words separated by one or more <a href="#space-character" title="space
+  character">space characters</a>, where words consist of any
+  string of one or more characters, none of which are <a href="#space-character" title="space character">space characters</a>.</p><p>A string containing a <a href="#set-of-space-separated-tokens">set of space-separated tokens</a>
+  may have leading or trailing <a href="#space-character" title="space character">space
+  characters</a>.</p><p>An <dfn id="unordered-set-of-unique-space-separated-tokens">unordered set of unique space-separated tokens</dfn> is a
+  <a href="#set-of-space-separated-tokens">set of space-separated tokens</a> where none of the words
+  are duplicated.</p><p>An <dfn id="ordered-set-of-unique-space-separated-tokens">ordered set of unique space-separated tokens</dfn> is a
+  <a href="#set-of-space-separated-tokens">set of space-separated tokens</a> where none of the words
+  are duplicated but where the order of the tokens is meaningful.</p><p><a href="#set-of-space-separated-tokens" title="set of space-separated tokens">Sets of
+  space-separated tokens</a> sometimes have a defined set of
+  allowed values. When a set of allowed values is defined, the tokens
+  must all be from that list of allowed values; other values are
+  non-conforming. If no such set of allowed values is provided, then
+  all values are conforming.</p><h4 id="comma-separated-tokens"><span class="secno">2.4.7 </span>Comma-separated tokens</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>A <dfn id="set-of-comma-separated-tokens">set of comma-separated tokens</dfn> is a string containing
+  zero or more tokens each separated from the next by a single U+002C
+  COMMA character (,), where tokens consist of any string of zero or
+  more characters, neither beginning nor ending with <a href="#space-character" title="space character">space characters</a>, nor containing any
+  U+002C COMMA characters (,), and optionally surrounded by <a href="#space-character" title="space character">space characters</a>.</p><p class="example">For instance, the string "<code title="">&#160;a&#160;,b,,d&#160;d&#160;</code>" consists of four
+  tokens: "a", "b", the empty string, and "d&#160;d". Leading and
+  trailing whitespace around each token doesn't count as part of the
+  token, and the empty string can be a token.</p><p><a href="#set-of-comma-separated-tokens" title="set of comma-separated tokens">Sets of
+  comma-separated tokens</a> sometimes have further restrictions on
+  what consists a valid token. When such restrictions are defined, the
+  tokens must all fit within those restrictions; other values are
+  non-conforming. If no such restrictions are specified, then all
+  values are conforming.</p><h4 id="syntax-references"><span class="secno">2.4.8 </span>References</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>A <dfn id="valid-hash-name-reference">valid hash-name reference</dfn> to an element of type <var title="">type</var> is a string consisting of a U+0023 NUMBER SIGN
+  character (#) followed by a string which exactly matches the value
+  of the <code title="">name</code> attribute of an element in the
+  document with type <var title="">type</var>.</p><h4 id="mq"><span class="secno">2.4.9 </span>Media queries</h4><p class="XXX annotation"><b>Status: </b><i>Last call for comments</i></p><p>A string is a <dfn id="valid-media-query">valid media query</dfn> if it matches the
+  <code title="">media_query_list</code> production of the Media
+  Queries specification. <a href="references.html#refsMQ">[MQ]</a></p><p>A string <dfn id="matches-the-environment">matches the environment</dfn> of a view if it is
+  the empty string, a string consisting of only <a href="#space-character" title="space
+  character">space characters</a>, or is a media query that matches
+  that view's environment according to the definitions given in the
+  Media Queries specification. <a href="references.html#refsMQ">[MQ]</a></p></body></html>
\ No newline at end of file

Received on Wednesday, 6 January 2010 15:49:42 UTC