[html5] r8125 - [e] (0) Cleanup Affected topics: DOM APIs, HTML, HTML Syntax and Parsing

whatwg at whatwg.org whatwg at whatwg.org
Sat Aug 3 09:05:04 PDT 2013


Author: ianh
Date: 2013-08-03 09:04:58 -0700 (Sat, 03 Aug 2013)
New Revision: 8125

Modified:
   complete.html
   index
   source
Log:
[e] (0) Cleanup
Affected topics: DOM APIs, HTML, HTML Syntax and Parsing

Modified: complete.html
===================================================================
--- complete.html	2013-08-02 21:48:03 UTC (rev 8124)
+++ complete.html	2013-08-03 16:04:58 UTC (rev 8125)
@@ -256,7 +256,7 @@
 
   <header class=head id=head><p><a href=http://www.whatwg.org/ class=logo><img width=101 src=/images/logo alt=WHATWG height=101></a></p>
    <hgroup><h1 class=allcaps>HTML</h1>
-    <h2 class="no-num no-toc">Living Standard — Last Updated 2 August 2013</h2>
+    <h2 class="no-num no-toc">Living Standard — Last Updated 3 August 2013</h2>
    </hgroup><dl><dt><strong>Web developer edition:</strong></dt>
     <dd><strong><a href=http://developers.whatwg.org/>http://developers.whatwg.org/</a></strong></dd>
     <dt>Multiple-page version:</dt>
@@ -12266,11 +12266,10 @@
    <dt><a href=#element-dfn-content-model title=element-dfn-content-model>Content model</a>:</dt>
    <dd>A <code><a href=#the-head-element>head</a></code> element followed by a <code><a href=#the-body-element>body</a></code> element.</dd>
    <dt><a href=#element-dfn-tag-omission title=element-dfn-tag-omission>Tag omission in text/html</a>:</dt>
-   <dd>An <code><a href=#the-html-element>html</a></code> element's <a href=#syntax-start-tag title=syntax-start-tag>start tag</a> can be omitted if the
-   first thing inside the <code><a href=#the-html-element>html</a></code> element is not a <a href=#syntax-comments title=syntax-comments>comment</a>.</dd>
-   <dd>An <code><a href=#the-html-element>html</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end
-   tag</a> can be omitted if the <code><a href=#the-html-element>html</a></code> element is not
-   immediately followed by a <a href=#syntax-comments title=syntax-comments>comment</a>.</dd>
+   <dd>An <code><a href=#the-html-element>html</a></code> element's <a href=#syntax-start-tag title=syntax-start-tag>start tag</a> can be omitted
+   if the first thing inside the <code><a href=#the-html-element>html</a></code> element is not a <a href=#syntax-comments title=syntax-comments>comment</a>.</dd>
+   <dd>An <code><a href=#the-html-element>html</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if
+   the <code><a href=#the-html-element>html</a></code> element is not immediately followed by a <a href=#syntax-comments title=syntax-comments>comment</a>.</dd>
    <dt><a href=#element-dfn-attributes title=element-dfn-attributes>Content attributes</a>:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-html-manifest><a href=#attr-html-manifest>manifest</a></code> — <a href=#concept-appcache-manifest title=concept-appcache-manifest>Application cache manifest</a></dd>
@@ -12340,12 +12339,11 @@
    <dd>If the document is <a href=#an-iframe-srcdoc-document>an <code>iframe</code> <code title=attr-iframe-srcdoc>srcdoc</code> document</a> or if title information is available from a higher-level protocol: Zero or more elements of <a href=#metadata-content>metadata content</a>, of which no more than one is a <code><a href=#the-title-element>title</a></code> element.</dd>
    <dd>Otherwise: One or more elements of <a href=#metadata-content>metadata content</a>, of which exactly one is a <code><a href=#the-title-element>title</a></code> element.</dd>
    <dt><a href=#element-dfn-tag-omission title=element-dfn-tag-omission>Tag omission in text/html</a>:</dt>
-   <dd>A <code><a href=#the-head-element>head</a></code> element's <a href=#syntax-start-tag title=syntax-start-tag>start tag</a> can be omitted if the
-   element is empty, or if the first thing inside the
-   <code><a href=#the-head-element>head</a></code> element is an element.</dd>
-   <dd>A <code><a href=#the-head-element>head</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end
-   tag</a> can be omitted if the <code><a href=#the-head-element>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>.</dd>
+   <dd>A <code><a href=#the-head-element>head</a></code> element's <a href=#syntax-start-tag title=syntax-start-tag>start tag</a> can be omitted if
+   the element is empty, or if the first thing inside the <code><a href=#the-head-element>head</a></code> element is an
+   element.</dd>
+   <dd>A <code><a href=#the-head-element>head</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if the
+   <code><a href=#the-head-element>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>.</dd>
    <dt><a href=#element-dfn-attributes title=element-dfn-attributes>Content attributes</a>:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dt><a href=#element-dfn-dom title=element-dfn-dom>DOM interface</a>:</dt><!--TOPIC:DOM APIs-->
@@ -15556,17 +15554,15 @@
    <dt><a href=#element-dfn-content-model title=element-dfn-content-model>Content model</a>:</dt>
    <dd><a href=#flow-content>Flow content</a>.</dd>
    <dt><a href=#element-dfn-tag-omission title=element-dfn-tag-omission>Tag omission in text/html</a>:</dt>
-   <dd>A <code><a href=#the-body-element>body</a></code> element's <a href=#syntax-start-tag title=syntax-start-tag>start tag</a> can be omitted if the
-   element is empty, or if the first thing inside the <code><a href=#the-body-element>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=#the-body-element>body</a></code> element is a <code><a href=#the-script-element>script</a></code> or
-   <code><a href=#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> --></dd>
-   <dd>A <code><a href=#the-body-element>body</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end
-   tag</a> can be omitted if the <code><a href=#the-body-element>body</a></code> element is not
-   immediately followed by a <a href=#syntax-comments title=syntax-comments>comment</a>.</dd>
+   <dd>A <code><a href=#the-body-element>body</a></code> element's <a href=#syntax-start-tag title=syntax-start-tag>start tag</a> can be omitted if
+   the element is empty, or if the first thing inside the <code><a href=#the-body-element>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=#the-body-element>body</a></code> element is a <code><a href=#the-script-element>script</a></code> or <code><a href=#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>
+   --></dd>
+   <dd>A <code><a href=#the-body-element>body</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if the
+   <code><a href=#the-body-element>body</a></code> element is not immediately followed by a <a href=#syntax-comments title=syntax-comments>comment</a>.</dd>
    <dt><a href=#element-dfn-attributes title=element-dfn-attributes>Content attributes</a>:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=handler-window-onafterprint><a href=#handler-window-onafterprint>onafterprint</a></code></dd>
@@ -17700,19 +17696,15 @@
    <dt><a href=#element-dfn-content-model title=element-dfn-content-model>Content model</a>:</dt>
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt><a href=#element-dfn-tag-omission title=element-dfn-tag-omission>Tag omission in text/html</a>:</dt>
-   <dd>A <code><a href=#the-p-element>p</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end
-   tag</a> can be omitted if the <code><a href=#the-p-element>p</a></code> element is
-   immediately followed by an <code><a href=#the-address-element>address</a></code>,
-   <code><a href=#the-article-element>article</a></code>, <code><a href=#the-aside-element>aside</a></code>, <code><a href=#the-blockquote-element>blockquote</a></code>,
-   <code><a href=#dir>dir</a></code>, <code><a href=#the-div-element>div</a></code>, <code><a href=#the-dl-element>dl</a></code>,
-   <code><a href=#the-fieldset-element>fieldset</a></code>, <code><a href=#the-footer-element>footer</a></code>, <code><a href=#the-form-element>form</a></code>,
-   <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h1</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h2</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h3</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h4</a></code>,
-   <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h5</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h6</a></code>, <code><a href=#the-header-element>header</a></code>,
-   <code><a href=#the-hgroup-element>hgroup</a></code>, <code><a href=#the-hr-element>hr</a></code>, <code><a href=#the-main-element>main</a></code>, <code><a href=#the-menu-element>menu</a></code>,
-   <code><a href=#the-nav-element>nav</a></code>, <code><a href=#the-ol-element>ol</a></code>, <code><a href=#the-p-element>p</a></code>, <code><a href=#the-pre-element>pre</a></code>,
-   <code><a href=#the-section-element>section</a></code>, <code><a href=#the-table-element>table</a></code>, or <code><a href=#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=#the-a-element>a</a></code> element.</dd>
+   <dd>A <code><a href=#the-p-element>p</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if the
+   <code><a href=#the-p-element>p</a></code> element is immediately followed by an <code><a href=#the-address-element>address</a></code>, <code><a href=#the-article-element>article</a></code>,
+   <code><a href=#the-aside-element>aside</a></code>, <code><a href=#the-blockquote-element>blockquote</a></code>, <code><a href=#dir>dir</a></code>, <code><a href=#the-div-element>div</a></code>, <code><a href=#the-dl-element>dl</a></code>,
+   <code><a href=#the-fieldset-element>fieldset</a></code>, <code><a href=#the-footer-element>footer</a></code>, <code><a href=#the-form-element>form</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h1</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h2</a></code>,
+   <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h3</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h4</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h5</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h6</a></code>, <code><a href=#the-header-element>header</a></code>,
+   <code><a href=#the-hgroup-element>hgroup</a></code>, <code><a href=#the-hr-element>hr</a></code>, <code><a href=#the-main-element>main</a></code>, <code><a href=#the-menu-element>menu</a></code>, <code><a href=#the-nav-element>nav</a></code>,
+   <code><a href=#the-ol-element>ol</a></code>, <code><a href=#the-p-element>p</a></code>, <code><a href=#the-pre-element>pre</a></code>, <code><a href=#the-section-element>section</a></code>, <code><a href=#the-table-element>table</a></code>, or
+   <code><a href=#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=#the-a-element>a</a></code> element.</dd>
    <dt><a href=#element-dfn-attributes title=element-dfn-attributes>Content attributes</a>:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dt><a href=#element-dfn-dom title=element-dfn-dom>DOM interface</a>:</dt><!--TOPIC:DOM APIs-->
@@ -18494,10 +18486,9 @@
    <dt><a href=#element-dfn-content-model title=element-dfn-content-model>Content model</a>:</dt>
    <dd><a href=#flow-content>Flow content</a>.</dd>
    <dt><a href=#element-dfn-tag-omission title=element-dfn-tag-omission>Tag omission in text/html</a>:</dt>
-   <dd>An <code><a href=#the-li-element>li</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end
-   tag</a> can be omitted if the <code><a href=#the-li-element>li</a></code> element is
-   immediately followed by another <code><a href=#the-li-element>li</a></code> element or if there
-   is no more content in the parent element.</dd>
+   <dd>An <code><a href=#the-li-element>li</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if the
+   <code><a href=#the-li-element>li</a></code> element is immediately followed by another <code><a href=#the-li-element>li</a></code> element or if there is
+   no more content in the parent element.</dd>
    <dt><a href=#element-dfn-attributes title=element-dfn-attributes>Content attributes</a>:</dt>
    <dd><a href=#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> — <a href=#ordinal-value>Ordinal value</a> of the list item</dd>
@@ -18756,9 +18747,8 @@
    <dt><a href=#element-dfn-content-model title=element-dfn-content-model>Content model</a>:</dt>
    <dd><a href=#flow-content>Flow content</a>, but with no <code><a href=#the-header-element>header</a></code>, <code><a href=#the-footer-element>footer</a></code>, <a href=#sectioning-content>sectioning content</a>, or <a href=#heading-content>heading content</a> descendants.</dd>
    <dt><a href=#element-dfn-tag-omission title=element-dfn-tag-omission>Tag omission in text/html</a>:</dt>
-   <dd>A <code><a href=#the-dt-element>dt</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end
-   tag</a> can be omitted if the <code><a href=#the-dt-element>dt</a></code> element is
-   immediately followed by another <code><a href=#the-dt-element>dt</a></code> element or a
+   <dd>A <code><a href=#the-dt-element>dt</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if the
+   <code><a href=#the-dt-element>dt</a></code> element is immediately followed by another <code><a href=#the-dt-element>dt</a></code> element or a
    <code><a href=#the-dd-element>dd</a></code> element.</dd>
    <dt><a href=#element-dfn-attributes title=element-dfn-attributes>Content attributes</a>:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
@@ -18804,11 +18794,9 @@
    <dt><a href=#element-dfn-content-model title=element-dfn-content-model>Content model</a>:</dt>
    <dd><a href=#flow-content>Flow content</a>.</dd>
    <dt><a href=#element-dfn-tag-omission title=element-dfn-tag-omission>Tag omission in text/html</a>:</dt>
-   <dd>A <code><a href=#the-dd-element>dd</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end
-   tag</a> can be omitted if the <code><a href=#the-dd-element>dd</a></code> element is
-   immediately followed by another <code><a href=#the-dd-element>dd</a></code> element or a
-   <code><a href=#the-dt-element>dt</a></code> element, or if there is no more content in the
-   parent element.</dd>
+   <dd>A <code><a href=#the-dd-element>dd</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if the
+   <code><a href=#the-dd-element>dd</a></code> element is immediately followed by another <code><a href=#the-dd-element>dd</a></code> element or a
+   <code><a href=#the-dt-element>dt</a></code> element, or if there is no more content in the parent element.</dd>
    <dt><a href=#element-dfn-attributes title=element-dfn-attributes>Content attributes</a>:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dt><a href=#element-dfn-dom title=element-dfn-dom>DOM interface</a>:</dt><!--TOPIC:DOM APIs-->
@@ -21544,10 +21532,9 @@
    <dt><a href=#element-dfn-content-model title=element-dfn-content-model>Content model</a>:</dt>
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt><a href=#element-dfn-tag-omission title=element-dfn-tag-omission>Tag omission in text/html</a>:</dt>
-   <dd>An <code><a href=#the-rt-element>rt</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end
-   tag</a> can be omitted if the <code><a href=#the-rt-element>rt</a></code> element is
-   immediately followed by an <code><a href=#the-rt-element>rt</a></code> or <code><a href=#the-rp-element>rp</a></code>
-   element, or if there is no more content in the parent element.</dd>
+   <dd>An <code><a href=#the-rt-element>rt</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if the
+   <code><a href=#the-rt-element>rt</a></code> element is immediately followed by an <code><a href=#the-rt-element>rt</a></code> or <code><a href=#the-rp-element>rp</a></code> element,
+   or if there is no more content in the parent element.</dd>
    <dt><a href=#element-dfn-attributes title=element-dfn-attributes>Content attributes</a>:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dt><a href=#element-dfn-dom title=element-dfn-dom>DOM interface</a>:</dt><!--TOPIC:DOM APIs-->
@@ -21574,10 +21561,9 @@
    <dt><a href=#element-dfn-content-model title=element-dfn-content-model>Content model</a>:</dt>
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt><a href=#element-dfn-tag-omission title=element-dfn-tag-omission>Tag omission in text/html</a>:</dt>
-   <dd>An <code><a href=#the-rp-element>rp</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end
-   tag</a> can be omitted if the <code><a href=#the-rp-element>rp</a></code> element is
-   immediately followed by an <code><a href=#the-rt-element>rt</a></code> or <code><a href=#the-rp-element>rp</a></code>
-   element, or if there is no more content in the parent element.</dd>
+   <dd>An <code><a href=#the-rp-element>rp</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if the
+   <code><a href=#the-rp-element>rp</a></code> element is immediately followed by an <code><a href=#the-rt-element>rt</a></code> or <code><a href=#the-rp-element>rp</a></code> element,
+   or if there is no more content in the parent element.</dd>
    <dt><a href=#element-dfn-attributes title=element-dfn-attributes>Content attributes</a>:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dt><a href=#element-dfn-dom title=element-dfn-dom>DOM interface</a>:</dt><!--TOPIC:DOM APIs-->
@@ -26143,45 +26129,38 @@
   // <a href="#HTMLParamElement-partial">also has obsolete members</a>
 };</pre>
    </dd>
-  </dl><!--TOPIC:HTML--><!--CLEANUP--><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>
+  </dl><!--TOPIC:HTML--><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-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>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=impl>
 
-  <p>If both attributes are present, and if the parent element of the
-  <code><a href=#the-param-element>param</a></code> is an <code><a href=#the-object-element>object</a></code> element, then the
-  element defines a <dfn id=concept-param-parameter title=concept-param-parameter>parameter</dfn> with the given
-  name-value pair.</p>
+  <p>If both attributes are present, and if the parent element of the <code><a href=#the-param-element>param</a></code> is an
+  <code><a href=#the-object-element>object</a></code> element, then the element defines a <dfn id=concept-param-parameter title=concept-param-parameter>parameter</dfn> with the given name-value pair.</p>
 
-  <p>If either the name or value of a <a href=#concept-param-parameter title=concept-param-parameter>parameter</a> defined by a
-  <code><a href=#the-param-element>param</a></code> element that is the child of an
-  <code><a href=#the-object-element>object</a></code> element that <a href=#represents>represents</a> an
-  instantiated <a href=#plugin>plugin</a> changes, and if that
-  <a href=#plugin>plugin</a> is communicating with the user agent using an
-  API that features the ability to update the <a href=#plugin>plugin</a> when
-  the name or value of a <a href=#concept-param-parameter title=concept-param-parameter>parameter</a> so changes, then
-  the user agent must appropriately exercise that ability to notify
-  the <a href=#plugin>plugin</a> of the change.</p>
+  <p>If either the name or value of a <a href=#concept-param-parameter title=concept-param-parameter>parameter</a> defined
+  by a <code><a href=#the-param-element>param</a></code> element that is the child of an <code><a href=#the-object-element>object</a></code> element that
+  <a href=#represents>represents</a> an instantiated <a href=#plugin>plugin</a> changes, and if that
+  <a href=#plugin>plugin</a> is communicating with the user agent using an API that features the ability to
+  update the <a href=#plugin>plugin</a> when the name or value of a <a href=#concept-param-parameter title=concept-param-parameter>parameter</a> so changes, then the user agent must
+  appropriately exercise that ability to notify the <a href=#plugin>plugin</a> of the change.</p>
 
-  <p>The IDL attributes <dfn id=dom-param-name title=dom-param-name><code>name</code></dfn> and <dfn id=dom-param-value title=dom-param-value><code>value</code></dfn> must both
-  <a href=#reflect>reflect</a> the respective content attributes of the same
-  name.</p>
+  <p>The IDL attributes <dfn id=dom-param-name title=dom-param-name><code>name</code></dfn> and <dfn id=dom-param-value title=dom-param-value><code>value</code></dfn> must both <a href=#reflect>reflect</a> the respective
+  content attributes of the same name.</p>
 
   </div>
 
   <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 O3D
-   plugin.</p>
+   <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 O3D plugin.</p>
 
    <pre><!DOCTYPE HTML>
 <html lang="en">
@@ -26253,15 +26232,13 @@
            attribute DOMString <a href=#dom-video-poster title=dom-video-poster>poster</a>;
 };</pre>
    </dd>
-  </dl><!--TOPIC:HTML--><p>A <code><a href=#the-video-element>video</a></code> element is used for playing videos or
-  movies, and audio files with captions.</p>
+  </dl><!--TOPIC:HTML--><p>A <code><a href=#the-video-element>video</a></code> element is used for playing videos or movies, and audio files with
+  captions.</p>
 
-  <p>Content may be provided inside the <code><a href=#the-video-element>video</a></code>
-  element<span class=impl>. User agents should not show this content
-  to the user</span>; it is intended for older Web browsers which do
-  not support <code><a href=#the-video-element>video</a></code>, so that legacy video plugins can be
-  tried, or to show text to the users of these older browsers informing
-  them of how to access the video contents.</p>
+  <p>Content may be provided inside the <code><a href=#the-video-element>video</a></code> element<span class=impl>. User agents
+  should not show this content to the user</span>; it is intended for older Web browsers which do
+  not support <code><a href=#the-video-element>video</a></code>, so that legacy video plugins can be tried, or to show text to the
+  users of these older browsers informing them of how to access the video contents.</p>
 
   <p class=note>In particular, this content is not intended to address accessibility concerns. To
   make video content accessible to the partially sighted, the blind, the hard-of-hearing, the deaf,
@@ -26277,21 +26254,17 @@
   users who would rather not use a media element at all, transcripts or other textual alternatives
   can be provided by simply linking to them in the prose near the <code><a href=#the-video-element>video</a></code> element. <a href=#refsWEBVTT>[WEBVTT]</a></p>
 
-  <p>The <code><a href=#the-video-element>video</a></code> element is a <a href=#media-element>media element</a>
-  whose <a href=#media-data>media data</a> is ostensibly video data, possibly
-  with associated audio data.</p>
+  <p>The <code><a href=#the-video-element>video</a></code> element is a <a href=#media-element>media element</a> whose <a href=#media-data>media data</a> is
+  ostensibly video data, possibly with associated audio data.</p>
 
-  <p>The <code title=attr-media-src><a href=#attr-media-src>src</a></code>, <code title=attr-media-preload><a href=#attr-media-preload>preload</a></code>, <code title=attr-media-autoplay><a href=#attr-media-autoplay>autoplay</a></code>, 
-  <code title=attr-media-mediagroup><a href=#attr-media-mediagroup>mediagroup</a></code>, 
-  <code title=attr-media-loop><a href=#attr-media-loop>loop</a></code>,
-  <code title=attr-media-muted><a href=#attr-media-muted>muted</a></code>, and <code title=attr-media-controls><a href=#attr-media-controls>controls</a></code> attributes are <a href=#media-element-attributes title="media element attributes">the attributes common to all media
+  <p>The <code title=attr-media-src><a href=#attr-media-src>src</a></code>, <code title=attr-media-preload><a href=#attr-media-preload>preload</a></code>,
+  <code title=attr-media-autoplay><a href=#attr-media-autoplay>autoplay</a></code>, <code title=attr-media-mediagroup><a href=#attr-media-mediagroup>mediagroup</a></code>, <code title=attr-media-loop><a href=#attr-media-loop>loop</a></code>, <code title=attr-media-muted><a href=#attr-media-muted>muted</a></code>, and <code title=attr-media-controls><a href=#attr-media-controls>controls</a></code>
+  attributes are <a href=#media-element-attributes title="media element attributes">the attributes common to all media
   elements</a>.</p>
 
-  <p>The <dfn id=attr-video-poster title=attr-video-poster><code>poster</code></dfn>
-  attribute gives the address of an image file that the user agent can
-  show while no video data is available. The attribute, if present,
-  must contain a <a href=#valid-non-empty-url-potentially-surrounded-by-spaces>valid non-empty URL potentially surrounded by
-  spaces</a>.</p>
+  <p>The <dfn id=attr-video-poster title=attr-video-poster><code>poster</code></dfn> attribute gives the address of an
+  image file that the user agent can show while no video data is available. The attribute, if
+  present, must contain a <a href=#valid-non-empty-url-potentially-surrounded-by-spaces>valid non-empty URL potentially surrounded by spaces</a>.</p>
 
   <div class=impl>
 
@@ -26300,23 +26273,20 @@
   value of the element's <a href=#show-poster-flag>show poster flag</a>):</p> <!-- thus it is unaffected by changes
   to the base URL. -->
 
-  <ol><li><p>If there is an existing instance of this algorithm running
-   for this <code><a href=#the-video-element>video</a></code> element, abort that instance of this
-   algorithm without changing the <a href=#poster-frame>poster frame</a>.</li>
+  <ol><li><p>If there is an existing instance of this algorithm running for this <code><a href=#the-video-element>video</a></code>
+   element, abort that instance of this algorithm without changing the <a href=#poster-frame>poster
+   frame</a>.</li>
 
-   <li><p>If the <code title=attr-video-poster><a href=#attr-video-poster>poster</a></code>
-   attribute's value is the empty string or if the attribute is
-   absent, then there is no <a href=#poster-frame>poster frame</a>; abort these
+   <li><p>If the <code title=attr-video-poster><a href=#attr-video-poster>poster</a></code> attribute's value is the empty string
+   or if the attribute is absent, then there is no <a href=#poster-frame>poster frame</a>; abort these
    steps.</li>
 
-   <li><p><a href=#resolve-a-url title="resolve a url">Resolve</a> the <code title=attr-video-poster><a href=#attr-video-poster>poster</a></code> attribute's value relative
-   to the element. If this fails, then there is no <a href=#poster-frame>poster
-   frame</a>; abort these steps.</li>
+   <li><p><a href=#resolve-a-url title="resolve a url">Resolve</a> the <code title=attr-video-poster><a href=#attr-video-poster>poster</a></code> attribute's value relative to the element. If this fails,
+   then there is no <a href=#poster-frame>poster frame</a>; abort these steps.</li>
 
-   <li><p><a href=#fetch>Fetch</a><!--FETCH--> the resulting <a href=#absolute-url>absolute
-   URL</a>, from the element's <code><a href=#document>Document</a></code>'s
-   <a href=#origin>origin</a>. This must <a href=#delay-the-load-event>delay the load event</a> of
-   the element's document.</li>
+   <li><p><a href=#fetch>Fetch</a><!--FETCH--> the resulting <a href=#absolute-url>absolute URL</a>, from the element's
+   <code><a href=#document>Document</a></code>'s <a href=#origin>origin</a>. This must <a href=#delay-the-load-event>delay the load event</a> of the
+   element's document.</li>
 
    <!-- could define how to sniff for an image here -->
 
@@ -26407,44 +26377,34 @@
 
   </dl><div class=impl>
 
-  <p>The <dfn id=concept-video-intrinsic-width title=concept-video-intrinsic-width>intrinsic
-  width</dfn> and <dfn id=concept-video-intrinsic-height title=concept-video-intrinsic-height>intrinsic height</dfn> of the
-  <a href=#media-resource>media resource</a> are the dimensions of the resource in
-  CSS pixels after taking into account the resource's dimensions,
-  aspect ratio, clean aperture, resolution, and so forth, as defined
-  for the format used by the resource. If an anamorphic format does
-  not define how to apply the aspect ratio to the video data's
-  dimensions to obtain the "correct" dimensions, then the user agent
-  must apply the ratio by increasing one dimension and leaving the
-  other unchanged.</p>
+  <p>The <dfn id=concept-video-intrinsic-width title=concept-video-intrinsic-width>intrinsic width</dfn> and <dfn id=concept-video-intrinsic-height title=concept-video-intrinsic-height>intrinsic height</dfn> of the <a href=#media-resource>media resource</a>
+  are the dimensions of the resource in CSS pixels after taking into account the resource's
+  dimensions, aspect ratio, clean aperture, resolution, and so forth, as defined for the format used
+  by the resource. If an anamorphic format does not define how to apply the aspect ratio to the
+  video data's dimensions to obtain the "correct" dimensions, then the user agent must apply the
+  ratio by increasing one dimension and leaving the other unchanged.</p>
 
-  <p>The <dfn id=dom-video-videowidth title=dom-video-videoWidth><code>videoWidth</code></dfn> IDL
-  attribute must return the <a href=#concept-video-intrinsic-width title=concept-video-intrinsic-width>intrinsic width</a> of the
-  video in CSS pixels. The <dfn id=dom-video-videoheight title=dom-video-videoHeight><code>videoHeight</code></dfn> IDL
-  attribute must return the <a href=#concept-video-intrinsic-height title=concept-video-intrinsic-height>intrinsic height</a> of
-  the video in CSS pixels. If the element's <code title=dom-media-readyState><a href=#dom-media-readystate>readyState</a></code> attribute is <code title=dom-media-HAVE_NOTHING><a href=#dom-media-have_nothing>HAVE_NOTHING</a></code>, then the
-  attributes must return 0.</p>
+  <p>The <dfn id=dom-video-videowidth title=dom-video-videoWidth><code>videoWidth</code></dfn> IDL attribute must return
+  the <a href=#concept-video-intrinsic-width title=concept-video-intrinsic-width>intrinsic width</a> of the video in CSS pixels.
+  The <dfn id=dom-video-videoheight title=dom-video-videoHeight><code>videoHeight</code></dfn> IDL attribute must return
+  the <a href=#concept-video-intrinsic-height title=concept-video-intrinsic-height>intrinsic height</a> of the video in CSS
+  pixels. If the element's <code title=dom-media-readyState><a href=#dom-media-readystate>readyState</a></code> attribute is <code title=dom-media-HAVE_NOTHING><a href=#dom-media-have_nothing>HAVE_NOTHING</a></code>, then the attributes must return 0.</p>
 
   </div>
 
-  <p>The <code><a href=#the-video-element>video</a></code> element supports <a href=#dimension-attributes>dimension
-  attributes</a>.</p>
+  <p>The <code><a href=#the-video-element>video</a></code> element supports <a href=#dimension-attributes>dimension attributes</a>.</p>
 
   <div class=impl>
 
-  <p>In the absence of style rules to the contrary, video content
-  should be rendered inside the element's playback area such that the
-  video content is shown centered in the playback area at the largest
-  possible size that fits completely within it, with the video
-  content's aspect ratio being preserved. Thus, if the aspect ratio of
-  the playback area does not match the aspect ratio of the video, the
-  video will be shown letterboxed or pillarboxed. Areas of the
-  element's playback area that do not contain the video represent
-  nothing.</p>
+  <p>In the absence of style rules to the contrary, video content should be rendered inside the
+  element's playback area such that the video content is shown centered in the playback area at the
+  largest possible size that fits completely within it, with the video content's aspect ratio being
+  preserved. Thus, if the aspect ratio of the playback area does not match the aspect ratio of the
+  video, the video will be shown letterboxed or pillarboxed. Areas of the element's playback area
+  that do not contain the video represent nothing.</p>
 
-  <p class=note>In user agents that implement CSS, the above
-  requirement can be implemented by using the <a href=#video-object-fit>style rule suggested in the rendering
-  section</a>.</p>
+  <p class=note>In user agents that implement CSS, the above requirement can be implemented by
+  using the <a href=#video-object-fit>style rule suggested in the rendering section</a>.</p>
 
   <p>The intrinsic width of a <code><a href=#the-video-element>video</a></code> element's playback area is the intrinsic width of
   the <a href=#poster-frame>poster frame</a>, if that is available and the element currently
@@ -26459,36 +26419,29 @@
   <p>The <a href=#default-object-size>default object size</a> is a width of 300 CSS pixels and a height of 150 CSS
   pixels. <a href=#refsCSSIMAGES>[CSSIMAGES]</a></p>
 
-  <hr><p>User agents should provide controls to enable or disable the
-  display of closed captions, audio description tracks, and other
-  additional data associated with the video stream, though such
-  features should, again, not interfere with the page's normal
-  rendering.</p>
+  <hr><p>User agents should provide controls to enable or disable the display of closed captions, audio
+  description tracks, and other additional data associated with the video stream, though such
+  features should, again, not interfere with the page's normal rendering.</p>
 
-  <p>User agents may allow users to view the video content in manners
-  more suitable to the user (e.g. full-screen or in an independent
-  resizable window). As for the other user interface features,
-  controls to enable this should not interfere with the page's normal
-  rendering unless the user agent is <a href=#expose-a-user-interface-to-the-user title="expose a user
-  interface to the user">exposing a user interface</a>. In such an
-  independent context, however, user agents may make full user
-  interfaces visible, with, e.g., play, pause, seeking, and volume
-  controls, even if the <code title=attr-media-controls><a href=#attr-media-controls>controls</a></code> attribute is absent.</p>
+  <p>User agents may allow users to view the video content in manners more suitable to the user
+  (e.g. full-screen or in an independent resizable window). As for the other user interface
+  features, controls to enable this should not interfere with the page's normal rendering unless the
+  user agent is <a href=#expose-a-user-interface-to-the-user title="expose a user interface to the user">exposing a user interface</a>.
+  In such an independent context, however, user agents may make full user interfaces visible, with,
+  e.g., play, pause, seeking, and volume controls, even if the <code title=attr-media-controls><a href=#attr-media-controls>controls</a></code> attribute is absent.</p>
 
-  <p>User agents may allow video playback to affect system features
-  that could interfere with the user's experience; for example, user
-  agents could disable screensavers while video playback is in
+  <p>User agents may allow video playback to affect system features that could interfere with the
+  user's experience; for example, user agents could disable screensavers while video playback is in
   progress.</p>
 
-  <hr><p>The <dfn id=dom-video-poster title=dom-video-poster><code>poster</code></dfn> IDL
-  attribute must <a href=#reflect>reflect</a> the <code title=attr-video-poster><a href=#attr-video-poster>poster</a></code> content attribute.</p>
+  <hr><p>The <dfn id=dom-video-poster title=dom-video-poster><code>poster</code></dfn> IDL attribute must
+  <a href=#reflect>reflect</a> the <code title=attr-video-poster><a href=#attr-video-poster>poster</a></code> content attribute.</p>
 
   </div>
 
   <div class=example>
 
-   <p>This example shows how to detect when a video has failed to play
-   correctly:</p>
+   <p>This example shows how to detect when a video has failed to play correctly:</p>
 
    <pre><script>
  function failed(e) {
@@ -26526,17 +26479,15 @@
 
   <h5>Video and audio codecs for <code>video</code> elements</h5>
 
-  <p>User agents may support any video and audio codecs and container
-  formats.</p>
+  <p>User agents may support any video and audio codecs and container formats.</p>
 
-  <p class="note">Certain user agents might support no codecs at all,
-  e.g. text browsers running over SSH connections.</p>
+  <p class="note">Certain user agents might support no codecs at all, e.g. text browsers running
+  over SSH connections.</p>
 
   <!- - similar note in audio codecs section - ->
-  <p class="note">Implementations are free to implement support for
-  video codecs either natively, or using platform-specific APIs, or
-  using plugins: this specification does not specify how codecs are to
-  be implemented.</p>
+  <p class="note">Implementations are free to implement support for video codecs either natively, or
+  using platform-specific APIs, or using plugins: this specification does not specify how codecs are
+  to be implemented.</p>
 
   </div>
 
@@ -26580,8 +26531,7 @@
     <pre class=idl>[NamedConstructor=<a href=#dom-audio title=dom-Audio>Audio</a>(optional DOMString src)]
 interface <dfn id=htmlaudioelement>HTMLAudioElement</dfn> : <a href=#htmlmediaelement>HTMLMediaElement</a> {};</pre>
    </dd>
-  </dl><!--TOPIC:HTML--><p>An <code><a href=#the-audio-element>audio</a></code> element <a href=#represents>represents</a> a sound or
-  audio stream.</p>
+  </dl><!--TOPIC:HTML--><p>An <code><a href=#the-audio-element>audio</a></code> element <a href=#represents>represents</a> a sound or audio stream.</p>
 
   <!-- v2 (actually v3) suggestions:
     * Audio syntesis. Use cases from Charles Pritchard:
@@ -26600,12 +26550,10 @@
       > Support very simple audio codecs, and programmable synthesizers.
   -->
 
-  <p>Content may be provided inside the <code><a href=#the-audio-element>audio</a></code>
-  element<span class=impl>. User agents should not show this content
-  to the user</span>; it is intended for older Web browsers which do
-  not support <code><a href=#the-audio-element>audio</a></code>, so that legacy audio plugins can be
-  tried, or to show text to the users of these older browsers informing
-  them of how to access the audio contents.</p>
+  <p>Content may be provided inside the <code><a href=#the-audio-element>audio</a></code> element<span class=impl>. User agents
+  should not show this content to the user</span>; it is intended for older Web browsers which do
+  not support <code><a href=#the-audio-element>audio</a></code>, so that legacy audio plugins can be tried, or to show text to the
+  users of these older browsers informing them of how to access the audio contents.</p>
 
   <p class=note>In particular, this content is not intended to address accessibility concerns. To
   make audio content accessible to the deaf or to those with other physical or cognitive
@@ -26616,24 +26564,22 @@
   naturally, transcripts or other textual alternatives can be provided by simply linking to them in
   the prose near the <code><a href=#the-audio-element>audio</a></code> element. <a href=#refsWEBVTT>[WEBVTT]</a></p>
 
-  <p>The <code><a href=#the-audio-element>audio</a></code> element is a <a href=#media-element>media element</a>
-  whose <a href=#media-data>media data</a> is ostensibly audio data.</p>
+  <p>The <code><a href=#the-audio-element>audio</a></code> element is a <a href=#media-element>media element</a> whose <a href=#media-data>media data</a> is
+  ostensibly audio data.</p>
 
-  <p>The <code title=attr-media-src><a href=#attr-media-src>src</a></code>, <code title=attr-media-preload><a href=#attr-media-preload>preload</a></code>, <code title=attr-media-autoplay><a href=#attr-media-autoplay>autoplay</a></code>, 
-  <code title=attr-media-mediagroup><a href=#attr-media-mediagroup>mediagroup</a></code>,
-  <code title=attr-media-loop><a href=#attr-media-loop>loop</a></code>,
-  <code title=attr-media-muted><a href=#attr-media-muted>muted</a></code>, and <code title=attr-media-controls><a href=#attr-media-controls>controls</a></code> attributes are <a href=#media-element-attributes title="media element attributes">the attributes common to all media
+  <p>The <code title=attr-media-src><a href=#attr-media-src>src</a></code>, <code title=attr-media-preload><a href=#attr-media-preload>preload</a></code>,
+  <code title=attr-media-autoplay><a href=#attr-media-autoplay>autoplay</a></code>, <code title=attr-media-mediagroup><a href=#attr-media-mediagroup>mediagroup</a></code>, <code title=attr-media-loop><a href=#attr-media-loop>loop</a></code>, <code title=attr-media-muted><a href=#attr-media-muted>muted</a></code>, and <code title=attr-media-controls><a href=#attr-media-controls>controls</a></code>
+  attributes are <a href=#media-element-attributes title="media element attributes">the attributes common to all media
   elements</a>.</p>
 
   <div class=impl>
 
-  <p>When an <code><a href=#the-audio-element>audio</a></code> element is <a href=#potentially-playing>potentially
-  playing</a>, it must have its audio data played synchronized with
-  the <a href=#current-playback-position>current playback position</a>, at the element's
+  <p>When an <code><a href=#the-audio-element>audio</a></code> element is <a href=#potentially-playing>potentially playing</a>, it must have its audio
+  data played synchronized with the <a href=#current-playback-position>current playback position</a>, at the element's
   <a href=#effective-media-volume>effective media volume</a>.</p>
 
-  <p>When an <code><a href=#the-audio-element>audio</a></code> element is not <a href=#potentially-playing>potentially
-  playing</a>, audio must not play for the element.</p>
+  <p>When an <code><a href=#the-audio-element>audio</a></code> element is not <a href=#potentially-playing>potentially playing</a>, audio must not play
+  for the element.</p>
 
   </div>
 
@@ -26641,8 +26587,8 @@
 
    <dd>
 
-    <p>Returns a new <code><a href=#the-audio-element>audio</a></code> element, with the <code title=attr-media-src><a href=#attr-media-src>src</a></code> attribute set to the value
-    passed in the argument, if applicable.</p>
+    <p>Returns a new <code><a href=#the-audio-element>audio</a></code> element, with the <code title=attr-media-src><a href=#attr-media-src>src</a></code>
+    attribute set to the value passed in the argument, if applicable.</p>
 
    </dd>
 
@@ -26668,12 +26614,10 @@
 
   <h5>Audio codecs for <code>audio</code> elements</h5>
 
-  <p>User agents may support any audio codecs and container
-  formats.</p>
+  <p>User agents may support any audio codecs and container formats.</p>
 
-  <p>User agents must support the WAVE container format with audio
-  encoded using the 16 bit PCM (LE) codec, at sampling frequencies of
-  11.025kHz, 22.050kHz, and 44.100kHz, and for both mono and
+  <p>User agents must support the WAVE container format with audio encoded using the 16 bit PCM (LE)
+  codec, at sampling frequencies of 11.025kHz, 22.050kHz, and 44.100kHz, and for both mono and
   stereo. <a href="#- -refsWAVE">[WAVE]</a></p>
 
   <!- -
@@ -26682,10 +26626,9 @@
   - ->
 
   <!- - similar note in video codecs section - ->
-  <p class="note">Implementations are free to implement support for
-  audio codecs either natively, or using platform-specific APIs, or
-  using plugins: this specification does not specify how codecs are to
-  be implemented.</p>
+  <p class="note">Implementations are free to implement support for audio codecs either natively, or
+  using platform-specific APIs, or using plugins: this specification does not specify how codecs are
+  to be implemented.</p>
 
   </div>
 
@@ -40706,14 +40649,14 @@
    <dd>If the <code title=attr-colgroup-span><a href=#attr-colgroup-span>span</a></code> attribute is present: Empty.</dd>
    <dd>If the <code title=attr-colgroup-span><a href=#attr-colgroup-span>span</a></code> attribute is absent: Zero or more <code><a href=#the-col-element>col</a></code> and <code><a href=#the-template-element>template</a></code> elements.</dd>
    <dt><a href=#element-dfn-tag-omission title=element-dfn-tag-omission>Tag omission in text/html</a>:</dt>
-   <dd>A <code><a href=#the-colgroup-element>colgroup</a></code> element's <a href=#syntax-start-tag title=syntax-start-tag>start tag</a> can be omitted if the
-   first thing inside the <code><a href=#the-colgroup-element>colgroup</a></code> element is a
-   <code><a href=#the-col-element>col</a></code> element, and if the element is not immediately
-   preceded by another <code><a href=#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.)</dd>
-   <dd>A <code><a href=#the-colgroup-element>colgroup</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if the
-   <code><a href=#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>.</dd>
+   <dd>A <code><a href=#the-colgroup-element>colgroup</a></code> element's <a href=#syntax-start-tag title=syntax-start-tag>start tag</a> can be
+   omitted if the first thing inside the <code><a href=#the-colgroup-element>colgroup</a></code> element is a <code><a href=#the-col-element>col</a></code> element,
+   and if the element is not immediately preceded by another <code><a href=#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.)</dd>
+   <dd>A <code><a href=#the-colgroup-element>colgroup</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if
+   the <code><a href=#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>.</dd>
    <dt><a href=#element-dfn-attributes title=element-dfn-attributes>Content attributes</a>:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-colgroup-span><a href=#attr-colgroup-span>span</a></code> — Number of columns spanned by the element</dd>
@@ -40804,17 +40747,14 @@
    <dt><a href=#element-dfn-content-model title=element-dfn-content-model>Content model</a>:</dt>
    <dd>Zero or more <code><a href=#the-tr-element>tr</a></code> and <a href=#script-supporting-elements title="script-supporting elements">script-supporting</a> elements</dd>
    <dt><a href=#element-dfn-tag-omission title=element-dfn-tag-omission>Tag omission in text/html</a>:</dt>
-   <dd>A <code><a href=#the-tbody-element>tbody</a></code> element's <a href=#syntax-start-tag title=syntax-start-tag>start tag</a> can be omitted if the
-   first thing inside the <code><a href=#the-tbody-element>tbody</a></code> element is a
-   <code><a href=#the-tr-element>tr</a></code> element, and if the element is not immediately
-   preceded by a <code><a href=#the-tbody-element>tbody</a></code>, <code><a href=#the-thead-element>thead</a></code>, or
-   <code><a href=#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.)</dd>
-   <dd>A <code><a href=#the-tbody-element>tbody</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end
-   tag</a> can be omitted if the <code><a href=#the-tbody-element>tbody</a></code> element is
-   immediately followed by a <code><a href=#the-tbody-element>tbody</a></code> or <code><a href=#the-tfoot-element>tfoot</a></code>
-   element, or if there is no more content in the parent element.</dd>
+   <dd>A <code><a href=#the-tbody-element>tbody</a></code> element's <a href=#syntax-start-tag title=syntax-start-tag>start tag</a> can be omitted
+   if the first thing inside the <code><a href=#the-tbody-element>tbody</a></code> element is a <code><a href=#the-tr-element>tr</a></code> element, and if the
+   element is not immediately preceded by a <code><a href=#the-tbody-element>tbody</a></code>, <code><a href=#the-thead-element>thead</a></code>, or
+   <code><a href=#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.)</dd>
+   <dd>A <code><a href=#the-tbody-element>tbody</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if
+   the <code><a href=#the-tbody-element>tbody</a></code> element is immediately followed by a <code><a href=#the-tbody-element>tbody</a></code> or
+   <code><a href=#the-tfoot-element>tfoot</a></code> element, or if there is no more content in the parent element.</dd>
    <dt><a href=#element-dfn-attributes title=element-dfn-attributes>Content attributes</a>:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dt><a href=#element-dfn-dom title=element-dfn-dom>DOM interface</a>:</dt><!--TOPIC:DOM APIs-->
@@ -40909,10 +40849,9 @@
    <dt><a href=#element-dfn-content-model title=element-dfn-content-model>Content model</a>:</dt>
    <dd>Zero or more <code><a href=#the-tr-element>tr</a></code> and <a href=#script-supporting-elements title="script-supporting elements">script-supporting</a> elements</dd>
    <dt><a href=#element-dfn-tag-omission title=element-dfn-tag-omission>Tag omission in text/html</a>:</dt>
-   <dd>A <code><a href=#the-thead-element>thead</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end
-   tag</a> can be omitted if the <code><a href=#the-thead-element>thead</a></code> element is
-   immediately followed by a <code><a href=#the-tbody-element>tbody</a></code> or <code><a href=#the-tfoot-element>tfoot</a></code>
-   element.</dd>
+   <dd>A <code><a href=#the-thead-element>thead</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if
+   the <code><a href=#the-thead-element>thead</a></code> element is immediately followed by a <code><a href=#the-tbody-element>tbody</a></code> or
+   <code><a href=#the-tfoot-element>tfoot</a></code> element.</dd>
    <dt><a href=#element-dfn-attributes title=element-dfn-attributes>Content attributes</a>:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dt><a href=#element-dfn-dom title=element-dfn-dom>DOM interface</a>:</dt><!--TOPIC:DOM APIs-->
@@ -40988,10 +40927,9 @@
    <dt><a href=#element-dfn-content-model title=element-dfn-content-model>Content model</a>:</dt>
    <dd>Zero or more <code><a href=#the-tr-element>tr</a></code> and <a href=#script-supporting-elements title="script-supporting elements">script-supporting</a> elements</dd>
    <dt><a href=#element-dfn-tag-omission title=element-dfn-tag-omission>Tag omission in text/html</a>:</dt>
-   <dd>A <code><a href=#the-tfoot-element>tfoot</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end
-   tag</a> can be omitted if the <code><a href=#the-tfoot-element>tfoot</a></code> element is
-   immediately followed by a <code><a href=#the-tbody-element>tbody</a></code> element, or if there is
-   no more content in the parent element.</dd>
+   <dd>A <code><a href=#the-tfoot-element>tfoot</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if
+   the <code><a href=#the-tfoot-element>tfoot</a></code> element is immediately followed by a <code><a href=#the-tbody-element>tbody</a></code> element, or if
+   there is no more content in the parent element.</dd>
    <dt><a href=#element-dfn-attributes title=element-dfn-attributes>Content attributes</a>:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dt><a href=#element-dfn-dom title=element-dfn-dom>DOM interface</a>:</dt><!--TOPIC:DOM APIs-->
@@ -41025,10 +40963,9 @@
    <dt><a href=#element-dfn-content-model title=element-dfn-content-model>Content model</a>:</dt>
    <dd>Zero or more <code><a href=#the-td-element>td</a></code>, <code><a href=#the-th-element>th</a></code>, and <a href=#script-supporting-elements title="script-supporting elements">script-supporting</a> elements</dd>
    <dt><a href=#element-dfn-tag-omission title=element-dfn-tag-omission>Tag omission in text/html</a>:</dt>
-   <dd>A <code><a href=#the-tr-element>tr</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end
-   tag</a> can be omitted if the <code><a href=#the-tr-element>tr</a></code> element is
-   immediately followed by another <code><a href=#the-tr-element>tr</a></code> element, or if there
-   is no more content in the parent element.</dd>
+   <dd>A <code><a href=#the-tr-element>tr</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if the
+   <code><a href=#the-tr-element>tr</a></code> element is immediately followed by another <code><a href=#the-tr-element>tr</a></code> element, or if there is
+   no more content in the parent element.</dd>
    <dt><a href=#element-dfn-attributes title=element-dfn-attributes>Content attributes</a>:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dt><a href=#element-dfn-dom title=element-dfn-dom>DOM interface</a>:</dt><!--TOPIC:DOM APIs-->
@@ -41164,10 +41101,9 @@
    <dt><a href=#element-dfn-content-model title=element-dfn-content-model>Content model</a>:</dt>
    <dd><a href=#flow-content>Flow content</a>.</dd>
    <dt><a href=#element-dfn-tag-omission title=element-dfn-tag-omission>Tag omission in text/html</a>:</dt>
-   <dd>A <code><a href=#the-td-element>td</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end
-   tag</a> can be omitted if the <code><a href=#the-td-element>td</a></code> element is
-   immediately followed by a <code><a href=#the-td-element>td</a></code> or <code><a href=#the-th-element>th</a></code>
-   element, or if there is no more content in the parent element.</dd>
+   <dd>A <code><a href=#the-td-element>td</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if the
+   <code><a href=#the-td-element>td</a></code> element is immediately followed by a <code><a href=#the-td-element>td</a></code> or <code><a href=#the-th-element>th</a></code> element,
+   or if there is no more content in the parent element.</dd>
    <dt><a href=#element-dfn-attributes title=element-dfn-attributes>Content attributes</a>:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-tdth-colspan><a href=#attr-tdth-colspan>colspan</a></code> — Number of columns that the cell is to span</dd>
@@ -41209,10 +41145,9 @@
    <dd><a href=#flow-content>Flow content</a>, but with no <code><a href=#the-header-element>header</a></code>, <code><a href=#the-footer-element>footer</a></code>, <a href=#sectioning-content>sectioning content</a>, or <a href=#heading-content>heading content</a> descendants, and if the <code><a href=#the-th-element>th</a></code> element is a <a href=#sorting-interface-th-element>sorting interface <code>th</code> element</a>, no <a href=#interactive-content>interactive content</a> descendants.</dd>
    <!-- EDITING NOTE: If you remove 'heading content' from the list above, make sure to fix the definition of 'sectioning root' to include <th> -->
    <dt><a href=#element-dfn-tag-omission title=element-dfn-tag-omission>Tag omission in text/html</a>:</dt>
-   <dd>A <code><a href=#the-th-element>th</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end
-   tag</a> can be omitted if the <code><a href=#the-th-element>th</a></code> element is
-   immediately followed by a <code><a href=#the-td-element>td</a></code> or <code><a href=#the-th-element>th</a></code>
-   element, or if there is no more content in the parent element.</dd>
+   <dd>A <code><a href=#the-th-element>th</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if the
+   <code><a href=#the-th-element>th</a></code> element is immediately followed by a <code><a href=#the-td-element>td</a></code> or <code><a href=#the-th-element>th</a></code> element,
+   or if there is no more content in the parent element.</dd>
    <dt><a href=#element-dfn-attributes title=element-dfn-attributes>Content attributes</a>:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-tdth-colspan><a href=#attr-tdth-colspan>colspan</a></code> — Number of columns that the cell is to span</dd>
@@ -51275,14 +51210,12 @@
    <dt><a href=#element-dfn-content-model title=element-dfn-content-model>Content model</a>:</dt>
    <dd>Zero or more <code><a href=#the-option-element>option</a></code> and <a href=#script-supporting-elements title="script-supporting elements">script-supporting</a> elements.</dd>
    <dt><a href=#element-dfn-tag-omission title=element-dfn-tag-omission>Tag omission in text/html</a>:</dt>
-   <dd>An <code><a href=#the-optgroup-element>optgroup</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if the
-   <code><a href=#the-optgroup-element>optgroup</a></code> element <!--has an ancestor
-   <code>select</code> element and--> is immediately followed by
-   another <code><a href=#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.</dd>
+   <dd>An <code><a href=#the-optgroup-element>optgroup</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted
+   if the <code><a href=#the-optgroup-element>optgroup</a></code> element <!--has an ancestor <code>select</code> element and--> is
+   immediately followed by another <code><a href=#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.</dd>
    <dt><a href=#element-dfn-attributes title=element-dfn-attributes>Content attributes</a>:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-optgroup-disabled><a href=#attr-optgroup-disabled>disabled</a></code> — Whether the form control is disabled</dd>
@@ -51371,11 +51304,10 @@
    <dt><a href=#element-dfn-content-model title=element-dfn-content-model>Content model</a>:</dt>
    <dd><a href=#text-content title="text content">Text</a>.</dd>
    <dt><a href=#element-dfn-tag-omission title=element-dfn-tag-omission>Tag omission in text/html</a>:</dt>
-   <dd>An <code><a href=#the-option-element>option</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end
-   tag</a> can be omitted if the <code><a href=#the-option-element>option</a></code> element is
-   immediately followed by another <code><a href=#the-option-element>option</a></code> element, or if
-   it is immediately followed by an <code><a href=#the-optgroup-element>optgroup</a></code> element, or
-   if there is no more content in the parent element.</dd>
+   <dd>An <code><a href=#the-option-element>option</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if
+   the <code><a href=#the-option-element>option</a></code> element is immediately followed by another <code><a href=#the-option-element>option</a></code> element, or
+   if it is immediately followed by an <code><a href=#the-optgroup-element>optgroup</a></code> element, or if there is no more content
+   in the parent element.</dd>
    <dt><a href=#element-dfn-attributes title=element-dfn-attributes>Content attributes</a>:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-option-disabled><a href=#attr-option-disabled>disabled</a></code> — Whether the form control is disabled</dd>
@@ -81844,6 +81776,8 @@
   domain. Authors can avoid this using the relatively complex mechanism of using unique domain names
   per connection, or by allowing the user to enable or disable the <code><a href=#eventsource>EventSource</a></code>
   functionality on a per-page basis, or by sharing a single <code><a href=#eventsource>EventSource</a></code> object using a
+  <a href=#sharedworkerglobalscope title=SharedWorkerGlobalScope>shared worker</a>.
+  </p>
 
 
   <h4 id=eventsource-push><span class=secno>10.2.7 </span>Connectionless push and other features</h4>
@@ -84081,66 +84015,51 @@
 };
 <a href=#window>Window</a> implements <a href=#windowsessionstorage>WindowSessionStorage</a>;</pre>
 
-  <p>The <dfn id=dom-sessionstorage title=dom-sessionStorage><code>sessionStorage</code></dfn>
-  attribute represents the set of storage areas specific to the
-  current <a href=#top-level-browsing-context>top-level browsing context</a>.</p>
+  <p>The <dfn id=dom-sessionstorage title=dom-sessionStorage><code>sessionStorage</code></dfn> attribute represents the
+  set of storage areas specific to the current <a href=#top-level-browsing-context>top-level browsing context</a>.</p>
 
-  <p>Each <a href=#top-level-browsing-context>top-level browsing context</a> has a unique set of
-  session storage areas, one for each <a href=#origin>origin</a>.</p>
+  <p>Each <a href=#top-level-browsing-context>top-level browsing context</a> has a unique set of session storage areas, one for
+  each <a href=#origin>origin</a>.</p>
 
-  <p>User agents should not expire data from a browsing context's
-  session storage areas, but may do so when the user requests that
-  such data be deleted, or when the UA detects that it has limited
-  storage space, or for security reasons. User agents should always
-  avoid deleting data while a script that could access that data is
-  running. When a top-level browsing context is destroyed (and
-  therefore permanently inaccessible to the user) the data stored in
-  its session storage areas can be discarded with it, as the API
-  described in this specification provides no way for that data to
+  <p>User agents should not expire data from a browsing context's session storage areas, but may do
+  so when the user requests that such data be deleted, or when the UA detects that it has limited
+  storage space, or for security reasons. User agents should always avoid deleting data while a
+  script that could access that data is running. When a top-level browsing context is destroyed (and
+  therefore permanently inaccessible to the user) the data stored in its session storage areas can
+  be discarded with it, as the API described in this specification provides no way for that data to
   ever be subsequently retrieved.</p>
 
-  <p class=note>The lifetime of a browsing context can be unrelated
-  to the lifetime of the actual user agent process itself, as the user
-  agent may support resuming sessions after a restart.</p>
+  <p class=note>The lifetime of a browsing context can be unrelated to the lifetime of the actual
+  user agent process itself, as the user agent may support resuming sessions after a restart.</p>
 
-  <p>When a new <code><a href=#document>Document</a></code> is created in a <a href=#browsing-context>browsing
-  context</a> which has a <a href=#top-level-browsing-context>top-level browsing context</a>,
-  the user agent must check to see if that <a href=#top-level-browsing-context>top-level browsing
-  context</a> has a session storage area for that document's
-  <a href=#origin>origin</a>. If it does, then that is the
-  <code><a href=#document>Document</a></code>'s assigned session storage area. If it does
-  not, a new storage area for that document's <a href=#origin>origin</a> must
-  be created, and then <em>that</em> is the <code><a href=#document>Document</a></code>'s
-  assigned session storage area. A <code><a href=#document>Document</a></code>'s assigned
-  storage area does not change during the lifetime of a
-  <code><a href=#document>Document</a></code>.</p>
+  <p>When a new <code><a href=#document>Document</a></code> is created in a <a href=#browsing-context>browsing context</a> which has a
+  <a href=#top-level-browsing-context>top-level browsing context</a>, the user agent must check to see if that <a href=#top-level-browsing-context>top-level
+  browsing context</a> has a session storage area for that document's <a href=#origin>origin</a>. If it
+  does, then that is the <code><a href=#document>Document</a></code>'s assigned session storage area. If it does not, a
+  new storage area for that document's <a href=#origin>origin</a> must be created, and then <em>that</em>
+  is the <code><a href=#document>Document</a></code>'s assigned session storage area. A <code><a href=#document>Document</a></code>'s assigned
+  storage area does not change during the lifetime of a <code><a href=#document>Document</a></code>.</p>
 
-  <p class=note>In the case of an <code><a href=#the-iframe-element>iframe</a></code> being moved to
-  another <code><a href=#document>Document</a></code>, the nested browsing context is
-  destroyed and a new one created.</p>
+  <p class=note>In the case of an <code><a href=#the-iframe-element>iframe</a></code> being moved to another
+  <code><a href=#document>Document</a></code>, the nested browsing context is destroyed and a new one created.</p>
 
-  <p>The <code title=dom-sessionStorage><a href=#dom-sessionstorage>sessionStorage</a></code>
-  attribute must return a <code><a href=#storage-0>Storage</a></code> object associated with
-  the <code><a href=#document>Document</a></code>'s assigned session storage area, if any,
-  or null if there isn't one. Each <code><a href=#document>Document</a></code> object must
-  have a separate object for its <code><a href=#window>Window</a></code>'s <code title=dom-sessionStorage><a href=#dom-sessionstorage>sessionStorage</a></code> attribute.</p>
+  <p>The <code title=dom-sessionStorage><a href=#dom-sessionstorage>sessionStorage</a></code> attribute must return a
+  <code><a href=#storage-0>Storage</a></code> object associated with the <code><a href=#document>Document</a></code>'s assigned session storage
+  area, if any, or null if there isn't one. Each <code><a href=#document>Document</a></code> object must have a separate
+  object for its <code><a href=#window>Window</a></code>'s <code title=dom-sessionStorage><a href=#dom-sessionstorage>sessionStorage</a></code>
+  attribute.</p>
 
-  <p>When a new <a href=#top-level-browsing-context>top-level browsing context</a> is created by
-  cloning an existing <a href=#browsing-context>browsing context</a>, the new browsing
-  context must start with the same session storage areas as the
-  original, but the two sets must from that point on be considered
-  separate, not affecting each other in any way.</p>
+  <p>When a new <a href=#top-level-browsing-context>top-level browsing context</a> is created by cloning an existing
+  <a href=#browsing-context>browsing context</a>, the new browsing context must start with the same session storage
+  areas as the original, but the two sets must from that point on be considered separate, not
+  affecting each other in any way.</p>
 
-  <p>When a new <a href=#top-level-browsing-context>top-level browsing context</a> is created by
-  a <a href=#concept-script title=concept-script>script</a> in an existing
-  <a href=#browsing-context>browsing context</a>, or by the user following a link in an
-  existing browsing context, or in some other way related to a
-  specific <code><a href=#document>Document</a></code>, and the creation is not <a href=#a-new-start-for-session-storage>a
-  new start for session storage</a>, then the session storage area of the
-  <a href=#origin>origin</a> of that <code><a href=#document>Document</a></code> must be copied
-  into the new browsing context when it is created. From that point
-  on, however, the two session storage areas must be considered
-  separate, not affecting each other in any way.</p>
+  <p>When a new <a href=#top-level-browsing-context>top-level browsing context</a> is created by a <a href=#concept-script title=concept-script>script</a> in an existing <a href=#browsing-context>browsing context</a>, or by the user
+  following a link in an existing browsing context, or in some other way related to a specific
+  <code><a href=#document>Document</a></code>, and the creation is not <a href=#a-new-start-for-session-storage>a new start for session storage</a>, then
+  the session storage area of the <a href=#origin>origin</a> of that <code><a href=#document>Document</a></code> must be copied
+  into the new browsing context when it is created. From that point on, however, the two session
+  storage areas must be considered separate, not affecting each other in any way.</p>
 
   <p id=sessionStorageEvent>When the <code title=dom-Storage-setItem><a href=#dom-storage-setitem>setItem()</a></code>, <code title=dom-Storage-removeItem><a href=#dom-storage-removeitem>removeItem()</a></code>, and <code title=dom-Storage-clear><a href=#dom-storage-clear>clear()</a></code> methods are called on a <code><a href=#storage-0>Storage</a></code> object <var title="">x</var> that is associated with a session storage area, if the methods did not throw an
   exception or "do nothing" as defined above, then for every <code><a href=#document>Document</a></code> object whose
@@ -84156,59 +84075,48 @@
 };
 <a href=#window>Window</a> implements <a href=#windowlocalstorage>WindowLocalStorage</a>;</pre>
 
-<!--CLEANUP-->
-  <p>The <dfn id=dom-localstorage title=dom-localStorage><code>localStorage</code></dfn>
-  object provides a <code><a href=#storage-0>Storage</a></code> object for an
-  <a href=#origin>origin</a>.
+  <p>The <dfn id=dom-localstorage title=dom-localStorage><code>localStorage</code></dfn> object provides a
+  <code><a href=#storage-0>Storage</a></code> object for an <a href=#origin>origin</a>.
   <a href=#fingerprinting-vector class=fingerprint title="fingerprinting vector"><img src=http://images.whatwg.org/fingerprint.png width=46 alt="(This is a fingerprinting vector.)" height=64></a>
   </p>
 
-  <p>User agents must have a set of local storage areas, one for each
-  <a href=#origin>origin</a>.</p>
+  <p>User agents must have a set of local storage areas, one for each <a href=#origin>origin</a>.</p>
 
-  <p>User agents should expire data from the local storage areas only
-  for security reasons or when requested to do so by the user. User
-  agents should always avoid deleting data while a script that could
-  access that data is running.</p>
+  <p>User agents should expire data from the local storage areas only for security reasons or when
+  requested to do so by the user. User agents should always avoid deleting data while a script that
+  could access that data is running.</p>
 
-  <p>When the <code title=dom-localStorage><a href=#dom-localstorage>localStorage</a></code>
-  attribute is accessed, the user agent must run the following steps,
-  which are known as the <dfn id=storage-object-initialization-steps><code>Storage</code> object
-  initialization steps</dfn>:</p> <!-- these steps are named because
-  marcos uses them from another spec -->
+  <p>When the <code title=dom-localStorage><a href=#dom-localstorage>localStorage</a></code> attribute is accessed, the user
+  agent must run the following steps, which are known as the <dfn id=storage-object-initialization-steps><code>Storage</code> object
+  initialization steps</dfn>:</p> <!-- these steps are named because marcos uses them from another
+  spec -->
 
-  <ol><li><p>The user agent may throw a <code><a href=#securityerror>SecurityError</a></code>
-   exception and abort these steps instead of returning a <code><a href=#storage-0>Storage</a></code> object if the
-   request violates a policy decision (e.g. if the user agent is
-   configured to not allow the page to persist data).</li>
+  <ol><li><p>The user agent may throw a <code><a href=#securityerror>SecurityError</a></code> exception and abort these steps
+   instead of returning a <code><a href=#storage-0>Storage</a></code> object if the request violates a policy decision
+   (e.g. if the user agent is configured to not allow the page to persist data).</li>
 
-   <li><p>If the <code><a href=#document>Document</a></code>'s <a href=#origin>origin</a> is not a
-   scheme/host/port tuple, then throw a <code><a href=#securityerror>SecurityError</a></code>
-   exception and abort these steps.</li>
+   <li><p>If the <code><a href=#document>Document</a></code>'s <a href=#origin>origin</a> is not a scheme/host/port tuple, then
+   throw a <code><a href=#securityerror>SecurityError</a></code> exception and abort these steps.</li>
 
-   <li><p>Check to see if the user agent has allocated a local storage
-   area for the <a href=#origin>origin</a> of the <code><a href=#document>Document</a></code> of
-   the <code><a href=#window>Window</a></code> object on which the attribute was accessed.
-   If it has not, create a new storage area for that
+   <li><p>Check to see if the user agent has allocated a local storage area for the
+   <a href=#origin>origin</a> of the <code><a href=#document>Document</a></code> of the <code><a href=#window>Window</a></code> object on which the
+   attribute was accessed. If it has not, create a new storage area for that
    <a href=#origin>origin</a>.</li>
 
-   <li><p>Return the <code><a href=#storage-0>Storage</a></code> object associated with that
-   origin's local storage area. Each <code><a href=#document>Document</a></code> object must
-   have a separate object for its <code><a href=#window>Window</a></code>'s <code title=dom-localStorage><a href=#dom-localstorage>localStorage</a></code> attribute.</p>
+   <li><p>Return the <code><a href=#storage-0>Storage</a></code> object associated with that origin's local storage area.
+   Each <code><a href=#document>Document</a></code> object must have a separate object for its <code><a href=#window>Window</a></code>'s <code title=dom-localStorage><a href=#dom-localstorage>localStorage</a></code> attribute.</p>
 
   </ol><p id=localStorageEvent>When the <code title=dom-Storage-setItem><a href=#dom-storage-setitem>setItem()</a></code>, <code title=dom-Storage-removeItem><a href=#dom-storage-removeitem>removeItem()</a></code>, and <code title=dom-Storage-clear><a href=#dom-storage-clear>clear()</a></code> methods are called on a <code><a href=#storage-0>Storage</a></code> object <var title="">x</var> that is associated with a local storage area, if the methods did not throw an
   exception or "do nothing" as defined above, then for every <code><a href=#document>Document</a></code> object whose
   <code><a href=#window>Window</a></code> object's <code title=dom-localStorage><a href=#dom-localstorage>localStorage</a></code> attribute's
   <code><a href=#storage-0>Storage</a></code> object is associated with the same storage area, other than <var title="">x</var>, <a href=#send-a-storage-notification>send a storage notification</a>.
 
-  <p id=localStorageMutex>Whenever the properties of a <code title=dom-localStorage><a href=#dom-localstorage>localStorage</a></code> attribute's
-  <code><a href=#storage-0>Storage</a></code> object are to be examined, returned, set, or
-  deleted, whether as part of a direct property access, when checking
-  for the presence of a property, during property enumeration, when
-  determining the number of properties present, or as part of the
-  execution of any of the methods or attributes defined on the
-  <code><a href=#storage-0>Storage</a></code> interface, the user agent must first
-  <a href=#obtain-the-storage-mutex>obtain the storage mutex</a>.</p>
+  <p id=localStorageMutex>Whenever the properties of a <code title=dom-localStorage><a href=#dom-localstorage>localStorage</a></code> attribute's <code><a href=#storage-0>Storage</a></code> object are to be
+  examined, returned, set, or deleted, whether as part of a direct property access, when checking
+  for the presence of a property, during property enumeration, when determining the number of
+  properties present, or as part of the execution of any of the methods or attributes defined on the
+  <code><a href=#storage-0>Storage</a></code> interface, the user agent must first <a href=#obtain-the-storage-mutex>obtain the storage
+  mutex</a>.</p>
 
 
   <h4 id=the-storage-event><span class=secno>11.2.4 </span>The <code title=event-storage><a href=#event-storage>storage</a></code> event</h4>
@@ -84655,55 +84563,45 @@
    <dd>All other allowed <a href=#html-elements>HTML elements</a> are normal
    elements.</dd>
 
-  </dl><!--CLEANUP--><p><dfn id=syntax-tags title=syntax-tags>Tags</dfn> are used to delimit the start
-  and end of elements in the markup. <a href=#raw-text-elements title="raw text
-  elements">Raw text</a>, <a href=#escapable-raw-text-elements title="escapable raw text
-  elements">escapable raw text</a>, and <a href=#normal-elements title="normal
-  elements">normal</a> elements have a <a href=#syntax-start-tag title=syntax-start-tag>start tag</a> to indicate where they
-  begin, and an <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> to
-  indicate where they end. The start and end tags of certain
-  <a href=#normal-elements>normal elements</a> can be <a href=#syntax-tag-omission title=syntax-tag-omission>omitted</a>, as described
-  below in the section on <a href=#syntax-tag-omission title=syntax-tag-omission>optional tags</a>. Those that cannot be omitted must not be omitted. <a href=#void-elements>Void
-  elements</a> only have a start tag; end tags must not be
-  specified for <a href=#void-elements>void elements</a>. <a href=#foreign-elements>Foreign
-  elements</a> must either have a start tag and an end tag, or a
-  start tag that is marked as self-closing, in which case they must
-  not have an end tag.</p>
+  </dl><p><dfn id=syntax-tags title=syntax-tags>Tags</dfn> are used to delimit the start and end of elements in the
+  markup. <a href=#raw-text-elements title="raw text elements">Raw text</a>, <a href=#escapable-raw-text-elements title="escapable raw text
+  elements">escapable raw text</a>, and <a href=#normal-elements title="normal elements">normal</a> elements have
+  a <a href=#syntax-start-tag title=syntax-start-tag>start tag</a> to indicate where they begin, and an <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> to indicate where they end. The start and end tags of
+  certain <a href=#normal-elements>normal elements</a> can be <a href=#syntax-tag-omission title=syntax-tag-omission>omitted</a>, as
+  described below in the section on <a href=#syntax-tag-omission title=syntax-tag-omission>optional tags</a>. Those
+  that cannot be omitted must not be omitted. <a href=#void-elements>Void elements</a> only have a start tag; end
+  tags must not be specified for <a href=#void-elements>void elements</a>. <a href=#foreign-elements>Foreign elements</a> must
+  either have a start tag and an end tag, or a start tag that is marked as self-closing, in which
+  case they must not have an end tag.</p>
 
-  <p>The <a href=#concept-html-contents title=concept-html-contents>contents</a> of the element must be placed between just after the
-  start tag (which <a href=#syntax-tag-omission title=syntax-tag-omission>might be implied,
-  in certain cases</a>) and just before the end tag (which again,
-  <a href=#syntax-tag-omission title=syntax-tag-omission>might be implied in certain
-  cases</a>). The exact allowed contents of each individual element
-  depend on the <a href=#content-models title="content models">content model</a> of that element, as described earlier in
-  this specification. Elements must not contain content that their
-  content model disallows. In addition to the restrictions placed on
-  the contents by those content models, however, the five types of
-  elements have additional <em>syntactic</em> requirements.</p>
+  <p>The <a href=#concept-html-contents title=concept-html-contents>contents</a> of the element must be placed between
+  just after the start tag (which <a href=#syntax-tag-omission title=syntax-tag-omission>might be implied, in certain
+  cases</a>) and just before the end tag (which again, <a href=#syntax-tag-omission title=syntax-tag-omission>might be
+  implied in certain cases</a>). The exact allowed contents of each individual element depend on
+  the <a href=#content-models title="content models">content model</a> of that element, as described earlier in
+  this specification. Elements must not contain content that their content model disallows. In
+  addition to the restrictions placed on the contents by those content models, however, the five
+  types of elements have additional <em>syntactic</em> requirements.</p>
 
-  <p><a href=#void-elements>Void elements</a> can't have any contents (since there's
-  no end tag, no content can be put between the start tag and the end
-  tag).</p>
+  <p><a href=#void-elements>Void elements</a> can't have any contents (since there's no end tag, no content can be
+  put between the start tag and the end tag).</p>
 
-  <p><a href=#raw-text-elements>Raw text elements</a> can have <a href=#syntax-text title=syntax-text>text</a>, though it has <a href=#cdata-rcdata-restrictions>restrictions</a> described
-  below.</p>
+  <p><a href=#raw-text-elements>Raw text elements</a> can have <a href=#syntax-text title=syntax-text>text</a>, though it has <a href=#cdata-rcdata-restrictions>restrictions</a> described below.</p>
 
-  <p><a href=#escapable-raw-text-elements>Escapable raw text elements</a> can have <a href=#syntax-text title=syntax-text>text</a> and <a href=#syntax-charref title=syntax-charref>character references</a>, but the text
-  must not contain an <a href=#syntax-ambiguous-ampersand title=syntax-ambiguous-ampersand>ambiguous ampersand</a>.
-  There are also <a href=#cdata-rcdata-restrictions>further
-  restrictions</a> described below.</p>
+  <p><a href=#escapable-raw-text-elements>Escapable raw text elements</a> can have <a href=#syntax-text title=syntax-text>text</a> and
+  <a href=#syntax-charref title=syntax-charref>character references</a>, but the text must not contain an <a href=#syntax-ambiguous-ampersand title=syntax-ambiguous-ampersand>ambiguous ampersand</a>. There are also <a href=#cdata-rcdata-restrictions>further restrictions</a> described below.</p>
 
-  <p><a href=#foreign-elements>Foreign elements</a> whose start tag is marked as
-  self-closing can't have any contents (since, again, as there's no
-  end tag, no content can be put between the start tag and the end
-  tag). <a href=#foreign-elements>Foreign elements</a> whose start tag is <em>not</em>
-  marked as self-closing can have <a href=#syntax-text title=syntax-text>text</a>, <a href=#syntax-charref title=syntax-charref>character references</a>, <a href=#syntax-cdata title=syntax-cdata>CDATA sections</a>, other <a href=#syntax-elements title=syntax-elements>elements</a>, and <a href=#syntax-comments title=syntax-comments>comments</a>, but the text must not
-  contain the character U+003C LESS-THAN SIGN (<) or an <a href=#syntax-ambiguous-ampersand title=syntax-ambiguous-ampersand>ambiguous ampersand</a>.</p>
+  <p><a href=#foreign-elements>Foreign elements</a> whose start tag is marked as self-closing can't have any contents
+  (since, again, as there's no end tag, no content can be put between the start tag and the end
+  tag). <a href=#foreign-elements>Foreign elements</a> whose start tag is <em>not</em> marked as self-closing can
+  have <a href=#syntax-text title=syntax-text>text</a>, <a href=#syntax-charref title=syntax-charref>character
+  references</a>, <a href=#syntax-cdata title=syntax-cdata>CDATA sections</a>, other <a href=#syntax-elements title=syntax-elements>elements</a>, and <a href=#syntax-comments title=syntax-comments>comments</a>, but
+  the text must not contain the character U+003C LESS-THAN SIGN (<) or an <a href=#syntax-ambiguous-ampersand title=syntax-ambiguous-ampersand>ambiguous ampersand</a>.</p>
 
   <div class=note>
 
-   <p>The HTML syntax does not support namespace
-   declarations, even in <a href=#foreign-elements>foreign elements</a>.</p>
+   <p>The HTML syntax does not support namespace declarations, even in <a href=#foreign-elements>foreign
+   elements</a>.</p>
 
    <p>For instance, consider the following HTML fragment:</p>
 
@@ -84716,20 +84614,19 @@
  </svg>
 </p></pre>
 
-   <p>The innermost element, <code title="">cdr:license</code>, is
-   actually in the SVG namespace, as the "<code title="">xmlns:cdr</code>" attribute has no effect (unlike in
-   XML). In fact, as the comment in the fragment above says, the
-   fragment is actually non-conforming. This is because the SVG
-   specification does not define any elements called "<code title="">cdr:license</code>" in the SVG namespace.</p>
+   <p>The innermost element, <code title="">cdr:license</code>, is actually in the SVG namespace, as
+   the "<code title="">xmlns:cdr</code>" attribute has no effect (unlike in XML). In fact, as the
+   comment in the fragment above says, the fragment is actually non-conforming. This is because the
+   SVG specification does not define any elements called "<code title="">cdr:license</code>" in the
+   SVG namespace.</p>
 
   </div>
 
-  <p><a href=#normal-elements>Normal elements</a> can have <a href=#syntax-text title=syntax-text>text</a>, <a href=#syntax-charref title=syntax-charref>character references</a>, other <a href=#syntax-elements title=syntax-elements>elements</a>, and <a href=#syntax-comments title=syntax-comments>comments</a>, but the text must not
-  contain the character U+003C LESS-THAN SIGN (<) or an <a href=#syntax-ambiguous-ampersand title=syntax-ambiguous-ampersand>ambiguous ampersand</a>. Some
-  <a href=#normal-elements>normal elements</a> also have <a href=#element-restrictions>yet more restrictions</a> on what
-  content they are allowed to hold, beyond the restrictions imposed by
-  the content model and those described in this paragraph. Those
-  restrictions are described below.</p>
+  <p><a href=#normal-elements>Normal elements</a> can have <a href=#syntax-text title=syntax-text>text</a>, <a href=#syntax-charref title=syntax-charref>character references</a>, other <a href=#syntax-elements title=syntax-elements>elements</a>, and <a href=#syntax-comments title=syntax-comments>comments</a>, but
+  the text must not contain the character U+003C LESS-THAN SIGN (<) or an <a href=#syntax-ambiguous-ampersand title=syntax-ambiguous-ampersand>ambiguous ampersand</a>. Some <a href=#normal-elements>normal elements</a>
+  also have <a href=#element-restrictions>yet more restrictions</a> on what content they are
+  allowed to hold, beyond the restrictions imposed by the content model and those described in this
+  paragraph. Those restrictions are described below.</p>
 
   <p>Tags contain a <dfn id=syntax-tag-name title=syntax-tag-name>tag name</dfn>, giving the element's name. HTML
   elements all have names that only use <a href=#alphanumeric-ascii-characters>alphanumeric ASCII characters</a>. In the HTML
@@ -84740,78 +84637,60 @@
 
   <h5 id=start-tags><span class=secno>12.1.2.1 </span>Start tags</h5>
 
-  <p><dfn id=syntax-start-tag title=syntax-start-tag>Start tags</dfn> must have the
-  following format:</p>
+  <p><dfn id=syntax-start-tag title=syntax-start-tag>Start tags</dfn> must have the following format:</p>
 
-  <ol><li>The first character of a start tag must be a U+003C LESS-THAN
-   SIGN character (<).</li>
+  <ol><li>The first character of a start tag must be a U+003C LESS-THAN SIGN character (<).</li>
 
-   <li>The next few characters of a start tag must be the element's
-   <a href=#syntax-tag-name title=syntax-tag-name>tag name</a>.</li>
+   <li>The next few characters of a start tag must be the element's <a href=#syntax-tag-name title=syntax-tag-name>tag name</a>.</li>
 
-   <li>If there are to be any attributes in the next step, there must
-   first be one or more <a href=#space-character title="space character">space
+   <li>If there are to be any attributes in the next step, there must first be one or more <a href=#space-character title="space character">space characters</a>.</li>
+
+   <li>Then, the start tag may have a number of attributes, the <a href=#syntax-attributes title=syntax-attributes>syntax for which</a> is described below. Attributes must be
+   separated from each other by one or more <a href=#space-character title="space character">space
    characters</a>.</li>
 
-   <li>Then, the start tag may have a number of attributes, the <a href=#syntax-attributes title=syntax-attributes>syntax for which</a> is described
-   below. Attributes must be separated from each other by one or more
-   <a href=#space-character title="space character">space characters</a>.</li>
+   <li>After the attributes, or after the <a href=#syntax-tag-name title=syntax-tag-name>tag name</a> if there are
+   no attributes, there may be one or more <a href=#space-character title="space character">space characters</a>.
+   (Some attributes are required to be followed by a space. See the <a href=#syntax-attributes title=syntax-attributes>attributes section</a> below.)</li>
 
-   <li>After the attributes, or after the <a href=#syntax-tag-name title=syntax-tag-name>tag name</a> if there are no attributes,
-   there may be one or more <a href=#space-character title="space character">space
-   characters</a>. (Some attributes are required to be followed by
-   a space. See the <a href=#syntax-attributes title=syntax-attributes>attributes
-   section</a> below.)</li>
+   <li>Then, if the element is one of the <a href=#void-elements>void elements</a>, or if the element is a <a href=#foreign-elements title="foreign elements">foreign element</a>, then there may be a single U+002F SOLIDUS
+   character (/). This character has no effect on <a href=#void-elements>void elements</a>, but on <a href=#foreign-elements>foreign
+   elements</a> it marks the start tag as self-closing.</li>
 
-   <li>Then, if the element is one of the <a href=#void-elements>void elements</a>,
-   or if the element is a <a href=#foreign-elements title="foreign elements">foreign
-   element</a>, then there may be a single U+002F SOLIDUS character
-   (/). This character has no effect on <a href=#void-elements>void elements</a>,
-   but on <a href=#foreign-elements>foreign elements</a> it marks the start tag as
-   self-closing.</li>
+   <li>Finally, start tags must be closed by a U+003E GREATER-THAN SIGN character (>).</li>
 
-   <li>Finally, start tags must be closed by a U+003E GREATER-THAN
-   SIGN character (>).</li>
-
   </ol><h5 id=end-tags><span class=secno>12.1.2.2 </span>End tags</h5>
 
-  <p><dfn id=syntax-end-tag title=syntax-end-tag>End tags</dfn> must have the
-  following format:</p>
+  <p><dfn id=syntax-end-tag title=syntax-end-tag>End tags</dfn> must have the following format:</p>
 
-  <ol><li>The first character of an end tag must be a U+003C LESS-THAN
-   SIGN character (<).</li>
+  <ol><li>The first character of an end tag must be a U+003C LESS-THAN SIGN character (<).</li>
 
-   <li>The second character of an end tag must be a U+002F SOLIDUS
-   character (/).</li>
+   <li>The second character of an end tag must be a U+002F SOLIDUS character (/).</li>
 
-   <li>The next few characters of an end tag must be the element's
-   <a href=#syntax-tag-name title=syntax-tag-name>tag name</a>.</li>
+   <li>The next few characters of an end tag must be the element's <a href=#syntax-tag-name title=syntax-tag-name>tag
+   name</a>.</li>
 
-   <li>After the tag name, there may be one or more <a href=#space-character title="space
-   character">space characters</a>.</li>
+   <li>After the tag name, there may be one or more <a href=#space-character title="space character">space
+   characters</a>.</li>
 
-   <li>Finally, end tags must be closed by a U+003E GREATER-THAN SIGN
-   character (>).</li>
+   <li>Finally, end tags must be closed by a U+003E GREATER-THAN SIGN character (>).</li>
 
   </ol><h5 id=attributes-0><span class=secno>12.1.2.3 </span>Attributes</h5>
 
-  <p><dfn id=syntax-attributes title=syntax-attributes>Attributes</dfn> for an element
-  are expressed inside the element's start tag.</p>
+  <p><dfn id=syntax-attributes title=syntax-attributes>Attributes</dfn> for an element are expressed inside the
+  element's start tag.</p>
 
-  <p>Attributes have a name and a value. <dfn id=syntax-attribute-name title=syntax-attribute-name>Attribute names</dfn> must consist of
-  one or more characters other than the <a href=#space-character title="space
-  character">space characters</a>, U+0000 NULL, U+0022 QUOTATION
-  MARK ("), U+0027 APOSTROPHE ('), U+003E GREATER-THAN SIGN
-  (>), U+002F SOLIDUS (/), and U+003D EQUALS SIGN (=) characters,
-  the control characters, and any characters that are not defined by
-  Unicode. In the HTML syntax, attribute names, even those for
-  <a href=#foreign-elements>foreign elements</a>, may be written with any mix of lower-
-  and uppercase letters that are an <a href=#ascii-case-insensitive>ASCII
-  case-insensitive</a> match for the attribute's name.</p>
+  <p>Attributes have a name and a value. <dfn id=syntax-attribute-name title=syntax-attribute-name>Attribute names</dfn>
+  must consist of one or more characters other than the <a href=#space-character title="space character">space
+  characters</a>, U+0000 NULL, U+0022 QUOTATION MARK ("), U+0027 APOSTROPHE ('), U+003E
+  GREATER-THAN SIGN (>), U+002F SOLIDUS (/), and U+003D EQUALS SIGN (=) characters, the control
+  characters, and any characters that are not defined by Unicode. In the HTML syntax, attribute
+  names, even those for <a href=#foreign-elements>foreign elements</a>, may be written with any mix of lower- and
+  uppercase letters that are an <a href=#ascii-case-insensitive>ASCII case-insensitive</a> match for the attribute's
+  name.</p>
 
-  <p><dfn id=syntax-attribute-value title=syntax-attribute-value>Attribute values</dfn> are a
-  mixture of <a href=#syntax-text title=syntax-text>text</a> and <a href=#syntax-charref title=syntax-charref>character references</a>, except with the
-  additional restriction that the text cannot contain an <a href=#syntax-ambiguous-ampersand title=syntax-ambiguous-ampersand>ambiguous ampersand</a>.</p>
+  <p><dfn id=syntax-attribute-value title=syntax-attribute-value>Attribute values</dfn> are a mixture of <a href=#syntax-text title=syntax-text>text</a> and <a href=#syntax-charref title=syntax-charref>character references</a>,
+  except with the additional restriction that the text cannot contain an <a href=#syntax-ambiguous-ampersand title=syntax-ambiguous-ampersand>ambiguous ampersand</a>.</p>
 
   <p>Attributes can be specified in four different ways:</p>
 
@@ -84819,21 +84698,20 @@
 
    <dd>
 
-    <p>Just the <a href=#syntax-attribute-name title=syntax-attribute-name>attribute
-    name</a>. The value is implicitly the empty string.</p>
+    <p>Just the <a href=#syntax-attribute-name title=syntax-attribute-name>attribute name</a>. The value is implicitly
+    the empty string.</p>
 
     <div class=example>
 
-     <p>In the following example, the <code title=attr-fe-disabled><a href=#attr-fe-disabled>disabled</a></code> attribute is given with
-     the empty attribute syntax:</p>
+     <p>In the following example, the <code title=attr-fe-disabled><a href=#attr-fe-disabled>disabled</a></code> attribute is
+     given with the empty attribute syntax:</p>
 
      <pre><input <em>disabled</em>></pre>
 
     </div>
 
-    <p>If an attribute using the empty attribute syntax is to be
-    followed by another attribute, then there must be a <a href=#space-character>space
-    character</a> separating the two.</p>
+    <p>If an attribute using the empty attribute syntax is to be followed by another attribute, then
+    there must be a <a href=#space-character>space character</a> separating the two.</p>
 
    </dd>
 
@@ -84841,28 +84719,21 @@
 
    <dd>
 
-    <p>The <a href=#syntax-attribute-name title=syntax-attribute-name>attribute name</a>,
-    followed by zero or more <a href=#space-character title="space character">space
-    characters</a>, followed by a single U+003D EQUALS SIGN
-    character, followed by zero or more <a href=#space-character title="space
-    character">space characters</a>, followed by the <a href=#syntax-attribute-value title=syntax-attribute-value>attribute value</a>, which, in
-    addition to the requirements given above for attribute values,
-    must not contain any literal <a href=#space-character title="space character">space
-    characters</a>, any U+0022 QUOTATION MARK characters ("),
-    U+0027 APOSTROPHE characters ('), U+003D EQUALS SIGN
-    characters (=), U+003C LESS-THAN SIGN characters (<), U+003E
-    GREATER-THAN SIGN characters (>), or U+0060 GRAVE ACCENT
-    characters (`), and must not be the empty string.</p>
+    <p>The <a href=#syntax-attribute-name title=syntax-attribute-name>attribute name</a>, followed by zero or more <a href=#space-character title="space character">space characters</a>, followed by a single U+003D EQUALS SIGN
+    character, followed by zero or more <a href=#space-character title="space character">space characters</a>,
+    followed by the <a href=#syntax-attribute-value title=syntax-attribute-value>attribute value</a>, which, in addition
+    to the requirements given above for attribute values, must not contain any literal <a href=#space-character title="space character">space characters</a>, any U+0022 QUOTATION MARK characters ("),
+    U+0027 APOSTROPHE characters ('), U+003D EQUALS SIGN characters (=), U+003C LESS-THAN SIGN
+    characters (<), U+003E GREATER-THAN SIGN characters (>), or U+0060 GRAVE ACCENT characters
+    (`), and must not be the empty string.</p>
 
-    <!-- The ` character is in this list on a temporary basis, waiting
-         for IE to fix its 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.
+    <!-- The ` character is in this list on a temporary basis, waiting for IE to fix its 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:
+         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:
 
             `
 
@@ -84870,8 +84741,8 @@
 
             ` 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:
+         ...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">
 
@@ -84893,10 +84764,9 @@
 
     </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>
+    <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>
 
@@ -84904,29 +84774,23 @@
 
    <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>
+    <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=#attr-input-type>type</a></code> attribute is given with the
-     single-quoted attribute value syntax:</p>
+     <p>In the following example, the <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is given
+     with the single-quoted attribute value syntax:</p>
 
      <pre><input <em>type='checkbox'</em>></pre>
 
     </div>
 
-    <p>If an attribute using the single-quoted attribute syntax is to
-    be followed by another attribute, then there must be a <a href=#space-character>space
-    character</a> separating the two.</p>
+    <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>
 
@@ -84934,41 +84798,32 @@
 
    <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>
+    <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=#attr-fe-name>name</a></code> attribute is given with the
-     double-quoted attribute value syntax:</p>
+     <p>In the following example, the <code title=attr-fe-name><a href=#attr-fe-name>name</a></code> attribute is given with
+     the double-quoted attribute value syntax:</p>
 
      <pre><input <em>name="be evil"</em>></pre>
 
     </div>
 
-    <p>If an attribute using the double-quoted attribute syntax is to
-    be followed by another attribute, then there must be a <a href=#space-character>space
-    character</a> separating the two.</p>
+    <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=#ascii-case-insensitive>ASCII case-insensitive</a> match for
-  each other.</p>
+  </dl><p>There must never be two or more attributes on the same start tag whose names are an <a href=#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>
+  <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> Namespace <th> Attribute name
    <tbody><tr><td> <code title="">actuate</code> <td> <a href=#xlink-namespace>XLink namespace</a> <td> <code title="">xlink:actuate</code>
@@ -84983,115 +84838,96 @@
     <tr><td> <code title="">space</code> <td> <a href=#xml-namespace>XML namespace</a> <td> <code title="">xml:space</code>
     <tr><td> <code title="">xmlns</code> <td> <a href=#xmlns-namespace>XMLNS namespace</a> <td> <code title="">xmlns</code>
     <tr><td> <code title="">xlink</code> <td> <a href=#xmlns-namespace>XMLNS namespace</a> <td> <code title="">xmlns:xlink</code>
-  </table><p>No other namespaced attribute can be expressed in <a href=#syntax>the
-  HTML syntax</a>.</p>
+  </table><p>No other namespaced attribute can be expressed in <a href=#syntax>the HTML syntax</a>.</p>
 
-  <p class=note>Whether the attributes in the table above are
-  conforming or not is defined by other specifications (e.g. the SVG
-  and MathML specifications); this section only describes the syntax
-  rules if the attributes are serialized using the HTML syntax.</p>
+  <p class=note>Whether the attributes in the table above are conforming or not is defined by
+  other specifications (e.g. the SVG and MathML specifications); this section only describes the
+  syntax rules if the attributes are serialized using the HTML syntax.</p>
 
 
   <h5 id=optional-tags><span class=secno>12.1.2.4 </span>Optional tags</h5>
 
   <p>Certain tags can be <dfn id=syntax-tag-omission title=syntax-tag-omission>omitted</dfn>.</p>
 
-  <p class=note>Omitting an element's <a href=#syntax-start-tag title=syntax-start-tag>start tag</a> in the situations
-  described below does not mean the element is not present; it is
-  implied, but it is still there. For example, an HTML document always
-  has a root <code><a href=#the-html-element>html</a></code> element, even if the string <code title=""><html></code> doesn't appear anywhere in the markup.</p>
+  <p class=note>Omitting an element's <a href=#syntax-start-tag title=syntax-start-tag>start tag</a> in the
+  situations described below does not mean the element is not present; it is implied, but it is
+  still there. For example, an HTML document always has a root <code><a href=#the-html-element>html</a></code> element, even if
+  the string <code title=""><html></code> doesn't appear anywhere in the markup.</p>
 
   <!-- <html> -->
-  <p>An <code><a href=#the-html-element>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=#the-html-element>html</a></code> element is not a <a href=#syntax-comments title=syntax-comments>comment</a>.</p>
+  <p>An <code><a href=#the-html-element>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=#the-html-element>html</a></code> element is not a <a href=#syntax-comments title=syntax-comments>comment</a>.</p>
 
   <!-- </html> -->
-  <p>An <code><a href=#the-html-element>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=#the-html-element>html</a></code> element is not
-  immediately followed by a <a href=#syntax-comments title=syntax-comments>comment</a>.</p>
+  <p>An <code><a href=#the-html-element>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=#the-html-element>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=#the-head-element>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=#the-head-element>head</a></code> element is an element.</p>
+  <p>A <code><a href=#the-head-element>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=#the-head-element>head</a></code> element is an
+  element.</p>
 
   <!-- </head> -->
-  <p>A <code><a href=#the-head-element>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=#the-head-element>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>
+  <p>A <code><a href=#the-head-element>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=#the-head-element>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=#the-body-element>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=#the-body-element>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=#the-body-element>body</a></code> element is a <code><a href=#the-script-element>script</a></code> or
-  <code><a href=#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>
+  <p>A <code><a href=#the-body-element>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=#the-body-element>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=#the-body-element>body</a></code> element is a <code><a href=#the-script-element>script</a></code> or <code><a href=#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=#the-body-element>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=#the-body-element>body</a></code> element is not
-  immediately followed by a <a href=#syntax-comments title=syntax-comments>comment</a>.</p>
+  <p>A <code><a href=#the-body-element>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=#the-body-element>body</a></code> element is not immediately followed by a <a href=#syntax-comments title=syntax-comments>comment</a>.</p>
 
   <!-- </li> -->
-  <p>An <code><a href=#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=#the-li-element>li</a></code> element is
-  immediately followed by another <code><a href=#the-li-element>li</a></code> element or if there
-  is no more content in the parent element.</p>
+  <p>An <code><a href=#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=#the-li-element>li</a></code> element is immediately followed by another <code><a href=#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=#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=#the-dt-element>dt</a></code> element is
-  immediately followed by another <code><a href=#the-dt-element>dt</a></code> element or a
+  <p>A <code><a href=#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=#the-dt-element>dt</a></code> element is immediately followed by another <code><a href=#the-dt-element>dt</a></code> element or a
   <code><a href=#the-dd-element>dd</a></code> element.</p>
 
   <!-- </dd> -->
-  <p>A <code><a href=#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=#the-dd-element>dd</a></code> element is
-  immediately followed by another <code><a href=#the-dd-element>dd</a></code> element or a
-  <code><a href=#the-dt-element>dt</a></code> element, or if there is no more content in the
-  parent element.</p>
+  <p>A <code><a href=#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=#the-dd-element>dd</a></code> element is immediately followed by another <code><a href=#the-dd-element>dd</a></code> element or a
+  <code><a href=#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=#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=#the-p-element>p</a></code> element is
-  immediately followed by an <code><a href=#the-address-element>address</a></code>,
-  <code><a href=#the-article-element>article</a></code>, <code><a href=#the-aside-element>aside</a></code>, <code><a href=#the-blockquote-element>blockquote</a></code>,
-  <code><a href=#dir>dir</a></code>, <code><a href=#the-div-element>div</a></code>, <code><a href=#the-dl-element>dl</a></code>,
-  <code><a href=#the-fieldset-element>fieldset</a></code>, <code><a href=#the-footer-element>footer</a></code>, <code><a href=#the-form-element>form</a></code>,
-  <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h1</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h2</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h3</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h4</a></code>,
-  <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h5</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h6</a></code>, <code><a href=#the-header-element>header</a></code>,
-  <code><a href=#the-hgroup-element>hgroup</a></code>, <code><a href=#the-hr-element>hr</a></code>, <code><a href=#the-main-element>main</a></code>, <code><a href=#the-menu-element>menu</a></code>,
-  <code><a href=#the-nav-element>nav</a></code>, <code><a href=#the-ol-element>ol</a></code>, <code><a href=#the-p-element>p</a></code>, <code><a href=#the-pre-element>pre</a></code>,
-  <code><a href=#the-section-element>section</a></code>, <code><a href=#the-table-element>table</a></code>, or <code><a href=#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=#the-a-element>a</a></code> element.</p>
+  <p>A <code><a href=#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=#the-p-element>p</a></code> element is immediately followed by an <code><a href=#the-address-element>address</a></code>, <code><a href=#the-article-element>article</a></code>,
+  <code><a href=#the-aside-element>aside</a></code>, <code><a href=#the-blockquote-element>blockquote</a></code>, <code><a href=#dir>dir</a></code>, <code><a href=#the-div-element>div</a></code>, <code><a href=#the-dl-element>dl</a></code>,
+  <code><a href=#the-fieldset-element>fieldset</a></code>, <code><a href=#the-footer-element>footer</a></code>, <code><a href=#the-form-element>form</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h1</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h2</a></code>,
+  <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h3</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h4</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h5</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h6</a></code>, <code><a href=#the-header-element>header</a></code>,
+  <code><a href=#the-hgroup-element>hgroup</a></code>, <code><a href=#the-hr-element>hr</a></code>, <code><a href=#the-main-element>main</a></code>, <code><a href=#the-menu-element>menu</a></code>, <code><a href=#the-nav-element>nav</a></code>,
+  <code><a href=#the-ol-element>ol</a></code>, <code><a href=#the-p-element>p</a></code>, <code><a href=#the-pre-element>pre</a></code>, <code><a href=#the-section-element>section</a></code>, <code><a href=#the-table-element>table</a></code>, or
+  <code><a href=#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=#the-a-element>a</a></code> element.</p>
 
   <!-- </rt> -->
-  <p>An <code><a href=#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=#the-rt-element>rt</a></code> element is
-  immediately followed by an <code><a href=#the-rt-element>rt</a></code> or <code><a href=#the-rp-element>rp</a></code>
-  element, or if there is no more content in the parent element.</p>
+  <p>An <code><a href=#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=#the-rt-element>rt</a></code> element is immediately followed by an <code><a href=#the-rt-element>rt</a></code> or <code><a href=#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=#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=#the-rp-element>rp</a></code> element is
-  immediately followed by an <code><a href=#the-rt-element>rt</a></code> or <code><a href=#the-rp-element>rp</a></code>
-  element, or if there is no more content in the parent element.</p>
+  <p>An <code><a href=#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=#the-rp-element>rp</a></code> element is immediately followed by an <code><a href=#the-rt-element>rt</a></code> or <code><a href=#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-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-optgroup-element>optgroup</a></code> element <!--has an ancestor
-  <code>select</code> element and--> is immediately followed by
-  another <code><a href=#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>
+  <!-- </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-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-optgroup-element>optgroup</a></code> element <!--has an ancestor <code>select</code> element and--> is
+  immediately followed by another <code><a href=#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>
@@ -85101,94 +84937,79 @@
   -->
 
   <!-- </option> -->
-  <p>An <code><a href=#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-option-element>option</a></code> element is
-  immediately followed by another <code><a href=#the-option-element>option</a></code> element, or if
-  it is immediately followed by an <code><a href=#the-optgroup-element>optgroup</a></code> element, or
-  if there is no more content in the parent element.</p>
+  <p>An <code><a href=#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-option-element>option</a></code> element is immediately followed by another <code><a href=#the-option-element>option</a></code> element, or
+  if it is immediately followed by an <code><a href=#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=#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=#the-colgroup-element>colgroup</a></code> element is a
-  <code><a href=#the-col-element>col</a></code> element, and if the element is not immediately
-  preceded by another <code><a href=#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>
+  <p>A <code><a href=#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=#the-colgroup-element>colgroup</a></code> element is a <code><a href=#the-col-element>col</a></code> element,
+  and if the element is not immediately preceded by another <code><a href=#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=#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=#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>
+  <p>A <code><a href=#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=#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=#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=#the-thead-element>thead</a></code> element is
-  immediately followed by a <code><a href=#the-tbody-element>tbody</a></code> or <code><a href=#the-tfoot-element>tfoot</a></code>
-  element.</p>
+  <p>A <code><a href=#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=#the-thead-element>thead</a></code> element is immediately followed by a <code><a href=#the-tbody-element>tbody</a></code> or
+  <code><a href=#the-tfoot-element>tfoot</a></code> element.</p>
 
   <!-- <tbody> -->
-  <p>A <code><a href=#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=#the-tbody-element>tbody</a></code> element is a
-  <code><a href=#the-tr-element>tr</a></code> element, and if the element is not immediately
-  preceded by a <code><a href=#the-tbody-element>tbody</a></code>, <code><a href=#the-thead-element>thead</a></code>, or
-  <code><a href=#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>
+  <p>A <code><a href=#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=#the-tbody-element>tbody</a></code> element is a <code><a href=#the-tr-element>tr</a></code> element, and if the
+  element is not immediately preceded by a <code><a href=#the-tbody-element>tbody</a></code>, <code><a href=#the-thead-element>thead</a></code>, or
+  <code><a href=#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=#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=#the-tbody-element>tbody</a></code> element is
-  immediately followed by a <code><a href=#the-tbody-element>tbody</a></code> or <code><a href=#the-tfoot-element>tfoot</a></code>
-  element, or if there is no more content in the parent element.</p>
+  <p>A <code><a href=#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=#the-tbody-element>tbody</a></code> element is immediately followed by a <code><a href=#the-tbody-element>tbody</a></code> or
+  <code><a href=#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=#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=#the-tfoot-element>tfoot</a></code> element is
-  immediately followed by a <code><a href=#the-tbody-element>tbody</a></code> element, or if there is
-  no more content in the parent element.</p>
+  <p>A <code><a href=#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=#the-tfoot-element>tfoot</a></code> element is immediately followed by a <code><a href=#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=#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=#the-tr-element>tr</a></code> element is
-  immediately followed by another <code><a href=#the-tr-element>tr</a></code> element, or if there
-  is no more content in the parent element.</p>
+  <p>A <code><a href=#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=#the-tr-element>tr</a></code> element is immediately followed by another <code><a href=#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=#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=#the-td-element>td</a></code> element is
-  immediately followed by a <code><a href=#the-td-element>td</a></code> or <code><a href=#the-th-element>th</a></code>
-  element, or if there is no more content in the parent element.</p>
+  <p>A <code><a href=#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=#the-td-element>td</a></code> element is immediately followed by a <code><a href=#the-td-element>td</a></code> or <code><a href=#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=#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=#the-th-element>th</a></code> element is
-  immediately followed by a <code><a href=#the-td-element>td</a></code> or <code><a href=#the-th-element>th</a></code>
-  element, or if there is no more content in the parent element.</p>
+  <p>A <code><a href=#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=#the-th-element>th</a></code> element is immediately followed by a <code><a href=#the-td-element>td</a></code> or <code><a href=#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>
+  <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>12.1.2.5 </span>Restrictions on content models</h5>
 
-  <p>For historical reasons, certain elements have extra restrictions
-  beyond even the restrictions given by their content model.</p>
+  <p>For historical reasons, certain elements have extra restrictions beyond even the restrictions
+  given by their content model.</p>
 
-  <p>A <code><a href=#the-table-element>table</a></code> element must not contain <code><a href=#the-tr-element>tr</a></code>
-  elements, even though these elements are technically allowed inside
-  <code><a href=#the-table-element>table</a></code> elements according to the content models
-  described in this specification. (If a <code><a href=#the-tr-element>tr</a></code> element is
-  put inside a <code><a href=#the-table-element>table</a></code> in the markup, it will in fact imply
-  a <code><a href=#the-tbody-element>tbody</a></code> start tag before it.)</p>
+  <p>A <code><a href=#the-table-element>table</a></code> element must not contain <code><a href=#the-tr-element>tr</a></code> elements, even though these
+  elements are technically allowed inside <code><a href=#the-table-element>table</a></code> elements according to the content
+  models described in this specification. (If a <code><a href=#the-tr-element>tr</a></code> element is put inside a
+  <code><a href=#the-table-element>table</a></code> in the markup, it will in fact imply a <code><a href=#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=#the-pre-element>pre</a></code> and <code><a href=#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>
+  <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=#the-pre-element>pre</a></code> and <code><a href=#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=#the-pre-element>pre</a></code> blocks are equivalent:</p>
@@ -85199,53 +85020,46 @@
 
   <h5 id=cdata-rcdata-restrictions><span class=secno>12.1.2.6 </span>Restrictions on the contents of raw text and escapable raw text elements</h5>
 
-  <p>The text in <a href=#raw-text-elements title="raw text elements">raw text</a> and
-  <a href=#escapable-raw-text-elements>escapable raw text elements</a> must not contain any occurrences of the
-  string "<code title=""></</code>" (U+003C LESS-THAN SIGN, U+002F
-  SOLIDUS) followed by characters that case-insensitively match the
-  tag name of the element followed by one of U+0009 CHARACTER
-  TABULATION (tab), U+000A LINE FEED (LF), U+000C FORM FEED (FF), U+000D
-  CARRIAGE RETURN (CR), U+0020 SPACE, U+003E GREATER-THAN SIGN (>), or
-  U+002F SOLIDUS (/).</p>
+  <p>The text in <a href=#raw-text-elements title="raw text elements">raw text</a> and <a href=#escapable-raw-text-elements>escapable raw text
+  elements</a> must not contain any occurrences of the string "<code title=""></</code>"
+  (U+003C LESS-THAN SIGN, U+002F SOLIDUS) followed by characters that case-insensitively match the
+  tag name of the element followed by one of U+0009 CHARACTER TABULATION (tab), U+000A LINE FEED
+  (LF), U+000C FORM FEED (FF), U+000D CARRIAGE RETURN (CR), U+0020 SPACE, U+003E GREATER-THAN SIGN
+  (>), or U+002F SOLIDUS (/).</p>
 
 
   <h4 id=text-0><span class=secno>12.1.3 </span>Text</h4>
 
-  <p><dfn id=syntax-text title=syntax-text>Text</dfn> is allowed inside elements,
-  attribute values, and comments. 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>
+  <p><dfn id=syntax-text title=syntax-text>Text</dfn> is allowed inside elements, attribute values, and comments.
+  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>12.1.3.1 </span>Newlines</h5>
 
-  <p><dfn id=syntax-newlines title=syntax-newlines>Newlines</dfn> in HTML may be
-  represented either as U+000D CARRIAGE RETURN (CR) characters, U+000A
-  LINE FEED (LF) characters, or pairs of U+000D CARRIAGE RETURN (CR),
-  U+000A LINE FEED (LF) characters in that order.</p>
+  <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>
 
-  <p>Where <a href=#syntax-charref title=syntax-charref>character references</a>
-  are allowed, a character reference of a U+000A LINE FEED (LF)
-  character (but not a U+000D CARRIAGE RETURN (CR) character) also
-  represents a <a href=#syntax-newlines title=syntax-newlines>newline</a>.</p>
+  <p>Where <a href=#syntax-charref title=syntax-charref>character references</a> are allowed, a character
+  reference of a U+000A LINE FEED (LF) character (but not a U+000D CARRIAGE RETURN (CR) character)
+  also represents a <a href=#syntax-newlines title=syntax-newlines>newline</a>.</p>
 
 
   <h4 id=character-references><span class=secno>12.1.4 </span>Character references</h4>
 
-  <p>In certain cases described in other sections, <a href=#syntax-text title=syntax-text>text</a> may be mixed with <dfn id=syntax-charref title=syntax-charref>character references</dfn>. These can be used
-  to escape characters that couldn't otherwise legally be included in
-  <a href=#syntax-text title=syntax-text>text</a>.</p>
+  <p>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
-  (&). Following this, there are three possible kinds of character
-  references:</p>
+  <p>Character references must start with a U+0026 AMPERSAND character (&). 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>named character references</a> section, using the same
-   case. <span class=impl>The name must be one that is terminated by
-   a U+003B SEMICOLON character (;).</span></dd>
+   <dd>The ampersand must be followed by one of the names given in the <a href=#named-character-references>named character
+   references</a> section, using the same case. <span class=impl>The name must be one that is
+   terminated by a U+003B SEMICOLON character (;).</span></dd>
 
 
    <dt>Decimal numeric character reference</dt>
@@ -85265,11 +85079,9 @@
    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, U+000D,
-  permanently undefined Unicode characters (noncharacters), and
-  control characters other than <a href=#space-character title="space character">space
-  characters</a>.</p>
+  </dl><p>The numeric character reference forms described above are allowed to reference any Unicode code
+  point other than U+0000, U+000D, permanently undefined Unicode characters (noncharacters), and
+  control characters other than <a href=#space-character title="space character">space characters</a>.</p>
 
   <p>An <dfn id=syntax-ambiguous-ampersand title=syntax-ambiguous-ampersand>ambiguous ampersand</dfn> is a U+0026 AMPERSAND
   character (&) that is followed by one or more <a href=#alphanumeric-ascii-characters>alphanumeric ASCII characters</a>,
@@ -85279,22 +85091,20 @@
 
   <h4 id=cdata-sections><span class=secno>12.1.5 </span>CDATA sections</h4>
 
-  <p><dfn id=syntax-cdata title=syntax-cdata>CDATA sections</dfn> must consist of
-  the following components, in this order:</p>
+  <p><dfn id=syntax-cdata title=syntax-cdata>CDATA sections</dfn> must consist of the following components, in
+  this order:</p>
 
   <ol><li>The string "<code title=""><![CDATA[</code>".</li>
 
-   <li>Optionally, <a href=#syntax-text title=syntax-text>text</a>, with the
-   additional restriction that the text must not contain the string
-   "<code title="">]]></code>".</li>
+   <li>Optionally, <a href=#syntax-text title=syntax-text>text</a>, with the additional restriction that the
+   text must not contain the string "<code title="">]]></code>".</li>
 
    <li>The string "<code title="">]]></code>".</li>
 
   </ol><div class=example>
 
-   <p>CDATA sections can only be used in foreign content (MathML or
-   SVG). In this example, a CDATA section is used to escape the
-   contents of an <code>ms</code> element:</p>
+   <p>CDATA sections can only be used in foreign content (MathML or SVG). In this example, a CDATA
+   section is used to escape the contents of an <code>ms</code> element:</p>
 
    <pre><p>You can add a string to a number, but this stringifies the number:</p>
 <math>
@@ -85310,18 +85120,13 @@
 
   <h4 id=comments><span class=secno>12.1.6 </span>Comments</h4>
 
-  <p><dfn id=syntax-comments title=syntax-comments>Comments</dfn> must start with the
-  four character sequence U+003C LESS-THAN SIGN, U+0021 EXCLAMATION
-  MARK, U+002D HYPHEN-MINUS, U+002D HYPHEN-MINUS (<code title=""><!--</code>). Following this sequence, the comment may
-  have <a href=#syntax-text title=syntax-text>text</a>, with the additional
-  restriction that the text must not start with a single U+003E
-  GREATER-THAN SIGN character (>), nor start with a U+002D
-  HYPHEN-MINUS character (-) followed by a U+003E GREATER-THAN SIGN
-  (>) character, nor contain two consecutive U+002D HYPHEN-MINUS
-  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="">--></code>).</p>
+  <p><dfn id=syntax-comments title=syntax-comments>Comments</dfn> must start with the four character sequence U+003C
+  LESS-THAN SIGN, U+0021 EXCLAMATION MARK, U+002D HYPHEN-MINUS, U+002D HYPHEN-MINUS (<code title=""><!--</code>). Following this sequence, the comment may have <a href=#syntax-text title=syntax-text>text</a>, with the additional restriction that the text must not start with
+  a single U+003E GREATER-THAN SIGN character (>), nor start with a U+002D HYPHEN-MINUS character
+  (-) followed by a U+003E GREATER-THAN SIGN (>) character, nor contain two consecutive U+002D
+  HYPHEN-MINUS 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="">--></code>).</p>
 
 
 <!--HTMLPARSER-->
@@ -85329,69 +85134,54 @@
   <div class=impl>
 
   <h3 id=parsing><span class=secno>12.2 </span>Parsing HTML documents</h3>
-<!--CLEANUP-->
 
-  <p><i>This section only applies to user agents, data mining tools,
-  and conformance checkers.</i></p>
+  <p><i>This section only applies to user agents, data mining tools, and conformance
+  checkers.</i></p>
 
-  <p class=note>The rules for parsing XML documents into DOM trees
-  are covered by the next section, entitled "<a href=#the-xhtml-syntax>The XHTML
-  syntax</a>".</p>
+  <p class=note>The rules for parsing XML documents into DOM trees are covered by the next
+  section, entitled "<a href=#the-xhtml-syntax>The XHTML syntax</a>".</p>
 
-  <p>User agents must use the parsing rules described in this section
-  to generate the DOM trees from <code><a href=#text/html>text/html</a></code> resources.
-  Together, these rules define what is referred to as the <dfn id=html-parser>HTML
-  parser</dfn>.</p>
+  <p>User agents must use the parsing rules described in this section to generate the DOM trees from
+  <code><a href=#text/html>text/html</a></code> resources. Together, these rules define what is referred to as the
+  <dfn id=html-parser>HTML parser</dfn>.</p>
 
   <div class=note>
 
-   <p>While the HTML syntax described in this specification bears a
-   close resemblance to SGML and XML, it is a separate language with
-   its own parsing rules.</p>
+   <p>While the HTML syntax described in this specification bears a close resemblance to SGML and
+   XML, it is a separate language with its own parsing rules.</p>
 
-   <p>Some earlier versions of HTML (in particular from HTML2 to
-   HTML4) were based on SGML and used SGML parsing rules. However, few
-   (if any) web browsers ever implemented true SGML parsing for HTML
-   documents; the only user agents to strictly handle HTML as an SGML
-   application have historically been validators. The resulting
-   confusion — with validators claiming documents to have one
-   representation while widely deployed Web browsers interoperably
-   implemented a different representation — has wasted decades
-   of productivity. This version of HTML thus returns to a non-SGML
-   basis.</p>
+   <p>Some earlier versions of HTML (in particular from HTML2 to HTML4) were based on SGML and used
+   SGML parsing rules. However, few (if any) web browsers ever implemented true SGML parsing for
+   HTML documents; the only user agents to strictly handle HTML as an SGML application have
+   historically been validators. The resulting confusion — with validators claiming documents
+   to have one representation while widely deployed Web browsers interoperably implemented a
+   different representation — has wasted decades of productivity. This version of HTML thus
+   returns to a non-SGML basis.</p>
 
-   <p>Authors interested in using SGML tools in their authoring
-   pipeline are encouraged to use XML tools and the XML serialization
-   of HTML.</p>
+   <p>Authors interested in using SGML tools in their authoring pipeline are encouraged to use XML
+   tools and the XML serialization of HTML.</p>
 
   </div>
 
-  <p>This specification defines the parsing rules for HTML documents,
-  whether they are syntactically correct or not. Certain points in the
-  parsing algorithm are said to be <dfn id=parse-error title="parse error">parse
-  errors</dfn>. The error handling for parse errors is well-defined
-  (that's the processing rules described throughout this specification), but 
-  user agents, while parsing an HTML document, may <a href=#abort-a-parser title="abort a
-  parser">abort the parser</a> at the first <a href=#parse-error>parse error</a> that they
-  encounter for which they do not wish to apply the rules described
-  in this specification.</p>
+  <p>This specification defines the parsing rules for HTML documents, whether they are syntactically
+  correct or not. Certain points in the parsing algorithm are said to be <dfn id=parse-error title="parse
+  error">parse errors</dfn>. The error handling for parse errors is well-defined (that's the
+  processing rules described throughout this specification), but user agents, while parsing an HTML
+  document, may <a href=#abort-a-parser title="abort a parser">abort the parser</a> at the first <a href=#parse-error>parse
+  error</a> that they encounter for which they do not wish to apply the rules described in this
+  specification.</p>
 
-  <p>Conformance checkers must report at least one parse error
-  condition to the user if one or more parse error conditions exist in
-  the document and must not report parse error conditions if none
-  exist in the document. Conformance checkers may report more than one
-  parse error condition if more than one parse error condition exists
-  in the document.</p>
+  <p>Conformance checkers must report at least one parse error condition to the user if one or more
+  parse error conditions exist in the document and must not report parse error conditions if none
+  exist in the document. Conformance checkers may report more than one parse error condition if more
+  than one parse error condition exists in the document.</p>
 
-  <p class=note>Parse errors are only errors with the
-  <em>syntax</em> of HTML. In addition to checking for parse errors,
-  conformance checkers will also verify that the document obeys all
-  the other conformance requirements described in this
-  specification.</p>
+  <p class=note>Parse errors are only errors with the <em>syntax</em> of HTML. In addition to
+  checking for parse errors, conformance checkers will also verify that the document obeys all the
+  other conformance requirements described in this specification.</p>
 
-  <p>For the purposes of conformance checkers, if a resource is
-  determined to be in <a href=#syntax>the HTML syntax</a>, then it is an
-  <a href=#html-documents title="HTML documents">HTML document</a>.</p>
+  <p>For the purposes of conformance checkers, if a resource is determined to be in <a href=#syntax>the HTML
+  syntax</a>, then it is an <a href=#html-documents title="HTML documents">HTML document</a>.</p>
 
   </div>
 
@@ -85402,34 +85192,28 @@
 
   <p class=overview><object width=345 height=535 data=images/parsing-model-overview.svg><img src=http://images.whatwg.org/parsing-model-overview.png width=345 alt="" height=450></object></p>
 
-  <p>The input to the HTML parsing process consists of a stream of
-  <a href=#unicode-code-point title="Unicode code point">Unicode code points</a>, which
-  is passed through a <a href=#tokenization>tokenization</a> stage followed by a
-  <a href=#tree-construction>tree construction</a> stage. The output is a
-  <code><a href=#document>Document</a></code> object.</p>
+  <p>The input to the HTML parsing process consists of a stream of <a href=#unicode-code-point title="Unicode code
+  point">Unicode code points</a>, which is passed through a <a href=#tokenization>tokenization</a> stage
+  followed by a <a href=#tree-construction>tree construction</a> stage. The output is a <code><a href=#document>Document</a></code>
+  object.</p>
 
-  <p class=note>Implementations that <a href=#non-scripted>do not
-  support scripting</a> do not have to actually create a DOM
-  <code><a href=#document>Document</a></code> object, but the DOM tree in such cases is
+  <p class=note>Implementations that <a href=#non-scripted>do not support scripting</a> do not
+  have to actually create a DOM <code><a href=#document>Document</a></code> object, but the DOM tree in such cases is
   still used as the model for the rest of the specification.</p>
 
-  <p>In the common case, the data handled by the tokenization stage
-  comes from the network, but <a href=#dynamic-markup-insertion title="dynamic markup
-  insertion">it can also come from script</a> running in the user
+  <p>In the common case, the data handled by the tokenization stage comes from the network, but
+  <a href=#dynamic-markup-insertion title="dynamic markup insertion">it can also come from script</a> running in the user
   agent, e.g. using the <code title=dom-document-write><a href=#dom-document-write>document.write()</a></code> API.</p>
 
-  <p id=nestedParsing>There is only one set of states for the
-  tokenizer stage and the tree construction stage, but the tree
-  construction stage is reentrant, meaning that while the tree
-  construction stage is handling one token, the tokenizer might be
-  resumed, causing further tokens to be emitted and processed before
-  the first token's processing is complete.</p>
+  <p id=nestedParsing>There is only one set of states for the tokenizer stage and the tree
+  construction stage, but the tree construction stage is reentrant, meaning that while the tree
+  construction stage is handling one token, the tokenizer might be resumed, causing further tokens
+  to be emitted and processed before the first token's processing is complete.</p>
 
   <div class=example>
 
-   <p>In the following example, the tree construction stage will be
-   called upon to handle a "p" start tag token while handling the
-   "script" end tag token:</p>
+   <p>In the following example, the tree construction stage will be called upon to handle a "p"
+   start tag token while handling the "script" end tag token:</p>
 
    <pre>...
 <script>
@@ -85439,9 +85223,8 @@
 
   </div>
 
-  <p>To handle these cases, parsers have a <dfn id=script-nesting-level>script nesting
-  level</dfn>, which must be initially set to zero, and a <dfn id=parser-pause-flag>parser
-  pause flag</dfn>, which must be initially set to false.</p>
+  <p>To handle these cases, parsers have a <dfn id=script-nesting-level>script nesting level</dfn>, which must be initially
+  set to zero, and a <dfn id=parser-pause-flag>parser pause flag</dfn>, which must be initially set to false.</p>
 
   </div>
 
@@ -85451,29 +85234,23 @@
 
   <h4 id=the-input-byte-stream><span class=secno>12.2.2 </span>The <dfn>input byte stream</dfn></h4>
 
-<!--CLEANUP-->
-  <p>The stream of Unicode code points that comprises the input to the
-  tokenization stage will be initially seen by the user agent as a
-  stream of bytes (typically coming over the network or from the local
-  file system). The bytes encode the actual characters according to a
-  particular <i>character encoding</i>, which the user agent uses
-  to decode the bytes into characters.</p>
+  <p>The stream of Unicode code points that comprises the input to the tokenization stage will be
+  initially seen by the user agent as a stream of bytes (typically coming over the network or from
+  the local file system). The bytes encode the actual characters according to a particular
+  <i>character encoding</i>, which the user agent uses to decode the bytes into characters.</p>
 
-  <p class=note>For XML documents, the algorithm user agents must
-  use to determine the character encoding is given by the XML
-  specification. This section does not apply to XML documents. <a href=#refsXML>[XML]</a></p>
+  <p class=note>For XML documents, the algorithm user agents must use to determine the character
+  encoding is given by the XML specification. This section does not apply to XML documents. <a href=#refsXML>[XML]</a></p>
 
-  <p>Usually, the <a href=#encoding-sniffing-algorithm>encoding sniffing algorithm</a> defined below is
-  used to determine the character encoding.</p>
+  <p>Usually, the <a href=#encoding-sniffing-algorithm>encoding sniffing algorithm</a> defined below is used to determine the
+  character encoding.</p>
 
-  <p>Given a character encoding, the bytes in the <a href=#the-input-byte-stream>input byte
-  stream</a> must be converted to Unicode code points for the
-  tokenizer's <a href=#input-stream>input stream</a>, as described by the rules for
-  that encoding's <a href=#decoder>decoder</a>.</p>
+  <p>Given a character encoding, the bytes in the <a href=#the-input-byte-stream>input byte stream</a> must be converted
+  to Unicode code points for the tokenizer's <a href=#input-stream>input stream</a>, as described by the rules
+  for that encoding's <a href=#decoder>decoder</a>.</p>
 
-  <p class=note>Bytes or sequences of bytes in the original byte
-  stream that did not conform to the encoding specification (e.g.
-  invalid UTF-8 byte sequences in a UTF-8 input byte stream) are
+  <p class=note>Bytes or sequences of bytes in the original byte stream that did not conform to
+  the encoding specification (e.g. invalid UTF-8 byte sequences in a UTF-8 input byte stream) are
   errors that conformance checkers are expected to report.</p>
 
   <p class=note>Leading Byte Order Marks (BOMs) are not stripped by the decoder algorithms, they
@@ -95225,7 +95002,7 @@
 :root:lang(uk),       :not(:lang(uk)) > :lang(uk)             { quotes: '\00ab' '\00bb' '\201e' '\201c' } /* « » „ “ */
 :root:lang(ur),       :not(:lang(ur)) > :lang(ur)             { quotes: '\201d' '\201c' '\2019' '\2018' } /* ” “ ’ ‘ */
 :root:lang(uz),       :not(:lang(uz)) > :lang(uz)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
-:root:lang(uz-Latn),  :not(:lang(uz-Latn)) > :lang(uz-Latn)   { quotes: '\0022' '\0022' '\0027' '\0027' } /* " " ' ' */
+:root:lang(uz-Latn),  :not(:lang(uz-Latn)) > :lang(uz-Latn)   { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
 :root:lang(vai),      :not(:lang(vai)) > :lang(vai)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
 :root:lang(vai-Latn), :not(:lang(vai-Latn)) > :lang(vai-Latn) { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
 :root:lang(vi),       :not(:lang(vi)) > :lang(vi)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */

Modified: index
===================================================================
--- index	2013-08-02 21:48:03 UTC (rev 8124)
+++ index	2013-08-03 16:04:58 UTC (rev 8125)
@@ -256,7 +256,7 @@
 
   <header class=head id=head><p><a href=http://www.whatwg.org/ class=logo><img width=101 src=/images/logo alt=WHATWG height=101></a></p>
    <hgroup><h1 class=allcaps>HTML</h1>
-    <h2 class="no-num no-toc">Living Standard — Last Updated 2 August 2013</h2>
+    <h2 class="no-num no-toc">Living Standard — Last Updated 3 August 2013</h2>
    </hgroup><dl><dt><strong>Web developer edition:</strong></dt>
     <dd><strong><a href=http://developers.whatwg.org/>http://developers.whatwg.org/</a></strong></dd>
     <dt>Multiple-page version:</dt>
@@ -12266,11 +12266,10 @@
    <dt><a href=#element-dfn-content-model title=element-dfn-content-model>Content model</a>:</dt>
    <dd>A <code><a href=#the-head-element>head</a></code> element followed by a <code><a href=#the-body-element>body</a></code> element.</dd>
    <dt><a href=#element-dfn-tag-omission title=element-dfn-tag-omission>Tag omission in text/html</a>:</dt>
-   <dd>An <code><a href=#the-html-element>html</a></code> element's <a href=#syntax-start-tag title=syntax-start-tag>start tag</a> can be omitted if the
-   first thing inside the <code><a href=#the-html-element>html</a></code> element is not a <a href=#syntax-comments title=syntax-comments>comment</a>.</dd>
-   <dd>An <code><a href=#the-html-element>html</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end
-   tag</a> can be omitted if the <code><a href=#the-html-element>html</a></code> element is not
-   immediately followed by a <a href=#syntax-comments title=syntax-comments>comment</a>.</dd>
+   <dd>An <code><a href=#the-html-element>html</a></code> element's <a href=#syntax-start-tag title=syntax-start-tag>start tag</a> can be omitted
+   if the first thing inside the <code><a href=#the-html-element>html</a></code> element is not a <a href=#syntax-comments title=syntax-comments>comment</a>.</dd>
+   <dd>An <code><a href=#the-html-element>html</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if
+   the <code><a href=#the-html-element>html</a></code> element is not immediately followed by a <a href=#syntax-comments title=syntax-comments>comment</a>.</dd>
    <dt><a href=#element-dfn-attributes title=element-dfn-attributes>Content attributes</a>:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-html-manifest><a href=#attr-html-manifest>manifest</a></code> — <a href=#concept-appcache-manifest title=concept-appcache-manifest>Application cache manifest</a></dd>
@@ -12340,12 +12339,11 @@
    <dd>If the document is <a href=#an-iframe-srcdoc-document>an <code>iframe</code> <code title=attr-iframe-srcdoc>srcdoc</code> document</a> or if title information is available from a higher-level protocol: Zero or more elements of <a href=#metadata-content>metadata content</a>, of which no more than one is a <code><a href=#the-title-element>title</a></code> element.</dd>
    <dd>Otherwise: One or more elements of <a href=#metadata-content>metadata content</a>, of which exactly one is a <code><a href=#the-title-element>title</a></code> element.</dd>
    <dt><a href=#element-dfn-tag-omission title=element-dfn-tag-omission>Tag omission in text/html</a>:</dt>
-   <dd>A <code><a href=#the-head-element>head</a></code> element's <a href=#syntax-start-tag title=syntax-start-tag>start tag</a> can be omitted if the
-   element is empty, or if the first thing inside the
-   <code><a href=#the-head-element>head</a></code> element is an element.</dd>
-   <dd>A <code><a href=#the-head-element>head</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end
-   tag</a> can be omitted if the <code><a href=#the-head-element>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>.</dd>
+   <dd>A <code><a href=#the-head-element>head</a></code> element's <a href=#syntax-start-tag title=syntax-start-tag>start tag</a> can be omitted if
+   the element is empty, or if the first thing inside the <code><a href=#the-head-element>head</a></code> element is an
+   element.</dd>
+   <dd>A <code><a href=#the-head-element>head</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if the
+   <code><a href=#the-head-element>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>.</dd>
    <dt><a href=#element-dfn-attributes title=element-dfn-attributes>Content attributes</a>:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dt><a href=#element-dfn-dom title=element-dfn-dom>DOM interface</a>:</dt><!--TOPIC:DOM APIs-->
@@ -15556,17 +15554,15 @@
    <dt><a href=#element-dfn-content-model title=element-dfn-content-model>Content model</a>:</dt>
    <dd><a href=#flow-content>Flow content</a>.</dd>
    <dt><a href=#element-dfn-tag-omission title=element-dfn-tag-omission>Tag omission in text/html</a>:</dt>
-   <dd>A <code><a href=#the-body-element>body</a></code> element's <a href=#syntax-start-tag title=syntax-start-tag>start tag</a> can be omitted if the
-   element is empty, or if the first thing inside the <code><a href=#the-body-element>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=#the-body-element>body</a></code> element is a <code><a href=#the-script-element>script</a></code> or
-   <code><a href=#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> --></dd>
-   <dd>A <code><a href=#the-body-element>body</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end
-   tag</a> can be omitted if the <code><a href=#the-body-element>body</a></code> element is not
-   immediately followed by a <a href=#syntax-comments title=syntax-comments>comment</a>.</dd>
+   <dd>A <code><a href=#the-body-element>body</a></code> element's <a href=#syntax-start-tag title=syntax-start-tag>start tag</a> can be omitted if
+   the element is empty, or if the first thing inside the <code><a href=#the-body-element>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=#the-body-element>body</a></code> element is a <code><a href=#the-script-element>script</a></code> or <code><a href=#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>
+   --></dd>
+   <dd>A <code><a href=#the-body-element>body</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if the
+   <code><a href=#the-body-element>body</a></code> element is not immediately followed by a <a href=#syntax-comments title=syntax-comments>comment</a>.</dd>
    <dt><a href=#element-dfn-attributes title=element-dfn-attributes>Content attributes</a>:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=handler-window-onafterprint><a href=#handler-window-onafterprint>onafterprint</a></code></dd>
@@ -17700,19 +17696,15 @@
    <dt><a href=#element-dfn-content-model title=element-dfn-content-model>Content model</a>:</dt>
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt><a href=#element-dfn-tag-omission title=element-dfn-tag-omission>Tag omission in text/html</a>:</dt>
-   <dd>A <code><a href=#the-p-element>p</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end
-   tag</a> can be omitted if the <code><a href=#the-p-element>p</a></code> element is
-   immediately followed by an <code><a href=#the-address-element>address</a></code>,
-   <code><a href=#the-article-element>article</a></code>, <code><a href=#the-aside-element>aside</a></code>, <code><a href=#the-blockquote-element>blockquote</a></code>,
-   <code><a href=#dir>dir</a></code>, <code><a href=#the-div-element>div</a></code>, <code><a href=#the-dl-element>dl</a></code>,
-   <code><a href=#the-fieldset-element>fieldset</a></code>, <code><a href=#the-footer-element>footer</a></code>, <code><a href=#the-form-element>form</a></code>,
-   <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h1</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h2</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h3</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h4</a></code>,
-   <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h5</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h6</a></code>, <code><a href=#the-header-element>header</a></code>,
-   <code><a href=#the-hgroup-element>hgroup</a></code>, <code><a href=#the-hr-element>hr</a></code>, <code><a href=#the-main-element>main</a></code>, <code><a href=#the-menu-element>menu</a></code>,
-   <code><a href=#the-nav-element>nav</a></code>, <code><a href=#the-ol-element>ol</a></code>, <code><a href=#the-p-element>p</a></code>, <code><a href=#the-pre-element>pre</a></code>,
-   <code><a href=#the-section-element>section</a></code>, <code><a href=#the-table-element>table</a></code>, or <code><a href=#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=#the-a-element>a</a></code> element.</dd>
+   <dd>A <code><a href=#the-p-element>p</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if the
+   <code><a href=#the-p-element>p</a></code> element is immediately followed by an <code><a href=#the-address-element>address</a></code>, <code><a href=#the-article-element>article</a></code>,
+   <code><a href=#the-aside-element>aside</a></code>, <code><a href=#the-blockquote-element>blockquote</a></code>, <code><a href=#dir>dir</a></code>, <code><a href=#the-div-element>div</a></code>, <code><a href=#the-dl-element>dl</a></code>,
+   <code><a href=#the-fieldset-element>fieldset</a></code>, <code><a href=#the-footer-element>footer</a></code>, <code><a href=#the-form-element>form</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h1</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h2</a></code>,
+   <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h3</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h4</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h5</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h6</a></code>, <code><a href=#the-header-element>header</a></code>,
+   <code><a href=#the-hgroup-element>hgroup</a></code>, <code><a href=#the-hr-element>hr</a></code>, <code><a href=#the-main-element>main</a></code>, <code><a href=#the-menu-element>menu</a></code>, <code><a href=#the-nav-element>nav</a></code>,
+   <code><a href=#the-ol-element>ol</a></code>, <code><a href=#the-p-element>p</a></code>, <code><a href=#the-pre-element>pre</a></code>, <code><a href=#the-section-element>section</a></code>, <code><a href=#the-table-element>table</a></code>, or
+   <code><a href=#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=#the-a-element>a</a></code> element.</dd>
    <dt><a href=#element-dfn-attributes title=element-dfn-attributes>Content attributes</a>:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dt><a href=#element-dfn-dom title=element-dfn-dom>DOM interface</a>:</dt><!--TOPIC:DOM APIs-->
@@ -18494,10 +18486,9 @@
    <dt><a href=#element-dfn-content-model title=element-dfn-content-model>Content model</a>:</dt>
    <dd><a href=#flow-content>Flow content</a>.</dd>
    <dt><a href=#element-dfn-tag-omission title=element-dfn-tag-omission>Tag omission in text/html</a>:</dt>
-   <dd>An <code><a href=#the-li-element>li</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end
-   tag</a> can be omitted if the <code><a href=#the-li-element>li</a></code> element is
-   immediately followed by another <code><a href=#the-li-element>li</a></code> element or if there
-   is no more content in the parent element.</dd>
+   <dd>An <code><a href=#the-li-element>li</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if the
+   <code><a href=#the-li-element>li</a></code> element is immediately followed by another <code><a href=#the-li-element>li</a></code> element or if there is
+   no more content in the parent element.</dd>
    <dt><a href=#element-dfn-attributes title=element-dfn-attributes>Content attributes</a>:</dt>
    <dd><a href=#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> — <a href=#ordinal-value>Ordinal value</a> of the list item</dd>
@@ -18756,9 +18747,8 @@
    <dt><a href=#element-dfn-content-model title=element-dfn-content-model>Content model</a>:</dt>
    <dd><a href=#flow-content>Flow content</a>, but with no <code><a href=#the-header-element>header</a></code>, <code><a href=#the-footer-element>footer</a></code>, <a href=#sectioning-content>sectioning content</a>, or <a href=#heading-content>heading content</a> descendants.</dd>
    <dt><a href=#element-dfn-tag-omission title=element-dfn-tag-omission>Tag omission in text/html</a>:</dt>
-   <dd>A <code><a href=#the-dt-element>dt</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end
-   tag</a> can be omitted if the <code><a href=#the-dt-element>dt</a></code> element is
-   immediately followed by another <code><a href=#the-dt-element>dt</a></code> element or a
+   <dd>A <code><a href=#the-dt-element>dt</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if the
+   <code><a href=#the-dt-element>dt</a></code> element is immediately followed by another <code><a href=#the-dt-element>dt</a></code> element or a
    <code><a href=#the-dd-element>dd</a></code> element.</dd>
    <dt><a href=#element-dfn-attributes title=element-dfn-attributes>Content attributes</a>:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
@@ -18804,11 +18794,9 @@
    <dt><a href=#element-dfn-content-model title=element-dfn-content-model>Content model</a>:</dt>
    <dd><a href=#flow-content>Flow content</a>.</dd>
    <dt><a href=#element-dfn-tag-omission title=element-dfn-tag-omission>Tag omission in text/html</a>:</dt>
-   <dd>A <code><a href=#the-dd-element>dd</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end
-   tag</a> can be omitted if the <code><a href=#the-dd-element>dd</a></code> element is
-   immediately followed by another <code><a href=#the-dd-element>dd</a></code> element or a
-   <code><a href=#the-dt-element>dt</a></code> element, or if there is no more content in the
-   parent element.</dd>
+   <dd>A <code><a href=#the-dd-element>dd</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if the
+   <code><a href=#the-dd-element>dd</a></code> element is immediately followed by another <code><a href=#the-dd-element>dd</a></code> element or a
+   <code><a href=#the-dt-element>dt</a></code> element, or if there is no more content in the parent element.</dd>
    <dt><a href=#element-dfn-attributes title=element-dfn-attributes>Content attributes</a>:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dt><a href=#element-dfn-dom title=element-dfn-dom>DOM interface</a>:</dt><!--TOPIC:DOM APIs-->
@@ -21544,10 +21532,9 @@
    <dt><a href=#element-dfn-content-model title=element-dfn-content-model>Content model</a>:</dt>
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt><a href=#element-dfn-tag-omission title=element-dfn-tag-omission>Tag omission in text/html</a>:</dt>
-   <dd>An <code><a href=#the-rt-element>rt</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end
-   tag</a> can be omitted if the <code><a href=#the-rt-element>rt</a></code> element is
-   immediately followed by an <code><a href=#the-rt-element>rt</a></code> or <code><a href=#the-rp-element>rp</a></code>
-   element, or if there is no more content in the parent element.</dd>
+   <dd>An <code><a href=#the-rt-element>rt</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if the
+   <code><a href=#the-rt-element>rt</a></code> element is immediately followed by an <code><a href=#the-rt-element>rt</a></code> or <code><a href=#the-rp-element>rp</a></code> element,
+   or if there is no more content in the parent element.</dd>
    <dt><a href=#element-dfn-attributes title=element-dfn-attributes>Content attributes</a>:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dt><a href=#element-dfn-dom title=element-dfn-dom>DOM interface</a>:</dt><!--TOPIC:DOM APIs-->
@@ -21574,10 +21561,9 @@
    <dt><a href=#element-dfn-content-model title=element-dfn-content-model>Content model</a>:</dt>
    <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
    <dt><a href=#element-dfn-tag-omission title=element-dfn-tag-omission>Tag omission in text/html</a>:</dt>
-   <dd>An <code><a href=#the-rp-element>rp</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end
-   tag</a> can be omitted if the <code><a href=#the-rp-element>rp</a></code> element is
-   immediately followed by an <code><a href=#the-rt-element>rt</a></code> or <code><a href=#the-rp-element>rp</a></code>
-   element, or if there is no more content in the parent element.</dd>
+   <dd>An <code><a href=#the-rp-element>rp</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if the
+   <code><a href=#the-rp-element>rp</a></code> element is immediately followed by an <code><a href=#the-rt-element>rt</a></code> or <code><a href=#the-rp-element>rp</a></code> element,
+   or if there is no more content in the parent element.</dd>
    <dt><a href=#element-dfn-attributes title=element-dfn-attributes>Content attributes</a>:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dt><a href=#element-dfn-dom title=element-dfn-dom>DOM interface</a>:</dt><!--TOPIC:DOM APIs-->
@@ -26143,45 +26129,38 @@
   // <a href="#HTMLParamElement-partial">also has obsolete members</a>
 };</pre>
    </dd>
-  </dl><!--TOPIC:HTML--><!--CLEANUP--><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>
+  </dl><!--TOPIC:HTML--><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-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>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=impl>
 
-  <p>If both attributes are present, and if the parent element of the
-  <code><a href=#the-param-element>param</a></code> is an <code><a href=#the-object-element>object</a></code> element, then the
-  element defines a <dfn id=concept-param-parameter title=concept-param-parameter>parameter</dfn> with the given
-  name-value pair.</p>
+  <p>If both attributes are present, and if the parent element of the <code><a href=#the-param-element>param</a></code> is an
+  <code><a href=#the-object-element>object</a></code> element, then the element defines a <dfn id=concept-param-parameter title=concept-param-parameter>parameter</dfn> with the given name-value pair.</p>
 
-  <p>If either the name or value of a <a href=#concept-param-parameter title=concept-param-parameter>parameter</a> defined by a
-  <code><a href=#the-param-element>param</a></code> element that is the child of an
-  <code><a href=#the-object-element>object</a></code> element that <a href=#represents>represents</a> an
-  instantiated <a href=#plugin>plugin</a> changes, and if that
-  <a href=#plugin>plugin</a> is communicating with the user agent using an
-  API that features the ability to update the <a href=#plugin>plugin</a> when
-  the name or value of a <a href=#concept-param-parameter title=concept-param-parameter>parameter</a> so changes, then
-  the user agent must appropriately exercise that ability to notify
-  the <a href=#plugin>plugin</a> of the change.</p>
+  <p>If either the name or value of a <a href=#concept-param-parameter title=concept-param-parameter>parameter</a> defined
+  by a <code><a href=#the-param-element>param</a></code> element that is the child of an <code><a href=#the-object-element>object</a></code> element that
+  <a href=#represents>represents</a> an instantiated <a href=#plugin>plugin</a> changes, and if that
+  <a href=#plugin>plugin</a> is communicating with the user agent using an API that features the ability to
+  update the <a href=#plugin>plugin</a> when the name or value of a <a href=#concept-param-parameter title=concept-param-parameter>parameter</a> so changes, then the user agent must
+  appropriately exercise that ability to notify the <a href=#plugin>plugin</a> of the change.</p>
 
-  <p>The IDL attributes <dfn id=dom-param-name title=dom-param-name><code>name</code></dfn> and <dfn id=dom-param-value title=dom-param-value><code>value</code></dfn> must both
-  <a href=#reflect>reflect</a> the respective content attributes of the same
-  name.</p>
+  <p>The IDL attributes <dfn id=dom-param-name title=dom-param-name><code>name</code></dfn> and <dfn id=dom-param-value title=dom-param-value><code>value</code></dfn> must both <a href=#reflect>reflect</a> the respective
+  content attributes of the same name.</p>
 
   </div>
 
   <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 O3D
-   plugin.</p>
+   <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 O3D plugin.</p>
 
    <pre><!DOCTYPE HTML>
 <html lang="en">
@@ -26253,15 +26232,13 @@
            attribute DOMString <a href=#dom-video-poster title=dom-video-poster>poster</a>;
 };</pre>
    </dd>
-  </dl><!--TOPIC:HTML--><p>A <code><a href=#the-video-element>video</a></code> element is used for playing videos or
-  movies, and audio files with captions.</p>
+  </dl><!--TOPIC:HTML--><p>A <code><a href=#the-video-element>video</a></code> element is used for playing videos or movies, and audio files with
+  captions.</p>
 
-  <p>Content may be provided inside the <code><a href=#the-video-element>video</a></code>
-  element<span class=impl>. User agents should not show this content
-  to the user</span>; it is intended for older Web browsers which do
-  not support <code><a href=#the-video-element>video</a></code>, so that legacy video plugins can be
-  tried, or to show text to the users of these older browsers informing
-  them of how to access the video contents.</p>
+  <p>Content may be provided inside the <code><a href=#the-video-element>video</a></code> element<span class=impl>. User agents
+  should not show this content to the user</span>; it is intended for older Web browsers which do
+  not support <code><a href=#the-video-element>video</a></code>, so that legacy video plugins can be tried, or to show text to the
+  users of these older browsers informing them of how to access the video contents.</p>
 
   <p class=note>In particular, this content is not intended to address accessibility concerns. To
   make video content accessible to the partially sighted, the blind, the hard-of-hearing, the deaf,
@@ -26277,21 +26254,17 @@
   users who would rather not use a media element at all, transcripts or other textual alternatives
   can be provided by simply linking to them in the prose near the <code><a href=#the-video-element>video</a></code> element. <a href=#refsWEBVTT>[WEBVTT]</a></p>
 
-  <p>The <code><a href=#the-video-element>video</a></code> element is a <a href=#media-element>media element</a>
-  whose <a href=#media-data>media data</a> is ostensibly video data, possibly
-  with associated audio data.</p>
+  <p>The <code><a href=#the-video-element>video</a></code> element is a <a href=#media-element>media element</a> whose <a href=#media-data>media data</a> is
+  ostensibly video data, possibly with associated audio data.</p>
 
-  <p>The <code title=attr-media-src><a href=#attr-media-src>src</a></code>, <code title=attr-media-preload><a href=#attr-media-preload>preload</a></code>, <code title=attr-media-autoplay><a href=#attr-media-autoplay>autoplay</a></code>, 
-  <code title=attr-media-mediagroup><a href=#attr-media-mediagroup>mediagroup</a></code>, 
-  <code title=attr-media-loop><a href=#attr-media-loop>loop</a></code>,
-  <code title=attr-media-muted><a href=#attr-media-muted>muted</a></code>, and <code title=attr-media-controls><a href=#attr-media-controls>controls</a></code> attributes are <a href=#media-element-attributes title="media element attributes">the attributes common to all media
+  <p>The <code title=attr-media-src><a href=#attr-media-src>src</a></code>, <code title=attr-media-preload><a href=#attr-media-preload>preload</a></code>,
+  <code title=attr-media-autoplay><a href=#attr-media-autoplay>autoplay</a></code>, <code title=attr-media-mediagroup><a href=#attr-media-mediagroup>mediagroup</a></code>, <code title=attr-media-loop><a href=#attr-media-loop>loop</a></code>, <code title=attr-media-muted><a href=#attr-media-muted>muted</a></code>, and <code title=attr-media-controls><a href=#attr-media-controls>controls</a></code>
+  attributes are <a href=#media-element-attributes title="media element attributes">the attributes common to all media
   elements</a>.</p>
 
-  <p>The <dfn id=attr-video-poster title=attr-video-poster><code>poster</code></dfn>
-  attribute gives the address of an image file that the user agent can
-  show while no video data is available. The attribute, if present,
-  must contain a <a href=#valid-non-empty-url-potentially-surrounded-by-spaces>valid non-empty URL potentially surrounded by
-  spaces</a>.</p>
+  <p>The <dfn id=attr-video-poster title=attr-video-poster><code>poster</code></dfn> attribute gives the address of an
+  image file that the user agent can show while no video data is available. The attribute, if
+  present, must contain a <a href=#valid-non-empty-url-potentially-surrounded-by-spaces>valid non-empty URL potentially surrounded by spaces</a>.</p>
 
   <div class=impl>
 
@@ -26300,23 +26273,20 @@
   value of the element's <a href=#show-poster-flag>show poster flag</a>):</p> <!-- thus it is unaffected by changes
   to the base URL. -->
 
-  <ol><li><p>If there is an existing instance of this algorithm running
-   for this <code><a href=#the-video-element>video</a></code> element, abort that instance of this
-   algorithm without changing the <a href=#poster-frame>poster frame</a>.</li>
+  <ol><li><p>If there is an existing instance of this algorithm running for this <code><a href=#the-video-element>video</a></code>
+   element, abort that instance of this algorithm without changing the <a href=#poster-frame>poster
+   frame</a>.</li>
 
-   <li><p>If the <code title=attr-video-poster><a href=#attr-video-poster>poster</a></code>
-   attribute's value is the empty string or if the attribute is
-   absent, then there is no <a href=#poster-frame>poster frame</a>; abort these
+   <li><p>If the <code title=attr-video-poster><a href=#attr-video-poster>poster</a></code> attribute's value is the empty string
+   or if the attribute is absent, then there is no <a href=#poster-frame>poster frame</a>; abort these
    steps.</li>
 
-   <li><p><a href=#resolve-a-url title="resolve a url">Resolve</a> the <code title=attr-video-poster><a href=#attr-video-poster>poster</a></code> attribute's value relative
-   to the element. If this fails, then there is no <a href=#poster-frame>poster
-   frame</a>; abort these steps.</li>
+   <li><p><a href=#resolve-a-url title="resolve a url">Resolve</a> the <code title=attr-video-poster><a href=#attr-video-poster>poster</a></code> attribute's value relative to the element. If this fails,
+   then there is no <a href=#poster-frame>poster frame</a>; abort these steps.</li>
 
-   <li><p><a href=#fetch>Fetch</a><!--FETCH--> the resulting <a href=#absolute-url>absolute
-   URL</a>, from the element's <code><a href=#document>Document</a></code>'s
-   <a href=#origin>origin</a>. This must <a href=#delay-the-load-event>delay the load event</a> of
-   the element's document.</li>
+   <li><p><a href=#fetch>Fetch</a><!--FETCH--> the resulting <a href=#absolute-url>absolute URL</a>, from the element's
+   <code><a href=#document>Document</a></code>'s <a href=#origin>origin</a>. This must <a href=#delay-the-load-event>delay the load event</a> of the
+   element's document.</li>
 
    <!-- could define how to sniff for an image here -->
 
@@ -26407,44 +26377,34 @@
 
   </dl><div class=impl>
 
-  <p>The <dfn id=concept-video-intrinsic-width title=concept-video-intrinsic-width>intrinsic
-  width</dfn> and <dfn id=concept-video-intrinsic-height title=concept-video-intrinsic-height>intrinsic height</dfn> of the
-  <a href=#media-resource>media resource</a> are the dimensions of the resource in
-  CSS pixels after taking into account the resource's dimensions,
-  aspect ratio, clean aperture, resolution, and so forth, as defined
-  for the format used by the resource. If an anamorphic format does
-  not define how to apply the aspect ratio to the video data's
-  dimensions to obtain the "correct" dimensions, then the user agent
-  must apply the ratio by increasing one dimension and leaving the
-  other unchanged.</p>
+  <p>The <dfn id=concept-video-intrinsic-width title=concept-video-intrinsic-width>intrinsic width</dfn> and <dfn id=concept-video-intrinsic-height title=concept-video-intrinsic-height>intrinsic height</dfn> of the <a href=#media-resource>media resource</a>
+  are the dimensions of the resource in CSS pixels after taking into account the resource's
+  dimensions, aspect ratio, clean aperture, resolution, and so forth, as defined for the format used
+  by the resource. If an anamorphic format does not define how to apply the aspect ratio to the
+  video data's dimensions to obtain the "correct" dimensions, then the user agent must apply the
+  ratio by increasing one dimension and leaving the other unchanged.</p>
 
-  <p>The <dfn id=dom-video-videowidth title=dom-video-videoWidth><code>videoWidth</code></dfn> IDL
-  attribute must return the <a href=#concept-video-intrinsic-width title=concept-video-intrinsic-width>intrinsic width</a> of the
-  video in CSS pixels. The <dfn id=dom-video-videoheight title=dom-video-videoHeight><code>videoHeight</code></dfn> IDL
-  attribute must return the <a href=#concept-video-intrinsic-height title=concept-video-intrinsic-height>intrinsic height</a> of
-  the video in CSS pixels. If the element's <code title=dom-media-readyState><a href=#dom-media-readystate>readyState</a></code> attribute is <code title=dom-media-HAVE_NOTHING><a href=#dom-media-have_nothing>HAVE_NOTHING</a></code>, then the
-  attributes must return 0.</p>
+  <p>The <dfn id=dom-video-videowidth title=dom-video-videoWidth><code>videoWidth</code></dfn> IDL attribute must return
+  the <a href=#concept-video-intrinsic-width title=concept-video-intrinsic-width>intrinsic width</a> of the video in CSS pixels.
+  The <dfn id=dom-video-videoheight title=dom-video-videoHeight><code>videoHeight</code></dfn> IDL attribute must return
+  the <a href=#concept-video-intrinsic-height title=concept-video-intrinsic-height>intrinsic height</a> of the video in CSS
+  pixels. If the element's <code title=dom-media-readyState><a href=#dom-media-readystate>readyState</a></code> attribute is <code title=dom-media-HAVE_NOTHING><a href=#dom-media-have_nothing>HAVE_NOTHING</a></code>, then the attributes must return 0.</p>
 
   </div>
 
-  <p>The <code><a href=#the-video-element>video</a></code> element supports <a href=#dimension-attributes>dimension
-  attributes</a>.</p>
+  <p>The <code><a href=#the-video-element>video</a></code> element supports <a href=#dimension-attributes>dimension attributes</a>.</p>
 
   <div class=impl>
 
-  <p>In the absence of style rules to the contrary, video content
-  should be rendered inside the element's playback area such that the
-  video content is shown centered in the playback area at the largest
-  possible size that fits completely within it, with the video
-  content's aspect ratio being preserved. Thus, if the aspect ratio of
-  the playback area does not match the aspect ratio of the video, the
-  video will be shown letterboxed or pillarboxed. Areas of the
-  element's playback area that do not contain the video represent
-  nothing.</p>
+  <p>In the absence of style rules to the contrary, video content should be rendered inside the
+  element's playback area such that the video content is shown centered in the playback area at the
+  largest possible size that fits completely within it, with the video content's aspect ratio being
+  preserved. Thus, if the aspect ratio of the playback area does not match the aspect ratio of the
+  video, the video will be shown letterboxed or pillarboxed. Areas of the element's playback area
+  that do not contain the video represent nothing.</p>
 
-  <p class=note>In user agents that implement CSS, the above
-  requirement can be implemented by using the <a href=#video-object-fit>style rule suggested in the rendering
-  section</a>.</p>
+  <p class=note>In user agents that implement CSS, the above requirement can be implemented by
+  using the <a href=#video-object-fit>style rule suggested in the rendering section</a>.</p>
 
   <p>The intrinsic width of a <code><a href=#the-video-element>video</a></code> element's playback area is the intrinsic width of
   the <a href=#poster-frame>poster frame</a>, if that is available and the element currently
@@ -26459,36 +26419,29 @@
   <p>The <a href=#default-object-size>default object size</a> is a width of 300 CSS pixels and a height of 150 CSS
   pixels. <a href=#refsCSSIMAGES>[CSSIMAGES]</a></p>
 
-  <hr><p>User agents should provide controls to enable or disable the
-  display of closed captions, audio description tracks, and other
-  additional data associated with the video stream, though such
-  features should, again, not interfere with the page's normal
-  rendering.</p>
+  <hr><p>User agents should provide controls to enable or disable the display of closed captions, audio
+  description tracks, and other additional data associated with the video stream, though such
+  features should, again, not interfere with the page's normal rendering.</p>
 
-  <p>User agents may allow users to view the video content in manners
-  more suitable to the user (e.g. full-screen or in an independent
-  resizable window). As for the other user interface features,
-  controls to enable this should not interfere with the page's normal
-  rendering unless the user agent is <a href=#expose-a-user-interface-to-the-user title="expose a user
-  interface to the user">exposing a user interface</a>. In such an
-  independent context, however, user agents may make full user
-  interfaces visible, with, e.g., play, pause, seeking, and volume
-  controls, even if the <code title=attr-media-controls><a href=#attr-media-controls>controls</a></code> attribute is absent.</p>
+  <p>User agents may allow users to view the video content in manners more suitable to the user
+  (e.g. full-screen or in an independent resizable window). As for the other user interface
+  features, controls to enable this should not interfere with the page's normal rendering unless the
+  user agent is <a href=#expose-a-user-interface-to-the-user title="expose a user interface to the user">exposing a user interface</a>.
+  In such an independent context, however, user agents may make full user interfaces visible, with,
+  e.g., play, pause, seeking, and volume controls, even if the <code title=attr-media-controls><a href=#attr-media-controls>controls</a></code> attribute is absent.</p>
 
-  <p>User agents may allow video playback to affect system features
-  that could interfere with the user's experience; for example, user
-  agents could disable screensavers while video playback is in
+  <p>User agents may allow video playback to affect system features that could interfere with the
+  user's experience; for example, user agents could disable screensavers while video playback is in
   progress.</p>
 
-  <hr><p>The <dfn id=dom-video-poster title=dom-video-poster><code>poster</code></dfn> IDL
-  attribute must <a href=#reflect>reflect</a> the <code title=attr-video-poster><a href=#attr-video-poster>poster</a></code> content attribute.</p>
+  <hr><p>The <dfn id=dom-video-poster title=dom-video-poster><code>poster</code></dfn> IDL attribute must
+  <a href=#reflect>reflect</a> the <code title=attr-video-poster><a href=#attr-video-poster>poster</a></code> content attribute.</p>
 
   </div>
 
   <div class=example>
 
-   <p>This example shows how to detect when a video has failed to play
-   correctly:</p>
+   <p>This example shows how to detect when a video has failed to play correctly:</p>
 
    <pre><script>
  function failed(e) {
@@ -26526,17 +26479,15 @@
 
   <h5>Video and audio codecs for <code>video</code> elements</h5>
 
-  <p>User agents may support any video and audio codecs and container
-  formats.</p>
+  <p>User agents may support any video and audio codecs and container formats.</p>
 
-  <p class="note">Certain user agents might support no codecs at all,
-  e.g. text browsers running over SSH connections.</p>
+  <p class="note">Certain user agents might support no codecs at all, e.g. text browsers running
+  over SSH connections.</p>
 
   <!- - similar note in audio codecs section - ->
-  <p class="note">Implementations are free to implement support for
-  video codecs either natively, or using platform-specific APIs, or
-  using plugins: this specification does not specify how codecs are to
-  be implemented.</p>
+  <p class="note">Implementations are free to implement support for video codecs either natively, or
+  using platform-specific APIs, or using plugins: this specification does not specify how codecs are
+  to be implemented.</p>
 
   </div>
 
@@ -26580,8 +26531,7 @@
     <pre class=idl>[NamedConstructor=<a href=#dom-audio title=dom-Audio>Audio</a>(optional DOMString src)]
 interface <dfn id=htmlaudioelement>HTMLAudioElement</dfn> : <a href=#htmlmediaelement>HTMLMediaElement</a> {};</pre>
    </dd>
-  </dl><!--TOPIC:HTML--><p>An <code><a href=#the-audio-element>audio</a></code> element <a href=#represents>represents</a> a sound or
-  audio stream.</p>
+  </dl><!--TOPIC:HTML--><p>An <code><a href=#the-audio-element>audio</a></code> element <a href=#represents>represents</a> a sound or audio stream.</p>
 
   <!-- v2 (actually v3) suggestions:
     * Audio syntesis. Use cases from Charles Pritchard:
@@ -26600,12 +26550,10 @@
       > Support very simple audio codecs, and programmable synthesizers.
   -->
 
-  <p>Content may be provided inside the <code><a href=#the-audio-element>audio</a></code>
-  element<span class=impl>. User agents should not show this content
-  to the user</span>; it is intended for older Web browsers which do
-  not support <code><a href=#the-audio-element>audio</a></code>, so that legacy audio plugins can be
-  tried, or to show text to the users of these older browsers informing
-  them of how to access the audio contents.</p>
+  <p>Content may be provided inside the <code><a href=#the-audio-element>audio</a></code> element<span class=impl>. User agents
+  should not show this content to the user</span>; it is intended for older Web browsers which do
+  not support <code><a href=#the-audio-element>audio</a></code>, so that legacy audio plugins can be tried, or to show text to the
+  users of these older browsers informing them of how to access the audio contents.</p>
 
   <p class=note>In particular, this content is not intended to address accessibility concerns. To
   make audio content accessible to the deaf or to those with other physical or cognitive
@@ -26616,24 +26564,22 @@
   naturally, transcripts or other textual alternatives can be provided by simply linking to them in
   the prose near the <code><a href=#the-audio-element>audio</a></code> element. <a href=#refsWEBVTT>[WEBVTT]</a></p>
 
-  <p>The <code><a href=#the-audio-element>audio</a></code> element is a <a href=#media-element>media element</a>
-  whose <a href=#media-data>media data</a> is ostensibly audio data.</p>
+  <p>The <code><a href=#the-audio-element>audio</a></code> element is a <a href=#media-element>media element</a> whose <a href=#media-data>media data</a> is
+  ostensibly audio data.</p>
 
-  <p>The <code title=attr-media-src><a href=#attr-media-src>src</a></code>, <code title=attr-media-preload><a href=#attr-media-preload>preload</a></code>, <code title=attr-media-autoplay><a href=#attr-media-autoplay>autoplay</a></code>, 
-  <code title=attr-media-mediagroup><a href=#attr-media-mediagroup>mediagroup</a></code>,
-  <code title=attr-media-loop><a href=#attr-media-loop>loop</a></code>,
-  <code title=attr-media-muted><a href=#attr-media-muted>muted</a></code>, and <code title=attr-media-controls><a href=#attr-media-controls>controls</a></code> attributes are <a href=#media-element-attributes title="media element attributes">the attributes common to all media
+  <p>The <code title=attr-media-src><a href=#attr-media-src>src</a></code>, <code title=attr-media-preload><a href=#attr-media-preload>preload</a></code>,
+  <code title=attr-media-autoplay><a href=#attr-media-autoplay>autoplay</a></code>, <code title=attr-media-mediagroup><a href=#attr-media-mediagroup>mediagroup</a></code>, <code title=attr-media-loop><a href=#attr-media-loop>loop</a></code>, <code title=attr-media-muted><a href=#attr-media-muted>muted</a></code>, and <code title=attr-media-controls><a href=#attr-media-controls>controls</a></code>
+  attributes are <a href=#media-element-attributes title="media element attributes">the attributes common to all media
   elements</a>.</p>
 
   <div class=impl>
 
-  <p>When an <code><a href=#the-audio-element>audio</a></code> element is <a href=#potentially-playing>potentially
-  playing</a>, it must have its audio data played synchronized with
-  the <a href=#current-playback-position>current playback position</a>, at the element's
+  <p>When an <code><a href=#the-audio-element>audio</a></code> element is <a href=#potentially-playing>potentially playing</a>, it must have its audio
+  data played synchronized with the <a href=#current-playback-position>current playback position</a>, at the element's
   <a href=#effective-media-volume>effective media volume</a>.</p>
 
-  <p>When an <code><a href=#the-audio-element>audio</a></code> element is not <a href=#potentially-playing>potentially
-  playing</a>, audio must not play for the element.</p>
+  <p>When an <code><a href=#the-audio-element>audio</a></code> element is not <a href=#potentially-playing>potentially playing</a>, audio must not play
+  for the element.</p>
 
   </div>
 
@@ -26641,8 +26587,8 @@
 
    <dd>
 
-    <p>Returns a new <code><a href=#the-audio-element>audio</a></code> element, with the <code title=attr-media-src><a href=#attr-media-src>src</a></code> attribute set to the value
-    passed in the argument, if applicable.</p>
+    <p>Returns a new <code><a href=#the-audio-element>audio</a></code> element, with the <code title=attr-media-src><a href=#attr-media-src>src</a></code>
+    attribute set to the value passed in the argument, if applicable.</p>
 
    </dd>
 
@@ -26668,12 +26614,10 @@
 
   <h5>Audio codecs for <code>audio</code> elements</h5>
 
-  <p>User agents may support any audio codecs and container
-  formats.</p>
+  <p>User agents may support any audio codecs and container formats.</p>
 
-  <p>User agents must support the WAVE container format with audio
-  encoded using the 16 bit PCM (LE) codec, at sampling frequencies of
-  11.025kHz, 22.050kHz, and 44.100kHz, and for both mono and
+  <p>User agents must support the WAVE container format with audio encoded using the 16 bit PCM (LE)
+  codec, at sampling frequencies of 11.025kHz, 22.050kHz, and 44.100kHz, and for both mono and
   stereo. <a href="#- -refsWAVE">[WAVE]</a></p>
 
   <!- -
@@ -26682,10 +26626,9 @@
   - ->
 
   <!- - similar note in video codecs section - ->
-  <p class="note">Implementations are free to implement support for
-  audio codecs either natively, or using platform-specific APIs, or
-  using plugins: this specification does not specify how codecs are to
-  be implemented.</p>
+  <p class="note">Implementations are free to implement support for audio codecs either natively, or
+  using platform-specific APIs, or using plugins: this specification does not specify how codecs are
+  to be implemented.</p>
 
   </div>
 
@@ -40706,14 +40649,14 @@
    <dd>If the <code title=attr-colgroup-span><a href=#attr-colgroup-span>span</a></code> attribute is present: Empty.</dd>
    <dd>If the <code title=attr-colgroup-span><a href=#attr-colgroup-span>span</a></code> attribute is absent: Zero or more <code><a href=#the-col-element>col</a></code> and <code><a href=#the-template-element>template</a></code> elements.</dd>
    <dt><a href=#element-dfn-tag-omission title=element-dfn-tag-omission>Tag omission in text/html</a>:</dt>
-   <dd>A <code><a href=#the-colgroup-element>colgroup</a></code> element's <a href=#syntax-start-tag title=syntax-start-tag>start tag</a> can be omitted if the
-   first thing inside the <code><a href=#the-colgroup-element>colgroup</a></code> element is a
-   <code><a href=#the-col-element>col</a></code> element, and if the element is not immediately
-   preceded by another <code><a href=#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.)</dd>
-   <dd>A <code><a href=#the-colgroup-element>colgroup</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if the
-   <code><a href=#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>.</dd>
+   <dd>A <code><a href=#the-colgroup-element>colgroup</a></code> element's <a href=#syntax-start-tag title=syntax-start-tag>start tag</a> can be
+   omitted if the first thing inside the <code><a href=#the-colgroup-element>colgroup</a></code> element is a <code><a href=#the-col-element>col</a></code> element,
+   and if the element is not immediately preceded by another <code><a href=#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.)</dd>
+   <dd>A <code><a href=#the-colgroup-element>colgroup</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if
+   the <code><a href=#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>.</dd>
    <dt><a href=#element-dfn-attributes title=element-dfn-attributes>Content attributes</a>:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-colgroup-span><a href=#attr-colgroup-span>span</a></code> — Number of columns spanned by the element</dd>
@@ -40804,17 +40747,14 @@
    <dt><a href=#element-dfn-content-model title=element-dfn-content-model>Content model</a>:</dt>
    <dd>Zero or more <code><a href=#the-tr-element>tr</a></code> and <a href=#script-supporting-elements title="script-supporting elements">script-supporting</a> elements</dd>
    <dt><a href=#element-dfn-tag-omission title=element-dfn-tag-omission>Tag omission in text/html</a>:</dt>
-   <dd>A <code><a href=#the-tbody-element>tbody</a></code> element's <a href=#syntax-start-tag title=syntax-start-tag>start tag</a> can be omitted if the
-   first thing inside the <code><a href=#the-tbody-element>tbody</a></code> element is a
-   <code><a href=#the-tr-element>tr</a></code> element, and if the element is not immediately
-   preceded by a <code><a href=#the-tbody-element>tbody</a></code>, <code><a href=#the-thead-element>thead</a></code>, or
-   <code><a href=#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.)</dd>
-   <dd>A <code><a href=#the-tbody-element>tbody</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end
-   tag</a> can be omitted if the <code><a href=#the-tbody-element>tbody</a></code> element is
-   immediately followed by a <code><a href=#the-tbody-element>tbody</a></code> or <code><a href=#the-tfoot-element>tfoot</a></code>
-   element, or if there is no more content in the parent element.</dd>
+   <dd>A <code><a href=#the-tbody-element>tbody</a></code> element's <a href=#syntax-start-tag title=syntax-start-tag>start tag</a> can be omitted
+   if the first thing inside the <code><a href=#the-tbody-element>tbody</a></code> element is a <code><a href=#the-tr-element>tr</a></code> element, and if the
+   element is not immediately preceded by a <code><a href=#the-tbody-element>tbody</a></code>, <code><a href=#the-thead-element>thead</a></code>, or
+   <code><a href=#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.)</dd>
+   <dd>A <code><a href=#the-tbody-element>tbody</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if
+   the <code><a href=#the-tbody-element>tbody</a></code> element is immediately followed by a <code><a href=#the-tbody-element>tbody</a></code> or
+   <code><a href=#the-tfoot-element>tfoot</a></code> element, or if there is no more content in the parent element.</dd>
    <dt><a href=#element-dfn-attributes title=element-dfn-attributes>Content attributes</a>:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dt><a href=#element-dfn-dom title=element-dfn-dom>DOM interface</a>:</dt><!--TOPIC:DOM APIs-->
@@ -40909,10 +40849,9 @@
    <dt><a href=#element-dfn-content-model title=element-dfn-content-model>Content model</a>:</dt>
    <dd>Zero or more <code><a href=#the-tr-element>tr</a></code> and <a href=#script-supporting-elements title="script-supporting elements">script-supporting</a> elements</dd>
    <dt><a href=#element-dfn-tag-omission title=element-dfn-tag-omission>Tag omission in text/html</a>:</dt>
-   <dd>A <code><a href=#the-thead-element>thead</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end
-   tag</a> can be omitted if the <code><a href=#the-thead-element>thead</a></code> element is
-   immediately followed by a <code><a href=#the-tbody-element>tbody</a></code> or <code><a href=#the-tfoot-element>tfoot</a></code>
-   element.</dd>
+   <dd>A <code><a href=#the-thead-element>thead</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if
+   the <code><a href=#the-thead-element>thead</a></code> element is immediately followed by a <code><a href=#the-tbody-element>tbody</a></code> or
+   <code><a href=#the-tfoot-element>tfoot</a></code> element.</dd>
    <dt><a href=#element-dfn-attributes title=element-dfn-attributes>Content attributes</a>:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dt><a href=#element-dfn-dom title=element-dfn-dom>DOM interface</a>:</dt><!--TOPIC:DOM APIs-->
@@ -40988,10 +40927,9 @@
    <dt><a href=#element-dfn-content-model title=element-dfn-content-model>Content model</a>:</dt>
    <dd>Zero or more <code><a href=#the-tr-element>tr</a></code> and <a href=#script-supporting-elements title="script-supporting elements">script-supporting</a> elements</dd>
    <dt><a href=#element-dfn-tag-omission title=element-dfn-tag-omission>Tag omission in text/html</a>:</dt>
-   <dd>A <code><a href=#the-tfoot-element>tfoot</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end
-   tag</a> can be omitted if the <code><a href=#the-tfoot-element>tfoot</a></code> element is
-   immediately followed by a <code><a href=#the-tbody-element>tbody</a></code> element, or if there is
-   no more content in the parent element.</dd>
+   <dd>A <code><a href=#the-tfoot-element>tfoot</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if
+   the <code><a href=#the-tfoot-element>tfoot</a></code> element is immediately followed by a <code><a href=#the-tbody-element>tbody</a></code> element, or if
+   there is no more content in the parent element.</dd>
    <dt><a href=#element-dfn-attributes title=element-dfn-attributes>Content attributes</a>:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dt><a href=#element-dfn-dom title=element-dfn-dom>DOM interface</a>:</dt><!--TOPIC:DOM APIs-->
@@ -41025,10 +40963,9 @@
    <dt><a href=#element-dfn-content-model title=element-dfn-content-model>Content model</a>:</dt>
    <dd>Zero or more <code><a href=#the-td-element>td</a></code>, <code><a href=#the-th-element>th</a></code>, and <a href=#script-supporting-elements title="script-supporting elements">script-supporting</a> elements</dd>
    <dt><a href=#element-dfn-tag-omission title=element-dfn-tag-omission>Tag omission in text/html</a>:</dt>
-   <dd>A <code><a href=#the-tr-element>tr</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end
-   tag</a> can be omitted if the <code><a href=#the-tr-element>tr</a></code> element is
-   immediately followed by another <code><a href=#the-tr-element>tr</a></code> element, or if there
-   is no more content in the parent element.</dd>
+   <dd>A <code><a href=#the-tr-element>tr</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if the
+   <code><a href=#the-tr-element>tr</a></code> element is immediately followed by another <code><a href=#the-tr-element>tr</a></code> element, or if there is
+   no more content in the parent element.</dd>
    <dt><a href=#element-dfn-attributes title=element-dfn-attributes>Content attributes</a>:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dt><a href=#element-dfn-dom title=element-dfn-dom>DOM interface</a>:</dt><!--TOPIC:DOM APIs-->
@@ -41164,10 +41101,9 @@
    <dt><a href=#element-dfn-content-model title=element-dfn-content-model>Content model</a>:</dt>
    <dd><a href=#flow-content>Flow content</a>.</dd>
    <dt><a href=#element-dfn-tag-omission title=element-dfn-tag-omission>Tag omission in text/html</a>:</dt>
-   <dd>A <code><a href=#the-td-element>td</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end
-   tag</a> can be omitted if the <code><a href=#the-td-element>td</a></code> element is
-   immediately followed by a <code><a href=#the-td-element>td</a></code> or <code><a href=#the-th-element>th</a></code>
-   element, or if there is no more content in the parent element.</dd>
+   <dd>A <code><a href=#the-td-element>td</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if the
+   <code><a href=#the-td-element>td</a></code> element is immediately followed by a <code><a href=#the-td-element>td</a></code> or <code><a href=#the-th-element>th</a></code> element,
+   or if there is no more content in the parent element.</dd>
    <dt><a href=#element-dfn-attributes title=element-dfn-attributes>Content attributes</a>:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-tdth-colspan><a href=#attr-tdth-colspan>colspan</a></code> — Number of columns that the cell is to span</dd>
@@ -41209,10 +41145,9 @@
    <dd><a href=#flow-content>Flow content</a>, but with no <code><a href=#the-header-element>header</a></code>, <code><a href=#the-footer-element>footer</a></code>, <a href=#sectioning-content>sectioning content</a>, or <a href=#heading-content>heading content</a> descendants, and if the <code><a href=#the-th-element>th</a></code> element is a <a href=#sorting-interface-th-element>sorting interface <code>th</code> element</a>, no <a href=#interactive-content>interactive content</a> descendants.</dd>
    <!-- EDITING NOTE: If you remove 'heading content' from the list above, make sure to fix the definition of 'sectioning root' to include <th> -->
    <dt><a href=#element-dfn-tag-omission title=element-dfn-tag-omission>Tag omission in text/html</a>:</dt>
-   <dd>A <code><a href=#the-th-element>th</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end
-   tag</a> can be omitted if the <code><a href=#the-th-element>th</a></code> element is
-   immediately followed by a <code><a href=#the-td-element>td</a></code> or <code><a href=#the-th-element>th</a></code>
-   element, or if there is no more content in the parent element.</dd>
+   <dd>A <code><a href=#the-th-element>th</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if the
+   <code><a href=#the-th-element>th</a></code> element is immediately followed by a <code><a href=#the-td-element>td</a></code> or <code><a href=#the-th-element>th</a></code> element,
+   or if there is no more content in the parent element.</dd>
    <dt><a href=#element-dfn-attributes title=element-dfn-attributes>Content attributes</a>:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-tdth-colspan><a href=#attr-tdth-colspan>colspan</a></code> — Number of columns that the cell is to span</dd>
@@ -51275,14 +51210,12 @@
    <dt><a href=#element-dfn-content-model title=element-dfn-content-model>Content model</a>:</dt>
    <dd>Zero or more <code><a href=#the-option-element>option</a></code> and <a href=#script-supporting-elements title="script-supporting elements">script-supporting</a> elements.</dd>
    <dt><a href=#element-dfn-tag-omission title=element-dfn-tag-omission>Tag omission in text/html</a>:</dt>
-   <dd>An <code><a href=#the-optgroup-element>optgroup</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if the
-   <code><a href=#the-optgroup-element>optgroup</a></code> element <!--has an ancestor
-   <code>select</code> element and--> is immediately followed by
-   another <code><a href=#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.</dd>
+   <dd>An <code><a href=#the-optgroup-element>optgroup</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted
+   if the <code><a href=#the-optgroup-element>optgroup</a></code> element <!--has an ancestor <code>select</code> element and--> is
+   immediately followed by another <code><a href=#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.</dd>
    <dt><a href=#element-dfn-attributes title=element-dfn-attributes>Content attributes</a>:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-optgroup-disabled><a href=#attr-optgroup-disabled>disabled</a></code> — Whether the form control is disabled</dd>
@@ -51371,11 +51304,10 @@
    <dt><a href=#element-dfn-content-model title=element-dfn-content-model>Content model</a>:</dt>
    <dd><a href=#text-content title="text content">Text</a>.</dd>
    <dt><a href=#element-dfn-tag-omission title=element-dfn-tag-omission>Tag omission in text/html</a>:</dt>
-   <dd>An <code><a href=#the-option-element>option</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end
-   tag</a> can be omitted if the <code><a href=#the-option-element>option</a></code> element is
-   immediately followed by another <code><a href=#the-option-element>option</a></code> element, or if
-   it is immediately followed by an <code><a href=#the-optgroup-element>optgroup</a></code> element, or
-   if there is no more content in the parent element.</dd>
+   <dd>An <code><a href=#the-option-element>option</a></code> element's <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> can be omitted if
+   the <code><a href=#the-option-element>option</a></code> element is immediately followed by another <code><a href=#the-option-element>option</a></code> element, or
+   if it is immediately followed by an <code><a href=#the-optgroup-element>optgroup</a></code> element, or if there is no more content
+   in the parent element.</dd>
    <dt><a href=#element-dfn-attributes title=element-dfn-attributes>Content attributes</a>:</dt>
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-option-disabled><a href=#attr-option-disabled>disabled</a></code> — Whether the form control is disabled</dd>
@@ -81844,6 +81776,8 @@
   domain. Authors can avoid this using the relatively complex mechanism of using unique domain names
   per connection, or by allowing the user to enable or disable the <code><a href=#eventsource>EventSource</a></code>
   functionality on a per-page basis, or by sharing a single <code><a href=#eventsource>EventSource</a></code> object using a
+  <a href=#sharedworkerglobalscope title=SharedWorkerGlobalScope>shared worker</a>.
+  </p>
 
 
   <h4 id=eventsource-push><span class=secno>10.2.7 </span>Connectionless push and other features</h4>
@@ -84081,66 +84015,51 @@
 };
 <a href=#window>Window</a> implements <a href=#windowsessionstorage>WindowSessionStorage</a>;</pre>
 
-  <p>The <dfn id=dom-sessionstorage title=dom-sessionStorage><code>sessionStorage</code></dfn>
-  attribute represents the set of storage areas specific to the
-  current <a href=#top-level-browsing-context>top-level browsing context</a>.</p>
+  <p>The <dfn id=dom-sessionstorage title=dom-sessionStorage><code>sessionStorage</code></dfn> attribute represents the
+  set of storage areas specific to the current <a href=#top-level-browsing-context>top-level browsing context</a>.</p>
 
-  <p>Each <a href=#top-level-browsing-context>top-level browsing context</a> has a unique set of
-  session storage areas, one for each <a href=#origin>origin</a>.</p>
+  <p>Each <a href=#top-level-browsing-context>top-level browsing context</a> has a unique set of session storage areas, one for
+  each <a href=#origin>origin</a>.</p>
 
-  <p>User agents should not expire data from a browsing context's
-  session storage areas, but may do so when the user requests that
-  such data be deleted, or when the UA detects that it has limited
-  storage space, or for security reasons. User agents should always
-  avoid deleting data while a script that could access that data is
-  running. When a top-level browsing context is destroyed (and
-  therefore permanently inaccessible to the user) the data stored in
-  its session storage areas can be discarded with it, as the API
-  described in this specification provides no way for that data to
+  <p>User agents should not expire data from a browsing context's session storage areas, but may do
+  so when the user requests that such data be deleted, or when the UA detects that it has limited
+  storage space, or for security reasons. User agents should always avoid deleting data while a
+  script that could access that data is running. When a top-level browsing context is destroyed (and
+  therefore permanently inaccessible to the user) the data stored in its session storage areas can
+  be discarded with it, as the API described in this specification provides no way for that data to
   ever be subsequently retrieved.</p>
 
-  <p class=note>The lifetime of a browsing context can be unrelated
-  to the lifetime of the actual user agent process itself, as the user
-  agent may support resuming sessions after a restart.</p>
+  <p class=note>The lifetime of a browsing context can be unrelated to the lifetime of the actual
+  user agent process itself, as the user agent may support resuming sessions after a restart.</p>
 
-  <p>When a new <code><a href=#document>Document</a></code> is created in a <a href=#browsing-context>browsing
-  context</a> which has a <a href=#top-level-browsing-context>top-level browsing context</a>,
-  the user agent must check to see if that <a href=#top-level-browsing-context>top-level browsing
-  context</a> has a session storage area for that document's
-  <a href=#origin>origin</a>. If it does, then that is the
-  <code><a href=#document>Document</a></code>'s assigned session storage area. If it does
-  not, a new storage area for that document's <a href=#origin>origin</a> must
-  be created, and then <em>that</em> is the <code><a href=#document>Document</a></code>'s
-  assigned session storage area. A <code><a href=#document>Document</a></code>'s assigned
-  storage area does not change during the lifetime of a
-  <code><a href=#document>Document</a></code>.</p>
+  <p>When a new <code><a href=#document>Document</a></code> is created in a <a href=#browsing-context>browsing context</a> which has a
+  <a href=#top-level-browsing-context>top-level browsing context</a>, the user agent must check to see if that <a href=#top-level-browsing-context>top-level
+  browsing context</a> has a session storage area for that document's <a href=#origin>origin</a>. If it
+  does, then that is the <code><a href=#document>Document</a></code>'s assigned session storage area. If it does not, a
+  new storage area for that document's <a href=#origin>origin</a> must be created, and then <em>that</em>
+  is the <code><a href=#document>Document</a></code>'s assigned session storage area. A <code><a href=#document>Document</a></code>'s assigned
+  storage area does not change during the lifetime of a <code><a href=#document>Document</a></code>.</p>
 
-  <p class=note>In the case of an <code><a href=#the-iframe-element>iframe</a></code> being moved to
-  another <code><a href=#document>Document</a></code>, the nested browsing context is
-  destroyed and a new one created.</p>
+  <p class=note>In the case of an <code><a href=#the-iframe-element>iframe</a></code> being moved to another
+  <code><a href=#document>Document</a></code>, the nested browsing context is destroyed and a new one created.</p>
 
-  <p>The <code title=dom-sessionStorage><a href=#dom-sessionstorage>sessionStorage</a></code>
-  attribute must return a <code><a href=#storage-0>Storage</a></code> object associated with
-  the <code><a href=#document>Document</a></code>'s assigned session storage area, if any,
-  or null if there isn't one. Each <code><a href=#document>Document</a></code> object must
-  have a separate object for its <code><a href=#window>Window</a></code>'s <code title=dom-sessionStorage><a href=#dom-sessionstorage>sessionStorage</a></code> attribute.</p>
+  <p>The <code title=dom-sessionStorage><a href=#dom-sessionstorage>sessionStorage</a></code> attribute must return a
+  <code><a href=#storage-0>Storage</a></code> object associated with the <code><a href=#document>Document</a></code>'s assigned session storage
+  area, if any, or null if there isn't one. Each <code><a href=#document>Document</a></code> object must have a separate
+  object for its <code><a href=#window>Window</a></code>'s <code title=dom-sessionStorage><a href=#dom-sessionstorage>sessionStorage</a></code>
+  attribute.</p>
 
-  <p>When a new <a href=#top-level-browsing-context>top-level browsing context</a> is created by
-  cloning an existing <a href=#browsing-context>browsing context</a>, the new browsing
-  context must start with the same session storage areas as the
-  original, but the two sets must from that point on be considered
-  separate, not affecting each other in any way.</p>
+  <p>When a new <a href=#top-level-browsing-context>top-level browsing context</a> is created by cloning an existing
+  <a href=#browsing-context>browsing context</a>, the new browsing context must start with the same session storage
+  areas as the original, but the two sets must from that point on be considered separate, not
+  affecting each other in any way.</p>
 
-  <p>When a new <a href=#top-level-browsing-context>top-level browsing context</a> is created by
-  a <a href=#concept-script title=concept-script>script</a> in an existing
-  <a href=#browsing-context>browsing context</a>, or by the user following a link in an
-  existing browsing context, or in some other way related to a
-  specific <code><a href=#document>Document</a></code>, and the creation is not <a href=#a-new-start-for-session-storage>a
-  new start for session storage</a>, then the session storage area of the
-  <a href=#origin>origin</a> of that <code><a href=#document>Document</a></code> must be copied
-  into the new browsing context when it is created. From that point
-  on, however, the two session storage areas must be considered
-  separate, not affecting each other in any way.</p>
+  <p>When a new <a href=#top-level-browsing-context>top-level browsing context</a> is created by a <a href=#concept-script title=concept-script>script</a> in an existing <a href=#browsing-context>browsing context</a>, or by the user
+  following a link in an existing browsing context, or in some other way related to a specific
+  <code><a href=#document>Document</a></code>, and the creation is not <a href=#a-new-start-for-session-storage>a new start for session storage</a>, then
+  the session storage area of the <a href=#origin>origin</a> of that <code><a href=#document>Document</a></code> must be copied
+  into the new browsing context when it is created. From that point on, however, the two session
+  storage areas must be considered separate, not affecting each other in any way.</p>
 
   <p id=sessionStorageEvent>When the <code title=dom-Storage-setItem><a href=#dom-storage-setitem>setItem()</a></code>, <code title=dom-Storage-removeItem><a href=#dom-storage-removeitem>removeItem()</a></code>, and <code title=dom-Storage-clear><a href=#dom-storage-clear>clear()</a></code> methods are called on a <code><a href=#storage-0>Storage</a></code> object <var title="">x</var> that is associated with a session storage area, if the methods did not throw an
   exception or "do nothing" as defined above, then for every <code><a href=#document>Document</a></code> object whose
@@ -84156,59 +84075,48 @@
 };
 <a href=#window>Window</a> implements <a href=#windowlocalstorage>WindowLocalStorage</a>;</pre>
 
-<!--CLEANUP-->
-  <p>The <dfn id=dom-localstorage title=dom-localStorage><code>localStorage</code></dfn>
-  object provides a <code><a href=#storage-0>Storage</a></code> object for an
-  <a href=#origin>origin</a>.
+  <p>The <dfn id=dom-localstorage title=dom-localStorage><code>localStorage</code></dfn> object provides a
+  <code><a href=#storage-0>Storage</a></code> object for an <a href=#origin>origin</a>.
   <a href=#fingerprinting-vector class=fingerprint title="fingerprinting vector"><img src=http://images.whatwg.org/fingerprint.png width=46 alt="(This is a fingerprinting vector.)" height=64></a>
   </p>
 
-  <p>User agents must have a set of local storage areas, one for each
-  <a href=#origin>origin</a>.</p>
+  <p>User agents must have a set of local storage areas, one for each <a href=#origin>origin</a>.</p>
 
-  <p>User agents should expire data from the local storage areas only
-  for security reasons or when requested to do so by the user. User
-  agents should always avoid deleting data while a script that could
-  access that data is running.</p>
+  <p>User agents should expire data from the local storage areas only for security reasons or when
+  requested to do so by the user. User agents should always avoid deleting data while a script that
+  could access that data is running.</p>
 
-  <p>When the <code title=dom-localStorage><a href=#dom-localstorage>localStorage</a></code>
-  attribute is accessed, the user agent must run the following steps,
-  which are known as the <dfn id=storage-object-initialization-steps><code>Storage</code> object
-  initialization steps</dfn>:</p> <!-- these steps are named because
-  marcos uses them from another spec -->
+  <p>When the <code title=dom-localStorage><a href=#dom-localstorage>localStorage</a></code> attribute is accessed, the user
+  agent must run the following steps, which are known as the <dfn id=storage-object-initialization-steps><code>Storage</code> object
+  initialization steps</dfn>:</p> <!-- these steps are named because marcos uses them from another
+  spec -->
 
-  <ol><li><p>The user agent may throw a <code><a href=#securityerror>SecurityError</a></code>
-   exception and abort these steps instead of returning a <code><a href=#storage-0>Storage</a></code> object if the
-   request violates a policy decision (e.g. if the user agent is
-   configured to not allow the page to persist data).</li>
+  <ol><li><p>The user agent may throw a <code><a href=#securityerror>SecurityError</a></code> exception and abort these steps
+   instead of returning a <code><a href=#storage-0>Storage</a></code> object if the request violates a policy decision
+   (e.g. if the user agent is configured to not allow the page to persist data).</li>
 
-   <li><p>If the <code><a href=#document>Document</a></code>'s <a href=#origin>origin</a> is not a
-   scheme/host/port tuple, then throw a <code><a href=#securityerror>SecurityError</a></code>
-   exception and abort these steps.</li>
+   <li><p>If the <code><a href=#document>Document</a></code>'s <a href=#origin>origin</a> is not a scheme/host/port tuple, then
+   throw a <code><a href=#securityerror>SecurityError</a></code> exception and abort these steps.</li>
 
-   <li><p>Check to see if the user agent has allocated a local storage
-   area for the <a href=#origin>origin</a> of the <code><a href=#document>Document</a></code> of
-   the <code><a href=#window>Window</a></code> object on which the attribute was accessed.
-   If it has not, create a new storage area for that
+   <li><p>Check to see if the user agent has allocated a local storage area for the
+   <a href=#origin>origin</a> of the <code><a href=#document>Document</a></code> of the <code><a href=#window>Window</a></code> object on which the
+   attribute was accessed. If it has not, create a new storage area for that
    <a href=#origin>origin</a>.</li>
 
-   <li><p>Return the <code><a href=#storage-0>Storage</a></code> object associated with that
-   origin's local storage area. Each <code><a href=#document>Document</a></code> object must
-   have a separate object for its <code><a href=#window>Window</a></code>'s <code title=dom-localStorage><a href=#dom-localstorage>localStorage</a></code> attribute.</p>
+   <li><p>Return the <code><a href=#storage-0>Storage</a></code> object associated with that origin's local storage area.
+   Each <code><a href=#document>Document</a></code> object must have a separate object for its <code><a href=#window>Window</a></code>'s <code title=dom-localStorage><a href=#dom-localstorage>localStorage</a></code> attribute.</p>
 
   </ol><p id=localStorageEvent>When the <code title=dom-Storage-setItem><a href=#dom-storage-setitem>setItem()</a></code>, <code title=dom-Storage-removeItem><a href=#dom-storage-removeitem>removeItem()</a></code>, and <code title=dom-Storage-clear><a href=#dom-storage-clear>clear()</a></code> methods are called on a <code><a href=#storage-0>Storage</a></code> object <var title="">x</var> that is associated with a local storage area, if the methods did not throw an
   exception or "do nothing" as defined above, then for every <code><a href=#document>Document</a></code> object whose
   <code><a href=#window>Window</a></code> object's <code title=dom-localStorage><a href=#dom-localstorage>localStorage</a></code> attribute's
   <code><a href=#storage-0>Storage</a></code> object is associated with the same storage area, other than <var title="">x</var>, <a href=#send-a-storage-notification>send a storage notification</a>.
 
-  <p id=localStorageMutex>Whenever the properties of a <code title=dom-localStorage><a href=#dom-localstorage>localStorage</a></code> attribute's
-  <code><a href=#storage-0>Storage</a></code> object are to be examined, returned, set, or
-  deleted, whether as part of a direct property access, when checking
-  for the presence of a property, during property enumeration, when
-  determining the number of properties present, or as part of the
-  execution of any of the methods or attributes defined on the
-  <code><a href=#storage-0>Storage</a></code> interface, the user agent must first
-  <a href=#obtain-the-storage-mutex>obtain the storage mutex</a>.</p>
+  <p id=localStorageMutex>Whenever the properties of a <code title=dom-localStorage><a href=#dom-localstorage>localStorage</a></code> attribute's <code><a href=#storage-0>Storage</a></code> object are to be
+  examined, returned, set, or deleted, whether as part of a direct property access, when checking
+  for the presence of a property, during property enumeration, when determining the number of
+  properties present, or as part of the execution of any of the methods or attributes defined on the
+  <code><a href=#storage-0>Storage</a></code> interface, the user agent must first <a href=#obtain-the-storage-mutex>obtain the storage
+  mutex</a>.</p>
 
 
   <h4 id=the-storage-event><span class=secno>11.2.4 </span>The <code title=event-storage><a href=#event-storage>storage</a></code> event</h4>
@@ -84655,55 +84563,45 @@
    <dd>All other allowed <a href=#html-elements>HTML elements</a> are normal
    elements.</dd>
 
-  </dl><!--CLEANUP--><p><dfn id=syntax-tags title=syntax-tags>Tags</dfn> are used to delimit the start
-  and end of elements in the markup. <a href=#raw-text-elements title="raw text
-  elements">Raw text</a>, <a href=#escapable-raw-text-elements title="escapable raw text
-  elements">escapable raw text</a>, and <a href=#normal-elements title="normal
-  elements">normal</a> elements have a <a href=#syntax-start-tag title=syntax-start-tag>start tag</a> to indicate where they
-  begin, and an <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> to
-  indicate where they end. The start and end tags of certain
-  <a href=#normal-elements>normal elements</a> can be <a href=#syntax-tag-omission title=syntax-tag-omission>omitted</a>, as described
-  below in the section on <a href=#syntax-tag-omission title=syntax-tag-omission>optional tags</a>. Those that cannot be omitted must not be omitted. <a href=#void-elements>Void
-  elements</a> only have a start tag; end tags must not be
-  specified for <a href=#void-elements>void elements</a>. <a href=#foreign-elements>Foreign
-  elements</a> must either have a start tag and an end tag, or a
-  start tag that is marked as self-closing, in which case they must
-  not have an end tag.</p>
+  </dl><p><dfn id=syntax-tags title=syntax-tags>Tags</dfn> are used to delimit the start and end of elements in the
+  markup. <a href=#raw-text-elements title="raw text elements">Raw text</a>, <a href=#escapable-raw-text-elements title="escapable raw text
+  elements">escapable raw text</a>, and <a href=#normal-elements title="normal elements">normal</a> elements have
+  a <a href=#syntax-start-tag title=syntax-start-tag>start tag</a> to indicate where they begin, and an <a href=#syntax-end-tag title=syntax-end-tag>end tag</a> to indicate where they end. The start and end tags of
+  certain <a href=#normal-elements>normal elements</a> can be <a href=#syntax-tag-omission title=syntax-tag-omission>omitted</a>, as
+  described below in the section on <a href=#syntax-tag-omission title=syntax-tag-omission>optional tags</a>. Those
+  that cannot be omitted must not be omitted. <a href=#void-elements>Void elements</a> only have a start tag; end
+  tags must not be specified for <a href=#void-elements>void elements</a>. <a href=#foreign-elements>Foreign elements</a> must
+  either have a start tag and an end tag, or a start tag that is marked as self-closing, in which
+  case they must not have an end tag.</p>
 
-  <p>The <a href=#concept-html-contents title=concept-html-contents>contents</a> of the element must be placed between just after the
-  start tag (which <a href=#syntax-tag-omission title=syntax-tag-omission>might be implied,
-  in certain cases</a>) and just before the end tag (which again,
-  <a href=#syntax-tag-omission title=syntax-tag-omission>might be implied in certain
-  cases</a>). The exact allowed contents of each individual element
-  depend on the <a href=#content-models title="content models">content model</a> of that element, as described earlier in
-  this specification. Elements must not contain content that their
-  content model disallows. In addition to the restrictions placed on
-  the contents by those content models, however, the five types of
-  elements have additional <em>syntactic</em> requirements.</p>
+  <p>The <a href=#concept-html-contents title=concept-html-contents>contents</a> of the element must be placed between
+  just after the start tag (which <a href=#syntax-tag-omission title=syntax-tag-omission>might be implied, in certain
+  cases</a>) and just before the end tag (which again, <a href=#syntax-tag-omission title=syntax-tag-omission>might be
+  implied in certain cases</a>). The exact allowed contents of each individual element depend on
+  the <a href=#content-models title="content models">content model</a> of that element, as described earlier in
+  this specification. Elements must not contain content that their content model disallows. In
+  addition to the restrictions placed on the contents by those content models, however, the five
+  types of elements have additional <em>syntactic</em> requirements.</p>
 
-  <p><a href=#void-elements>Void elements</a> can't have any contents (since there's
-  no end tag, no content can be put between the start tag and the end
-  tag).</p>
+  <p><a href=#void-elements>Void elements</a> can't have any contents (since there's no end tag, no content can be
+  put between the start tag and the end tag).</p>
 
-  <p><a href=#raw-text-elements>Raw text elements</a> can have <a href=#syntax-text title=syntax-text>text</a>, though it has <a href=#cdata-rcdata-restrictions>restrictions</a> described
-  below.</p>
+  <p><a href=#raw-text-elements>Raw text elements</a> can have <a href=#syntax-text title=syntax-text>text</a>, though it has <a href=#cdata-rcdata-restrictions>restrictions</a> described below.</p>
 
-  <p><a href=#escapable-raw-text-elements>Escapable raw text elements</a> can have <a href=#syntax-text title=syntax-text>text</a> and <a href=#syntax-charref title=syntax-charref>character references</a>, but the text
-  must not contain an <a href=#syntax-ambiguous-ampersand title=syntax-ambiguous-ampersand>ambiguous ampersand</a>.
-  There are also <a href=#cdata-rcdata-restrictions>further
-  restrictions</a> described below.</p>
+  <p><a href=#escapable-raw-text-elements>Escapable raw text elements</a> can have <a href=#syntax-text title=syntax-text>text</a> and
+  <a href=#syntax-charref title=syntax-charref>character references</a>, but the text must not contain an <a href=#syntax-ambiguous-ampersand title=syntax-ambiguous-ampersand>ambiguous ampersand</a>. There are also <a href=#cdata-rcdata-restrictions>further restrictions</a> described below.</p>
 
-  <p><a href=#foreign-elements>Foreign elements</a> whose start tag is marked as
-  self-closing can't have any contents (since, again, as there's no
-  end tag, no content can be put between the start tag and the end
-  tag). <a href=#foreign-elements>Foreign elements</a> whose start tag is <em>not</em>
-  marked as self-closing can have <a href=#syntax-text title=syntax-text>text</a>, <a href=#syntax-charref title=syntax-charref>character references</a>, <a href=#syntax-cdata title=syntax-cdata>CDATA sections</a>, other <a href=#syntax-elements title=syntax-elements>elements</a>, and <a href=#syntax-comments title=syntax-comments>comments</a>, but the text must not
-  contain the character U+003C LESS-THAN SIGN (<) or an <a href=#syntax-ambiguous-ampersand title=syntax-ambiguous-ampersand>ambiguous ampersand</a>.</p>
+  <p><a href=#foreign-elements>Foreign elements</a> whose start tag is marked as self-closing can't have any contents
+  (since, again, as there's no end tag, no content can be put between the start tag and the end
+  tag). <a href=#foreign-elements>Foreign elements</a> whose start tag is <em>not</em> marked as self-closing can
+  have <a href=#syntax-text title=syntax-text>text</a>, <a href=#syntax-charref title=syntax-charref>character
+  references</a>, <a href=#syntax-cdata title=syntax-cdata>CDATA sections</a>, other <a href=#syntax-elements title=syntax-elements>elements</a>, and <a href=#syntax-comments title=syntax-comments>comments</a>, but
+  the text must not contain the character U+003C LESS-THAN SIGN (<) or an <a href=#syntax-ambiguous-ampersand title=syntax-ambiguous-ampersand>ambiguous ampersand</a>.</p>
 
   <div class=note>
 
-   <p>The HTML syntax does not support namespace
-   declarations, even in <a href=#foreign-elements>foreign elements</a>.</p>
+   <p>The HTML syntax does not support namespace declarations, even in <a href=#foreign-elements>foreign
+   elements</a>.</p>
 
    <p>For instance, consider the following HTML fragment:</p>
 
@@ -84716,20 +84614,19 @@
  </svg>
 </p></pre>
 
-   <p>The innermost element, <code title="">cdr:license</code>, is
-   actually in the SVG namespace, as the "<code title="">xmlns:cdr</code>" attribute has no effect (unlike in
-   XML). In fact, as the comment in the fragment above says, the
-   fragment is actually non-conforming. This is because the SVG
-   specification does not define any elements called "<code title="">cdr:license</code>" in the SVG namespace.</p>
+   <p>The innermost element, <code title="">cdr:license</code>, is actually in the SVG namespace, as
+   the "<code title="">xmlns:cdr</code>" attribute has no effect (unlike in XML). In fact, as the
+   comment in the fragment above says, the fragment is actually non-conforming. This is because the
+   SVG specification does not define any elements called "<code title="">cdr:license</code>" in the
+   SVG namespace.</p>
 
   </div>
 
-  <p><a href=#normal-elements>Normal elements</a> can have <a href=#syntax-text title=syntax-text>text</a>, <a href=#syntax-charref title=syntax-charref>character references</a>, other <a href=#syntax-elements title=syntax-elements>elements</a>, and <a href=#syntax-comments title=syntax-comments>comments</a>, but the text must not
-  contain the character U+003C LESS-THAN SIGN (<) or an <a href=#syntax-ambiguous-ampersand title=syntax-ambiguous-ampersand>ambiguous ampersand</a>. Some
-  <a href=#normal-elements>normal elements</a> also have <a href=#element-restrictions>yet more restrictions</a> on what
-  content they are allowed to hold, beyond the restrictions imposed by
-  the content model and those described in this paragraph. Those
-  restrictions are described below.</p>
+  <p><a href=#normal-elements>Normal elements</a> can have <a href=#syntax-text title=syntax-text>text</a>, <a href=#syntax-charref title=syntax-charref>character references</a>, other <a href=#syntax-elements title=syntax-elements>elements</a>, and <a href=#syntax-comments title=syntax-comments>comments</a>, but
+  the text must not contain the character U+003C LESS-THAN SIGN (<) or an <a href=#syntax-ambiguous-ampersand title=syntax-ambiguous-ampersand>ambiguous ampersand</a>. Some <a href=#normal-elements>normal elements</a>
+  also have <a href=#element-restrictions>yet more restrictions</a> on what content they are
+  allowed to hold, beyond the restrictions imposed by the content model and those described in this
+  paragraph. Those restrictions are described below.</p>
 
   <p>Tags contain a <dfn id=syntax-tag-name title=syntax-tag-name>tag name</dfn>, giving the element's name. HTML
   elements all have names that only use <a href=#alphanumeric-ascii-characters>alphanumeric ASCII characters</a>. In the HTML
@@ -84740,78 +84637,60 @@
 
   <h5 id=start-tags><span class=secno>12.1.2.1 </span>Start tags</h5>
 
-  <p><dfn id=syntax-start-tag title=syntax-start-tag>Start tags</dfn> must have the
-  following format:</p>
+  <p><dfn id=syntax-start-tag title=syntax-start-tag>Start tags</dfn> must have the following format:</p>
 
-  <ol><li>The first character of a start tag must be a U+003C LESS-THAN
-   SIGN character (<).</li>
+  <ol><li>The first character of a start tag must be a U+003C LESS-THAN SIGN character (<).</li>
 
-   <li>The next few characters of a start tag must be the element's
-   <a href=#syntax-tag-name title=syntax-tag-name>tag name</a>.</li>
+   <li>The next few characters of a start tag must be the element's <a href=#syntax-tag-name title=syntax-tag-name>tag name</a>.</li>
 
-   <li>If there are to be any attributes in the next step, there must
-   first be one or more <a href=#space-character title="space character">space
+   <li>If there are to be any attributes in the next step, there must first be one or more <a href=#space-character title="space character">space characters</a>.</li>
+
+   <li>Then, the start tag may have a number of attributes, the <a href=#syntax-attributes title=syntax-attributes>syntax for which</a> is described below. Attributes must be
+   separated from each other by one or more <a href=#space-character title="space character">space
    characters</a>.</li>
 
-   <li>Then, the start tag may have a number of attributes, the <a href=#syntax-attributes title=syntax-attributes>syntax for which</a> is described
-   below. Attributes must be separated from each other by one or more
-   <a href=#space-character title="space character">space characters</a>.</li>
+   <li>After the attributes, or after the <a href=#syntax-tag-name title=syntax-tag-name>tag name</a> if there are
+   no attributes, there may be one or more <a href=#space-character title="space character">space characters</a>.
+   (Some attributes are required to be followed by a space. See the <a href=#syntax-attributes title=syntax-attributes>attributes section</a> below.)</li>
 
-   <li>After the attributes, or after the <a href=#syntax-tag-name title=syntax-tag-name>tag name</a> if there are no attributes,
-   there may be one or more <a href=#space-character title="space character">space
-   characters</a>. (Some attributes are required to be followed by
-   a space. See the <a href=#syntax-attributes title=syntax-attributes>attributes
-   section</a> below.)</li>
+   <li>Then, if the element is one of the <a href=#void-elements>void elements</a>, or if the element is a <a href=#foreign-elements title="foreign elements">foreign element</a>, then there may be a single U+002F SOLIDUS
+   character (/). This character has no effect on <a href=#void-elements>void elements</a>, but on <a href=#foreign-elements>foreign
+   elements</a> it marks the start tag as self-closing.</li>
 
-   <li>Then, if the element is one of the <a href=#void-elements>void elements</a>,
-   or if the element is a <a href=#foreign-elements title="foreign elements">foreign
-   element</a>, then there may be a single U+002F SOLIDUS character
-   (/). This character has no effect on <a href=#void-elements>void elements</a>,
-   but on <a href=#foreign-elements>foreign elements</a> it marks the start tag as
-   self-closing.</li>
+   <li>Finally, start tags must be closed by a U+003E GREATER-THAN SIGN character (>).</li>
 
-   <li>Finally, start tags must be closed by a U+003E GREATER-THAN
-   SIGN character (>).</li>
-
   </ol><h5 id=end-tags><span class=secno>12.1.2.2 </span>End tags</h5>
 
-  <p><dfn id=syntax-end-tag title=syntax-end-tag>End tags</dfn> must have the
-  following format:</p>
+  <p><dfn id=syntax-end-tag title=syntax-end-tag>End tags</dfn> must have the following format:</p>
 
-  <ol><li>The first character of an end tag must be a U+003C LESS-THAN
-   SIGN character (<).</li>
+  <ol><li>The first character of an end tag must be a U+003C LESS-THAN SIGN character (<).</li>
 
-   <li>The second character of an end tag must be a U+002F SOLIDUS
-   character (/).</li>
+   <li>The second character of an end tag must be a U+002F SOLIDUS character (/).</li>
 
-   <li>The next few characters of an end tag must be the element's
-   <a href=#syntax-tag-name title=syntax-tag-name>tag name</a>.</li>
+   <li>The next few characters of an end tag must be the element's <a href=#syntax-tag-name title=syntax-tag-name>tag
+   name</a>.</li>
 
-   <li>After the tag name, there may be one or more <a href=#space-character title="space
-   character">space characters</a>.</li>
+   <li>After the tag name, there may be one or more <a href=#space-character title="space character">space
+   characters</a>.</li>
 
-   <li>Finally, end tags must be closed by a U+003E GREATER-THAN SIGN
-   character (>).</li>
+   <li>Finally, end tags must be closed by a U+003E GREATER-THAN SIGN character (>).</li>
 
   </ol><h5 id=attributes-0><span class=secno>12.1.2.3 </span>Attributes</h5>
 
-  <p><dfn id=syntax-attributes title=syntax-attributes>Attributes</dfn> for an element
-  are expressed inside the element's start tag.</p>
+  <p><dfn id=syntax-attributes title=syntax-attributes>Attributes</dfn> for an element are expressed inside the
+  element's start tag.</p>
 
-  <p>Attributes have a name and a value. <dfn id=syntax-attribute-name title=syntax-attribute-name>Attribute names</dfn> must consist of
-  one or more characters other than the <a href=#space-character title="space
-  character">space characters</a>, U+0000 NULL, U+0022 QUOTATION
-  MARK ("), U+0027 APOSTROPHE ('), U+003E GREATER-THAN SIGN
-  (>), U+002F SOLIDUS (/), and U+003D EQUALS SIGN (=) characters,
-  the control characters, and any characters that are not defined by
-  Unicode. In the HTML syntax, attribute names, even those for
-  <a href=#foreign-elements>foreign elements</a>, may be written with any mix of lower-
-  and uppercase letters that are an <a href=#ascii-case-insensitive>ASCII
-  case-insensitive</a> match for the attribute's name.</p>
+  <p>Attributes have a name and a value. <dfn id=syntax-attribute-name title=syntax-attribute-name>Attribute names</dfn>
+  must consist of one or more characters other than the <a href=#space-character title="space character">space
+  characters</a>, U+0000 NULL, U+0022 QUOTATION MARK ("), U+0027 APOSTROPHE ('), U+003E
+  GREATER-THAN SIGN (>), U+002F SOLIDUS (/), and U+003D EQUALS SIGN (=) characters, the control
+  characters, and any characters that are not defined by Unicode. In the HTML syntax, attribute
+  names, even those for <a href=#foreign-elements>foreign elements</a>, may be written with any mix of lower- and
+  uppercase letters that are an <a href=#ascii-case-insensitive>ASCII case-insensitive</a> match for the attribute's
+  name.</p>
 
-  <p><dfn id=syntax-attribute-value title=syntax-attribute-value>Attribute values</dfn> are a
-  mixture of <a href=#syntax-text title=syntax-text>text</a> and <a href=#syntax-charref title=syntax-charref>character references</a>, except with the
-  additional restriction that the text cannot contain an <a href=#syntax-ambiguous-ampersand title=syntax-ambiguous-ampersand>ambiguous ampersand</a>.</p>
+  <p><dfn id=syntax-attribute-value title=syntax-attribute-value>Attribute values</dfn> are a mixture of <a href=#syntax-text title=syntax-text>text</a> and <a href=#syntax-charref title=syntax-charref>character references</a>,
+  except with the additional restriction that the text cannot contain an <a href=#syntax-ambiguous-ampersand title=syntax-ambiguous-ampersand>ambiguous ampersand</a>.</p>
 
   <p>Attributes can be specified in four different ways:</p>
 
@@ -84819,21 +84698,20 @@
 
    <dd>
 
-    <p>Just the <a href=#syntax-attribute-name title=syntax-attribute-name>attribute
-    name</a>. The value is implicitly the empty string.</p>
+    <p>Just the <a href=#syntax-attribute-name title=syntax-attribute-name>attribute name</a>. The value is implicitly
+    the empty string.</p>
 
     <div class=example>
 
-     <p>In the following example, the <code title=attr-fe-disabled><a href=#attr-fe-disabled>disabled</a></code> attribute is given with
-     the empty attribute syntax:</p>
+     <p>In the following example, the <code title=attr-fe-disabled><a href=#attr-fe-disabled>disabled</a></code> attribute is
+     given with the empty attribute syntax:</p>
 
      <pre><input <em>disabled</em>></pre>
 
     </div>
 
-    <p>If an attribute using the empty attribute syntax is to be
-    followed by another attribute, then there must be a <a href=#space-character>space
-    character</a> separating the two.</p>
+    <p>If an attribute using the empty attribute syntax is to be followed by another attribute, then
+    there must be a <a href=#space-character>space character</a> separating the two.</p>
 
    </dd>
 
@@ -84841,28 +84719,21 @@
 
    <dd>
 
-    <p>The <a href=#syntax-attribute-name title=syntax-attribute-name>attribute name</a>,
-    followed by zero or more <a href=#space-character title="space character">space
-    characters</a>, followed by a single U+003D EQUALS SIGN
-    character, followed by zero or more <a href=#space-character title="space
-    character">space characters</a>, followed by the <a href=#syntax-attribute-value title=syntax-attribute-value>attribute value</a>, which, in
-    addition to the requirements given above for attribute values,
-    must not contain any literal <a href=#space-character title="space character">space
-    characters</a>, any U+0022 QUOTATION MARK characters ("),
-    U+0027 APOSTROPHE characters ('), U+003D EQUALS SIGN
-    characters (=), U+003C LESS-THAN SIGN characters (<), U+003E
-    GREATER-THAN SIGN characters (>), or U+0060 GRAVE ACCENT
-    characters (`), and must not be the empty string.</p>
+    <p>The <a href=#syntax-attribute-name title=syntax-attribute-name>attribute name</a>, followed by zero or more <a href=#space-character title="space character">space characters</a>, followed by a single U+003D EQUALS SIGN
+    character, followed by zero or more <a href=#space-character title="space character">space characters</a>,
+    followed by the <a href=#syntax-attribute-value title=syntax-attribute-value>attribute value</a>, which, in addition
+    to the requirements given above for attribute values, must not contain any literal <a href=#space-character title="space character">space characters</a>, any U+0022 QUOTATION MARK characters ("),
+    U+0027 APOSTROPHE characters ('), U+003D EQUALS SIGN characters (=), U+003C LESS-THAN SIGN
+    characters (<), U+003E GREATER-THAN SIGN characters (>), or U+0060 GRAVE ACCENT characters
+    (`), and must not be the empty string.</p>
 
-    <!-- The ` character is in this list on a temporary basis, waiting
-         for IE to fix its 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.
+    <!-- The ` character is in this list on a temporary basis, waiting for IE to fix its 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:
+         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:
 
             `
 
@@ -84870,8 +84741,8 @@
 
             ` 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:
+         ...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">
 
@@ -84893,10 +84764,9 @@
 
     </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>
+    <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>
 
@@ -84904,29 +84774,23 @@
 
    <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>
+    <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=#attr-input-type>type</a></code> attribute is given with the
-     single-quoted attribute value syntax:</p>
+     <p>In the following example, the <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is given
+     with the single-quoted attribute value syntax:</p>
 
      <pre><input <em>type='checkbox'</em>></pre>
 
     </div>
 
-    <p>If an attribute using the single-quoted attribute syntax is to
-    be followed by another attribute, then there must be a <a href=#space-character>space
-    character</a> separating the two.</p>
+    <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>
 
@@ -84934,41 +84798,32 @@
 
    <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>
+    <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=#attr-fe-name>name</a></code> attribute is given with the
-     double-quoted attribute value syntax:</p>
+     <p>In the following example, the <code title=attr-fe-name><a href=#attr-fe-name>name</a></code> attribute is given with
+     the double-quoted attribute value syntax:</p>
 
      <pre><input <em>name="be evil"</em>></pre>
 
     </div>
 
-    <p>If an attribute using the double-quoted attribute syntax is to
-    be followed by another attribute, then there must be a <a href=#space-character>space
-    character</a> separating the two.</p>
+    <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=#ascii-case-insensitive>ASCII case-insensitive</a> match for
-  each other.</p>
+  </dl><p>There must never be two or more attributes on the same start tag whose names are an <a href=#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>
+  <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> Namespace <th> Attribute name
    <tbody><tr><td> <code title="">actuate</code> <td> <a href=#xlink-namespace>XLink namespace</a> <td> <code title="">xlink:actuate</code>
@@ -84983,115 +84838,96 @@
     <tr><td> <code title="">space</code> <td> <a href=#xml-namespace>XML namespace</a> <td> <code title="">xml:space</code>
     <tr><td> <code title="">xmlns</code> <td> <a href=#xmlns-namespace>XMLNS namespace</a> <td> <code title="">xmlns</code>
     <tr><td> <code title="">xlink</code> <td> <a href=#xmlns-namespace>XMLNS namespace</a> <td> <code title="">xmlns:xlink</code>
-  </table><p>No other namespaced attribute can be expressed in <a href=#syntax>the
-  HTML syntax</a>.</p>
+  </table><p>No other namespaced attribute can be expressed in <a href=#syntax>the HTML syntax</a>.</p>
 
-  <p class=note>Whether the attributes in the table above are
-  conforming or not is defined by other specifications (e.g. the SVG
-  and MathML specifications); this section only describes the syntax
-  rules if the attributes are serialized using the HTML syntax.</p>
+  <p class=note>Whether the attributes in the table above are conforming or not is defined by
+  other specifications (e.g. the SVG and MathML specifications); this section only describes the
+  syntax rules if the attributes are serialized using the HTML syntax.</p>
 
 
   <h5 id=optional-tags><span class=secno>12.1.2.4 </span>Optional tags</h5>
 
   <p>Certain tags can be <dfn id=syntax-tag-omission title=syntax-tag-omission>omitted</dfn>.</p>
 
-  <p class=note>Omitting an element's <a href=#syntax-start-tag title=syntax-start-tag>start tag</a> in the situations
-  described below does not mean the element is not present; it is
-  implied, but it is still there. For example, an HTML document always
-  has a root <code><a href=#the-html-element>html</a></code> element, even if the string <code title=""><html></code> doesn't appear anywhere in the markup.</p>
+  <p class=note>Omitting an element's <a href=#syntax-start-tag title=syntax-start-tag>start tag</a> in the
+  situations described below does not mean the element is not present; it is implied, but it is
+  still there. For example, an HTML document always has a root <code><a href=#the-html-element>html</a></code> element, even if
+  the string <code title=""><html></code> doesn't appear anywhere in the markup.</p>
 
   <!-- <html> -->
-  <p>An <code><a href=#the-html-element>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=#the-html-element>html</a></code> element is not a <a href=#syntax-comments title=syntax-comments>comment</a>.</p>
+  <p>An <code><a href=#the-html-element>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=#the-html-element>html</a></code> element is not a <a href=#syntax-comments title=syntax-comments>comment</a>.</p>
 
   <!-- </html> -->
-  <p>An <code><a href=#the-html-element>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=#the-html-element>html</a></code> element is not
-  immediately followed by a <a href=#syntax-comments title=syntax-comments>comment</a>.</p>
+  <p>An <code><a href=#the-html-element>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=#the-html-element>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=#the-head-element>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=#the-head-element>head</a></code> element is an element.</p>
+  <p>A <code><a href=#the-head-element>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=#the-head-element>head</a></code> element is an
+  element.</p>
 
   <!-- </head> -->
-  <p>A <code><a href=#the-head-element>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=#the-head-element>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>
+  <p>A <code><a href=#the-head-element>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=#the-head-element>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=#the-body-element>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=#the-body-element>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=#the-body-element>body</a></code> element is a <code><a href=#the-script-element>script</a></code> or
-  <code><a href=#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>
+  <p>A <code><a href=#the-body-element>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=#the-body-element>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=#the-body-element>body</a></code> element is a <code><a href=#the-script-element>script</a></code> or <code><a href=#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=#the-body-element>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=#the-body-element>body</a></code> element is not
-  immediately followed by a <a href=#syntax-comments title=syntax-comments>comment</a>.</p>
+  <p>A <code><a href=#the-body-element>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=#the-body-element>body</a></code> element is not immediately followed by a <a href=#syntax-comments title=syntax-comments>comment</a>.</p>
 
   <!-- </li> -->
-  <p>An <code><a href=#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=#the-li-element>li</a></code> element is
-  immediately followed by another <code><a href=#the-li-element>li</a></code> element or if there
-  is no more content in the parent element.</p>
+  <p>An <code><a href=#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=#the-li-element>li</a></code> element is immediately followed by another <code><a href=#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=#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=#the-dt-element>dt</a></code> element is
-  immediately followed by another <code><a href=#the-dt-element>dt</a></code> element or a
+  <p>A <code><a href=#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=#the-dt-element>dt</a></code> element is immediately followed by another <code><a href=#the-dt-element>dt</a></code> element or a
   <code><a href=#the-dd-element>dd</a></code> element.</p>
 
   <!-- </dd> -->
-  <p>A <code><a href=#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=#the-dd-element>dd</a></code> element is
-  immediately followed by another <code><a href=#the-dd-element>dd</a></code> element or a
-  <code><a href=#the-dt-element>dt</a></code> element, or if there is no more content in the
-  parent element.</p>
+  <p>A <code><a href=#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=#the-dd-element>dd</a></code> element is immediately followed by another <code><a href=#the-dd-element>dd</a></code> element or a
+  <code><a href=#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=#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=#the-p-element>p</a></code> element is
-  immediately followed by an <code><a href=#the-address-element>address</a></code>,
-  <code><a href=#the-article-element>article</a></code>, <code><a href=#the-aside-element>aside</a></code>, <code><a href=#the-blockquote-element>blockquote</a></code>,
-  <code><a href=#dir>dir</a></code>, <code><a href=#the-div-element>div</a></code>, <code><a href=#the-dl-element>dl</a></code>,
-  <code><a href=#the-fieldset-element>fieldset</a></code>, <code><a href=#the-footer-element>footer</a></code>, <code><a href=#the-form-element>form</a></code>,
-  <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h1</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h2</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h3</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h4</a></code>,
-  <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h5</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h6</a></code>, <code><a href=#the-header-element>header</a></code>,
-  <code><a href=#the-hgroup-element>hgroup</a></code>, <code><a href=#the-hr-element>hr</a></code>, <code><a href=#the-main-element>main</a></code>, <code><a href=#the-menu-element>menu</a></code>,
-  <code><a href=#the-nav-element>nav</a></code>, <code><a href=#the-ol-element>ol</a></code>, <code><a href=#the-p-element>p</a></code>, <code><a href=#the-pre-element>pre</a></code>,
-  <code><a href=#the-section-element>section</a></code>, <code><a href=#the-table-element>table</a></code>, or <code><a href=#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=#the-a-element>a</a></code> element.</p>
+  <p>A <code><a href=#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=#the-p-element>p</a></code> element is immediately followed by an <code><a href=#the-address-element>address</a></code>, <code><a href=#the-article-element>article</a></code>,
+  <code><a href=#the-aside-element>aside</a></code>, <code><a href=#the-blockquote-element>blockquote</a></code>, <code><a href=#dir>dir</a></code>, <code><a href=#the-div-element>div</a></code>, <code><a href=#the-dl-element>dl</a></code>,
+  <code><a href=#the-fieldset-element>fieldset</a></code>, <code><a href=#the-footer-element>footer</a></code>, <code><a href=#the-form-element>form</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h1</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h2</a></code>,
+  <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h3</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h4</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h5</a></code>, <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h6</a></code>, <code><a href=#the-header-element>header</a></code>,
+  <code><a href=#the-hgroup-element>hgroup</a></code>, <code><a href=#the-hr-element>hr</a></code>, <code><a href=#the-main-element>main</a></code>, <code><a href=#the-menu-element>menu</a></code>, <code><a href=#the-nav-element>nav</a></code>,
+  <code><a href=#the-ol-element>ol</a></code>, <code><a href=#the-p-element>p</a></code>, <code><a href=#the-pre-element>pre</a></code>, <code><a href=#the-section-element>section</a></code>, <code><a href=#the-table-element>table</a></code>, or
+  <code><a href=#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=#the-a-element>a</a></code> element.</p>
 
   <!-- </rt> -->
-  <p>An <code><a href=#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=#the-rt-element>rt</a></code> element is
-  immediately followed by an <code><a href=#the-rt-element>rt</a></code> or <code><a href=#the-rp-element>rp</a></code>
-  element, or if there is no more content in the parent element.</p>
+  <p>An <code><a href=#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=#the-rt-element>rt</a></code> element is immediately followed by an <code><a href=#the-rt-element>rt</a></code> or <code><a href=#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=#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=#the-rp-element>rp</a></code> element is
-  immediately followed by an <code><a href=#the-rt-element>rt</a></code> or <code><a href=#the-rp-element>rp</a></code>
-  element, or if there is no more content in the parent element.</p>
+  <p>An <code><a href=#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=#the-rp-element>rp</a></code> element is immediately followed by an <code><a href=#the-rt-element>rt</a></code> or <code><a href=#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-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-optgroup-element>optgroup</a></code> element <!--has an ancestor
-  <code>select</code> element and--> is immediately followed by
-  another <code><a href=#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>
+  <!-- </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-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-optgroup-element>optgroup</a></code> element <!--has an ancestor <code>select</code> element and--> is
+  immediately followed by another <code><a href=#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>
@@ -85101,94 +84937,79 @@
   -->
 
   <!-- </option> -->
-  <p>An <code><a href=#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-option-element>option</a></code> element is
-  immediately followed by another <code><a href=#the-option-element>option</a></code> element, or if
-  it is immediately followed by an <code><a href=#the-optgroup-element>optgroup</a></code> element, or
-  if there is no more content in the parent element.</p>
+  <p>An <code><a href=#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-option-element>option</a></code> element is immediately followed by another <code><a href=#the-option-element>option</a></code> element, or
+  if it is immediately followed by an <code><a href=#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=#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=#the-colgroup-element>colgroup</a></code> element is a
-  <code><a href=#the-col-element>col</a></code> element, and if the element is not immediately
-  preceded by another <code><a href=#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>
+  <p>A <code><a href=#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=#the-colgroup-element>colgroup</a></code> element is a <code><a href=#the-col-element>col</a></code> element,
+  and if the element is not immediately preceded by another <code><a href=#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=#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=#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>
+  <p>A <code><a href=#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=#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=#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=#the-thead-element>thead</a></code> element is
-  immediately followed by a <code><a href=#the-tbody-element>tbody</a></code> or <code><a href=#the-tfoot-element>tfoot</a></code>
-  element.</p>
+  <p>A <code><a href=#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=#the-thead-element>thead</a></code> element is immediately followed by a <code><a href=#the-tbody-element>tbody</a></code> or
+  <code><a href=#the-tfoot-element>tfoot</a></code> element.</p>
 
   <!-- <tbody> -->
-  <p>A <code><a href=#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=#the-tbody-element>tbody</a></code> element is a
-  <code><a href=#the-tr-element>tr</a></code> element, and if the element is not immediately
-  preceded by a <code><a href=#the-tbody-element>tbody</a></code>, <code><a href=#the-thead-element>thead</a></code>, or
-  <code><a href=#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>
+  <p>A <code><a href=#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=#the-tbody-element>tbody</a></code> element is a <code><a href=#the-tr-element>tr</a></code> element, and if the
+  element is not immediately preceded by a <code><a href=#the-tbody-element>tbody</a></code>, <code><a href=#the-thead-element>thead</a></code>, or
+  <code><a href=#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=#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=#the-tbody-element>tbody</a></code> element is
-  immediately followed by a <code><a href=#the-tbody-element>tbody</a></code> or <code><a href=#the-tfoot-element>tfoot</a></code>
-  element, or if there is no more content in the parent element.</p>
+  <p>A <code><a href=#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=#the-tbody-element>tbody</a></code> element is immediately followed by a <code><a href=#the-tbody-element>tbody</a></code> or
+  <code><a href=#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=#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=#the-tfoot-element>tfoot</a></code> element is
-  immediately followed by a <code><a href=#the-tbody-element>tbody</a></code> element, or if there is
-  no more content in the parent element.</p>
+  <p>A <code><a href=#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=#the-tfoot-element>tfoot</a></code> element is immediately followed by a <code><a href=#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=#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=#the-tr-element>tr</a></code> element is
-  immediately followed by another <code><a href=#the-tr-element>tr</a></code> element, or if there
-  is no more content in the parent element.</p>
+  <p>A <code><a href=#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=#the-tr-element>tr</a></code> element is immediately followed by another <code><a href=#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=#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=#the-td-element>td</a></code> element is
-  immediately followed by a <code><a href=#the-td-element>td</a></code> or <code><a href=#the-th-element>th</a></code>
-  element, or if there is no more content in the parent element.</p>
+  <p>A <code><a href=#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=#the-td-element>td</a></code> element is immediately followed by a <code><a href=#the-td-element>td</a></code> or <code><a href=#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=#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=#the-th-element>th</a></code> element is
-  immediately followed by a <code><a href=#the-td-element>td</a></code> or <code><a href=#the-th-element>th</a></code>
-  element, or if there is no more content in the parent element.</p>
+  <p>A <code><a href=#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=#the-th-element>th</a></code> element is immediately followed by a <code><a href=#the-td-element>td</a></code> or <code><a href=#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>
+  <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>12.1.2.5 </span>Restrictions on content models</h5>
 
-  <p>For historical reasons, certain elements have extra restrictions
-  beyond even the restrictions given by their content model.</p>
+  <p>For historical reasons, certain elements have extra restrictions beyond even the restrictions
+  given by their content model.</p>
 
-  <p>A <code><a href=#the-table-element>table</a></code> element must not contain <code><a href=#the-tr-element>tr</a></code>
-  elements, even though these elements are technically allowed inside
-  <code><a href=#the-table-element>table</a></code> elements according to the content models
-  described in this specification. (If a <code><a href=#the-tr-element>tr</a></code> element is
-  put inside a <code><a href=#the-table-element>table</a></code> in the markup, it will in fact imply
-  a <code><a href=#the-tbody-element>tbody</a></code> start tag before it.)</p>
+  <p>A <code><a href=#the-table-element>table</a></code> element must not contain <code><a href=#the-tr-element>tr</a></code> elements, even though these
+  elements are technically allowed inside <code><a href=#the-table-element>table</a></code> elements according to the content
+  models described in this specification. (If a <code><a href=#the-tr-element>tr</a></code> element is put inside a
+  <code><a href=#the-table-element>table</a></code> in the markup, it will in fact imply a <code><a href=#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=#the-pre-element>pre</a></code> and <code><a href=#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>
+  <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=#the-pre-element>pre</a></code> and <code><a href=#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=#the-pre-element>pre</a></code> blocks are equivalent:</p>
@@ -85199,53 +85020,46 @@
 
   <h5 id=cdata-rcdata-restrictions><span class=secno>12.1.2.6 </span>Restrictions on the contents of raw text and escapable raw text elements</h5>
 
-  <p>The text in <a href=#raw-text-elements title="raw text elements">raw text</a> and
-  <a href=#escapable-raw-text-elements>escapable raw text elements</a> must not contain any occurrences of the
-  string "<code title=""></</code>" (U+003C LESS-THAN SIGN, U+002F
-  SOLIDUS) followed by characters that case-insensitively match the
-  tag name of the element followed by one of U+0009 CHARACTER
-  TABULATION (tab), U+000A LINE FEED (LF), U+000C FORM FEED (FF), U+000D
-  CARRIAGE RETURN (CR), U+0020 SPACE, U+003E GREATER-THAN SIGN (>), or
-  U+002F SOLIDUS (/).</p>
+  <p>The text in <a href=#raw-text-elements title="raw text elements">raw text</a> and <a href=#escapable-raw-text-elements>escapable raw text
+  elements</a> must not contain any occurrences of the string "<code title=""></</code>"
+  (U+003C LESS-THAN SIGN, U+002F SOLIDUS) followed by characters that case-insensitively match the
+  tag name of the element followed by one of U+0009 CHARACTER TABULATION (tab), U+000A LINE FEED
+  (LF), U+000C FORM FEED (FF), U+000D CARRIAGE RETURN (CR), U+0020 SPACE, U+003E GREATER-THAN SIGN
+  (>), or U+002F SOLIDUS (/).</p>
 
 
   <h4 id=text-0><span class=secno>12.1.3 </span>Text</h4>
 
-  <p><dfn id=syntax-text title=syntax-text>Text</dfn> is allowed inside elements,
-  attribute values, and comments. 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>
+  <p><dfn id=syntax-text title=syntax-text>Text</dfn> is allowed inside elements, attribute values, and comments.
+  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>12.1.3.1 </span>Newlines</h5>
 
-  <p><dfn id=syntax-newlines title=syntax-newlines>Newlines</dfn> in HTML may be
-  represented either as U+000D CARRIAGE RETURN (CR) characters, U+000A
-  LINE FEED (LF) characters, or pairs of U+000D CARRIAGE RETURN (CR),
-  U+000A LINE FEED (LF) characters in that order.</p>
+  <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>
 
-  <p>Where <a href=#syntax-charref title=syntax-charref>character references</a>
-  are allowed, a character reference of a U+000A LINE FEED (LF)
-  character (but not a U+000D CARRIAGE RETURN (CR) character) also
-  represents a <a href=#syntax-newlines title=syntax-newlines>newline</a>.</p>
+  <p>Where <a href=#syntax-charref title=syntax-charref>character references</a> are allowed, a character
+  reference of a U+000A LINE FEED (LF) character (but not a U+000D CARRIAGE RETURN (CR) character)
+  also represents a <a href=#syntax-newlines title=syntax-newlines>newline</a>.</p>
 
 
   <h4 id=character-references><span class=secno>12.1.4 </span>Character references</h4>
 
-  <p>In certain cases described in other sections, <a href=#syntax-text title=syntax-text>text</a> may be mixed with <dfn id=syntax-charref title=syntax-charref>character references</dfn>. These can be used
-  to escape characters that couldn't otherwise legally be included in
-  <a href=#syntax-text title=syntax-text>text</a>.</p>
+  <p>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
-  (&). Following this, there are three possible kinds of character
-  references:</p>
+  <p>Character references must start with a U+0026 AMPERSAND character (&). 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>named character references</a> section, using the same
-   case. <span class=impl>The name must be one that is terminated by
-   a U+003B SEMICOLON character (;).</span></dd>
+   <dd>The ampersand must be followed by one of the names given in the <a href=#named-character-references>named character
+   references</a> section, using the same case. <span class=impl>The name must be one that is
+   terminated by a U+003B SEMICOLON character (;).</span></dd>
 
 
    <dt>Decimal numeric character reference</dt>
@@ -85265,11 +85079,9 @@
    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, U+000D,
-  permanently undefined Unicode characters (noncharacters), and
-  control characters other than <a href=#space-character title="space character">space
-  characters</a>.</p>
+  </dl><p>The numeric character reference forms described above are allowed to reference any Unicode code
+  point other than U+0000, U+000D, permanently undefined Unicode characters (noncharacters), and
+  control characters other than <a href=#space-character title="space character">space characters</a>.</p>
 
   <p>An <dfn id=syntax-ambiguous-ampersand title=syntax-ambiguous-ampersand>ambiguous ampersand</dfn> is a U+0026 AMPERSAND
   character (&) that is followed by one or more <a href=#alphanumeric-ascii-characters>alphanumeric ASCII characters</a>,
@@ -85279,22 +85091,20 @@
 
   <h4 id=cdata-sections><span class=secno>12.1.5 </span>CDATA sections</h4>
 
-  <p><dfn id=syntax-cdata title=syntax-cdata>CDATA sections</dfn> must consist of
-  the following components, in this order:</p>
+  <p><dfn id=syntax-cdata title=syntax-cdata>CDATA sections</dfn> must consist of the following components, in
+  this order:</p>
 
   <ol><li>The string "<code title=""><![CDATA[</code>".</li>
 
-   <li>Optionally, <a href=#syntax-text title=syntax-text>text</a>, with the
-   additional restriction that the text must not contain the string
-   "<code title="">]]></code>".</li>
+   <li>Optionally, <a href=#syntax-text title=syntax-text>text</a>, with the additional restriction that the
+   text must not contain the string "<code title="">]]></code>".</li>
 
    <li>The string "<code title="">]]></code>".</li>
 
   </ol><div class=example>
 
-   <p>CDATA sections can only be used in foreign content (MathML or
-   SVG). In this example, a CDATA section is used to escape the
-   contents of an <code>ms</code> element:</p>
+   <p>CDATA sections can only be used in foreign content (MathML or SVG). In this example, a CDATA
+   section is used to escape the contents of an <code>ms</code> element:</p>
 
    <pre><p>You can add a string to a number, but this stringifies the number:</p>
 <math>
@@ -85310,18 +85120,13 @@
 
   <h4 id=comments><span class=secno>12.1.6 </span>Comments</h4>
 
-  <p><dfn id=syntax-comments title=syntax-comments>Comments</dfn> must start with the
-  four character sequence U+003C LESS-THAN SIGN, U+0021 EXCLAMATION
-  MARK, U+002D HYPHEN-MINUS, U+002D HYPHEN-MINUS (<code title=""><!--</code>). Following this sequence, the comment may
-  have <a href=#syntax-text title=syntax-text>text</a>, with the additional
-  restriction that the text must not start with a single U+003E
-  GREATER-THAN SIGN character (>), nor start with a U+002D
-  HYPHEN-MINUS character (-) followed by a U+003E GREATER-THAN SIGN
-  (>) character, nor contain two consecutive U+002D HYPHEN-MINUS
-  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="">--></code>).</p>
+  <p><dfn id=syntax-comments title=syntax-comments>Comments</dfn> must start with the four character sequence U+003C
+  LESS-THAN SIGN, U+0021 EXCLAMATION MARK, U+002D HYPHEN-MINUS, U+002D HYPHEN-MINUS (<code title=""><!--</code>). Following this sequence, the comment may have <a href=#syntax-text title=syntax-text>text</a>, with the additional restriction that the text must not start with
+  a single U+003E GREATER-THAN SIGN character (>), nor start with a U+002D HYPHEN-MINUS character
+  (-) followed by a U+003E GREATER-THAN SIGN (>) character, nor contain two consecutive U+002D
+  HYPHEN-MINUS 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="">--></code>).</p>
 
 
 <!--HTMLPARSER-->
@@ -85329,69 +85134,54 @@
   <div class=impl>
 
   <h3 id=parsing><span class=secno>12.2 </span>Parsing HTML documents</h3>
-<!--CLEANUP-->
 
-  <p><i>This section only applies to user agents, data mining tools,
-  and conformance checkers.</i></p>
+  <p><i>This section only applies to user agents, data mining tools, and conformance
+  checkers.</i></p>
 
-  <p class=note>The rules for parsing XML documents into DOM trees
-  are covered by the next section, entitled "<a href=#the-xhtml-syntax>The XHTML
-  syntax</a>".</p>
+  <p class=note>The rules for parsing XML documents into DOM trees are covered by the next
+  section, entitled "<a href=#the-xhtml-syntax>The XHTML syntax</a>".</p>
 
-  <p>User agents must use the parsing rules described in this section
-  to generate the DOM trees from <code><a href=#text/html>text/html</a></code> resources.
-  Together, these rules define what is referred to as the <dfn id=html-parser>HTML
-  parser</dfn>.</p>
+  <p>User agents must use the parsing rules described in this section to generate the DOM trees from
+  <code><a href=#text/html>text/html</a></code> resources. Together, these rules define what is referred to as the
+  <dfn id=html-parser>HTML parser</dfn>.</p>
 
   <div class=note>
 
-   <p>While the HTML syntax described in this specification bears a
-   close resemblance to SGML and XML, it is a separate language with
-   its own parsing rules.</p>
+   <p>While the HTML syntax described in this specification bears a close resemblance to SGML and
+   XML, it is a separate language with its own parsing rules.</p>
 
-   <p>Some earlier versions of HTML (in particular from HTML2 to
-   HTML4) were based on SGML and used SGML parsing rules. However, few
-   (if any) web browsers ever implemented true SGML parsing for HTML
-   documents; the only user agents to strictly handle HTML as an SGML
-   application have historically been validators. The resulting
-   confusion — with validators claiming documents to have one
-   representation while widely deployed Web browsers interoperably
-   implemented a different representation — has wasted decades
-   of productivity. This version of HTML thus returns to a non-SGML
-   basis.</p>
+   <p>Some earlier versions of HTML (in particular from HTML2 to HTML4) were based on SGML and used
+   SGML parsing rules. However, few (if any) web browsers ever implemented true SGML parsing for
+   HTML documents; the only user agents to strictly handle HTML as an SGML application have
+   historically been validators. The resulting confusion — with validators claiming documents
+   to have one representation while widely deployed Web browsers interoperably implemented a
+   different representation — has wasted decades of productivity. This version of HTML thus
+   returns to a non-SGML basis.</p>
 
-   <p>Authors interested in using SGML tools in their authoring
-   pipeline are encouraged to use XML tools and the XML serialization
-   of HTML.</p>
+   <p>Authors interested in using SGML tools in their authoring pipeline are encouraged to use XML
+   tools and the XML serialization of HTML.</p>
 
   </div>
 
-  <p>This specification defines the parsing rules for HTML documents,
-  whether they are syntactically correct or not. Certain points in the
-  parsing algorithm are said to be <dfn id=parse-error title="parse error">parse
-  errors</dfn>. The error handling for parse errors is well-defined
-  (that's the processing rules described throughout this specification), but 
-  user agents, while parsing an HTML document, may <a href=#abort-a-parser title="abort a
-  parser">abort the parser</a> at the first <a href=#parse-error>parse error</a> that they
-  encounter for which they do not wish to apply the rules described
-  in this specification.</p>
+  <p>This specification defines the parsing rules for HTML documents, whether they are syntactically
+  correct or not. Certain points in the parsing algorithm are said to be <dfn id=parse-error title="parse
+  error">parse errors</dfn>. The error handling for parse errors is well-defined (that's the
+  processing rules described throughout this specification), but user agents, while parsing an HTML
+  document, may <a href=#abort-a-parser title="abort a parser">abort the parser</a> at the first <a href=#parse-error>parse
+  error</a> that they encounter for which they do not wish to apply the rules described in this
+  specification.</p>
 
-  <p>Conformance checkers must report at least one parse error
-  condition to the user if one or more parse error conditions exist in
-  the document and must not report parse error conditions if none
-  exist in the document. Conformance checkers may report more than one
-  parse error condition if more than one parse error condition exists
-  in the document.</p>
+  <p>Conformance checkers must report at least one parse error condition to the user if one or more
+  parse error conditions exist in the document and must not report parse error conditions if none
+  exist in the document. Conformance checkers may report more than one parse error condition if more
+  than one parse error condition exists in the document.</p>
 
-  <p class=note>Parse errors are only errors with the
-  <em>syntax</em> of HTML. In addition to checking for parse errors,
-  conformance checkers will also verify that the document obeys all
-  the other conformance requirements described in this
-  specification.</p>
+  <p class=note>Parse errors are only errors with the <em>syntax</em> of HTML. In addition to
+  checking for parse errors, conformance checkers will also verify that the document obeys all the
+  other conformance requirements described in this specification.</p>
 
-  <p>For the purposes of conformance checkers, if a resource is
-  determined to be in <a href=#syntax>the HTML syntax</a>, then it is an
-  <a href=#html-documents title="HTML documents">HTML document</a>.</p>
+  <p>For the purposes of conformance checkers, if a resource is determined to be in <a href=#syntax>the HTML
+  syntax</a>, then it is an <a href=#html-documents title="HTML documents">HTML document</a>.</p>
 
   </div>
 
@@ -85402,34 +85192,28 @@
 
   <p class=overview><object width=345 height=535 data=images/parsing-model-overview.svg><img src=http://images.whatwg.org/parsing-model-overview.png width=345 alt="" height=450></object></p>
 
-  <p>The input to the HTML parsing process consists of a stream of
-  <a href=#unicode-code-point title="Unicode code point">Unicode code points</a>, which
-  is passed through a <a href=#tokenization>tokenization</a> stage followed by a
-  <a href=#tree-construction>tree construction</a> stage. The output is a
-  <code><a href=#document>Document</a></code> object.</p>
+  <p>The input to the HTML parsing process consists of a stream of <a href=#unicode-code-point title="Unicode code
+  point">Unicode code points</a>, which is passed through a <a href=#tokenization>tokenization</a> stage
+  followed by a <a href=#tree-construction>tree construction</a> stage. The output is a <code><a href=#document>Document</a></code>
+  object.</p>
 
-  <p class=note>Implementations that <a href=#non-scripted>do not
-  support scripting</a> do not have to actually create a DOM
-  <code><a href=#document>Document</a></code> object, but the DOM tree in such cases is
+  <p class=note>Implementations that <a href=#non-scripted>do not support scripting</a> do not
+  have to actually create a DOM <code><a href=#document>Document</a></code> object, but the DOM tree in such cases is
   still used as the model for the rest of the specification.</p>
 
-  <p>In the common case, the data handled by the tokenization stage
-  comes from the network, but <a href=#dynamic-markup-insertion title="dynamic markup
-  insertion">it can also come from script</a> running in the user
+  <p>In the common case, the data handled by the tokenization stage comes from the network, but
+  <a href=#dynamic-markup-insertion title="dynamic markup insertion">it can also come from script</a> running in the user
   agent, e.g. using the <code title=dom-document-write><a href=#dom-document-write>document.write()</a></code> API.</p>
 
-  <p id=nestedParsing>There is only one set of states for the
-  tokenizer stage and the tree construction stage, but the tree
-  construction stage is reentrant, meaning that while the tree
-  construction stage is handling one token, the tokenizer might be
-  resumed, causing further tokens to be emitted and processed before
-  the first token's processing is complete.</p>
+  <p id=nestedParsing>There is only one set of states for the tokenizer stage and the tree
+  construction stage, but the tree construction stage is reentrant, meaning that while the tree
+  construction stage is handling one token, the tokenizer might be resumed, causing further tokens
+  to be emitted and processed before the first token's processing is complete.</p>
 
   <div class=example>
 
-   <p>In the following example, the tree construction stage will be
-   called upon to handle a "p" start tag token while handling the
-   "script" end tag token:</p>
+   <p>In the following example, the tree construction stage will be called upon to handle a "p"
+   start tag token while handling the "script" end tag token:</p>
 
    <pre>...
 <script>
@@ -85439,9 +85223,8 @@
 
   </div>
 
-  <p>To handle these cases, parsers have a <dfn id=script-nesting-level>script nesting
-  level</dfn>, which must be initially set to zero, and a <dfn id=parser-pause-flag>parser
-  pause flag</dfn>, which must be initially set to false.</p>
+  <p>To handle these cases, parsers have a <dfn id=script-nesting-level>script nesting level</dfn>, which must be initially
+  set to zero, and a <dfn id=parser-pause-flag>parser pause flag</dfn>, which must be initially set to false.</p>
 
   </div>
 
@@ -85451,29 +85234,23 @@
 
   <h4 id=the-input-byte-stream><span class=secno>12.2.2 </span>The <dfn>input byte stream</dfn></h4>
 
-<!--CLEANUP-->
-  <p>The stream of Unicode code points that comprises the input to the
-  tokenization stage will be initially seen by the user agent as a
-  stream of bytes (typically coming over the network or from the local
-  file system). The bytes encode the actual characters according to a
-  particular <i>character encoding</i>, which the user agent uses
-  to decode the bytes into characters.</p>
+  <p>The stream of Unicode code points that comprises the input to the tokenization stage will be
+  initially seen by the user agent as a stream of bytes (typically coming over the network or from
+  the local file system). The bytes encode the actual characters according to a particular
+  <i>character encoding</i>, which the user agent uses to decode the bytes into characters.</p>
 
-  <p class=note>For XML documents, the algorithm user agents must
-  use to determine the character encoding is given by the XML
-  specification. This section does not apply to XML documents. <a href=#refsXML>[XML]</a></p>
+  <p class=note>For XML documents, the algorithm user agents must use to determine the character
+  encoding is given by the XML specification. This section does not apply to XML documents. <a href=#refsXML>[XML]</a></p>
 
-  <p>Usually, the <a href=#encoding-sniffing-algorithm>encoding sniffing algorithm</a> defined below is
-  used to determine the character encoding.</p>
+  <p>Usually, the <a href=#encoding-sniffing-algorithm>encoding sniffing algorithm</a> defined below is used to determine the
+  character encoding.</p>
 
-  <p>Given a character encoding, the bytes in the <a href=#the-input-byte-stream>input byte
-  stream</a> must be converted to Unicode code points for the
-  tokenizer's <a href=#input-stream>input stream</a>, as described by the rules for
-  that encoding's <a href=#decoder>decoder</a>.</p>
+  <p>Given a character encoding, the bytes in the <a href=#the-input-byte-stream>input byte stream</a> must be converted
+  to Unicode code points for the tokenizer's <a href=#input-stream>input stream</a>, as described by the rules
+  for that encoding's <a href=#decoder>decoder</a>.</p>
 
-  <p class=note>Bytes or sequences of bytes in the original byte
-  stream that did not conform to the encoding specification (e.g.
-  invalid UTF-8 byte sequences in a UTF-8 input byte stream) are
+  <p class=note>Bytes or sequences of bytes in the original byte stream that did not conform to
+  the encoding specification (e.g. invalid UTF-8 byte sequences in a UTF-8 input byte stream) are
   errors that conformance checkers are expected to report.</p>
 
   <p class=note>Leading Byte Order Marks (BOMs) are not stripped by the decoder algorithms, they
@@ -95225,7 +95002,7 @@
 :root:lang(uk),       :not(:lang(uk)) > :lang(uk)             { quotes: '\00ab' '\00bb' '\201e' '\201c' } /* « » „ “ */
 :root:lang(ur),       :not(:lang(ur)) > :lang(ur)             { quotes: '\201d' '\201c' '\2019' '\2018' } /* ” “ ’ ‘ */
 :root:lang(uz),       :not(:lang(uz)) > :lang(uz)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
-:root:lang(uz-Latn),  :not(:lang(uz-Latn)) > :lang(uz-Latn)   { quotes: '\0022' '\0022' '\0027' '\0027' } /* " " ' ' */
+:root:lang(uz-Latn),  :not(:lang(uz-Latn)) > :lang(uz-Latn)   { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
 :root:lang(vai),      :not(:lang(vai)) > :lang(vai)           { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
 :root:lang(vai-Latn), :not(:lang(vai-Latn)) > :lang(vai-Latn) { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */
 :root:lang(vi),       :not(:lang(vi)) > :lang(vi)             { quotes: '\201c' '\201d' '\2018' '\2019' } /* “ ” ‘ ’ */

Modified: source
===================================================================
--- source	2013-08-02 21:48:03 UTC (rev 8124)
+++ source	2013-08-03 16:04:58 UTC (rev 8125)
@@ -27564,52 +27564,41 @@
    </dd>
   </dl><!--TOPIC:HTML-->
 
-<!--CLEANUP-->
-  <p>The <code>param</code> element defines parameters for plugins
-  invoked by <code>object</code> elements. It does not <span
-  title="represents">represent</span> anything on its own.</p>
+  <p>The <code>param</code> element defines parameters for plugins invoked by <code>object</code>
+  elements. It does not <span title="represents">represent</span> anything on its own.</p>
 
-  <p>The <dfn title="attr-param-name"><code>name</code></dfn>
-  attribute gives the name of the parameter.</p>
+  <p>The <dfn title="attr-param-name"><code>name</code></dfn> attribute gives the name of the
+  parameter.</p>
 
-  <p>The <dfn title="attr-param-value"><code>value</code></dfn>
-  attribute gives the value of the parameter.</p>
+  <p>The <dfn 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="impl">
 
-  <p>If both attributes are present, and if the parent element of the
-  <code>param</code> is an <code>object</code> element, then the
-  element defines a <dfn
-  title="concept-param-parameter">parameter</dfn> with the given
-  name-value pair.</p>
+  <p>If both attributes are present, and if the parent element of the <code>param</code> is an
+  <code>object</code> element, then the element defines a <dfn
+  title="concept-param-parameter">parameter</dfn> with the given name-value pair.</p>
 
-  <p>If either the name or value of a <span
-  title="concept-param-parameter">parameter</span> defined by a
-  <code>param</code> element that is the child of an
-  <code>object</code> element that <span>represents</span> an
-  instantiated <span>plugin</span> changes, and if that
-  <span>plugin</span> is communicating with the user agent using an
-  API that features the ability to update the <span>plugin</span> when
-  the name or value of a <span
-  title="concept-param-parameter">parameter</span> so changes, then
-  the user agent must appropriately exercise that ability to notify
-  the <span>plugin</span> of the change.</p>
+  <p>If either the name or value of a <span title="concept-param-parameter">parameter</span> defined
+  by a <code>param</code> element that is the child of an <code>object</code> element that
+  <span>represents</span> an instantiated <span>plugin</span> changes, and if that
+  <span>plugin</span> is communicating with the user agent using an API that features the ability to
+  update the <span>plugin</span> when the name or value of a <span
+  title="concept-param-parameter">parameter</span> so changes, then the user agent must
+  appropriately exercise that ability to notify the <span>plugin</span> of the change.</p>
 
-  <p>The IDL attributes <dfn
-  title="dom-param-name"><code>name</code></dfn> and <dfn
-  title="dom-param-value"><code>value</code></dfn> must both
-  <span>reflect</span> the respective content attributes of the same
-  name.</p>
+  <p>The IDL attributes <dfn title="dom-param-name"><code>name</code></dfn> and <dfn
+  title="dom-param-value"><code>value</code></dfn> must both <span>reflect</span> the respective
+  content attributes of the same name.</p>
 
   </div>
 
   <div class="example">
 
-   <p>The following example shows how the <code>param</code> element
-   can be used to pass a parameter to a plugin, in this case the O3D
-   plugin.</p>
+   <p>The following example shows how the <code>param</code> element can be used to pass a parameter
+   to a plugin, in this case the O3D plugin.</p>
 
    <pre><!DOCTYPE HTML>
 <html lang="en">
@@ -27682,15 +27671,13 @@
    </dd>
   </dl><!--TOPIC:HTML-->
 
-  <p>A <code>video</code> element is used for playing videos or
-  movies, and audio files with captions.</p>
+  <p>A <code>video</code> element is used for playing videos or movies, and audio files with
+  captions.</p>
 
-  <p>Content may be provided inside the <code>video</code>
-  element<span class="impl">. User agents should not show this content
-  to the user</span>; it is intended for older Web browsers which do
-  not support <code>video</code>, so that legacy video plugins can be
-  tried, or to show text to the users of these older browsers informing
-  them of how to access the video contents.</p>
+  <p>Content may be provided inside the <code>video</code> element<span class="impl">. User agents
+  should not show this content to the user</span>; it is intended for older Web browsers which do
+  not support <code>video</code>, so that legacy video plugins can be tried, or to show text to the
+  users of these older browsers informing them of how to access the video contents.</p>
 
   <p class="note">In particular, this content is not intended to address accessibility concerns. To
   make video content accessible to the partially sighted, the blind, the hard-of-hearing, the deaf,
@@ -27708,25 +27695,19 @@
   can be provided by simply linking to them in the prose near the <code>video</code> element. <a
   href="#refsWEBVTT">[WEBVTT]</a></p>
 
-  <p>The <code>video</code> element is a <span>media element</span>
-  whose <span>media data</span> is ostensibly video data, possibly
-  with associated audio data.</p>
+  <p>The <code>video</code> element is a <span>media element</span> whose <span>media data</span> is
+  ostensibly video data, possibly with associated audio data.</p>
 
-  <p>The <code title="attr-media-src">src</code>, <code
-  title="attr-media-preload">preload</code>, <code
-  title="attr-media-autoplay">autoplay</code>, 
-  <code title="attr-media-mediagroup">mediagroup</code>, 
-  <code title="attr-media-loop">loop</code>,
-  <code title="attr-media-muted">muted</code>, and <code
-  title="attr-media-controls">controls</code> attributes are <span
-  title="media element attributes">the attributes common to all media
+  <p>The <code title="attr-media-src">src</code>, <code title="attr-media-preload">preload</code>,
+  <code title="attr-media-autoplay">autoplay</code>, <code
+  title="attr-media-mediagroup">mediagroup</code>, <code title="attr-media-loop">loop</code>, <code
+  title="attr-media-muted">muted</code>, and <code title="attr-media-controls">controls</code>
+  attributes are <span title="media element attributes">the attributes common to all media
   elements</span>.</p>
 
-  <p>The <dfn title="attr-video-poster"><code>poster</code></dfn>
-  attribute gives the address of an image file that the user agent can
-  show while no video data is available. The attribute, if present,
-  must contain a <span>valid non-empty URL potentially surrounded by
-  spaces</span>.</p>
+  <p>The <dfn title="attr-video-poster"><code>poster</code></dfn> attribute gives the address of an
+  image file that the user agent can show while no video data is available. The attribute, if
+  present, must contain a <span>valid non-empty URL potentially surrounded by spaces</span>.</p>
 
   <div class="impl">
 
@@ -27738,24 +27719,21 @@
 
   <ol>
 
-   <li><p>If there is an existing instance of this algorithm running
-   for this <code>video</code> element, abort that instance of this
-   algorithm without changing the <span>poster frame</span>.</p></li>
+   <li><p>If there is an existing instance of this algorithm running for this <code>video</code>
+   element, abort that instance of this algorithm without changing the <span>poster
+   frame</span>.</p></li>
 
-   <li><p>If the <code title="attr-video-poster">poster</code>
-   attribute's value is the empty string or if the attribute is
-   absent, then there is no <span>poster frame</span>; abort these
+   <li><p>If the <code title="attr-video-poster">poster</code> attribute's value is the empty string
+   or if the attribute is absent, then there is no <span>poster frame</span>; abort these
    steps.</p></li>
 
    <li><p><span title="resolve a url">Resolve</span> the <code
-   title="attr-video-poster">poster</code> attribute's value relative
-   to the element. If this fails, then there is no <span>poster
-   frame</span>; abort these steps.</p></li>
+   title="attr-video-poster">poster</code> attribute's value relative to the element. If this fails,
+   then there is no <span>poster frame</span>; abort these steps.</p></li>
 
-   <li><p><span>Fetch</span><!--FETCH--> the resulting <span>absolute
-   URL</span>, from the element's <code>Document</code>'s
-   <span>origin</span>. This must <span>delay the load event</span> of
-   the element's document.</p></li>
+   <li><p><span>Fetch</span><!--FETCH--> the resulting <span>absolute URL</span>, from the element's
+   <code>Document</code>'s <span>origin</span>. This must <span>delay the load event</span> of the
+   element's document.</p></li>
 
    <!-- could define how to sniff for an image here -->
 
@@ -27867,52 +27845,36 @@
 
   <div class="impl">
 
-  <p>The <dfn title="concept-video-intrinsic-width">intrinsic
-  width</dfn> and <dfn
-  title="concept-video-intrinsic-height">intrinsic height</dfn> of the
-  <span>media resource</span> are the dimensions of the resource in
-  CSS pixels after taking into account the resource's dimensions,
-  aspect ratio, clean aperture, resolution, and so forth, as defined
-  for the format used by the resource. If an anamorphic format does
-  not define how to apply the aspect ratio to the video data's
-  dimensions to obtain the "correct" dimensions, then the user agent
-  must apply the ratio by increasing one dimension and leaving the
-  other unchanged.</p>
+  <p>The <dfn title="concept-video-intrinsic-width">intrinsic width</dfn> and <dfn
+  title="concept-video-intrinsic-height">intrinsic height</dfn> of the <span>media resource</span>
+  are the dimensions of the resource in CSS pixels after taking into account the resource's
+  dimensions, aspect ratio, clean aperture, resolution, and so forth, as defined for the format used
+  by the resource. If an anamorphic format does not define how to apply the aspect ratio to the
+  video data's dimensions to obtain the "correct" dimensions, then the user agent must apply the
+  ratio by increasing one dimension and leaving the other unchanged.</p>
 
-  <p>The <dfn
-  title="dom-video-videoWidth"><code>videoWidth</code></dfn> IDL
-  attribute must return the <span
-  title="concept-video-intrinsic-width">intrinsic width</span> of the
-  video in CSS pixels. The <dfn
-  title="dom-video-videoHeight"><code>videoHeight</code></dfn> IDL
-  attribute must return the <span
-  title="concept-video-intrinsic-height">intrinsic height</span> of
-  the video in CSS pixels. If the element's <code
-  title="dom-media-readyState">readyState</code> attribute is <code
-  title="dom-media-HAVE_NOTHING">HAVE_NOTHING</code>, then the
-  attributes must return 0.</p>
+  <p>The <dfn title="dom-video-videoWidth"><code>videoWidth</code></dfn> IDL attribute must return
+  the <span title="concept-video-intrinsic-width">intrinsic width</span> of the video in CSS pixels.
+  The <dfn title="dom-video-videoHeight"><code>videoHeight</code></dfn> IDL attribute must return
+  the <span title="concept-video-intrinsic-height">intrinsic height</span> of the video in CSS
+  pixels. If the element's <code title="dom-media-readyState">readyState</code> attribute is <code
+  title="dom-media-HAVE_NOTHING">HAVE_NOTHING</code>, then the attributes must return 0.</p>
 
   </div>
 
-  <p>The <code>video</code> element supports <span>dimension
-  attributes</span>.</p>
+  <p>The <code>video</code> element supports <span>dimension attributes</span>.</p>
 
   <div class="impl">
 
-  <p>In the absence of style rules to the contrary, video content
-  should be rendered inside the element's playback area such that the
-  video content is shown centered in the playback area at the largest
-  possible size that fits completely within it, with the video
-  content's aspect ratio being preserved. Thus, if the aspect ratio of
-  the playback area does not match the aspect ratio of the video, the
-  video will be shown letterboxed or pillarboxed. Areas of the
-  element's playback area that do not contain the video represent
-  nothing.</p>
+  <p>In the absence of style rules to the contrary, video content should be rendered inside the
+  element's playback area such that the video content is shown centered in the playback area at the
+  largest possible size that fits completely within it, with the video content's aspect ratio being
+  preserved. Thus, if the aspect ratio of the playback area does not match the aspect ratio of the
+  video, the video will be shown letterboxed or pillarboxed. Areas of the element's playback area
+  that do not contain the video represent nothing.</p>
 
-  <p class="note">In user agents that implement CSS, the above
-  requirement can be implemented by using the <a
-  href="#video-object-fit">style rule suggested in the rendering
-  section</a>.</p>
+  <p class="note">In user agents that implement CSS, the above requirement can be implemented by
+  using the <a href="#video-object-fit">style rule suggested in the rendering section</a>.</p>
 
   <p>The intrinsic width of a <code>video</code> element's playback area is the intrinsic width of
   the <span>poster frame</span>, if that is available and the element currently
@@ -27931,40 +27893,32 @@
 
   <hr>
 
-  <p>User agents should provide controls to enable or disable the
-  display of closed captions, audio description tracks, and other
-  additional data associated with the video stream, though such
-  features should, again, not interfere with the page's normal
-  rendering.</p>
+  <p>User agents should provide controls to enable or disable the display of closed captions, audio
+  description tracks, and other additional data associated with the video stream, though such
+  features should, again, not interfere with the page's normal rendering.</p>
 
-  <p>User agents may allow users to view the video content in manners
-  more suitable to the user (e.g. full-screen or in an independent
-  resizable window). As for the other user interface features,
-  controls to enable this should not interfere with the page's normal
-  rendering unless the user agent is <span title="expose a user
-  interface to the user">exposing a user interface</span>. In such an
-  independent context, however, user agents may make full user
-  interfaces visible, with, e.g., play, pause, seeking, and volume
-  controls, even if the <code
+  <p>User agents may allow users to view the video content in manners more suitable to the user
+  (e.g. full-screen or in an independent resizable window). As for the other user interface
+  features, controls to enable this should not interfere with the page's normal rendering unless the
+  user agent is <span title="expose a user interface to the user">exposing a user interface</span>.
+  In such an independent context, however, user agents may make full user interfaces visible, with,
+  e.g., play, pause, seeking, and volume controls, even if the <code
   title="attr-media-controls">controls</code> attribute is absent.</p>
 
-  <p>User agents may allow video playback to affect system features
-  that could interfere with the user's experience; for example, user
-  agents could disable screensavers while video playback is in
+  <p>User agents may allow video playback to affect system features that could interfere with the
+  user's experience; for example, user agents could disable screensavers while video playback is in
   progress.</p>
 
   <hr>
 
-  <p>The <dfn title="dom-video-poster"><code>poster</code></dfn> IDL
-  attribute must <span>reflect</span> the <code
-  title="attr-video-poster">poster</code> content attribute.</p>
+  <p>The <dfn title="dom-video-poster"><code>poster</code></dfn> IDL attribute must
+  <span>reflect</span> the <code title="attr-video-poster">poster</code> content attribute.</p>
 
   </div>
 
   <div class="example">
 
-   <p>This example shows how to detect when a video has failed to play
-   correctly:</p>
+   <p>This example shows how to detect when a video has failed to play correctly:</p>
 
    <pre><script>
  function failed(e) {
@@ -28002,17 +27956,15 @@
 
   <h5>Video and audio codecs for <code>video</code> elements</h5>
 
-  <p>User agents may support any video and audio codecs and container
-  formats.</p>
+  <p>User agents may support any video and audio codecs and container formats.</p>
 
-  <p class="note">Certain user agents might support no codecs at all,
-  e.g. text browsers running over SSH connections.</p>
+  <p class="note">Certain user agents might support no codecs at all, e.g. text browsers running
+  over SSH connections.</p>
 
   <!- - similar note in audio codecs section - ->
-  <p class="note">Implementations are free to implement support for
-  video codecs either natively, or using platform-specific APIs, or
-  using plugins: this specification does not specify how codecs are to
-  be implemented.</p>
+  <p class="note">Implementations are free to implement support for video codecs either natively, or
+  using platform-specific APIs, or using plugins: this specification does not specify how codecs are
+  to be implemented.</p>
 
   </div>
 
@@ -28057,8 +28009,7 @@
    </dd>
   </dl><!--TOPIC:HTML-->
 
-  <p>An <code>audio</code> element <span>represents</span> a sound or
-  audio stream.</p>
+  <p>An <code>audio</code> element <span>represents</span> a sound or audio stream.</p>
 
   <!-- v2 (actually v3) suggestions:
     * Audio syntesis. Use cases from Charles Pritchard:
@@ -28077,12 +28028,10 @@
       > Support very simple audio codecs, and programmable synthesizers.
   -->
 
-  <p>Content may be provided inside the <code>audio</code>
-  element<span class="impl">. User agents should not show this content
-  to the user</span>; it is intended for older Web browsers which do
-  not support <code>audio</code>, so that legacy audio plugins can be
-  tried, or to show text to the users of these older browsers informing
-  them of how to access the audio contents.</p>
+  <p>Content may be provided inside the <code>audio</code> element<span class="impl">. User agents
+  should not show this content to the user</span>; it is intended for older Web browsers which do
+  not support <code>audio</code>, so that legacy audio plugins can be tried, or to show text to the
+  users of these older browsers informing them of how to access the audio contents.</p>
 
   <p class="note">In particular, this content is not intended to address accessibility concerns. To
   make audio content accessible to the deaf or to those with other physical or cognitive
@@ -28093,28 +28042,24 @@
   naturally, transcripts or other textual alternatives can be provided by simply linking to them in
   the prose near the <code>audio</code> element. <a href="#refsWEBVTT">[WEBVTT]</a></p>
 
-  <p>The <code>audio</code> element is a <span>media element</span>
-  whose <span>media data</span> is ostensibly audio data.</p>
+  <p>The <code>audio</code> element is a <span>media element</span> whose <span>media data</span> is
+  ostensibly audio data.</p>
 
-  <p>The <code title="attr-media-src">src</code>, <code
-  title="attr-media-preload">preload</code>, <code
-  title="attr-media-autoplay">autoplay</code>, 
-  <code title="attr-media-mediagroup">mediagroup</code>,
-  <code title="attr-media-loop">loop</code>,
-  <code title="attr-media-muted">muted</code>, and <code
-  title="attr-media-controls">controls</code> attributes are <span
-  title="media element attributes">the attributes common to all media
+  <p>The <code title="attr-media-src">src</code>, <code title="attr-media-preload">preload</code>,
+  <code title="attr-media-autoplay">autoplay</code>, <code
+  title="attr-media-mediagroup">mediagroup</code>, <code title="attr-media-loop">loop</code>, <code
+  title="attr-media-muted">muted</code>, and <code title="attr-media-controls">controls</code>
+  attributes are <span title="media element attributes">the attributes common to all media
   elements</span>.</p>
 
   <div class="impl">
 
-  <p>When an <code>audio</code> element is <span>potentially
-  playing</span>, it must have its audio data played synchronized with
-  the <span>current playback position</span>, at the element's
+  <p>When an <code>audio</code> element is <span>potentially playing</span>, it must have its audio
+  data played synchronized with the <span>current playback position</span>, at the element's
   <span>effective media volume</span>.</p>
 
-  <p>When an <code>audio</code> element is not <span>potentially
-  playing</span>, audio must not play for the element.</p>
+  <p>When an <code>audio</code> element is not <span>potentially playing</span>, audio must not play
+  for the element.</p>
 
   </div>
 
@@ -28124,9 +28069,8 @@
 
    <dd>
 
-    <p>Returns a new <code>audio</code> element, with the <code
-    title="attr-media-src">src</code> attribute set to the value
-    passed in the argument, if applicable.</p>
+    <p>Returns a new <code>audio</code> element, with the <code title="attr-media-src">src</code>
+    attribute set to the value passed in the argument, if applicable.</p>
 
    </dd>
 
@@ -28157,12 +28101,10 @@
 
   <h5>Audio codecs for <code>audio</code> elements</h5>
 
-  <p>User agents may support any audio codecs and container
-  formats.</p>
+  <p>User agents may support any audio codecs and container formats.</p>
 
-  <p>User agents must support the WAVE container format with audio
-  encoded using the 16 bit PCM (LE) codec, at sampling frequencies of
-  11.025kHz, 22.050kHz, and 44.100kHz, and for both mono and
+  <p>User agents must support the WAVE container format with audio encoded using the 16 bit PCM (LE)
+  codec, at sampling frequencies of 11.025kHz, 22.050kHz, and 44.100kHz, and for both mono and
   stereo. <a href="#- -refsWAVE">[WAVE]</a></p>
 
   <!- -
@@ -28171,10 +28113,9 @@
   - ->
 
   <!- - similar note in video codecs section - ->
-  <p class="note">Implementations are free to implement support for
-  audio codecs either natively, or using platform-specific APIs, or
-  using plugins: this specification does not specify how codecs are to
-  be implemented.</p>
+  <p class="note">Implementations are free to implement support for audio codecs either natively, or
+  using platform-specific APIs, or using plugins: this specification does not specify how codecs are
+  to be implemented.</p>
 
   </div>
 
@@ -91179,8 +91120,11 @@
   domain. Authors can avoid this using the relatively complex mechanism of using unique domain names
   per connection, or by allowing the user to enable or disable the <code>EventSource</code>
   functionality on a per-page basis, or by sharing a single <code>EventSource</code> object using a
-  <span title="SharedWorkerGlobalScope">shared worker</span>. <!--END complete--> <a
-  href="#refsWEBWORKERS">[WEBWORKERS]</a> <!--START complete--> </p>
+  <span title="SharedWorkerGlobalScope">shared worker</span>.
+  <!--END complete-->
+  <a href="#refsWEBWORKERS">[WEBWORKERS]</a>
+  <!--START complete-->
+  </p>
 
 
   <h4 id="eventsource-push">Connectionless push and other features</h4>
@@ -93791,68 +93735,52 @@
 };
 <span>Window</span> implements <span>WindowSessionStorage</span>;</pre>
 
-  <p>The <dfn
-  title="dom-sessionStorage"><code>sessionStorage</code></dfn>
-  attribute represents the set of storage areas specific to the
-  current <span>top-level browsing context</span>.</p>
+  <p>The <dfn title="dom-sessionStorage"><code>sessionStorage</code></dfn> attribute represents the
+  set of storage areas specific to the current <span>top-level browsing context</span>.</p>
 
-  <p>Each <span>top-level browsing context</span> has a unique set of
-  session storage areas, one for each <span>origin</span>.</p>
+  <p>Each <span>top-level browsing context</span> has a unique set of session storage areas, one for
+  each <span>origin</span>.</p>
 
-  <p>User agents should not expire data from a browsing context's
-  session storage areas, but may do so when the user requests that
-  such data be deleted, or when the UA detects that it has limited
-  storage space, or for security reasons. User agents should always
-  avoid deleting data while a script that could access that data is
-  running. When a top-level browsing context is destroyed (and
-  therefore permanently inaccessible to the user) the data stored in
-  its session storage areas can be discarded with it, as the API
-  described in this specification provides no way for that data to
+  <p>User agents should not expire data from a browsing context's session storage areas, but may do
+  so when the user requests that such data be deleted, or when the UA detects that it has limited
+  storage space, or for security reasons. User agents should always avoid deleting data while a
+  script that could access that data is running. When a top-level browsing context is destroyed (and
+  therefore permanently inaccessible to the user) the data stored in its session storage areas can
+  be discarded with it, as the API described in this specification provides no way for that data to
   ever be subsequently retrieved.</p>
 
-  <p class="note">The lifetime of a browsing context can be unrelated
-  to the lifetime of the actual user agent process itself, as the user
-  agent may support resuming sessions after a restart.</p>
+  <p class="note">The lifetime of a browsing context can be unrelated to the lifetime of the actual
+  user agent process itself, as the user agent may support resuming sessions after a restart.</p>
 
-  <p>When a new <code>Document</code> is created in a <span>browsing
-  context</span> which has a <span>top-level browsing context</span>,
-  the user agent must check to see if that <span>top-level browsing
-  context</span> has a session storage area for that document's
-  <span>origin</span>. If it does, then that is the
-  <code>Document</code>'s assigned session storage area. If it does
-  not, a new storage area for that document's <span>origin</span> must
-  be created, and then <em>that</em> is the <code>Document</code>'s
-  assigned session storage area. A <code>Document</code>'s assigned
-  storage area does not change during the lifetime of a
-  <code>Document</code>.</p>
+  <p>When a new <code>Document</code> is created in a <span>browsing context</span> which has a
+  <span>top-level browsing context</span>, the user agent must check to see if that <span>top-level
+  browsing context</span> has a session storage area for that document's <span>origin</span>. If it
+  does, then that is the <code>Document</code>'s assigned session storage area. If it does not, a
+  new storage area for that document's <span>origin</span> must be created, and then <em>that</em>
+  is the <code>Document</code>'s assigned session storage area. A <code>Document</code>'s assigned
+  storage area does not change during the lifetime of a <code>Document</code>.</p>
 
-  <p class="note">In the case of an <code>iframe</code> being moved to
-  another <code>Document</code>, the nested browsing context is
-  destroyed and a new one created.</p>
+  <p class="note">In the case of an <code>iframe</code> being moved to another
+  <code>Document</code>, the nested browsing context is destroyed and a new one created.</p>
 
-  <p>The <code title="dom-sessionStorage">sessionStorage</code>
-  attribute must return a <code>Storage</code> object associated with
-  the <code>Document</code>'s assigned session storage area, if any,
-  or null if there isn't one. Each <code>Document</code> object must
-  have a separate object for its <code>Window</code>'s <code
-  title="dom-sessionStorage">sessionStorage</code> attribute.</p>
+  <p>The <code title="dom-sessionStorage">sessionStorage</code> attribute must return a
+  <code>Storage</code> object associated with the <code>Document</code>'s assigned session storage
+  area, if any, or null if there isn't one. Each <code>Document</code> object must have a separate
+  object for its <code>Window</code>'s <code title="dom-sessionStorage">sessionStorage</code>
+  attribute.</p>
 
-  <p>When a new <span>top-level browsing context</span> is created by
-  cloning an existing <span>browsing context</span>, the new browsing
-  context must start with the same session storage areas as the
-  original, but the two sets must from that point on be considered
-  separate, not affecting each other in any way.</p>
+  <p>When a new <span>top-level browsing context</span> is created by cloning an existing
+  <span>browsing context</span>, the new browsing context must start with the same session storage
+  areas as the original, but the two sets must from that point on be considered separate, not
+  affecting each other in any way.</p>
 
-  <p>When a new <span>top-level browsing context</span> is created by
-  a <span title="concept-script">script</span> in an existing
-  <span>browsing context</span>, or by the user following a link in an
-  existing browsing context, or in some other way related to a
-  specific <code>Document</code>, and the creation is not <span>a
-  new start for session storage</span>, then the session storage area of the
-  <span>origin</span> of that <code>Document</code> must be copied
-  into the new browsing context when it is created. From that point
-  on, however, the two session storage areas must be considered
-  separate, not affecting each other in any way.</p>
+  <p>When a new <span>top-level browsing context</span> is created by a <span
+  title="concept-script">script</span> in an existing <span>browsing context</span>, or by the user
+  following a link in an existing browsing context, or in some other way related to a specific
+  <code>Document</code>, and the creation is not <span>a new start for session storage</span>, then
+  the session storage area of the <span>origin</span> of that <code>Document</code> must be copied
+  into the new browsing context when it is created. From that point on, however, the two session
+  storage areas must be considered separate, not affecting each other in any way.</p>
 
   <p id="sessionStorageEvent">When the <code title="dom-Storage-setItem">setItem()</code>, <code
   title="dom-Storage-removeItem">removeItem()</code>, and <code
@@ -93872,47 +93800,38 @@
 };
 <span>Window</span> implements <span>WindowLocalStorage</span>;</pre>
 
-<!--CLEANUP-->
-  <p>The <dfn title="dom-localStorage"><code>localStorage</code></dfn>
-  object provides a <code>Storage</code> object for an
-  <span>origin</span>.
+  <p>The <dfn title="dom-localStorage"><code>localStorage</code></dfn> object provides a
+  <code>Storage</code> object for an <span>origin</span>.
   <!--INSERT FINGERPRINT-->
   </p>
 
-  <p>User agents must have a set of local storage areas, one for each
-  <span>origin</span>.</p>
+  <p>User agents must have a set of local storage areas, one for each <span>origin</span>.</p>
 
-  <p>User agents should expire data from the local storage areas only
-  for security reasons or when requested to do so by the user. User
-  agents should always avoid deleting data while a script that could
-  access that data is running.</p>
+  <p>User agents should expire data from the local storage areas only for security reasons or when
+  requested to do so by the user. User agents should always avoid deleting data while a script that
+  could access that data is running.</p>
 
-  <p>When the <code title="dom-localStorage">localStorage</code>
-  attribute is accessed, the user agent must run the following steps,
-  which are known as the <dfn><code>Storage</code> object
-  initialization steps</dfn>:</p> <!-- these steps are named because
-  marcos uses them from another spec -->
+  <p>When the <code title="dom-localStorage">localStorage</code> attribute is accessed, the user
+  agent must run the following steps, which are known as the <dfn><code>Storage</code> object
+  initialization steps</dfn>:</p> <!-- these steps are named because marcos uses them from another
+  spec -->
 
   <ol>
 
-   <li><p>The user agent may throw a <code>SecurityError</code>
-   exception and abort these steps instead of returning a <code>Storage</code> object if the
-   request violates a policy decision (e.g. if the user agent is
-   configured to not allow the page to persist data).</p></li>
+   <li><p>The user agent may throw a <code>SecurityError</code> exception and abort these steps
+   instead of returning a <code>Storage</code> object if the request violates a policy decision
+   (e.g. if the user agent is configured to not allow the page to persist data).</p></li>
 
-   <li><p>If the <code>Document</code>'s <span>origin</span> is not a
-   scheme/host/port tuple, then throw a <code>SecurityError</code>
-   exception and abort these steps.</p></li>
+   <li><p>If the <code>Document</code>'s <span>origin</span> is not a scheme/host/port tuple, then
+   throw a <code>SecurityError</code> exception and abort these steps.</p></li>
 
-   <li><p>Check to see if the user agent has allocated a local storage
-   area for the <span>origin</span> of the <code>Document</code> of
-   the <code>Window</code> object on which the attribute was accessed.
-   If it has not, create a new storage area for that
+   <li><p>Check to see if the user agent has allocated a local storage area for the
+   <span>origin</span> of the <code>Document</code> of the <code>Window</code> object on which the
+   attribute was accessed. If it has not, create a new storage area for that
    <span>origin</span>.</p></li>
 
-   <li><p>Return the <code>Storage</code> object associated with that
-   origin's local storage area. Each <code>Document</code> object must
-   have a separate object for its <code>Window</code>'s <code
+   <li><p>Return the <code>Storage</code> object associated with that origin's local storage area.
+   Each <code>Document</code> object must have a separate object for its <code>Window</code>'s <code
    title="dom-localStorage">localStorage</code> attribute.</p>
 
   </ol>
@@ -93927,14 +93846,12 @@
   title="">x</var>, <span>send a storage notification</span>.
 
   <p id="localStorageMutex">Whenever the properties of a <code
-  title="dom-localStorage">localStorage</code> attribute's
-  <code>Storage</code> object are to be examined, returned, set, or
-  deleted, whether as part of a direct property access, when checking
-  for the presence of a property, during property enumeration, when
-  determining the number of properties present, or as part of the
-  execution of any of the methods or attributes defined on the
-  <code>Storage</code> interface, the user agent must first
-  <span>obtain the storage mutex</span>.</p>
+  title="dom-localStorage">localStorage</code> attribute's <code>Storage</code> object are to be
+  examined, returned, set, or deleted, whether as part of a direct property access, when checking
+  for the presence of a property, during property enumeration, when determining the number of
+  properties present, or as part of the execution of any of the methods or attributes defined on the
+  <code>Storage</code> interface, the user agent must first <span>obtain the storage
+  mutex</span>.</p>
 
 
   <h5>The <code title="event-storage">storage</code> event</h5>
@@ -94434,69 +94351,51 @@
 
   </dl>
 
-<!--CLEANUP-->
-  <p><dfn title="syntax-tags">Tags</dfn> are used to delimit the start
-  and end of elements in the markup. <span title="raw text
-  elements">Raw text</span>, <span title="escapable raw text
-  elements">escapable raw text</span>, and <span title="normal
-  elements">normal</span> elements have a <span
-  title="syntax-start-tag">start tag</span> to indicate where they
-  begin, and an <span title="syntax-end-tag">end tag</span> to
-  indicate where they end. The start and end tags of certain
-  <span>normal elements</span> can be <span
-  title="syntax-tag-omission">omitted</span>, as described
-  below in the section on <span title="syntax-tag-omission">optional tags</span>. Those that cannot be omitted must not be omitted. <span>Void
-  elements</span> only have a start tag; end tags must not be
-  specified for <span>void elements</span>. <span>Foreign
-  elements</span> must either have a start tag and an end tag, or a
-  start tag that is marked as self-closing, in which case they must
-  not have an end tag.</p>
+  <p><dfn title="syntax-tags">Tags</dfn> are used to delimit the start and end of elements in the
+  markup. <span title="raw text elements">Raw text</span>, <span title="escapable raw text
+  elements">escapable raw text</span>, and <span title="normal elements">normal</span> elements have
+  a <span title="syntax-start-tag">start tag</span> to indicate where they begin, and an <span
+  title="syntax-end-tag">end tag</span> to indicate where they end. The start and end tags of
+  certain <span>normal elements</span> can be <span title="syntax-tag-omission">omitted</span>, as
+  described below in the section on <span title="syntax-tag-omission">optional tags</span>. Those
+  that cannot be omitted must not be omitted. <span>Void elements</span> only have a start tag; end
+  tags must not be specified for <span>void elements</span>. <span>Foreign elements</span> must
+  either have a start tag and an end tag, or a start tag that is marked as self-closing, in which
+  case they must not have an end tag.</p>
 
-  <p>The <span title="concept-html-contents">contents</span> of the element must be placed between just after the
-  start tag (which <span title="syntax-tag-omission">might be implied,
-  in certain cases</span>) and just before the end tag (which again,
-  <span title="syntax-tag-omission">might be implied in certain
-  cases</span>). The exact allowed contents of each individual element
-  depend on the <span title="content models">content model</span> of that element, as described earlier in
-  this specification. Elements must not contain content that their
-  content model disallows. In addition to the restrictions placed on
-  the contents by those content models, however, the five types of
-  elements have additional <em>syntactic</em> requirements.</p>
+  <p>The <span title="concept-html-contents">contents</span> of the element must be placed between
+  just after the start tag (which <span title="syntax-tag-omission">might be implied, in certain
+  cases</span>) and just before the end tag (which again, <span title="syntax-tag-omission">might be
+  implied in certain cases</span>). The exact allowed contents of each individual element depend on
+  the <span title="content models">content model</span> of that element, as described earlier in
+  this specification. Elements must not contain content that their content model disallows. In
+  addition to the restrictions placed on the contents by those content models, however, the five
+  types of elements have additional <em>syntactic</em> requirements.</p>
 
-  <p><span>Void elements</span> can't have any contents (since there's
-  no end tag, no content can be put between the start tag and the end
-  tag).</p>
+  <p><span>Void elements</span> can't have any contents (since there's no end tag, no content can be
+  put between the start tag and the end tag).</p>
 
-  <p><span>Raw text elements</span> can have <span
-  title="syntax-text">text</span>, though it has <a
-  href="#cdata-rcdata-restrictions">restrictions</a> described
-  below.</p>
+  <p><span>Raw text elements</span> can have <span title="syntax-text">text</span>, though it has <a
+  href="#cdata-rcdata-restrictions">restrictions</a> described below.</p>
 
-  <p><span>Escapable raw text elements</span> can have <span
-  title="syntax-text">text</span> and <span
-  title="syntax-charref">character references</span>, but the text
-  must not contain an <span
-  title="syntax-ambiguous-ampersand">ambiguous ampersand</span>.
-  There are also <a href="#cdata-rcdata-restrictions">further
-  restrictions</a> described below.</p>
+  <p><span>Escapable raw text elements</span> can have <span title="syntax-text">text</span> and
+  <span title="syntax-charref">character references</span>, but the text must not contain an <span
+  title="syntax-ambiguous-ampersand">ambiguous ampersand</span>. There are also <a
+  href="#cdata-rcdata-restrictions">further restrictions</a> described below.</p>
 
-  <p><span>Foreign elements</span> whose start tag is marked as
-  self-closing can't have any contents (since, again, as there's no
-  end tag, no content can be put between the start tag and the end
-  tag). <span>Foreign elements</span> whose start tag is <em>not</em>
-  marked as self-closing can have <span
-  title="syntax-text">text</span>, <span
-  title="syntax-charref">character references</span>, <span
-  title="syntax-cdata">CDATA sections</span>, other <span
-  title="syntax-elements">elements</span>, and <span
-  title="syntax-comments">comments</span>, but the text must not
-  contain the character U+003C LESS-THAN SIGN (<) or an <span
+  <p><span>Foreign elements</span> whose start tag is marked as self-closing can't have any contents
+  (since, again, as there's no end tag, no content can be put between the start tag and the end
+  tag). <span>Foreign elements</span> whose start tag is <em>not</em> marked as self-closing can
+  have <span title="syntax-text">text</span>, <span title="syntax-charref">character
+  references</span>, <span title="syntax-cdata">CDATA sections</span>, other <span
+  title="syntax-elements">elements</span>, and <span title="syntax-comments">comments</span>, but
+  the text must not contain the character U+003C LESS-THAN SIGN (<) or an <span
   title="syntax-ambiguous-ampersand">ambiguous ampersand</span>.</p>
 
   <div class="note">
 
-   <p>The HTML syntax does not support namespace
-   declarations, even in <span>foreign elements</span>.</p>
+   <p>The HTML syntax does not support namespace declarations, even in <span>foreign
+   elements</span>.</p>
 
    <p>For instance, consider the following HTML fragment:</p>
 
@@ -94509,28 +94408,22 @@
  </svg>
 </p></pre>
 
-   <p>The innermost element, <code title="">cdr:license</code>, is
-   actually in the SVG namespace, as the "<code
-   title="">xmlns:cdr</code>" attribute has no effect (unlike in
-   XML). In fact, as the comment in the fragment above says, the
-   fragment is actually non-conforming. This is because the SVG
-   specification does not define any elements called "<code
-   title="">cdr:license</code>" in the SVG namespace.</p>
+   <p>The innermost element, <code title="">cdr:license</code>, is actually in the SVG namespace, as
+   the "<code title="">xmlns:cdr</code>" attribute has no effect (unlike in XML). In fact, as the
+   comment in the fragment above says, the fragment is actually non-conforming. This is because the
+   SVG specification does not define any elements called "<code title="">cdr:license</code>" in the
+   SVG namespace.</p>
 
   </div>
 
-  <p><span>Normal elements</span> can have <span
-  title="syntax-text">text</span>, <span
+  <p><span>Normal elements</span> can have <span title="syntax-text">text</span>, <span
   title="syntax-charref">character references</span>, other <span
-  title="syntax-elements">elements</span>, and <span
-  title="syntax-comments">comments</span>, but the text must not
-  contain the character U+003C LESS-THAN SIGN (<) or an <span
-  title="syntax-ambiguous-ampersand">ambiguous ampersand</span>. Some
-  <span>normal elements</span> also have <a
-  href="#element-restrictions">yet more restrictions</a> on what
-  content they are allowed to hold, beyond the restrictions imposed by
-  the content model and those described in this paragraph. Those
-  restrictions are described below.</p>
+  title="syntax-elements">elements</span>, and <span title="syntax-comments">comments</span>, but
+  the text must not contain the character U+003C LESS-THAN SIGN (<) or an <span
+  title="syntax-ambiguous-ampersand">ambiguous ampersand</span>. Some <span>normal elements</span>
+  also have <a href="#element-restrictions">yet more restrictions</a> on what content they are
+  allowed to hold, beyond the restrictions imposed by the content model and those described in this
+  paragraph. Those restrictions are described below.</p>
 
   <p>Tags contain a <dfn title="syntax-tag-name">tag name</dfn>, giving the element's name. HTML
   elements all have names that only use <span>alphanumeric ASCII characters</span>. In the HTML
@@ -94541,92 +94434,76 @@
 
   <h5>Start tags</h5>
 
-  <p><dfn title="syntax-start-tag">Start tags</dfn> must have the
-  following format:</p>
+  <p><dfn title="syntax-start-tag">Start tags</dfn> must have the following format:</p>
 
   <ol>
 
-   <li>The first character of a start tag must be a U+003C LESS-THAN
-   SIGN character (<).</li>
+   <li>The first character of a start tag must be a U+003C LESS-THAN SIGN character (<).</li>
 
-   <li>The next few characters of a start tag must be the element's
-   <span title="syntax-tag-name">tag name</span>.</li>
+   <li>The next few characters of a start tag must be the element's <span
+   title="syntax-tag-name">tag name</span>.</li>
 
-   <li>If there are to be any attributes in the next step, there must
-   first be one or more <span title="space character">space
-   characters</span>.</li>
+   <li>If there are to be any attributes in the next step, there must first be one or more <span
+   title="space character">space characters</span>.</li>
 
    <li>Then, the start tag may have a number of attributes, the <span
-   title="syntax-attributes">syntax for which</span> is described
-   below. Attributes must be separated from each other by one or more
-   <span title="space character">space characters</span>.</li>
+   title="syntax-attributes">syntax for which</span> is described below. Attributes must be
+   separated from each other by one or more <span title="space character">space
+   characters</span>.</li>
 
-   <li>After the attributes, or after the <span
-   title="syntax-tag-name">tag name</span> if there are no attributes,
-   there may be one or more <span title="space character">space
-   characters</span>. (Some attributes are required to be followed by
-   a space. See the <span title="syntax-attributes">attributes
-   section</span> below.)</li>
+   <li>After the attributes, or after the <span title="syntax-tag-name">tag name</span> if there are
+   no attributes, there may be one or more <span title="space character">space characters</span>.
+   (Some attributes are required to be followed by a space. See the <span
+   title="syntax-attributes">attributes section</span> below.)</li>
 
-   <li>Then, if the element is one of the <span>void elements</span>,
-   or if the element is a <span title="foreign elements">foreign
-   element</span>, then there may be a single U+002F SOLIDUS character
-   (/). This character has no effect on <span>void elements</span>,
-   but on <span>foreign elements</span> it marks the start tag as
-   self-closing.</li>
+   <li>Then, if the element is one of the <span>void elements</span>, or if the element is a <span
+   title="foreign elements">foreign element</span>, then there may be a single U+002F SOLIDUS
+   character (/). This character has no effect on <span>void elements</span>, but on <span>foreign
+   elements</span> it marks the start tag as self-closing.</li>
 
-   <li>Finally, start tags must be closed by a U+003E GREATER-THAN
-   SIGN character (>).</li>
+   <li>Finally, start tags must be closed by a U+003E GREATER-THAN SIGN character (>).</li>
 
   </ol>
 
 
   <h5>End tags</h5>
 
-  <p><dfn title="syntax-end-tag">End tags</dfn> must have the
-  following format:</p>
+  <p><dfn title="syntax-end-tag">End tags</dfn> must have the following format:</p>
 
   <ol>
 
-   <li>The first character of an end tag must be a U+003C LESS-THAN
-   SIGN character (<).</li>
+   <li>The first character of an end tag must be a U+003C LESS-THAN SIGN character (<).</li>
 
-   <li>The second character of an end tag must be a U+002F SOLIDUS
-   character (/).</li>
+   <li>The second character of an end tag must be a U+002F SOLIDUS character (/).</li>
 
-   <li>The next few characters of an end tag must be the element's
-   <span title="syntax-tag-name">tag name</span>.</li>
+   <li>The next few characters of an end tag must be the element's <span title="syntax-tag-name">tag
+   name</span>.</li>
 
-   <li>After the tag name, there may be one or more <span title="space
-   character">space characters</span>.</li>
+   <li>After the tag name, there may be one or more <span title="space character">space
+   characters</span>.</li>
 
-   <li>Finally, end tags must be closed by a U+003E GREATER-THAN SIGN
-   character (>).</li>
+   <li>Finally, end tags must be closed by a U+003E GREATER-THAN SIGN character (>).</li>
 
   </ol>
 
 
   <h5>Attributes</h5>
 
-  <p><dfn title="syntax-attributes">Attributes</dfn> for an element
-  are expressed inside the element's start tag.</p>
+  <p><dfn title="syntax-attributes">Attributes</dfn> for an element are expressed inside the
+  element's start tag.</p>
 
-  <p>Attributes have a name and a value. <dfn
-  title="syntax-attribute-name">Attribute names</dfn> must consist of
-  one or more characters other than the <span title="space
-  character">space characters</span>, U+0000 NULL, U+0022 QUOTATION
-  MARK (&#x22;), U+0027 APOSTROPHE (&#x27;), U+003E GREATER-THAN SIGN
-  (>), U+002F SOLIDUS (/), and U+003D EQUALS SIGN (=) characters,
-  the control characters, and any characters that are not defined by
-  Unicode. In the HTML syntax, attribute names, even those for
-  <span>foreign elements</span>, may be written with any mix of lower-
-  and uppercase letters that are an <span>ASCII
-  case-insensitive</span> match for the attribute's name.</p>
+  <p>Attributes have a name and a value. <dfn title="syntax-attribute-name">Attribute names</dfn>
+  must consist of one or more characters other than the <span title="space character">space
+  characters</span>, U+0000 NULL, U+0022 QUOTATION MARK (&#x22;), U+0027 APOSTROPHE (&#x27;), U+003E
+  GREATER-THAN SIGN (>), U+002F SOLIDUS (/), and U+003D EQUALS SIGN (=) characters, the control
+  characters, and any characters that are not defined by Unicode. In the HTML syntax, attribute
+  names, even those for <span>foreign elements</span>, may be written with any mix of lower- and
+  uppercase letters that are an <span>ASCII case-insensitive</span> match for the attribute's
+  name.</p>
 
-  <p><dfn title="syntax-attribute-value">Attribute values</dfn> are a
-  mixture of <span title="syntax-text">text</span> and <span
-  title="syntax-charref">character references</span>, except with the
-  additional restriction that the text cannot contain an <span
+  <p><dfn title="syntax-attribute-value">Attribute values</dfn> are a mixture of <span
+  title="syntax-text">text</span> and <span title="syntax-charref">character references</span>,
+  except with the additional restriction that the text cannot contain an <span
   title="syntax-ambiguous-ampersand">ambiguous ampersand</span>.</p>
 
   <p>Attributes can be specified in four different ways:</p>
@@ -94637,22 +94514,20 @@
 
    <dd>
 
-    <p>Just the <span title="syntax-attribute-name">attribute
-    name</span>. The value is implicitly the empty string.</p>
+    <p>Just the <span title="syntax-attribute-name">attribute name</span>. The value is implicitly
+    the empty string.</p>
 
     <div class="example">
 
-     <p>In the following example, the <code
-     title="attr-fe-disabled">disabled</code> attribute is given with
-     the empty attribute syntax:</p>
+     <p>In the following example, the <code title="attr-fe-disabled">disabled</code> attribute is
+     given with the empty attribute syntax:</p>
 
      <pre><input <em>disabled</em>></pre>
 
     </div>
 
-    <p>If an attribute using the empty attribute syntax is to be
-    followed by another attribute, then there must be a <span>space
-    character</span> separating the two.</p>
+    <p>If an attribute using the empty attribute syntax is to be followed by another attribute, then
+    there must be a <span>space character</span> separating the two.</p>
 
    </dd>
 
@@ -94660,29 +94535,23 @@
 
    <dd>
 
-    <p>The <span title="syntax-attribute-name">attribute name</span>,
-    followed by zero or more <span title="space character">space
-    characters</span>, followed by a single U+003D EQUALS SIGN
-    character, followed by zero or more <span title="space
-    character">space characters</span>, followed by the <span
-    title="syntax-attribute-value">attribute value</span>, which, in
-    addition to the requirements given above for attribute values,
-    must not contain any literal <span title="space character">space
-    characters</span>, any U+0022 QUOTATION MARK characters (&#x22;),
-    U+0027 APOSTROPHE characters (&#x27;), U+003D EQUALS SIGN
-    characters (=), U+003C LESS-THAN SIGN characters (<), U+003E
-    GREATER-THAN SIGN characters (>), or U+0060 GRAVE ACCENT
-    characters (`), and must not be the empty string.</p>
+    <p>The <span title="syntax-attribute-name">attribute name</span>, followed by zero or more <span
+    title="space character">space characters</span>, followed by a single U+003D EQUALS SIGN
+    character, followed by zero or more <span title="space character">space characters</span>,
+    followed by the <span title="syntax-attribute-value">attribute value</span>, which, in addition
+    to the requirements given above for attribute values, must not contain any literal <span
+    title="space character">space characters</span>, any U+0022 QUOTATION MARK characters (&#x22;),
+    U+0027 APOSTROPHE characters (&#x27;), U+003D EQUALS SIGN characters (=), U+003C LESS-THAN SIGN
+    characters (<), U+003E GREATER-THAN SIGN characters (>), or U+0060 GRAVE ACCENT characters
+    (`), and must not be the empty string.</p>
 
-    <!-- The ` character is in this list on a temporary basis, waiting
-         for IE to fix its 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.
+    <!-- The ` character is in this list on a temporary basis, waiting for IE to fix its 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:
+         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:
 
             `
 
@@ -94690,8 +94559,8 @@
 
             ` 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:
+         ...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">
 
@@ -94706,19 +94575,17 @@
 
     <div class="example">
 
-     <p>In the following example, the <code
-     title="attr-input-value">value</code> attribute is given
+     <p>In the following example, the <code title="attr-input-value">value</code> attribute is given
      with the unquoted attribute value syntax:</p>
 
      <pre><input <em>value=yes</em>></pre>
 
     </div>
 
-    <p>If an attribute using the unquoted attribute syntax is to be
-    followed by another attribute or by the optional U+002F SOLIDUS
-    character (/) allowed in step 6 of the <span
-    title="syntax-start-tag">start tag</span> syntax above, then there
-    must be a <span>space character</span> separating the two.</p>
+    <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 <span
+    title="syntax-start-tag">start tag</span> syntax above, then there must be a <span>space
+    character</span> separating the two.</p>
 
    </dd>
 
@@ -94726,31 +94593,25 @@
 
    <dd>
 
-    <p>The <span title="syntax-attribute-name">attribute name</span>,
-    followed by zero or more <span title="space character">space
-    characters</span>, followed by a single U+003D EQUALS SIGN
-    character, followed by zero or more <span title="space
-    character">space characters</span>, followed by a single U+0027
-    APOSTROPHE character ('), followed by the <span
-    title="syntax-attribute-value">attribute value</span>, 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>
+    <p>The <span title="syntax-attribute-name">attribute name</span>, followed by zero or more <span
+    title="space character">space characters</span>, followed by a single U+003D EQUALS SIGN
+    character, followed by zero or more <span title="space character">space characters</span>,
+    followed by a single U+0027 APOSTROPHE character ('), followed by the <span
+    title="syntax-attribute-value">attribute value</span>, 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">type</code> attribute is given with the
-     single-quoted attribute value syntax:</p>
+     <p>In the following example, the <code title="attr-input-type">type</code> attribute is given
+     with the single-quoted attribute value syntax:</p>
 
      <pre><input <em>type='checkbox'</em>></pre>
 
     </div>
 
-    <p>If an attribute using the single-quoted attribute syntax is to
-    be followed by another attribute, then there must be a <span>space
-    character</span> separating the two.</p>
+    <p>If an attribute using the single-quoted attribute syntax is to be followed by another
+    attribute, then there must be a <span>space character</span> separating the two.</p>
 
    </dd>
 
@@ -94758,47 +94619,38 @@
 
    <dd>
 
-    <p>The <span title="syntax-attribute-name">attribute name</span>,
-    followed by zero or more <span title="space character">space
-    characters</span>, followed by a single U+003D EQUALS SIGN
-    character, followed by zero or more <span title="space
-    character">space characters</span>, followed by a single U+0022
-    QUOTATION MARK character ("), followed by the <span
-    title="syntax-attribute-value">attribute value</span>, 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>
+    <p>The <span title="syntax-attribute-name">attribute name</span>, followed by zero or more <span
+    title="space character">space characters</span>, followed by a single U+003D EQUALS SIGN
+    character, followed by zero or more <span title="space character">space characters</span>,
+    followed by a single U+0022 QUOTATION MARK character ("), followed by the <span
+    title="syntax-attribute-value">attribute value</span>, 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">name</code> attribute is given with the
-     double-quoted attribute value syntax:</p>
+     <p>In the following example, the <code title="attr-fe-name">name</code> attribute is given with
+     the double-quoted attribute value syntax:</p>
 
      <pre><input <em>name="be evil"</em>></pre>
 
     </div>
 
-    <p>If an attribute using the double-quoted attribute syntax is to
-    be followed by another attribute, then there must be a <span>space
-    character</span> separating the two.</p>
+    <p>If an attribute using the double-quoted attribute syntax is to be followed by another
+    attribute, then there must be a <span>space character</span> separating the two.</p>
 
    </dd>
 
   </dl>
 
-  <p>There must never be two or more attributes on the same start tag
-  whose names are an <span>ASCII case-insensitive</span> match for
-  each other.</p>
+  <p>There must never be two or more attributes on the same start tag whose names are an <span>ASCII
+  case-insensitive</span> match for each other.</p>
 
   <hr>
 
-  <p>When a <span title="foreign elements">foreign element</span> 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>
+  <p>When a <span title="foreign elements">foreign element</span> 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>
@@ -94818,127 +94670,100 @@
     <tr> <td> <code title="">xlink</code> <td> <span>XMLNS namespace</span> <td> <code title="">xmlns:xlink</code>
   </table>
 
-  <p>No other namespaced attribute can be expressed in <span>the
-  HTML syntax</span>.</p>
+  <p>No other namespaced attribute can be expressed in <span>the HTML syntax</span>.</p>
 
-  <p class="note">Whether the attributes in the table above are
-  conforming or not is defined by other specifications (e.g. the SVG
-  and MathML specifications); this section only describes the syntax
-  rules if the attributes are serialized using the HTML syntax.</p>
+  <p class="note">Whether the attributes in the table above are conforming or not is defined by
+  other specifications (e.g. the SVG and MathML specifications); this section only describes the
+  syntax rules if the attributes are serialized using the HTML syntax.</p>
 
 
   <h5>Optional tags</h5>
 
-  <p>Certain tags can be <dfn
-  title="syntax-tag-omission">omitted</dfn>.</p>
+  <p>Certain tags can be <dfn title="syntax-tag-omission">omitted</dfn>.</p>
 
-  <p class="note">Omitting an element's <span
-  title="syntax-start-tag">start tag</span> in the situations
-  described below does not mean the element is not present; it is
-  implied, but it is still there. For example, an HTML document always
-  has a root <code>html</code> element, even if the string <code
-  title=""><html></code> doesn't appear anywhere in the markup.</p>
+  <p class="note">Omitting an element's <span title="syntax-start-tag">start tag</span> in the
+  situations described below does not mean the element is not present; it is implied, but it is
+  still there. For example, an HTML document always has a root <code>html</code> element, even if
+  the string <code title=""><html></code> doesn't appear anywhere in the markup.</p>
 
   <!-- <html> -->
-  <p>An <code>html</code> element's <span
-  title="syntax-start-tag">start tag</span> may be omitted if the
-  first thing inside the <code>html</code> element is not a <span
+  <p>An <code>html</code> element's <span title="syntax-start-tag">start tag</span> may be omitted
+  if the first thing inside the <code>html</code> element is not a <span
   title="syntax-comments">comment</span>.</p>
 
   <!-- </html> -->
-  <p>An <code>html</code> element's <span title="syntax-end-tag">end
-  tag</span> may be omitted if the <code>html</code> element is not
-  immediately followed by a <span
+  <p>An <code>html</code> element's <span title="syntax-end-tag">end tag</span> may be omitted if
+  the <code>html</code> element is not immediately followed by a <span
   title="syntax-comments">comment</span>.</p>
 
   <!-- <head> -->
-  <p>A <code>head</code> element's <span
-  title="syntax-start-tag">start tag</span> may be omitted if the
-  element is empty, or if the first thing inside the
-  <code>head</code> element is an element.</p>
+  <p>A <code>head</code> element's <span title="syntax-start-tag">start tag</span> may be omitted if
+  the element is empty, or if the first thing inside the <code>head</code> element is an
+  element.</p>
 
   <!-- </head> -->
-  <p>A <code>head</code> element's <span title="syntax-end-tag">end
-  tag</span> may be omitted if the <code>head</code> element is not
-  immediately followed by a <span>space character</span> or a <span
+  <p>A <code>head</code> element's <span title="syntax-end-tag">end tag</span> may be omitted if the
+  <code>head</code> element is not immediately followed by a <span>space character</span> or a <span
   title="syntax-comments">comment</span>.</p>
 
   <!-- <body> -->
-  <p>A <code>body</code> element's <span
-  title="syntax-start-tag">start tag</span> may be omitted if the
-  element is empty, or if the first thing inside the <code>body</code>
-  element is not a <span>space character</span> or a <span
-  title="syntax-comments">comment</span>, except if the first thing
-  inside the <code>body</code> element is a <code>script</code> or
-  <code>style</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>
+  <p>A <code>body</code> element's <span title="syntax-start-tag">start tag</span> may be omitted if
+  the element is empty, or if the first thing inside the <code>body</code> element is not a
+  <span>space character</span> or a <span title="syntax-comments">comment</span>, except if the
+  first thing inside the <code>body</code> element is a <code>script</code> or <code>style</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>body</code> element's <span title="syntax-end-tag">end
-  tag</span> may be omitted if the <code>body</code> element is not
-  immediately followed by a <span
+  <p>A <code>body</code> element's <span title="syntax-end-tag">end tag</span> may be omitted if the
+  <code>body</code> element is not immediately followed by a <span
   title="syntax-comments">comment</span>.</p>
 
   <!-- </li> -->
-  <p>An <code>li</code> element's <span title="syntax-end-tag">end
-  tag</span> may be omitted if the <code>li</code> element is
-  immediately followed by another <code>li</code> element or if there
-  is no more content in the parent element.</p>
+  <p>An <code>li</code> element's <span title="syntax-end-tag">end tag</span> may be omitted if the
+  <code>li</code> element is immediately followed by another <code>li</code> element or if there is
+  no more content in the parent element.</p>
 
   <!-- </dt> -->
-  <p>A <code>dt</code> element's <span title="syntax-end-tag">end
-  tag</span> may be omitted if the <code>dt</code> element is
-  immediately followed by another <code>dt</code> element or a
+  <p>A <code>dt</code> element's <span title="syntax-end-tag">end tag</span> may be omitted if the
+  <code>dt</code> element is immediately followed by another <code>dt</code> element or a
   <code>dd</code> element.</p>
 
   <!-- </dd> -->
-  <p>A <code>dd</code> element's <span title="syntax-end-tag">end
-  tag</span> may be omitted if the <code>dd</code> element is
-  immediately followed by another <code>dd</code> element or a
-  <code>dt</code> element, or if there is no more content in the
-  parent element.</p>
+  <p>A <code>dd</code> element's <span title="syntax-end-tag">end tag</span> may be omitted if the
+  <code>dd</code> element is immediately followed by another <code>dd</code> element or a
+  <code>dt</code> element, or if there is no more content in the parent element.</p>
 
   <!-- </p> -->
-  <p>A <code>p</code> element's <span title="syntax-end-tag">end
-  tag</span> may be omitted if the <code>p</code> element is
-  immediately followed by an <code>address</code>,
-  <code>article</code>, <code>aside</code>, <code>blockquote</code>,
-  <code>dir</code>, <code>div</code>, <code>dl</code>,
-  <code>fieldset</code>, <code>footer</code>, <code>form</code>,
-  <code>h1</code>, <code>h2</code>, <code>h3</code>, <code>h4</code>,
-  <code>h5</code>, <code>h6</code>, <code>header</code>,
-  <code>hgroup</code>, <code>hr</code>, <code>main</code>, <code>menu</code>,
-  <code>nav</code>, <code>ol</code>, <code>p</code>, <code>pre</code>,
-  <code>section</code>, <code>table</code>, or <code>ul</code>,
-  element, or if there is no more content in the parent element and
-  the parent element is not an <code>a</code> element.</p>
+  <p>A <code>p</code> element's <span title="syntax-end-tag">end tag</span> may be omitted if the
+  <code>p</code> element is immediately followed by an <code>address</code>, <code>article</code>,
+  <code>aside</code>, <code>blockquote</code>, <code>dir</code>, <code>div</code>, <code>dl</code>,
+  <code>fieldset</code>, <code>footer</code>, <code>form</code>, <code>h1</code>, <code>h2</code>,
+  <code>h3</code>, <code>h4</code>, <code>h5</code>, <code>h6</code>, <code>header</code>,
+  <code>hgroup</code>, <code>hr</code>, <code>main</code>, <code>menu</code>, <code>nav</code>,
+  <code>ol</code>, <code>p</code>, <code>pre</code>, <code>section</code>, <code>table</code>, or
+  <code>ul</code>, element, or if there is no more content in the parent element and the parent
+  element is not an <code>a</code> element.</p>
 
   <!-- </rt> -->
-  <p>An <code>rt</code> element's <span title="syntax-end-tag">end
-  tag</span> may be omitted if the <code>rt</code> element is
-  immediately followed by an <code>rt</code> or <code>rp</code>
-  element, or if there is no more content in the parent element.</p>
+  <p>An <code>rt</code> element's <span title="syntax-end-tag">end tag</span> may be omitted if the
+  <code>rt</code> element is immediately followed by an <code>rt</code> or <code>rp</code> element,
+  or if there is no more content in the parent element.</p>
 
   <!-- </rp> -->
-  <p>An <code>rp</code> element's <span title="syntax-end-tag">end
-  tag</span> may be omitted if the <code>rp</code> element is
-  immediately followed by an <code>rt</code> or <code>rp</code>
-  element, or if there is no more content in the parent element.</p>
+  <p>An <code>rp</code> element's <span title="syntax-end-tag">end tag</span> may be omitted if the
+  <code>rp</code> element is immediately followed by an <code>rt</code> or <code>rp</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>optgroup</code> element's <span
-  title="syntax-end-tag">end tag</span> may be omitted if the
-  <code>optgroup</code> element <!--has an ancestor
-  <code>select</code> element and--> is immediately followed by
-  another <code>optgroup</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>
+  <!-- </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>optgroup</code> element's <span title="syntax-end-tag">end tag</span> may be omitted
+  if the <code>optgroup</code> element <!--has an ancestor <code>select</code> element and--> is
+  immediately followed by another <code>optgroup</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>
@@ -94948,99 +94773,81 @@
   -->
 
   <!-- </option> -->
-  <p>An <code>option</code> element's <span title="syntax-end-tag">end
-  tag</span> may be omitted if the <code>option</code> element is
-  immediately followed by another <code>option</code> element, or if
-  it is immediately followed by an <code>optgroup</code> element, or
-  if there is no more content in the parent element.</p>
+  <p>An <code>option</code> element's <span title="syntax-end-tag">end tag</span> may be omitted if
+  the <code>option</code> element is immediately followed by another <code>option</code> element, or
+  if it is immediately followed by an <code>optgroup</code> element, or if there is no more content
+  in the parent element.</p>
 
   <!-- <colgroup> -->
-  <p>A <code>colgroup</code> element's <span
-  title="syntax-start-tag">start tag</span> may be omitted if the
-  first thing inside the <code>colgroup</code> element is a
-  <code>col</code> element, and if the element is not immediately
-  preceded by another <code>colgroup</code> element whose <span
-  title="syntax-end-tag">end tag</span> has been omitted. (It can't be
-  omitted if the element is empty.)</p>
+  <p>A <code>colgroup</code> element's <span title="syntax-start-tag">start tag</span> may be
+  omitted if the first thing inside the <code>colgroup</code> element is a <code>col</code> element,
+  and if the element is not immediately preceded by another <code>colgroup</code> element whose
+  <span title="syntax-end-tag">end tag</span> has been omitted. (It can't be omitted if the element
+  is empty.)</p>
 
   <!-- </colgroup> -->
-  <p>A <code>colgroup</code> element's <span
-  title="syntax-end-tag">end tag</span> may be omitted if the
-  <code>colgroup</code> element is not immediately followed by a
-  <span>space character</span> or a <span
-  title="syntax-comments">comment</span>.</p>
+  <p>A <code>colgroup</code> element's <span title="syntax-end-tag">end tag</span> may be omitted if
+  the <code>colgroup</code> element is not immediately followed by a <span>space character</span> or
+  a <span title="syntax-comments">comment</span>.</p>
 
   <!-- </thead> -->
-  <p>A <code>thead</code> element's <span title="syntax-end-tag">end
-  tag</span> may be omitted if the <code>thead</code> element is
-  immediately followed by a <code>tbody</code> or <code>tfoot</code>
-  element.</p>
+  <p>A <code>thead</code> element's <span title="syntax-end-tag">end tag</span> may be omitted if
+  the <code>thead</code> element is immediately followed by a <code>tbody</code> or
+  <code>tfoot</code> element.</p>
 
   <!-- <tbody> -->
-  <p>A <code>tbody</code> element's <span
-  title="syntax-start-tag">start tag</span> may be omitted if the
-  first thing inside the <code>tbody</code> element is a
-  <code>tr</code> element, and if the element is not immediately
-  preceded by a <code>tbody</code>, <code>thead</code>, or
-  <code>tfoot</code> element whose <span title="syntax-end-tag">end
-  tag</span> has been omitted. (It can't be omitted if the element is
-  empty.)</p>
+  <p>A <code>tbody</code> element's <span title="syntax-start-tag">start tag</span> may be omitted
+  if the first thing inside the <code>tbody</code> element is a <code>tr</code> element, and if the
+  element is not immediately preceded by a <code>tbody</code>, <code>thead</code>, or
+  <code>tfoot</code> element whose <span title="syntax-end-tag">end tag</span> has been omitted. (It
+  can't be omitted if the element is empty.)</p>
 
   <!-- </tbody> -->
-  <p>A <code>tbody</code> element's <span title="syntax-end-tag">end
-  tag</span> may be omitted if the <code>tbody</code> element is
-  immediately followed by a <code>tbody</code> or <code>tfoot</code>
-  element, or if there is no more content in the parent element.</p>
+  <p>A <code>tbody</code> element's <span title="syntax-end-tag">end tag</span> may be omitted if
+  the <code>tbody</code> element is immediately followed by a <code>tbody</code> or
+  <code>tfoot</code> element, or if there is no more content in the parent element.</p>
 
   <!-- </tfoot> -->
-  <p>A <code>tfoot</code> element's <span title="syntax-end-tag">end
-  tag</span> may be omitted if the <code>tfoot</code> element is
-  immediately followed by a <code>tbody</code> element, or if there is
-  no more content in the parent element.</p>
+  <p>A <code>tfoot</code> element's <span title="syntax-end-tag">end tag</span> may be omitted if
+  the <code>tfoot</code> element is immediately followed by a <code>tbody</code> element, or if
+  there is no more content in the parent element.</p>
 
   <!-- </tr> -->
-  <p>A <code>tr</code> element's <span title="syntax-end-tag">end
-  tag</span> may be omitted if the <code>tr</code> element is
-  immediately followed by another <code>tr</code> element, or if there
-  is no more content in the parent element.</p>
+  <p>A <code>tr</code> element's <span title="syntax-end-tag">end tag</span> may be omitted if the
+  <code>tr</code> element is immediately followed by another <code>tr</code> element, or if there is
+  no more content in the parent element.</p>
 
   <!-- </td> -->
-  <p>A <code>td</code> element's <span title="syntax-end-tag">end
-  tag</span> may be omitted if the <code>td</code> element is
-  immediately followed by a <code>td</code> or <code>th</code>
-  element, or if there is no more content in the parent element.</p>
+  <p>A <code>td</code> element's <span title="syntax-end-tag">end tag</span> may be omitted if the
+  <code>td</code> element is immediately followed by a <code>td</code> or <code>th</code> element,
+  or if there is no more content in the parent element.</p>
 
   <!-- </th> -->
-  <p>A <code>th</code> element's <span title="syntax-end-tag">end
-  tag</span> may be omitted if the <code>th</code> element is
-  immediately followed by a <code>td</code> or <code>th</code>
-  element, or if there is no more content in the parent element.</p>
+  <p>A <code>th</code> element's <span title="syntax-end-tag">end tag</span> may be omitted if the
+  <code>th</code> element is immediately followed by a <code>td</code> or <code>th</code> element,
+  or if there is no more content in the parent element.</p>
 
-  <p><strong>However</strong>, a <span title="syntax-start-tag">start
-  tag</span> must never be omitted if it has any attributes.</p>
+  <p><strong>However</strong>, a <span title="syntax-start-tag">start tag</span> must never be
+  omitted if it has any attributes.</p>
 
 
   <h5 id="element-restrictions">Restrictions on content models</h5>
 
-  <p>For historical reasons, certain elements have extra restrictions
-  beyond even the restrictions given by their content model.</p>
+  <p>For historical reasons, certain elements have extra restrictions beyond even the restrictions
+  given by their content model.</p>
 
-  <p>A <code>table</code> element must not contain <code>tr</code>
-  elements, even though these elements are technically allowed inside
-  <code>table</code> elements according to the content models
-  described in this specification. (If a <code>tr</code> element is
-  put inside a <code>table</code> in the markup, it will in fact imply
-  a <code>tbody</code> start tag before it.)</p>
+  <p>A <code>table</code> element must not contain <code>tr</code> elements, even though these
+  elements are technically allowed inside <code>table</code> elements according to the content
+  models described in this specification. (If a <code>tr</code> element is put inside a
+  <code>table</code> in the markup, it will in fact imply a <code>tbody</code> start tag before
+  it.)</p>
 
-  <p>A single <span title="syntax-newlines">newline</span> may be
-  placed immediately after the <span title="syntax-start-tag">start
-  tag</span> of <code>pre</code> and <code>textarea</code>
-  elements. This does not affect the processing of the element. The
-  otherwise optional <span title="syntax-newlines">newline</span>
-  <em>must</em> be included if the element's contents themselves start
-  with a <span title="syntax-newlines">newline</span> (because
-  otherwise the leading newline in the contents would be treated like
-  the optional newline, and ignored).</p>
+  <p>A single <span title="syntax-newlines">newline</span> may be placed immediately after the <span
+  title="syntax-start-tag">start tag</span> of <code>pre</code> and <code>textarea</code> elements.
+  This does not affect the processing of the element. The otherwise optional <span
+  title="syntax-newlines">newline</span> <em>must</em> be included if the element's contents
+  themselves start with a <span title="syntax-newlines">newline</span> (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>pre</code> blocks are equivalent:</p>
@@ -95051,57 +94858,49 @@
 
   <h5 id="cdata-rcdata-restrictions">Restrictions on the contents of raw text and escapable raw text elements</h5>
 
-  <p>The text in <span title="raw text elements">raw text</span> and
-  <span>escapable raw text elements</span> must not contain any occurrences of the
-  string "<code title=""></</code>" (U+003C LESS-THAN SIGN, U+002F
-  SOLIDUS) followed by characters that case-insensitively match the
-  tag name of the element followed by one of U+0009 CHARACTER
-  TABULATION (tab), U+000A LINE FEED (LF), U+000C FORM FEED (FF), U+000D
-  CARRIAGE RETURN (CR), U+0020 SPACE, U+003E GREATER-THAN SIGN (>), or
-  U+002F SOLIDUS (/).</p>
+  <p>The text in <span title="raw text elements">raw text</span> and <span>escapable raw text
+  elements</span> must not contain any occurrences of the string "<code title=""></</code>"
+  (U+003C LESS-THAN SIGN, U+002F SOLIDUS) followed by characters that case-insensitively match the
+  tag name of the element followed by one of U+0009 CHARACTER TABULATION (tab), U+000A LINE FEED
+  (LF), U+000C FORM FEED (FF), U+000D CARRIAGE RETURN (CR), U+0020 SPACE, U+003E GREATER-THAN SIGN
+  (>), or U+002F SOLIDUS (/).</p>
 
 
   <h4>Text</h4>
 
-  <p><dfn title="syntax-text">Text</dfn> is allowed inside elements,
-  attribute values, and comments. 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>
+  <p><dfn title="syntax-text">Text</dfn> is allowed inside elements, attribute values, and comments.
+  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>Newlines</h5>
 
-  <p><dfn 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>
+  <p><dfn 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>
 
-  <p>Where <span title="syntax-charref">character references</span>
-  are allowed, a character reference of a U+000A LINE FEED (LF)
-  character (but not a U+000D CARRIAGE RETURN (CR) character) also
-  represents a <span title="syntax-newlines">newline</span>.</p>
+  <p>Where <span title="syntax-charref">character references</span> are allowed, a character
+  reference of a U+000A LINE FEED (LF) character (but not a U+000D CARRIAGE RETURN (CR) character)
+  also represents a <span title="syntax-newlines">newline</span>.</p>
 
 
   <h4>Character references</h4>
 
-  <p>In certain cases described in other sections, <span
-  title="syntax-text">text</span> may be mixed with <dfn
-  title="syntax-charref">character references</dfn>. These can be used
-  to escape characters that couldn't otherwise legally be included in
-  <span title="syntax-text">text</span>.</p>
+  <p>In certain cases described in other sections, <span title="syntax-text">text</span> may be
+  mixed with <dfn title="syntax-charref">character references</dfn>. These can be used to escape
+  characters that couldn't otherwise legally be included in <span
+  title="syntax-text">text</span>.</p>
 
-  <p>Character references must start with a U+0026 AMPERSAND character
-  (&). Following this, there are three possible kinds of character
-  references:</p>
+  <p>Character references must start with a U+0026 AMPERSAND character (&). 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
-   <span>named character references</span> section, using the same
-   case. <span class="impl">The name must be one that is terminated by
-   a U+003B SEMICOLON character (;).</span></dd>
+   <dd>The ampersand must be followed by one of the names given in the <span>named character
+   references</span> section, using the same case. <span class="impl">The name must be one that is
+   terminated by a U+003B SEMICOLON character (;).</span></dd>
 
 
    <dt>Decimal numeric character reference</dt>
@@ -95123,11 +94922,9 @@
 
   </dl>
 
-  <p>The numeric character reference forms described above are allowed
-  to reference any Unicode code point other than U+0000, U+000D,
-  permanently undefined Unicode characters (noncharacters), and
-  control characters other than <span title="space character">space
-  characters</span>.</p>
+  <p>The numeric character reference forms described above are allowed to reference any Unicode code
+  point other than U+0000, U+000D, permanently undefined Unicode characters (noncharacters), and
+  control characters other than <span title="space character">space characters</span>.</p>
 
   <p>An <dfn title="syntax-ambiguous-ampersand">ambiguous ampersand</dfn> is a U+0026 AMPERSAND
   character (&) that is followed by one or more <span>alphanumeric ASCII characters</span>,
@@ -95137,16 +94934,15 @@
 
   <h4>CDATA sections</h4>
 
-  <p><dfn title="syntax-cdata">CDATA sections</dfn> must consist of
-  the following components, in this order:</p>
+  <p><dfn title="syntax-cdata">CDATA sections</dfn> must consist of the following components, in
+  this order:</p>
 
   <ol>
 
    <li>The string "<code title=""><![CDATA[</code>".</li>
 
-   <li>Optionally, <span title="syntax-text">text</span>, with the
-   additional restriction that the text must not contain the string
-   "<code title="">]]></code>".</li>
+   <li>Optionally, <span title="syntax-text">text</span>, with the additional restriction that the
+   text must not contain the string "<code title="">]]></code>".</li>
 
    <li>The string "<code title="">]]></code>".</li>
 
@@ -95154,9 +94950,8 @@
 
   <div class="example">
 
-   <p>CDATA sections can only be used in foreign content (MathML or
-   SVG). In this example, a CDATA section is used to escape the
-   contents of an <code>ms</code> element:</p>
+   <p>CDATA sections can only be used in foreign content (MathML or SVG). In this example, a CDATA
+   section is used to escape the contents of an <code>ms</code> element:</p>
 
    <pre><p>You can add a string to a number, but this stringifies the number:</p>
 <math>
@@ -95172,20 +94967,15 @@
 
   <h4>Comments</h4>
 
-  <p><dfn title="syntax-comments">Comments</dfn> must start with the
-  four character sequence U+003C LESS-THAN SIGN, U+0021 EXCLAMATION
-  MARK, U+002D HYPHEN-MINUS, U+002D HYPHEN-MINUS (<code
-  title=""><!--</code>). Following this sequence, the comment may
-  have <span title="syntax-text">text</span>, with the additional
-  restriction that the text must not start with a single U+003E
-  GREATER-THAN SIGN character (>), nor start with a U+002D
-  HYPHEN-MINUS character (-) followed by a U+003E GREATER-THAN SIGN
-  (>) character, nor contain two consecutive U+002D HYPHEN-MINUS
-  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="">--></code>).</p>
+  <p><dfn title="syntax-comments">Comments</dfn> must start with the four character sequence U+003C
+  LESS-THAN SIGN, U+0021 EXCLAMATION MARK, U+002D HYPHEN-MINUS, U+002D HYPHEN-MINUS (<code
+  title=""><!--</code>). Following this sequence, the comment may have <span
+  title="syntax-text">text</span>, with the additional restriction that the text must not start with
+  a single U+003E GREATER-THAN SIGN character (>), nor start with a U+002D HYPHEN-MINUS character
+  (-) followed by a U+003E GREATER-THAN SIGN (>) character, nor contain two consecutive U+002D
+  HYPHEN-MINUS 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="">--></code>).</p>
 
 
 <!--HTMLPARSER-->
@@ -95193,69 +94983,54 @@
   <div class="impl">
 
   <h3 id="parsing">Parsing HTML documents</h3>
-<!--CLEANUP-->
 
-  <p><i>This section only applies to user agents, data mining tools,
-  and conformance checkers.</i></p>
+  <p><i>This section only applies to user agents, data mining tools, and conformance
+  checkers.</i></p>
 
-  <p class="note">The rules for parsing XML documents into DOM trees
-  are covered by the next section, entitled "<span>The XHTML
-  syntax</span>".</p>
+  <p class="note">The rules for parsing XML documents into DOM trees are covered by the next
+  section, entitled "<span>The XHTML syntax</span>".</p>
 
-  <p>User agents must use the parsing rules described in this section
-  to generate the DOM trees from <code>text/html</code> resources.
-  Together, these rules define what is referred to as the <dfn>HTML
-  parser</dfn>.</p>
+  <p>User agents must use the parsing rules described in this section to generate the DOM trees from
+  <code>text/html</code> resources. Together, these rules define what is referred to as the
+  <dfn>HTML parser</dfn>.</p>
 
   <div class="note">
 
-   <p>While the HTML syntax described in this specification bears a
-   close resemblance to SGML and XML, it is a separate language with
-   its own parsing rules.</p>
+   <p>While the HTML syntax described in this specification bears a close resemblance to SGML and
+   XML, it is a separate language with its own parsing rules.</p>
 
-   <p>Some earlier versions of HTML (in particular from HTML2 to
-   HTML4) were based on SGML and used SGML parsing rules. However, few
-   (if any) web browsers ever implemented true SGML parsing for HTML
-   documents; the only user agents to strictly handle HTML as an SGML
-   application have historically been validators. The resulting
-   confusion — with validators claiming documents to have one
-   representation while widely deployed Web browsers interoperably
-   implemented a different representation — has wasted decades
-   of productivity. This version of HTML thus returns to a non-SGML
-   basis.</p>
+   <p>Some earlier versions of HTML (in particular from HTML2 to HTML4) were based on SGML and used
+   SGML parsing rules. However, few (if any) web browsers ever implemented true SGML parsing for
+   HTML documents; the only user agents to strictly handle HTML as an SGML application have
+   historically been validators. The resulting confusion — with validators claiming documents
+   to have one representation while widely deployed Web browsers interoperably implemented a
+   different representation — has wasted decades of productivity. This version of HTML thus
+   returns to a non-SGML basis.</p>
 
-   <p>Authors interested in using SGML tools in their authoring
-   pipeline are encouraged to use XML tools and the XML serialization
-   of HTML.</p>
+   <p>Authors interested in using SGML tools in their authoring pipeline are encouraged to use XML
+   tools and the XML serialization of HTML.</p>
 
   </div>
 
-  <p>This specification defines the parsing rules for HTML documents,
-  whether they are syntactically correct or not. Certain points in the
-  parsing algorithm are said to be <dfn title="parse error">parse
-  errors</dfn>. The error handling for parse errors is well-defined
-  (that's the processing rules described throughout this specification), but 
-  user agents, while parsing an HTML document, may <span title="abort a
-  parser">abort the parser</span> at the first <span>parse error</span> that they
-  encounter for which they do not wish to apply the rules described
-  in this specification.</p>
+  <p>This specification defines the parsing rules for HTML documents, whether they are syntactically
+  correct or not. Certain points in the parsing algorithm are said to be <dfn title="parse
+  error">parse errors</dfn>. The error handling for parse errors is well-defined (that's the
+  processing rules described throughout this specification), but user agents, while parsing an HTML
+  document, may <span title="abort a parser">abort the parser</span> at the first <span>parse
+  error</span> that they encounter for which they do not wish to apply the rules described in this
+  specification.</p>
 
-  <p>Conformance checkers must report at least one parse error
-  condition to the user if one or more parse error conditions exist in
-  the document and must not report parse error conditions if none
-  exist in the document. Conformance checkers may report more than one
-  parse error condition if more than one parse error condition exists
-  in the document.</p>
+  <p>Conformance checkers must report at least one parse error condition to the user if one or more
+  parse error conditions exist in the document and must not report parse error conditions if none
+  exist in the document. Conformance checkers may report more than one parse error condition if more
+  than one parse error condition exists in the document.</p>
 
-  <p class="note">Parse errors are only errors with the
-  <em>syntax</em> of HTML. In addition to checking for parse errors,
-  conformance checkers will also verify that the document obeys all
-  the other conformance requirements described in this
-  specification.</p>
+  <p class="note">Parse errors are only errors with the <em>syntax</em> of HTML. In addition to
+  checking for parse errors, conformance checkers will also verify that the document obeys all the
+  other conformance requirements described in this specification.</p>
 
-  <p>For the purposes of conformance checkers, if a resource is
-  determined to be in <span>the HTML syntax</span>, then it is an
-  <span title="HTML documents">HTML document</span>.</p>
+  <p>For the purposes of conformance checkers, if a resource is determined to be in <span>the HTML
+  syntax</span>, then it is an <span title="HTML documents">HTML document</span>.</p>
 
   </div>
 
@@ -95266,35 +95041,28 @@
 
   <p class="overview"><object data="images/parsing-model-overview.svg" width="345" height="535"><img src="images/parsing-model-overview.png" width="345" height="450" alt=""></object></p>
 
-  <p>The input to the HTML parsing process consists of a stream of
-  <span title="Unicode code point">Unicode code points</span>, which
-  is passed through a <span>tokenization</span> stage followed by a
-  <span>tree construction</span> stage. The output is a
-  <code>Document</code> object.</p>
+  <p>The input to the HTML parsing process consists of a stream of <span title="Unicode code
+  point">Unicode code points</span>, which is passed through a <span>tokenization</span> stage
+  followed by a <span>tree construction</span> stage. The output is a <code>Document</code>
+  object.</p>
 
-  <p class="note">Implementations that <a href="#non-scripted">do not
-  support scripting</a> do not have to actually create a DOM
-  <code>Document</code> object, but the DOM tree in such cases is
+  <p class="note">Implementations that <a href="#non-scripted">do not support scripting</a> do not
+  have to actually create a DOM <code>Document</code> object, but the DOM tree in such cases is
   still used as the model for the rest of the specification.</p>
 
-  <p>In the common case, the data handled by the tokenization stage
-  comes from the network, but <span title="dynamic markup
-  insertion">it can also come from script</span> running in the user
-  agent, e.g. using the <code
-  title="dom-document-write">document.write()</code> API.</p>
+  <p>In the common case, the data handled by the tokenization stage comes from the network, but
+  <span title="dynamic markup insertion">it can also come from script</span> running in the user
+  agent, e.g. using the <code title="dom-document-write">document.write()</code> API.</p>
 
-  <p id="nestedParsing">There is only one set of states for the
-  tokenizer stage and the tree construction stage, but the tree
-  construction stage is reentrant, meaning that while the tree
-  construction stage is handling one token, the tokenizer might be
-  resumed, causing further tokens to be emitted and processed before
-  the first token's processing is complete.</p>
+  <p id="nestedParsing">There is only one set of states for the tokenizer stage and the tree
+  construction stage, but the tree construction stage is reentrant, meaning that while the tree
+  construction stage is handling one token, the tokenizer might be resumed, causing further tokens
+  to be emitted and processed before the first token's processing is complete.</p>
 
   <div class="example">
 
-   <p>In the following example, the tree construction stage will be
-   called upon to handle a "p" start tag token while handling the
-   "script" end tag token:</p>
+   <p>In the following example, the tree construction stage will be called upon to handle a "p"
+   start tag token while handling the "script" end tag token:</p>
 
    <pre>...
 <script>
@@ -95304,9 +95072,8 @@
 
   </div>
 
-  <p>To handle these cases, parsers have a <dfn>script nesting
-  level</dfn>, which must be initially set to zero, and a <dfn>parser
-  pause flag</dfn>, which must be initially set to false.</p>
+  <p>To handle these cases, parsers have a <dfn>script nesting level</dfn>, which must be initially
+  set to zero, and a <dfn>parser pause flag</dfn>, which must be initially set to false.</p>
 
   </div>
 
@@ -95316,30 +95083,24 @@
 
   <h4>The <dfn>input byte stream</dfn></h4>
 
-<!--CLEANUP-->
-  <p>The stream of Unicode code points that comprises the input to the
-  tokenization stage will be initially seen by the user agent as a
-  stream of bytes (typically coming over the network or from the local
-  file system). The bytes encode the actual characters according to a
-  particular <i>character encoding</i>, which the user agent uses
-  to decode the bytes into characters.</p>
+  <p>The stream of Unicode code points that comprises the input to the tokenization stage will be
+  initially seen by the user agent as a stream of bytes (typically coming over the network or from
+  the local file system). The bytes encode the actual characters according to a particular
+  <i>character encoding</i>, which the user agent uses to decode the bytes into characters.</p>
 
-  <p class="note">For XML documents, the algorithm user agents must
-  use to determine the character encoding is given by the XML
-  specification. This section does not apply to XML documents. <a
+  <p class="note">For XML documents, the algorithm user agents must use to determine the character
+  encoding is given by the XML specification. This section does not apply to XML documents. <a
   href="#refsXML">[XML]</a></p>
 
-  <p>Usually, the <span>encoding sniffing algorithm</span> defined below is
-  used to determine the character encoding.</p>
+  <p>Usually, the <span>encoding sniffing algorithm</span> defined below is used to determine the
+  character encoding.</p>
 
-  <p>Given a character encoding, the bytes in the <span>input byte
-  stream</span> must be converted to Unicode code points for the
-  tokenizer's <span>input stream</span>, as described by the rules for
-  that encoding's <span>decoder</span>.</p>
+  <p>Given a character encoding, the bytes in the <span>input byte stream</span> must be converted
+  to Unicode code points for the tokenizer's <span>input stream</span>, as described by the rules
+  for that encoding's <span>decoder</span>.</p>
 
-  <p class="note">Bytes or sequences of bytes in the original byte
-  stream that did not conform to the encoding specification (e.g.
-  invalid UTF-8 byte sequences in a UTF-8 input byte stream) are
+  <p class="note">Bytes or sequences of bytes in the original byte stream that did not conform to
+  the encoding specification (e.g. invalid UTF-8 byte sequences in a UTF-8 input byte stream) are
   errors that conformance checkers are expected to report.</p>
 
   <p class="note">Leading Byte Order Marks (BOMs) are not stripped by the decoder algorithms, they




More information about the Commit-Watchers mailing list