[html5] r7707 - [e] (0) Cleanup Affected topics: DOM APIs, HTML, Microdata
whatwg at whatwg.org
whatwg at whatwg.org
Thu Feb 7 17:45:06 PST 2013
Author: ianh
Date: 2013-02-07 17:45:04 -0800 (Thu, 07 Feb 2013)
New Revision: 7707
Modified:
complete.html
index
source
Log:
[e] (0) Cleanup
Affected topics: DOM APIs, HTML, Microdata
Modified: complete.html
===================================================================
--- complete.html 2013-02-08 01:35:58 UTC (rev 7706)
+++ complete.html 2013-02-08 01:45:04 UTC (rev 7707)
@@ -407,8 +407,7 @@
<li><a href=#the-title-attribute><span class=secno>3.2.3.2 </span>The <code title=attr-title>title</code> attribute</a></li>
<li><a href=#the-lang-and-xml:lang-attributes><span class=secno>3.2.3.3 </span>The <code title=attr-lang>lang</code> and <code title=attr-xml-lang>xml:lang</code> attributes</a></li>
<li><a href=#the-translate-attribute><span class=secno>3.2.3.4 </span>The <code title=attr-translate>translate</code> attribute</a></li>
- <li><a href=#the-xml:base-attribute-(xml-only)><span class=secno>3.2.3.5 </span>The <code>xml:base</code>
- attribute (XML only)</a></li>
+ <li><a href=#the-xml:base-attribute-(xml-only)><span class=secno>3.2.3.5 </span>The <code>xml:base</code> attribute (XML only)</a></li>
<li><a href=#the-dir-attribute><span class=secno>3.2.3.6 </span>The <code>dir</code> attribute</a></li>
<li><a href=#classes><span class=secno>3.2.3.7 </span>The <code>class</code> attribute</a></li>
<li><a href=#the-style-attribute><span class=secno>3.2.3.8 </span>The <code>style</code> attribute</a></li>
@@ -9409,64 +9408,60 @@
<div class=impl>
- <hr><p id=dom-document-namedItem-which>The <code><a href=#document>Document</a></code>
- interface <a href=#support-named-properties title="support named properties">supports named
- properties</a>. The <a href=#supported-property-names>supported property names</a> at any
- moment consist of the values of the <code title=attr-name>name</code> content attributes of all the
+ <hr><p id=dom-document-namedItem-which>The <code><a href=#document>Document</a></code> interface <a href=#support-named-properties title="support
+ named properties">supports named properties</a>. The <a href=#supported-property-names>supported property names</a> at
+ any moment consist of the values of the <code title=attr-name>name</code> content attributes of
+ all the
<code><a href=#the-applet-element>applet</a></code>,
<a href=#exposed>exposed</a> <code><a href=#the-embed-element>embed</a></code>,
<code><a href=#the-form-element>form</a></code>,
<code><a href=#the-iframe-element>iframe</a></code>,
<code><a href=#the-img-element>img</a></code>, and
<a href=#exposed>exposed</a> <code><a href=#the-object-element>object</a></code>
- elements in the <code><a href=#document>Document</a></code> that have <code title=attr-name>name</code> content attributes, and the values of
- the <code title=attr-id><a href=#the-id-attribute>id</a></code> content attributes of all the
+ elements in the <code><a href=#document>Document</a></code> that have <code title=attr-name>name</code> content
+ attributes, and the values of the <code title=attr-id><a href=#the-id-attribute>id</a></code> content attributes of all the
<code><a href=#the-applet-element>applet</a></code> and
<a href=#exposed>exposed</a> <code><a href=#the-object-element>object</a></code>
- elements in the <code><a href=#document>Document</a></code> that have <code title=attr-id><a href=#the-id-attribute>id</a></code> content attributes, and the values of the
- <code title=attr-id><a href=#the-id-attribute>id</a></code> content attributes of all the
+ elements in the <code><a href=#document>Document</a></code> that have <code title=attr-id><a href=#the-id-attribute>id</a></code> content
+ attributes, and the values of the <code title=attr-id><a href=#the-id-attribute>id</a></code> content attributes of all the
<code><a href=#the-img-element>img</a></code>
- elements in the <code><a href=#document>Document</a></code> that have both <code title=attr-name>name</code> content attributes and <code title=attr-id><a href=#the-id-attribute>id</a></code> content attributes.</p>
+ elements in the <code><a href=#document>Document</a></code> that have both <code title=attr-name>name</code> content
+ attributes and <code title=attr-id><a href=#the-id-attribute>id</a></code> content attributes.</p>
- <p>To <a href=#determine-the-value-of-a-named-property>determine the value of a named property</a> <var title="">name</var> when <dfn id=dom-document-nameditem title=dom-document-namedItem>the
- <code>Document</code> object is indexed for property
- retrieval</dfn>, the user agent must return the value obtained using
- the following steps:</p>
+ <p>To <a href=#determine-the-value-of-a-named-property>determine the value of a named property</a> <var title="">name</var> when <dfn id=dom-document-nameditem title=dom-document-namedItem>the <code>Document</code> object is indexed for property
+ retrieval</dfn>, the user agent must return the value obtained using the following steps:</p>
<ol><li>
- <p>Let <var title="">elements</var> be the list of <a href=#dom-document-nameditem-filter title=dom-document-namedItem-filter>named elements</a> with
- the name <var title="">name</var> in the <code><a href=#document>Document</a></code>.
+ <p>Let <var title="">elements</var> be the list of <a href=#dom-document-nameditem-filter title=dom-document-namedItem-filter>named elements</a> with the name <var title="">name</var> in the <code><a href=#document>Document</a></code>.
- <p class=note>There will be at least one such element, by
- definition.<!-- (If there wasn't, then this algorithm wouldn't
- have been invoked by Web IDL.) --></p>
+ <p class=note>There will be at least one such element, by definition.<!-- (If there wasn't,
+ then this algorithm wouldn't have been invoked by Web IDL.) --></p>
</li>
<li>
- <p>If <var title="">elements</var> has only one element, and that
- element is an <code><a href=#the-iframe-element>iframe</a></code> element, then return the
- <code><a href=#windowproxy>WindowProxy</a></code> object of the <a href=#nested-browsing-context>nested browsing
- context</a> represented by that <code><a href=#the-iframe-element>iframe</a></code> element,
- and abort these steps.</p>
+ <p>If <var title="">elements</var> has only one element, and that element is an
+ <code><a href=#the-iframe-element>iframe</a></code> element, then return the <code><a href=#windowproxy>WindowProxy</a></code> object of the <a href=#nested-browsing-context>nested
+ browsing context</a> represented by that <code><a href=#the-iframe-element>iframe</a></code> element, and abort these
+ steps.</p>
</li>
<li>
- <p>Otherwise, if <var title="">elements</var> has only one
- element, return that element and abort these steps.</p>
+ <p>Otherwise, if <var title="">elements</var> has only one element, return that element and
+ abort these steps.</p>
</li>
<li>
- <p>Otherwise return an <code><a href=#htmlcollection>HTMLCollection</a></code> rooted at the
- <code><a href=#document>Document</a></code> node, whose filter matches only <a href=#dom-document-nameditem-filter title=dom-document-namedItem-filter>named elements</a> with
- the name <var title="">name</var>.</p> <!-- the same one each time
- is returned, because of the rule under collections -->
+ <p>Otherwise return an <code><a href=#htmlcollection>HTMLCollection</a></code> rooted at the <code><a href=#document>Document</a></code> node,
+ whose filter matches only <a href=#dom-document-nameditem-filter title=dom-document-namedItem-filter>named elements</a> with
+ the name <var title="">name</var>.</p> <!-- the same one each time is returned, because of the
+ rule under collections -->
</li>
@@ -9476,32 +9471,28 @@
This is what the "OverrideBuiltins" bit means in the IDL.
-->
- </ol><p><dfn id=dom-document-nameditem-filter title=dom-document-nameditem-filter>Named elements</dfn>
- with the name <var title="">name</var>, for the purposes of the
- above algorithm, are those that are either:</p>
+ </ol><p><dfn id=dom-document-nameditem-filter title=dom-document-nameditem-filter>Named elements</dfn> with the name <var title="">name</var>, for the purposes of the above algorithm, are those that are either:</p>
- <ul><li><code><a href=#the-applet-element>applet</a></code>, <a href=#exposed>exposed</a> <code><a href=#the-embed-element>embed</a></code>,
- <code><a href=#the-form-element>form</a></code>, <code><a href=#the-iframe-element>iframe</a></code>, <code><a href=#the-img-element>img</a></code>, or
- <a href=#exposed>exposed</a> <code><a href=#the-object-element>object</a></code> elements that have a <code title=attr-name>name</code> content attribute whose value is <var title="">name</var>, or</li>
+ <ul><li><code><a href=#the-applet-element>applet</a></code>, <a href=#exposed>exposed</a> <code><a href=#the-embed-element>embed</a></code>, <code><a href=#the-form-element>form</a></code>,
+ <code><a href=#the-iframe-element>iframe</a></code>, <code><a href=#the-img-element>img</a></code>, or <a href=#exposed>exposed</a> <code><a href=#the-object-element>object</a></code> elements that
+ have a <code title=attr-name>name</code> content attribute whose value is <var title="">name</var>, or</li>
- <li><code><a href=#the-applet-element>applet</a></code> or <a href=#exposed>exposed</a> <code><a href=#the-object-element>object</a></code>
- elements that have an <code title=attr-id><a href=#the-id-attribute>id</a></code> content
- attribute whose value is <var title="">name</var>, or</li>
+ <li><code><a href=#the-applet-element>applet</a></code> or <a href=#exposed>exposed</a> <code><a href=#the-object-element>object</a></code> elements that have an <code title=attr-id><a href=#the-id-attribute>id</a></code> content attribute whose value is <var title="">name</var>, or</li>
- <li><code><a href=#the-img-element>img</a></code> elements that have an <code title=attr-id><a href=#the-id-attribute>id</a></code> content attribute whose value is <var title="">name</var>, and that have a <code title=attr-name>name</code> content attribute present also.</li>
+ <li><code><a href=#the-img-element>img</a></code> elements that have an <code title=attr-id><a href=#the-id-attribute>id</a></code> content attribute
+ whose value is <var title="">name</var>, and that have a <code title=attr-name>name</code>
+ content attribute present also.</li>
- </ul><p>An <code><a href=#the-embed-element>embed</a></code> or <code><a href=#the-object-element>object</a></code> element is said to
- be <dfn id=exposed>exposed</dfn> if it has no <a href=#exposed>exposed</a>
- <code><a href=#the-object-element>object</a></code> ancestor, and, for <code><a href=#the-object-element>object</a></code> elements,
- is additionally either not showing its <a href=#fallback-content>fallback content</a>
- or has no <code><a href=#the-object-element>object</a></code> or <code><a href=#the-embed-element>embed</a></code> descendants.</p>
+ </ul><p>An <code><a href=#the-embed-element>embed</a></code> or <code><a href=#the-object-element>object</a></code> element is said to be <dfn id=exposed>exposed</dfn> if it has
+ no <a href=#exposed>exposed</a> <code><a href=#the-object-element>object</a></code> ancestor, and, for <code><a href=#the-object-element>object</a></code> elements, is
+ additionally either not showing its <a href=#fallback-content>fallback content</a> or has no <code><a href=#the-object-element>object</a></code> or
+ <code><a href=#the-embed-element>embed</a></code> descendants.</p>
</div>
- <hr><p class=note>The <code title=dom-document-dir><a href=#dom-document-dir>dir</a></code>
- attribute on the <code><a href=#document>Document</a></code> interface is defined
- along with the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> content
- attribute.</p>
+ <hr><p class=note>The <code title=dom-document-dir><a href=#dom-document-dir>dir</a></code> attribute on the
+ <code><a href=#document>Document</a></code> interface is defined along with the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code>
+ content attribute.</p>
@@ -9519,110 +9510,94 @@
<!-- http://www.hixie.ch/tests/adhoc/dom/level0/document/load/001.html -->
<!--SYNCLOAD
- <p>The <dfn
- title="dom-XMLDocument-async"><code>async</code></dfn>
- attribute must initially be true. On getting, it must return its
- current value. On setting, its current value must be changed to the
- new value.</p>
+ <p>The <dfn title="dom-XMLDocument-async"><code>async</code></dfn> attribute must initially be
+ true. On getting, it must return its current value. On setting, its current value must be changed
+ to the new value.</p>
-->
- <p>The <dfn id=dom-xmldocument-load title=dom-XMLDocument-load><code>load(<var title="">url</var>)</code></dfn> method must run the following
- steps:</p>
+ <p>The <dfn id=dom-xmldocument-load title=dom-XMLDocument-load><code>load(<var title="">url</var>)</code></dfn> method
+ must run the following steps:</p>
+
<ol><!--SYNCLOAD
- <li><p>If <code title="dom-XMLDocument-async">async</code> is
- set to false and the <var title="">document</var> is
- <span>load-blocked</span>, return false and abort these
+ <li><p>If <code title="dom-XMLDocument-async">async</code> is set to false and the <var
+ title="">document</var> is <span>load-blocked</span>, return false and abort these
steps.</p></li>
---><li><p>Let <var title="">document</var> be the <code><a href=#xmldocument>XMLDocument</a></code>
- object on which the method was invoked.</li>
+--><li><p>Let <var title="">document</var> be the <code><a href=#xmldocument>XMLDocument</a></code> object on which the
+ method was invoked.</li>
- <li><p><a href=#resolve-a-url title="resolve a url">Resolve</a> the method's
- first argument, relative to the <a href=#entry-script>entry script</a>'s <a href="#script's-base-url" title="script's base URL">base URL</a>. If this is not
- successful, throw a <code><a href=#syntaxerror>SyntaxError</a></code> exception and abort
- these steps. Otherwise, let <var title="">url</var> be the
- resulting <a href=#absolute-url>absolute URL</a>.</li>
+ <li><p><a href=#resolve-a-url title="resolve a url">Resolve</a> the method's first argument, relative to the
+ <a href=#entry-script>entry script</a>'s <a href="#script's-base-url" title="script's base URL">base URL</a>. If this is not
+ successful, throw a <code><a href=#syntaxerror>SyntaxError</a></code> exception and abort these steps. Otherwise, let <var title="">url</var> be the resulting <a href=#absolute-url>absolute URL</a>.</li>
- <li><p>If the <a href=#origin>origin</a> of <var title="">url</var> is not
- the same as the <a href=#origin>origin</a> of <var title="">document</var>, throw a <code><a href=#securityerror>SecurityError</a></code>
- exception and abort these steps.</li>
+ <li><p>If the <a href=#origin>origin</a> of <var title="">url</var> is not the same as the
+ <a href=#origin>origin</a> of <var title="">document</var>, throw a <code><a href=#securityerror>SecurityError</a></code> exception
+ and abort these steps.</li>
+
<!--SYNCLOAD
- <li><p>If <code title="dom-XMLDocument-async">async</code> is
- set to false, let <var title="">document</var> be
- <dfn>load-blocked</dfn>.</p></li>
+ <li><p>If <code title="dom-XMLDocument-async">async</code> is set to false, let <var
+ title="">document</var> be <dfn>load-blocked</dfn>.</p></li>
-->
- <li><p>Remove all child nodes of <var title="">document</var>,
- without firing any mutation events.</li> <!-- as of 2010-07-26,
- only Opera fired mutation events here. -->
+ <li><p>Remove all child nodes of <var title="">document</var>, without firing any mutation
+ events.</li> <!-- as of 2010-07-26, only Opera fired mutation events here. -->
+
<li><p>Set the <a href=#current-document-readiness>current document readiness</a> of <var title="">document</var> to "<code title="">loading</code>".</li>
- <li><p><!--SYNCLOAD If <code title="dom-XMLDocument-async">async</code> is
- set to true, then run--> Run the remainder of these steps asynchronously,
- and return true from the method.<!--SYNCLOAD Otherwise, continue running these
- steps without yet returning.--></li>
+ <li><p><!--SYNCLOAD If <code title="dom-XMLDocument-async">async</code> is set to true, then
+ run--> Run the remainder of these steps asynchronously, and return true from the
+ method.<!--SYNCLOAD Otherwise, continue running these steps without yet returning.--></li>
- <li><p>Let <var title="">result</var> be a <code><a href=#document>Document</a></code>
- object.</li>
+ <li><p>Let <var title="">result</var> be a <code><a href=#document>Document</a></code> object.</li>
<li><p>Let <var title="">success</var> be false.</li>
- <li><p><a href=#fetch>Fetch</a><!--FETCH--> <var title="">url</var> from
- the <a href=#origin>origin</a> of <var title="">document</var>, using the
- <a href=#entry-script>entry script</a>'s <a href="#script's-referrer-source" title="script's referrer
- source">referrer source</a>, with the <i title="">synchronous
- flag</i> set and the <i title="">force same-origin flag</i>
- set.</li>
+ <li><p><a href=#fetch>Fetch</a><!--FETCH--> <var title="">url</var> from the <a href=#origin>origin</a> of
+ <var title="">document</var>, using the <a href=#entry-script>entry script</a>'s <a href="#script's-referrer-source" title="script's
+ referrer source">referrer source</a>, with the <i title="">synchronous flag</i> set and the <i title="">force same-origin flag</i> set.</li>
<li>
- <p>If the fetch attempt was successful, and the resource's <a href=#content-type title=Content-Type>Content-Type metadata</a> is an <a href=#xml-mime-type>XML
- MIME type</a>, then run these substeps:</p>
+ <p>If the fetch attempt was successful, and the resource's <a href=#content-type title=Content-Type>Content-Type metadata</a> is an <a href=#xml-mime-type>XML MIME type</a>, then run
+ these substeps:</p>
- <ol><li><p>Create a new <a href=#xml-parser>XML parser</a> associated with the
- <var title="">result</var> document.</li>
+ <ol><li><p>Create a new <a href=#xml-parser>XML parser</a> associated with the <var title="">result</var>
+ document.</li>
- <li><p>Pass this parser the fetched document.</li> <!-- no
- worries about scripts running; there's no browsing context for
- the document so scripts are automatically disabled -->
+ <li><p>Pass this parser the fetched document.</li> <!-- no worries about scripts running;
+ there's no browsing context for the document so scripts are automatically disabled -->
- <li><p>If there is an XML well-formedness or XML namespace
- well-formedness error, then remove all child nodes from <var title="">result</var>. Otherwise let <var title="">success</var>
- be true.</li>
+ <li><p>If there is an XML well-formedness or XML namespace well-formedness error, then remove
+ all child nodes from <var title="">result</var>. Otherwise let <var title="">success</var> be
+ true.</li>
</ol></li>
<li>
- <p><!--SYNCLOAD If <code title="dom-XMLDocument-async">async</code> is
- set to true, then <span>queue--> <a href=#queue-a-task>Queue a task</a> to run the following
- steps. <!--SYNCLOAD Otherwise, run them synchronously.--></p>
+ <p><!--SYNCLOAD If <code title="dom-XMLDocument-async">async</code> is set to true, then
+ <span>queue--> <a href=#queue-a-task>Queue a task</a> to run the following steps. <!--SYNCLOAD Otherwise, run
+ them synchronously.--></p>
- <ol><li><p>Set the <a href=#current-document-readiness>current document readiness</a> of <var title="">document</var> to "<code title="">complete</code>".</li>
+ <ol><li><p>Set the <a href=#current-document-readiness>current document readiness</a> of <var title="">document</var> to
+ "<code title="">complete</code>".</li>
- <li><p>Replace all the children of <var title="">document</var>
- by the children of <var title="">result</var> (even if it has no
- children), firing mutation events as if a
- <code><a href=#documentfragment>DocumentFragment</a></code> containing the new children had
- been inserted.</li> <!-- as of 2010-07-26, both Firefox and
- Opera fired mutation events here. -->
+ <li><p>Replace all the children of <var title="">document</var> by the children of <var title="">result</var> (even if it has no children), firing mutation events as if a
+ <code><a href=#documentfragment>DocumentFragment</a></code> containing the new children had been inserted.</li> <!-- as
+ of 2010-07-26, both Firefox and Opera fired mutation events here. -->
- <!-- If the document doesn't have no nodes here, at time of
- writing, Opera would leave the new nodes and drop the parsed
- ones, while Firefox would basically abort instead, failing to
- fire the 'load' event -->
+ <!-- If the document doesn't have no nodes here, at time of writing, Opera would leave the new
+ nodes and drop the parsed ones, while Firefox would basically abort instead, failing to fire
+ the 'load' event -->
<li><p><a href=#fire-a-simple-event>Fire a simple event</a> named <code title=event-load>load</code> at <var title="">document</var>.</li>
</ol></li>
<!--SYNCLOAD
- <li><p>If <code title="dom-XMLDocument-async">async</code>
- was set to false when this algorithm started, let <var
- title="">document</var> be no longer
- <span>load-blocked</span>.</p></li>
+ <li><p>If <code title="dom-XMLDocument-async">async</code> was set to false when this algorithm
+ started, let <var title="">document</var> be no longer <span>load-blocked</span>.</p></li>
- <li><p>If <code title="dom-XMLDocument-async">async</code>
- was set to false when this algorithm started, return <var
- title="">success</var>.</p></li>
+ <li><p>If <code title="dom-XMLDocument-async">async</code> was set to false when this algorithm
+ started, return <var title="">success</var>.</p></li>
-->
</ol></div>
@@ -9632,63 +9607,52 @@
<h4 id=semantics-0><span class=secno>3.2.1 </span>Semantics</h4>
- <p>Elements, attributes, and attribute values in HTML are defined
- (by this specification) to have certain meanings (semantics). For
- example, the <code><a href=#the-ol-element>ol</a></code> element represents an ordered list, and
- the <code title=attr-lang><a href=#attr-lang>lang</a></code> attribute represents the
- language of the content.</p>
+ <p>Elements, attributes, and attribute values in HTML are defined (by this specification) to have
+ certain meanings (semantics). For example, the <code><a href=#the-ol-element>ol</a></code> element represents an ordered list,
+ and the <code title=attr-lang><a href=#attr-lang>lang</a></code> attribute represents the language of the content.</p>
- <p>These definitions allow HTML processors, such as Web browsers or
- search engines, to present and use documents and applications in a
- wide variety of contexts that the author might not have
+ <p>These definitions allow HTML processors, such as Web browsers or search engines, to present and
+ use documents and applications in a wide variety of contexts that the author might not have
considered.</p>
<div class=example>
- <p>As a simple example, consider a Web page written by an author
- who only considered desktop computer Web browsers. Because HTML
- conveys <em>meaning</em>, rather than presentation, the same page
- can also be used by a small browser on a mobile phone, without any
- change to the page. Instead of headings being in large letters as
- on the desktop, for example, the browser on the mobile phone might
- use the same size text for the whole the page, but with the
- headings in bold.</p>
+ <p>As a simple example, consider a Web page written by an author who only considered desktop
+ computer Web browsers. Because HTML conveys <em>meaning</em>, rather than presentation, the same
+ page can also be used by a small browser on a mobile phone, without any change to the page.
+ Instead of headings being in large letters as on the desktop, for example, the browser on the
+ mobile phone might use the same size text for the whole the page, but with the headings in
+ bold.</p>
- <p>But it goes further than just differences in screen size: the
- same page could equally be used by a blind user using a browser
- based around speech synthesis, which instead of displaying the page
- on a screen, reads the page to the user, e.g. using headphones.
- Instead of large text for the headings, the speech browser might
- use a different volume or a slower voice.</p>
+ <p>But it goes further than just differences in screen size: the same page could equally be used
+ by a blind user using a browser based around speech synthesis, which instead of displaying the
+ page on a screen, reads the page to the user, e.g. using headphones. Instead of large text for
+ the headings, the speech browser might use a different volume or a slower voice.</p>
- <p>That's not all, either. Since the browsers know which parts of
- the page are the headings, they can create a document outline that
- the user can use to quickly navigate around the document, using
- keys for "jump to next heading" or "jump to previous heading". Such
- features are especially common with speech browsers, where users
- would otherwise find quickly navigating a page quite difficult.</p>
+ <p>That's not all, either. Since the browsers know which parts of the page are the headings, they
+ can create a document outline that the user can use to quickly navigate around the document,
+ using keys for "jump to next heading" or "jump to previous heading". Such features are especially
+ common with speech browsers, where users would otherwise find quickly navigating a page quite
+ difficult.</p>
- <p>Even beyond browsers, software can make use of this information.
- Search engines can use the headings to more effectively index a
- page, or to provide quick links to subsections of the page from
- their results. Tools can use the headings to create a table of
- contents (that is in fact how this very specification's table of
- contents is generated).</p>
+ <p>Even beyond browsers, software can make use of this information. Search engines can use the
+ headings to more effectively index a page, or to provide quick links to subsections of the page
+ from their results. Tools can use the headings to create a table of contents (that is in fact how
+ this very specification's table of contents is generated).</p>
- <p>This example has focused on headings, but the same principle
- applies to all of the semantics in HTML.</p>
+ <p>This example has focused on headings, but the same principle applies to all of the semantics
+ in HTML.</p>
</div>
- <p>Authors must not use elements, attributes, or attribute values
- for purposes other than their appropriate intended semantic purpose,
- as doing so prevents software from correctly processing the
+ <p>Authors must not use elements, attributes, or attribute values for purposes other than their
+ appropriate intended semantic purpose, as doing so prevents software from correctly processing the
page.</p>
<div class=example>
- <p>For example, the following document is non-conforming, despite
- being syntactically correct:</p>
+ <p>For example, the following document is non-conforming, despite being syntactically
+ correct:</p>
<pre class=bad><!DOCTYPE HTML>
<html lang="en-GB">
@@ -9706,14 +9670,12 @@
</body>
</html></pre>
- <p>...because the data placed in the cells is clearly not tabular
- data (and the <code><a href=#the-cite-element>cite</a></code> element mis-used). This would make
- software that relies on these semantics fail: for example, a speech
- browser that allowed a blind user to navigate tables in the
- document would report the quote above as a table, confusing the
- user; similarly, a tool that extracted titles of works from pages
- would extract "Ernest" as the title of a work, even though it's
- actually a person's name, not a title.</p>
+ <p>...because the data placed in the cells is clearly not tabular data (and the <code><a href=#the-cite-element>cite</a></code>
+ element mis-used). This would make software that relies on these semantics fail: for example, a
+ speech browser that allowed a blind user to navigate tables in the document would report the
+ quote above as a table, confusing the user; similarly, a tool that extracted titles of works from
+ pages would extract "Ernest" as the title of a work, even though it's actually a person's name,
+ not a title.</p>
<p>A corrected version of this document might be:</p>
@@ -9735,19 +9697,16 @@
<div class=example>
- <p>This next document fragment, intended to represent the heading
- of a corporate site, is similarly non-conforming because the second
- line is not intended to be a heading of a subsection, but merely a
- subheading or subtitle (a subordinate heading for the same
- section).</p>
+ <p>This next document fragment, intended to represent the heading of a corporate site, is
+ similarly non-conforming because the second line is not intended to be a heading of a subsection,
+ but merely a subheading or subtitle (a subordinate heading for the same section).</p>
<pre class=bad><body>
<h1>ABC Company</h1>
<h2>Leading the way in widget design since 1432</h2>
...</pre>
- <p>The <code><a href=#the-hgroup-element>hgroup</a></code> element is intended for these kinds of
- situations:</p>
+ <p>The <code><a href=#the-hgroup-element>hgroup</a></code> element is intended for these kinds of situations:</p>
<pre><body>
<hgroup>
@@ -9758,16 +9717,14 @@
</div>
- <p>Authors must not use elements, attributes, or attribute values
- that are not permitted by this specification or <a href=#other-applicable-specifications>other
- applicable specifications</a>, as doing so makes it significantly
+ <p>Authors must not use elements, attributes, or attribute values that are not permitted by this
+ specification or <a href=#other-applicable-specifications>other applicable specifications</a>, as doing so makes it significantly
harder for the language to be extended in the future.</p>
<div class=example>
- <p>In the next example, there is a non-conforming attribute value
- ("carpet") and a non-conforming attribute ("texture"), which
- is not permitted by this specification:</p>
+ <p>In the next example, there is a non-conforming attribute value ("carpet") and a non-conforming
+ attribute ("texture"), which is not permitted by this specification:</p>
<pre class=bad><label>Carpet: <input type="carpet" name="c" texture="deep pile"></label></pre>
@@ -9777,43 +9734,34 @@
</div>
- <p>Through scripting and using other mechanisms, the values of
- attributes, text, and indeed the entire structure of the document
- may change dynamically while a user agent is processing it. The
- semantics of a document at an instant in time are those represented
- by the state of the document at that instant in time, and the
- semantics of a document can therefore change over time. User agents
- <span class=impl>must</span> update their presentation of the
- document as this occurs.</p>
+ <p>Through scripting and using other mechanisms, the values of attributes, text, and indeed the
+ entire structure of the document may change dynamically while a user agent is processing it. The
+ semantics of a document at an instant in time are those represented by the state of the document
+ at that instant in time, and the semantics of a document can therefore change over time. User
+ agents <span class=impl>must</span> update their presentation of the document as this
+ occurs.</p>
- <p class=example>HTML has a <code><a href=#the-progress-element>progress</a></code> element that
- describes a progress bar. If its "value" attribute is dynamically
- updated by a script, the UA would update the rendering to show the
- progress changing.</p>
+ <p class=example>HTML has a <code><a href=#the-progress-element>progress</a></code> element that describes a progress bar. If its
+ "value" attribute is dynamically updated by a script, the UA would update the rendering to show
+ the progress changing.</p>
<!--TOPIC:DOM APIs-->
<h4 id=elements-in-the-dom><span class=secno>3.2.2 </span>Elements in the DOM</h4>
- <p>The nodes representing <a href=#html-elements>HTML elements</a> in the DOM
- <span class=impl>must</span> implement, and expose to scripts, the
- interfaces listed for them in the relevant sections of this
- specification. This includes <a href=#html-elements>HTML elements</a> in <a href=#xml-documents>XML
- documents</a>, even when those documents are in another context
- (e.g. inside an XSLT transform).</p>
+ <p>The nodes representing <a href=#html-elements>HTML elements</a> in the DOM <span class=impl>must</span>
+ implement, and expose to scripts, the interfaces listed for them in the relevant sections of this
+ specification. This includes <a href=#html-elements>HTML elements</a> in <a href=#xml-documents>XML documents</a>, even when
+ those documents are in another context (e.g. inside an XSLT transform).</p>
- <p>Elements in the DOM <a href=#represents title=represents>represent</a>
- things; that is, they have intrinsic <em>meaning</em>, also known as
- semantics.</p>
+ <p>Elements in the DOM <a href=#represents title=represents>represent</a> things; that is, they have
+ intrinsic <em>meaning</em>, also known as semantics.</p>
- <p class=example>For example, an <code><a href=#the-ol-element>ol</a></code> element
- represents an ordered list.</p>
+ <p class=example>For example, an <code><a href=#the-ol-element>ol</a></code> element represents an ordered list.</p>
- <p>The basic interface, from which all the <a href=#html-elements>HTML
- elements</a>' interfaces inherit, <span class=impl>and which
- must be used by elements that have no additional
- requirements,</span> is the <code><a href=#htmlelement>HTMLElement</a></code> interface.</p>
+ <p>The basic interface, from which all the <a href=#html-elements>HTML elements</a>' interfaces inherit, <span class=impl>and which must be used by elements that have no additional requirements,</span> is
+ the <code><a href=#htmlelement>HTMLElement</a></code> interface.</p>
<pre class=idl>interface <dfn id=htmlelement>HTMLElement</dfn> : <a href=#element>Element</a> {
// metadata attributes
@@ -9864,16 +9812,14 @@
interface <dfn id=htmlunknownelement>HTMLUnknownElement</dfn> : <a href=#htmlelement>HTMLElement</a> { };</pre>
- <p>The <code><a href=#htmlelement>HTMLElement</a></code> interface holds methods and
- attributes related to a number of disparate features, and the
- members of this interface are therefore described in various
- different sections of this specification.</p>
+ <p>The <code><a href=#htmlelement>HTMLElement</a></code> interface holds methods and attributes related to a number of
+ disparate features, and the members of this interface are therefore described in various different
+ sections of this specification.</p>
<div class=impl>
- <p>The <code><a href=#htmlunknownelement>HTMLUnknownElement</a></code> interface must be used for
- <a href=#html-elements>HTML elements</a> that are not defined by this
- specification (or <a href=#other-applicable-specifications>other applicable specifications</a>).</p>
+ <p>The <code><a href=#htmlunknownelement>HTMLUnknownElement</a></code> interface must be used for <a href=#html-elements>HTML elements</a> that
+ are not defined by this specification (or <a href=#other-applicable-specifications>other applicable specifications</a>).</p>
</div>
@@ -9881,9 +9827,8 @@
<!--TOPIC:HTML-->
<h4 id=global-attributes><span class=secno>3.2.3 </span><dfn>Global attributes</dfn></h4>
- <p>The following attributes are common to and may be specified on
- all <a href=#html-elements>HTML elements</a><span class=impl> (even those not
- defined in this specification)</span>:</p>
+ <p>The following attributes are common to and may be specified on all <a href=#html-elements>HTML
+ elements</a><span class=impl> (even those not defined in this specification)</span>:</p>
<ul class=brief><li><code title=attr-accesskey><a href=#the-accesskey-attribute>accesskey</a></code></li>
<li><code title=attr-class><a href=#classes>class</a></code></li>
@@ -9908,19 +9853,18 @@
<li><code title=attr-translate><a href=#attr-translate>translate</a></code></li>
</ul><div class=impl>
- <p>These attributes are only defined by this specification as
- attributes for <a href=#html-elements>HTML elements</a>. When this specification
- refers to elements having these attributes, elements from namespaces
- that are not defined as having these attributes must not be
- considered as being elements with these attributes.</p>
+ <p>These attributes are only defined by this specification as attributes for <a href=#html-elements>HTML
+ elements</a>. When this specification refers to elements having these attributes, elements from
+ namespaces that are not defined as having these attributes must not be considered as being
+ elements with these attributes.</p>
<div class=example>
- <p>For example, in the following XML fragment, the "<code title="">bogus</code>" element does not have a <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute as defined in this
- specification, despite having an attribute with the literal name
- "<code title="">dir</code>". Thus, <a href=#the-directionality>the directionality</a>
- of the inner-most <code><a href=#the-span-element>span</a></code> element is '<a href=#concept-rtl title=concept-rtl>rtl</a>', inherited from the
- <code><a href=#the-div-element>div</a></code> element indirectly through the "<code title="">bogus</code>" element.</p>
+ <p>For example, in the following XML fragment, the "<code title="">bogus</code>" element does not
+ have a <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute as defined in this specification, despite
+ having an attribute with the literal name "<code title="">dir</code>". Thus, <a href=#the-directionality>the
+ directionality</a> of the inner-most <code><a href=#the-span-element>span</a></code> element is '<a href=#concept-rtl title=concept-rtl>rtl</a>', inherited from the <code><a href=#the-div-element>div</a></code> element indirectly through
+ the "<code title="">bogus</code>" element.</p>
<pre class=bad><div xmlns="http://www.w3.org/1999/html" dir="rtl">
<bogus xmlns="http://example.net/ns" dir="ltr">
@@ -9933,9 +9877,7 @@
</div>
- <hr><p>The following <a href=#event-handler-content-attributes>event handler content attributes</a> may
- be specified on any <a href=#html-elements title="HTML elements">HTML
- element</a>:</p>
+ <hr><p>The following <a href=#event-handler-content-attributes>event handler content attributes</a> may be specified on any <a href=#html-elements title="HTML elements">HTML element</a>:</p>
<ul class=brief><li><code title=handler-onabort><a href=#handler-onabort>onabort</a></code></li>
<li><code title=handler-onblur><a href=#handler-onblur>onblur</a></code>*</li>
@@ -9995,52 +9937,40 @@
<li><code title=handler-ontimeupdate><a href=#handler-ontimeupdate>ontimeupdate</a></code></li>
<li><code title=handler-onvolumechange><a href=#handler-onvolumechange>onvolumechange</a></code></li>
<li><code title=handler-onwaiting><a href=#handler-onwaiting>onwaiting</a></code></li>
- </ul><p class=note>The attributes marked with an asterisk have a
- different meaning when specified on <code><a href=#the-body-element>body</a></code> elements as
- those elements expose <a href=#event-handlers>event handlers</a> of the
+ </ul><p class=note>The attributes marked with an asterisk have a different meaning when specified on
+ <code><a href=#the-body-element>body</a></code> elements as those elements expose <a href=#event-handlers>event handlers</a> of the
<code><a href=#window>Window</a></code> object with the same names.</p>
- <p class=note>While these attributes apply to all elements, they
- are not useful on all elements. For example, only <a href=#media-element title="media
- element">media elements</a> will ever receive a <code title=event-media-volumechange><a href=#event-media-volumechange>volumechange</a></code> event fired by
- the user agent.</p>
+ <p class=note>While these attributes apply to all elements, they are not useful on all elements.
+ For example, only <a href=#media-element title="media element">media elements</a> will ever receive a <code title=event-media-volumechange><a href=#event-media-volumechange>volumechange</a></code> event fired by the user agent.</p>
- <hr><p><a href=#custom-data-attribute title="custom data attribute">Custom data attributes</a>
- (e.g. <code title="">data-foldername</code> or <code title="">data-msgid</code>) can be specified on any <a href=#html-elements title="HTML elements">HTML element</a>, to store custom data
- specific to the page.</p>
+ <hr><p><a href=#custom-data-attribute title="custom data attribute">Custom data attributes</a> (e.g. <code title="">data-foldername</code> or <code title="">data-msgid</code>) can be specified on any <a href=#html-elements title="HTML elements">HTML element</a>, to store custom data specific to the page.</p>
- <hr><p>In <a href=#html-documents>HTML documents</a>, elements in the <a href=#html-namespace-0>HTML
- namespace</a> may have an <code title="">xmlns</code> attribute
- specified, if, and only if, it has the exact value
- "<code>http://www.w3.org/1999/xhtml</code>". This does not apply to
- <a href=#xml-documents>XML documents</a>.</p>
+ <hr><p>In <a href=#html-documents>HTML documents</a>, elements in the <a href=#html-namespace-0>HTML namespace</a> may have an <code title="">xmlns</code> attribute specified, if, and only if, it has the exact value
+ "<code>http://www.w3.org/1999/xhtml</code>". This does not apply to <a href=#xml-documents>XML
+ documents</a>.</p>
- <p class=note>In HTML, the <code title="">xmlns</code> attribute
- has absolutely no effect. It is basically a talisman. It is allowed
- merely to make migration to and from XHTML mildly easier. When
- parsed by an <a href=#html-parser>HTML parser</a>, the attribute ends up in no
- namespace, not the "<code>http://www.w3.org/2000/xmlns/</code>"
- namespace like namespace declaration attributes in XML do.</p>
+ <p class=note>In HTML, the <code title="">xmlns</code> attribute has absolutely no effect. It is
+ basically a talisman. It is allowed merely to make migration to and from XHTML mildly easier. When
+ parsed by an <a href=#html-parser>HTML parser</a>, the attribute ends up in no namespace, not the
+ "<code>http://www.w3.org/2000/xmlns/</code>" namespace like namespace declaration attributes in
+ XML do.</p>
- <p class=note>In XML, an <code title="">xmlns</code> attribute is
- part of the namespace declaration mechanism, and an element cannot
- actually have an <code title="">xmlns</code> attribute in no
- namespace specified.</p>
+ <p class=note>In XML, an <code title="">xmlns</code> attribute is part of the namespace
+ declaration mechanism, and an element cannot actually have an <code title="">xmlns</code>
+ attribute in no namespace specified.</p>
- <hr><p>The XML specification also allows the use of the <code title=attr-xml-space>xml:space</code> attribute in the <a href=#xml-namespace>XML
- namespace</a> on any element in an <a href=#xml-documents title="XML
- documents">XML document</a>. This attribute has no effect on
- <a href=#html-elements>HTML elements</a>, as the default behavior in HTML is to
- preserve whitespace. <a href=#refsXML>[XML]</a></p>
+ <hr><p>The XML specification also allows the use of the <code title=attr-xml-space>xml:space</code>
+ attribute in the <a href=#xml-namespace>XML namespace</a> on any element in an <a href=#xml-documents title="XML documents">XML
+ document</a>. This attribute has no effect on <a href=#html-elements>HTML elements</a>, as the default
+ behavior in HTML is to preserve whitespace. <a href=#refsXML>[XML]</a></p>
- <p class=note>There is no way to serialize the <code title=attr-xml-space>xml:space</code> attribute on <a href=#html-elements>HTML
- elements</a> in the <code><a href=#text/html>text/html</a></code> syntax.</p>
+ <p class=note>There is no way to serialize the <code title=attr-xml-space>xml:space</code>
+ attribute on <a href=#html-elements>HTML elements</a> in the <code><a href=#text/html>text/html</a></code> syntax.</p>
- <hr><p>To enable assistive technology products to expose a more
- fine-grained interface than is otherwise possible with HTML elements
- and attributes, a set of <a href=#wai-aria title=WAI-ARIA>annotations for
- assistive technology products</a> can be specified (the ARIA
- <code title=attr-aria-role><a href=#attr-aria-role>role</a></code> and <code title=attr-aria-*>aria-*</code> attributes).</p>
+ <hr><p>To enable assistive technology products to expose a more fine-grained interface than is
+ otherwise possible with HTML elements and attributes, a set of <a href=#wai-aria title=WAI-ARIA>annotations
+ for assistive technology products</a> can be specified (the ARIA <code title=attr-aria-role><a href=#attr-aria-role>role</a></code> and <code title=attr-aria-*>aria-*</code> attributes).</p>
<h5 id=the-id-attribute><span class=secno>3.2.3.1 </span>The <dfn title=attr-id><code>id</code></dfn> attribute</h5>
@@ -10106,39 +10036,33 @@
</div>
- <p>Some elements, such as <code><a href=#the-link-element>link</a></code>, <code><a href=#the-abbr-element>abbr</a></code>, and
- <code><a href=#the-input-element>input</a></code>, define additional semantics for the <code title=attr-title><a href=#attr-title>title</a></code> attribute beyond the semantics
- described above.</p> <!-- the other two are <code>style</code> and
- <code>dfn</code> -->
+ <p>Some elements, such as <code><a href=#the-link-element>link</a></code>, <code><a href=#the-abbr-element>abbr</a></code>, and <code><a href=#the-input-element>input</a></code>, define
+ additional semantics for the <code title=attr-title><a href=#attr-title>title</a></code> attribute beyond the semantics
+ described above.</p> <!-- the other two are <code>style</code> and <code>dfn</code> -->
<div class=impl>
- <p>The <dfn id=advisory-information>advisory information</dfn> of an element is the value
- that the following algorithm returns, with the algorithm being
- aborted once a value is returned. When the algorithm returns the
+ <p>The <dfn id=advisory-information>advisory information</dfn> of an element is the value that the following algorithm
+ returns, with the algorithm being aborted once a value is returned. When the algorithm returns the
empty string, then there is no advisory information.</p>
- <ol><li><p>If the element is a <code><a href=#the-link-element>link</a></code>, <code><a href=#the-style-element>style</a></code>,
- <code><a href=#the-dfn-element>dfn</a></code>, <code><a href=#the-abbr-element>abbr</a></code>, or <code><a href=#the-title-element>title</a></code> element,
- then: if the element has a <code title="">title</code> attribute, <!-- not attr-title -->
- return the value of that attribute, otherwise, return the empty
- string.</li> <!-- note: <code>input</code> doesn't do this -->
+ <ol><li><p>If the element is a <code><a href=#the-link-element>link</a></code>, <code><a href=#the-style-element>style</a></code>, <code><a href=#the-dfn-element>dfn</a></code>,
+ <code><a href=#the-abbr-element>abbr</a></code>, or <code><a href=#the-title-element>title</a></code> element, then: if the element has a <code title="">title</code> attribute, <!-- not attr-title --> return the value of that attribute,
+ otherwise, return the empty string.</li> <!-- note: <code>input</code> doesn't do this -->
- <li><p>Otherwise, if the element has a <code title="attr-title=">title</code> attribute, then return its
- value.</li>
+ <li><p>Otherwise, if the element has a <code title="attr-title=">title</code> attribute, then
+ return its value.</li>
- <li><p>Otherwise, if the element has a parent element, then return
- the parent element's <a href=#advisory-information>advisory information</a>.</li>
+ <li><p>Otherwise, if the element has a parent element, then return the parent element's
+ <a href=#advisory-information>advisory information</a>.</li>
<li><p>Otherwise, return the empty string.</li>
- </ol><p>User agents should inform the user when elements have
- <a href=#advisory-information>advisory information</a>, otherwise the information would
- not be discoverable.</p>
+ </ol><p>User agents should inform the user when elements have <a href=#advisory-information>advisory information</a>,
+ otherwise the information would not be discoverable.</p>
- <hr><p>The <dfn id=dom-title title=dom-title><code>title</code></dfn> IDL attribute
- must <a href=#reflect>reflect</a> the <code title=attr-title><a href=#attr-title>title</a></code>
- content attribute.</p>
+ <hr><p>The <dfn id=dom-title title=dom-title><code>title</code></dfn> IDL attribute must <a href=#reflect>reflect</a> the
+ <code title=attr-title><a href=#attr-title>title</a></code> content attribute.</p>
</div>
@@ -10146,80 +10070,60 @@
<h5 id=the-lang-and-xml:lang-attributes><span class=secno>3.2.3.3 </span>The <code title=attr-lang><a href=#attr-lang>lang</a></code> and <code title=attr-xml-lang><a href=#attr-xml-lang>xml:lang</a></code> attributes</h5>
- <p>The <dfn id=attr-lang title=attr-lang><code>lang</code></dfn> attribute (in
- no namespace) specifies the primary language for the element's
- contents and for any of the element's attributes that contain
- text. Its value must be a valid BCP 47 language tag, or the empty
- string. Setting the attribute to the empty string indicates that the
- primary language is unknown<!-- UA conformance requirements for this
- are below -->. <a href=#refsBCP47>[BCP47]</a></p>
+ <p>The <dfn id=attr-lang title=attr-lang><code>lang</code></dfn> attribute (in no namespace) specifies the
+ primary language for the element's contents and for any of the element's attributes that contain
+ text. Its value must be a valid BCP 47 language tag, or the empty string. Setting the attribute to
+ the empty string indicates that the primary language is unknown<!-- UA conformance requirements
+ for this are below -->. <a href=#refsBCP47>[BCP47]</a></p>
- <p>The <dfn id=attr-xml-lang title=attr-xml-lang><code title="">lang</code></dfn>
- attribute in the <a href=#xml-namespace>XML namespace</a> is defined in XML. <a href=#refsXML>[XML]</a></p>
+ <p>The <dfn id=attr-xml-lang title=attr-xml-lang><code title="">lang</code></dfn> attribute in the <a href=#xml-namespace>XML
+ namespace</a> is defined in XML. <a href=#refsXML>[XML]</a></p>
- <p>If these attributes are omitted from an element, then the
- language of this element is the same as the language of its parent
- element, if any.</p>
+ <p>If these attributes are omitted from an element, then the language of this element is the same
+ as the language of its parent element, if any.</p>
- <p>The <code title=attr-lang><a href=#attr-lang>lang</a></code> attribute in no namespace
- may be used on any <a href=#html-elements title="HTML elements">HTML
- element</a>.</p>
+ <p>The <code title=attr-lang><a href=#attr-lang>lang</a></code> attribute in no namespace may be used on any <a href=#html-elements title="HTML elements">HTML element</a>.</p>
- <p>The <a href=#attr-xml-lang title=attr-xml-lang><code title="">lang</code>
- attribute in the <span>XML namespace</span></a> may be used on
- <a href=#html-elements>HTML elements</a> in <a href=#xml-documents>XML documents</a>, as well as
- elements in other namespaces if the relevant specifications allow it
- (in particular, MathML and SVG allow <a href=#attr-xml-lang title=attr-xml-lang><code title="">lang</code> attributes in the
- <span>XML namespace</span></a> to be specified on their
- elements). If both the <code title=attr-lang><a href=#attr-lang>lang</a></code> attribute
- in no namespace and the <a href=#attr-xml-lang title=attr-xml-lang><code title="">lang</code> attribute in the <span>XML
- namespace</span></a> are specified on the same element, they must
- have exactly the same value when compared in an <a href=#ascii-case-insensitive>ASCII
+ <p>The <a href=#attr-xml-lang title=attr-xml-lang><code title="">lang</code> attribute in the <span>XML
+ namespace</span></a> may be used on <a href=#html-elements>HTML elements</a> in <a href=#xml-documents>XML documents</a>,
+ as well as elements in other namespaces if the relevant specifications allow it (in particular,
+ MathML and SVG allow <a href=#attr-xml-lang title=attr-xml-lang><code title="">lang</code> attributes in the
+ <span>XML namespace</span></a> to be specified on their elements). If both the <code title=attr-lang><a href=#attr-lang>lang</a></code> attribute in no namespace and the <a href=#attr-xml-lang title=attr-xml-lang><code title="">lang</code> attribute in the <span>XML namespace</span></a> are specified on the same
+ element, they must have exactly the same value when compared in an <a href=#ascii-case-insensitive>ASCII
case-insensitive</a> manner.</p>
- <p>Authors must not use the <a href=#attr-xml-lang title=attr-xml-lang><code title="">lang</code> attribute in the <span>XML
- namespace</span></a> on <a href=#html-elements>HTML elements</a> in <a href=#html-documents>HTML
- documents</a>. To ease migration to and from XHTML, authors may
- specify an attribute in no namespace with no prefix and with the
- literal localname "<code title="">xml:lang</code>" on <a href=#html-elements>HTML
- elements</a> in <a href=#html-documents>HTML documents</a>, but such attributes
- must only be specified if a <code title=attr-lang><a href=#attr-lang>lang</a></code>
- attribute in no namespace is also specified, and both attributes
- must have the same value when compared in an <a href=#ascii-case-insensitive>ASCII
+ <p>Authors must not use the <a href=#attr-xml-lang title=attr-xml-lang><code title="">lang</code> attribute in
+ the <span>XML namespace</span></a> on <a href=#html-elements>HTML elements</a> in <a href=#html-documents>HTML
+ documents</a>. To ease migration to and from XHTML, authors may specify an attribute in no
+ namespace with no prefix and with the literal localname "<code title="">xml:lang</code>" on
+ <a href=#html-elements>HTML elements</a> in <a href=#html-documents>HTML documents</a>, but such attributes must only be
+ specified if a <code title=attr-lang><a href=#attr-lang>lang</a></code> attribute in no namespace is also specified,
+ and both attributes must have the same value when compared in an <a href=#ascii-case-insensitive>ASCII
case-insensitive</a> manner.</p>
- <p class=note>The attribute in no namespace with no prefix and
- with the literal localname "<code title="">xml:lang</code>" has no
- effect on language processing.</p>
+ <p class=note>The attribute in no namespace with no prefix and with the literal localname "<code title="">xml:lang</code>" has no effect on language processing.</p>
<div class=impl>
- <hr><p>To determine the <dfn id=language>language</dfn> of a node, user agents must
- look at the nearest ancestor element (including the element itself
- if the node is an element) that has a <a href=#attr-xml-lang title=attr-xml-lang><code title="">lang</code> attribute in the
- <span>XML namespace</span></a> set or is an <a href=#html-elements title="HTML
- elements">HTML element</a> and has a <code title=attr-lang><a href=#attr-lang>lang</a></code> in no namespace attribute set. That
- attribute specifies the language of the node (regardless of its
- value).</p>
+ <hr><p>To determine the <dfn id=language>language</dfn> of a node, user agents must look at the nearest ancestor
+ element (including the element itself if the node is an element) that has a <a href=#attr-xml-lang title=attr-xml-lang><code title="">lang</code> attribute in the <span>XML
+ namespace</span></a> set or is an <a href=#html-elements title="HTML elements">HTML element</a> and has a
+ <code title=attr-lang><a href=#attr-lang>lang</a></code> in no namespace attribute set. That attribute specifies the
+ language of the node (regardless of its value).</p>
- <p>If both the <code title=attr-lang><a href=#attr-lang>lang</a></code> attribute in no
- namespace and the <a href=#attr-xml-lang title=attr-xml-lang><code title="">lang</code> attribute in the <span>XML
- namespace</span></a> are set on an element, user agents must use
- the <a href=#attr-xml-lang title=attr-xml-lang><code title="">lang</code> attribute
- in the <span>XML namespace</span></a>, and the <code title=attr-lang><a href=#attr-lang>lang</a></code> attribute in no namespace must be
- <a href=#ignore title=ignore>ignored</a> for the purposes of determining
- the element's language.</p>
+ <p>If both the <code title=attr-lang><a href=#attr-lang>lang</a></code> attribute in no namespace and the <a href=#attr-xml-lang title=attr-xml-lang><code title="">lang</code> attribute in the <span>XML
+ namespace</span></a> are set on an element, user agents must use the <a href=#attr-xml-lang title=attr-xml-lang><code title="">lang</code> attribute in the <span>XML
+ namespace</span></a>, and the <code title=attr-lang><a href=#attr-lang>lang</a></code> attribute in no namespace
+ must be <a href=#ignore title=ignore>ignored</a> for the purposes of determining the element's
+ language.</p>
- <p>If neither the node nor any of the node's ancestors, including
- the <a href=#root-element>root element</a>, have either attribute set, but there
- is a <a href=#pragma-set-default-language>pragma-set default language</a> set, then that is the
- language of the node. If there is no <a href=#pragma-set-default-language>pragma-set default
- language</a> set, then language information from a higher-level
- protocol (such as HTTP), if any, must be used as the final fallback
- language instead. In the absence of any such language information,
- and in cases where the higher-level protocol reports multiple
- languages, the language of the node is unknown, and the
- corresponding language tag is the empty string.</p>
+ <p>If neither the node nor any of the node's ancestors, including the <a href=#root-element>root element</a>,
+ have either attribute set, but there is a <a href=#pragma-set-default-language>pragma-set default language</a> set, then that
+ is the language of the node. If there is no <a href=#pragma-set-default-language>pragma-set default language</a> set, then
+ language information from a higher-level protocol (such as HTTP), if any, must be used as the
+ final fallback language instead. In the absence of any such language information, and in cases
+ where the higher-level protocol reports multiple languages, the language of the node is unknown,
+ and the corresponding language tag is the empty string.</p>
<p>If the resulting value is not a recognized language tag, then it must be treated as an unknown
language having the given language tag, distinct from all other languages. For the purposes of
@@ -10239,27 +10143,22 @@
"xyzzy" is not how Belarusian is described in BCP 47 codes (BCP 47 uses the code "be" for
Belarusian).</p>
- <p>If the resulting value is the empty string, then it must be
- interpreted as meaning that the language of the node is explicitly
- unknown.</p>
+ <p>If the resulting value is the empty string, then it must be interpreted as meaning that the
+ language of the node is explicitly unknown.</p>
- <hr><p>User agents may use the element's language to determine proper
- processing or rendering (e.g. in the selection of appropriate fonts
- or pronunciations, for dictionary selection, or for the user
- interfaces of form controls such as date pickers). <!--User agents
- must not use the element's language to determine text
- directionality. (commented out because text directionality is a
+ <hr><p>User agents may use the element's language to determine proper processing or rendering (e.g. in
+ the selection of appropriate fonts or pronunciations, for dictionary selection, or for the user
+ interfaces of form controls such as date pickers). <!--User agents must not use the element's
+ language to determine text directionality. (commented out because text directionality is a
rendering-level concern.)--></p>
- <!-- Date pickers would use the language information for determining
- the language of months, for example. They should use the page's
- _locale_ to figure out the format itself, not the language. There's
- currently no way to determine the page's locale except by guessing
- from the charset and language... -->
+ <!-- Date pickers would use the language information for determining the language of months, for
+ example. They should use the page's _locale_ to figure out the format itself, not the language.
+ There's currently no way to determine the page's locale except by guessing from the charset and
+ language... -->
- <hr><p>The <dfn id=dom-lang title=dom-lang><code>lang</code></dfn> IDL attribute
- must <a href=#reflect>reflect</a> the <code title=attr-lang><a href=#attr-lang>lang</a></code>
- content attribute in no namespace.</p>
+ <hr><p>The <dfn id=dom-lang title=dom-lang><code>lang</code></dfn> IDL attribute must <a href=#reflect>reflect</a> the
+ <code title=attr-lang><a href=#attr-lang>lang</a></code> content attribute in no namespace.</p>
</div>
@@ -10270,60 +10169,47 @@
<!-- v2: a way to translate the declensions of the word(s), but keep the actual roots the same
for examples, see https://www.w3.org/Bugs/Public/show_bug.cgi?id=17954 -->
- <p>The <dfn id=attr-translate title=attr-translate><code>translate</code></dfn>
- attribute is an <a href=#enumerated-attribute>enumerated attribute</a> that is used to
- specify whether an element's attribute values and the values of its
- <code><a href=#text>Text</a></code> node children are to be translated when the page
- is localized, or whether to leave them unchanged.</p>
+ <p>The <dfn id=attr-translate title=attr-translate><code>translate</code></dfn> attribute is an <a href=#enumerated-attribute>enumerated
+ attribute</a> that is used to specify whether an element's attribute values and the values of
+ its <code><a href=#text>Text</a></code> node children are to be translated when the page is localized, or whether to
+ leave them unchanged.</p>
- <p>The attribute's keywords are the empty string, <code title="">yes</code>, and <code title="">no</code>. The empty string
- and the <code title="">yes</code> keyword map to the <i>yes</i>
- state. The <code title="">no</code> keyword maps to the <i>no</i>
- state. In addition, there is a third state, the <i>inherit</i>
- state, which is the <i>missing value default</i> (and the <i>invalid
- value default</i>).</p>
+ <p>The attribute's keywords are the empty string, <code title="">yes</code>, and <code title="">no</code>. The empty string and the <code title="">yes</code> keyword map to the
+ <i>yes</i> state. The <code title="">no</code> keyword maps to the <i>no</i> state. In addition,
+ there is a third state, the <i>inherit</i> state, which is the <i>missing value default</i> (and
+ the <i>invalid value default</i>).</p>
- <p>Each element has a <dfn id=translation-mode>translation mode</dfn>, which is in
- either the <a href=#translate-enabled>translate-enabled</a> state or the
- <a href=#no-translate>no-translate</a> state. If the element's <code title=attr-translate><a href=#attr-translate>translate</a></code> attribute is in the
- <i>yes</i> state, then the element's <a href=#translation-mode>translation mode</a>
- is in the <a href=#translate-enabled>translate-enabled</a> state. Otherwise, if the
- element's <code title=attr-translate><a href=#attr-translate>translate</a></code> attribute is
- in the <i>no</i> state, then the element's <a href=#translation-mode>translation
- mode</a> is in the <a href=#no-translate>no-translate</a> state. Otherwise,
- the element's <code title=attr-translate><a href=#attr-translate>translate</a></code>
- attribute is in the <i>inherit</i> state; in that case, the
- element's <a href=#translation-mode>translation mode</a> is in the same state as its
- parent element, if any, or in the <a href=#translate-enabled>translate-enabled</a>
- state, if the element is a <a href=#root-element>root element</a>.</p>
+ <p>Each element has a <dfn id=translation-mode>translation mode</dfn>, which is in either the
+ <a href=#translate-enabled>translate-enabled</a> state or the <a href=#no-translate>no-translate</a> state. If the element's
+ <code title=attr-translate><a href=#attr-translate>translate</a></code> attribute is in the <i>yes</i> state, then the
+ element's <a href=#translation-mode>translation mode</a> is in the <a href=#translate-enabled>translate-enabled</a> state. Otherwise,
+ if the element's <code title=attr-translate><a href=#attr-translate>translate</a></code> attribute is in the <i>no</i>
+ state, then the element's <a href=#translation-mode>translation mode</a> is in the <a href=#no-translate>no-translate</a> state.
+ Otherwise, the element's <code title=attr-translate><a href=#attr-translate>translate</a></code> attribute is in the
+ <i>inherit</i> state; in that case, the element's <a href=#translation-mode>translation mode</a> is in the same
+ state as its parent element, if any, or in the <a href=#translate-enabled>translate-enabled</a> state, if the
+ element is a <a href=#root-element>root element</a>.</p>
- <p>When an element is in the <dfn id=translate-enabled>translate-enabled</dfn> state, the
- element's attribute values and the values of its <code><a href=#text>Text</a></code>
- node children are to be translated when the page is localized.</p>
+ <p>When an element is in the <dfn id=translate-enabled>translate-enabled</dfn> state, the element's attribute values
+ and the values of its <code><a href=#text>Text</a></code> node children are to be translated when the page is
+ localized.</p>
- <p>When an element is in the <dfn id=no-translate>no-translate</dfn> state, the
- element's attribute values and the values of its <code><a href=#text>Text</a></code>
- node children are to be left as-is when the page is localized, e.g.
- because the element contains a person's name or a the name of a
- computer program.</p>
+ <p>When an element is in the <dfn id=no-translate>no-translate</dfn> state, the element's attribute values and the
+ values of its <code><a href=#text>Text</a></code> node children are to be left as-is when the page is localized,
+ e.g. because the element contains a person's name or a the name of a computer program.</p>
<div class=impl>
- <hr><p>The <dfn id=dom-translate title=dom-translate><code>translate</code></dfn> IDL
- attribute must, on getting, return true if the element's
- <a href=#translation-mode>translation mode</a> is <a href=#translate-enabled>translate-enabled</a>, and
- false otherwise. On setting, it must set the content attribute's
- value to "<code title="">yes</code>" if the new value is true, and
- set the content attribute's value to "<code title="">no</code>"
- otherwise.</p>
+ <hr><p>The <dfn id=dom-translate title=dom-translate><code>translate</code></dfn> IDL attribute must, on getting,
+ return true if the element's <a href=#translation-mode>translation mode</a> is <a href=#translate-enabled>translate-enabled</a>, and
+ false otherwise. On setting, it must set the content attribute's value to "<code title="">yes</code>" if the new value is true, and set the content attribute's value to "<code title="">no</code>" otherwise.</p>
</div>
<div class=example>
- <p>In this example, everything in the document is to be translated
- when the page is localised, except the sample keyboard input and
- sample program output:</p>
+ <p>In this example, everything in the document is to be translated when the page is localised,
+ except the sample keyboard input and sample program output:</p>
<pre><!DOCTYPE HTML>
<html> <!-- default on the root element is translate=yes -->
@@ -10342,24 +10228,19 @@
- <h5 id=the-xml:base-attribute-(xml-only)><span class=secno>3.2.3.5 </span>The <dfn title=attr-xml-base><code>xml:base</code></dfn>
- attribute (XML only)</h5>
+ <h5 id=the-xml:base-attribute-(xml-only)><span class=secno>3.2.3.5 </span>The <dfn title=attr-xml-base><code>xml:base</code></dfn> attribute (XML only)</h5>
- <p>The <code title=attr-xml-base><a href=#the-xml:base-attribute-(xml-only)>xml:base</a></code> attribute is
- defined in XML Base. <a href=#refsXMLBASE>[XMLBASE]</a></p>
+ <p>The <code title=attr-xml-base><a href=#the-xml:base-attribute-(xml-only)>xml:base</a></code> attribute is defined in XML Base. <a href=#refsXMLBASE>[XMLBASE]</a></p>
- <p>The <code title=attr-xml-base><a href=#the-xml:base-attribute-(xml-only)>xml:base</a></code> attribute may be
- used on <a href=#html-elements>HTML elements</a> of <a href=#xml-documents>XML documents</a>.
- Authors must not use the <code title=attr-xml-base><a href=#the-xml:base-attribute-(xml-only)>xml:base</a></code>
- attribute on <a href=#html-elements>HTML elements</a> in <a href=#html-documents>HTML
+ <p>The <code title=attr-xml-base><a href=#the-xml:base-attribute-(xml-only)>xml:base</a></code> attribute may be used on <a href=#html-elements>HTML
+ elements</a> of <a href=#xml-documents>XML documents</a>. Authors must not use the <code title=attr-xml-base><a href=#the-xml:base-attribute-(xml-only)>xml:base</a></code> attribute on <a href=#html-elements>HTML elements</a> in <a href=#html-documents>HTML
documents</a>.</p>
<h5 id=the-dir-attribute><span class=secno>3.2.3.6 </span>The <dfn title=attr-dir><code>dir</code></dfn> attribute</h5>
- <p>The <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute specifies the
- element's text directionality. The attribute is an <a href=#enumerated-attribute>enumerated
- attribute</a> with the following keywords and states:</p>
+ <p>The <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute specifies the element's text directionality.
+ The attribute is an <a href=#enumerated-attribute>enumerated attribute</a> with the following keywords and states:</p>
<dl><dt>The <dfn id=attr-dir-ltr title=attr-dir-ltr><code>ltr</code></dfn> keyword, which maps to the <dfn id=attr-dir-ltr-state title=attr-dir-ltr-state>ltr</dfn> state</dt>
@@ -10383,83 +10264,73 @@
<dd>
- <p>Indicates that the contents of the element are explicitly
- embedded text, but that the direction is to be determined
- programmatically using the contents of the element (as described
+ <p>Indicates that the contents of the element are explicitly embedded text, but that the
+ direction is to be determined programmatically using the contents of the element (as described
below).</p>
- <p class=note>The heuristic used by this state is very crude (it
- just looks at the first character with a strong directionality, in
- a manner analogous to the Paragraph Level determination in the
- bidirectional algorithm). Authors are urged to only use this value
- as a last resort when the direction of the text is truly unknown
- and no better server-side heuristic can be applied. <a href=#refsBIDI>[BIDI]</a></p>
+ <p class=note>The heuristic used by this state is very crude (it just looks at the first
+ character with a strong directionality, in a manner analogous to the Paragraph Level
+ determination in the bidirectional algorithm). Authors are urged to only use this value as a
+ last resort when the direction of the text is truly unknown and no better server-side heuristic
+ can be applied. <a href=#refsBIDI>[BIDI]</a></p>
- <p class=note>For <code><a href=#the-textarea-element>textarea</a></code> and <code><a href=#the-pre-element>pre</a></code>
- elements, the heuristic is applied on a per-paragraph level.</p>
+ <p class=note>For <code><a href=#the-textarea-element>textarea</a></code> and <code><a href=#the-pre-element>pre</a></code> elements, the heuristic is
+ applied on a per-paragraph level.</p>
</dd>
- </dl><p>The attribute has no <i>invalid value default</i> and no
- <i>missing value default</i>.</p>
+ </dl><p>The attribute has no <i>invalid value default</i> and no <i>missing value default</i>.</p>
<p><dfn id=the-directionality>The directionality</dfn> of an element (any element, not just an <a href=#html-elements title="HTML
elements">HTML element</a>) is either '<dfn id=concept-ltr title=concept-ltr>ltr</dfn>' or '<dfn id=concept-rtl title=concept-rtl>rtl</dfn>', and is determined as per the first appropriate set of steps from
the following list:</p>
- <dl class=switch><dt>If the element's <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute is
- in the <a href=#attr-dir-ltr-state title=attr-dir-ltr-state>ltr</a> state</dt>
+ <dl class=switch><dt>If the element's <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute is in the <a href=#attr-dir-ltr-state title=attr-dir-ltr-state>ltr</a> state</dt>
<dd><p><a href=#the-directionality>The directionality</a> of the element is '<a href=#concept-ltr title=concept-ltr>ltr</a>'.</dd>
- <dt>If the element's <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute is
- in the <a href=#attr-dir-rtl-state title=attr-dir-rtl-state>rtl</a> state</dt>
+ <dt>If the element's <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute is in the <a href=#attr-dir-rtl-state title=attr-dir-rtl-state>rtl</a> state</dt>
<dd><p><a href=#the-directionality>The directionality</a> of the element is '<a href=#concept-rtl title=concept-rtl>rtl</a>'.</dd>
<dt>If the element is an <code><a href=#the-input-element>input</a></code> element whose <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is in the <a href="#text-(type=text)-state-and-search-state-(type=search)" title=attr-input-type-text>Text</a>, <a href="#text-(type=text)-state-and-search-state-(type=search)" title=attr-input-type-search>Search</a>, <a href="#telephone-state-(type=tel)" title=attr-input-type-tel>Telephone</a>, <a href="#url-state-(type=url)" title=attr-input-type-url>URL</a>, or <a href="#e-mail-state-(type=email)" title=attr-input-type-email>E-mail</a> state, and the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute is in the <a href=#attr-dir-auto-state title=attr-dir-auto-state>auto</a> state</dt>
- <dt>If the element is a <code><a href=#the-textarea-element>textarea</a></code> element and the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute is in the <a href=#attr-dir-auto-state title=attr-dir-auto-state>auto</a> state</dt>
+ <dt>If the element is a <code><a href=#the-textarea-element>textarea</a></code> element and the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code>
+ attribute is in the <a href=#attr-dir-auto-state title=attr-dir-auto-state>auto</a> state</dt>
<dd>
- <p>If the element's <a href=#concept-fe-value title=concept-fe-value>value</a>
- contains a character of bidirectional character type AL or R, and
- there is no character of bidirectional character type L anywhere
- before it in the element's <a href=#concept-fe-value title=concept-fe-value>value</a>, then <a href=#the-directionality>the
- directionality</a> of the element is '<a href=#concept-rtl title=concept-rtl>rtl</a>'. Otherwise, <a href=#the-directionality>the
- directionality</a> of the element is '<a href=#concept-ltr title=concept-ltr>ltr</a>'. <a href=#refsBIDI>[BIDI]</a></p>
+ <p>If the element's <a href=#concept-fe-value title=concept-fe-value>value</a> contains a character of
+ bidirectional character type AL or R, and there is no character of bidirectional character type
+ L anywhere before it in the element's <a href=#concept-fe-value title=concept-fe-value>value</a>, then
+ <a href=#the-directionality>the directionality</a> of the element is '<a href=#concept-rtl title=concept-rtl>rtl</a>'.
+ Otherwise, <a href=#the-directionality>the directionality</a> of the element is '<a href=#concept-ltr title=concept-ltr>ltr</a>'. <a href=#refsBIDI>[BIDI]</a></p>
</dd>
- <dt>If the element's <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute is
- in the <a href=#attr-dir-auto-state title=attr-dir-auto-state>auto</a> state</dt>
+ <dt>If the element's <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute is in the <a href=#attr-dir-auto-state title=attr-dir-auto-state>auto</a> state</dt>
- <dt>If the element is a <code><a href=#the-bdi-element>bdi</a></code> element and the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute is not in a defined state
- (i.e. it is not present or has an invalid value)</dt>
+ <dt>If the element is a <code><a href=#the-bdi-element>bdi</a></code> element and the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code>
+ attribute is not in a defined state (i.e. it is not present or has an invalid value)</dt>
<dd>
- <p>Find the first character in <a href=#tree-order>tree order</a> that
- matches the following criteria:</p>
+ <p>Find the first character in <a href=#tree-order>tree order</a> that matches the following criteria:</p>
- <ul><li><p>The character is from a <code><a href=#text>Text</a></code> node that is a
- descendant of the element whose <a href=#the-directionality title="the
- directionality">directionality</a> is being
- determined.</li>
+ <ul><li><p>The character is from a <code><a href=#text>Text</a></code> node that is a descendant of the element whose
+ <a href=#the-directionality title="the directionality">directionality</a> is being determined.</li>
- <li><p>The character is of bidirectional character type L, AL,
- or R. <a href=#refsBIDI>[BIDI]</a></li>
+ <li><p>The character is of bidirectional character type L, AL, or R. <a href=#refsBIDI>[BIDI]</a></li>
<li>
- <p>The character is not in a <code><a href=#text>Text</a></code> node that has an
- ancestor element that is a descendant of the element whose <a href=#the-directionality title="the directionality">directionality</a> is being
- determined and that is either:</p>
+ <p>The character is not in a <code><a href=#text>Text</a></code> node that has an ancestor element that is a
+ descendant of the element whose <a href=#the-directionality title="the directionality">directionality</a> is
+ being determined and that is either:</p>
<ul class=brief><li>A <code><a href=#the-bdi-element>bdi</a></code> element.
<li>A <code><a href=#the-script-element>script</a></code> element.
@@ -10468,28 +10339,25 @@
<li>An element with a <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute in a defined state.
</ul></li>
- </ul><p>If such a character is found and it is of bidirectional
- character type AL or R, <a href=#the-directionality>the directionality</a> of the
- element is '<a href=#concept-rtl title=concept-rtl>rtl</a>'.</p>
+ </ul><p>If such a character is found and it is of bidirectional character type AL or R, <a href=#the-directionality>the
+ directionality</a> of the element is '<a href=#concept-rtl title=concept-rtl>rtl</a>'.</p>
- <p>Otherwise, <a href=#the-directionality>the directionality</a> of the element is
- '<a href=#concept-ltr title=concept-ltr>ltr</a>'.</p>
+ <p>Otherwise, <a href=#the-directionality>the directionality</a> of the element is '<a href=#concept-ltr title=concept-ltr>ltr</a>'.</p>
</dd>
- <dt>If the element is a <a href=#root-element>root element</a> and the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute is not in a defined state
- (i.e. it is not present or has an invalid value)</dt>
+ <dt>If the element is a <a href=#root-element>root element</a> and the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code>
+ attribute is not in a defined state (i.e. it is not present or has an invalid value)</dt>
<dd><p><a href=#the-directionality>The directionality</a> of the element is '<a href=#concept-ltr title=concept-ltr>ltr</a>'.</dd>
- <dt>If the element has a parent element and the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute is not in a defined state
- (i.e. it is not present or has an invalid value)</dt>
+ <dt>If the element has a parent element and the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute is
+ not in a defined state (i.e. it is not present or has an invalid value)</dt>
- <dd><p><a href=#the-directionality>The directionality</a> of the element is the same
- as the element's parent element's <a href=#the-directionality title="the
- directionality">directionality</a>.</dd>
+ <dd><p><a href=#the-directionality>The directionality</a> of the element is the same as the element's parent
+ element's <a href=#the-directionality title="the directionality">directionality</a>.</dd>
</dl><p class=note>Since the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute is only defined for
@@ -10498,11 +10366,9 @@
directionality">directionality</a> from their parent element, or, if they don't have one,
default to '<a href=#concept-ltr title=concept-ltr>ltr</a>'.</p>
- <p>The effect of this attribute is primarily on the presentation
- layer. For example, the rendering section in this specification
- defines a mapping from this attribute to the CSS 'direction' and
- 'unicode-bidi' properties, and CSS defines rendering in terms of
- those properties.</p>
+ <p>The effect of this attribute is primarily on the presentation layer. For example, the rendering
+ section in this specification defines a mapping from this attribute to the CSS 'direction' and
+ 'unicode-bidi' properties, and CSS defines rendering in terms of those properties.</p>
<hr><dl class=domintro><dt><var title="">document</var> . <code title=dom-dir><a href=#dom-dir>dir</a></code> [ = <var title="">value</var> ]</dt>
<dd>
@@ -10513,24 +10379,22 @@
</dl><div class=impl>
- <p>The <dfn id=dom-dir title=dom-dir><code>dir</code></dfn> IDL attribute on
- an element must <a href=#reflect>reflect</a> the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> content attribute of that element,
+ <p>The <dfn id=dom-dir title=dom-dir><code>dir</code></dfn> IDL attribute on an element must
+ <a href=#reflect>reflect</a> the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> content attribute of that element,
<a href=#limited-to-only-known-values>limited to only known values</a>.</p>
- <p>The <dfn id=dom-document-dir title=dom-document-dir><code>dir</code></dfn> IDL
- attribute on <code><a href=#document>Document</a></code> objects must
- <a href=#reflect>reflect</a> the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> content
- attribute of <a href=#the-html-element-0>the <code>html</code> element</a>, if any,
- <a href=#limited-to-only-known-values>limited to only known values</a>. If there is no such
- element, then the attribute must return the empty string and do
- nothing on setting.</p>
+ <p>The <dfn id=dom-document-dir title=dom-document-dir><code>dir</code></dfn> IDL attribute on <code><a href=#document>Document</a></code>
+ objects must <a href=#reflect>reflect</a> the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> content attribute of
+ <a href=#the-html-element-0>the <code>html</code> element</a>, if any, <a href=#limited-to-only-known-values>limited to only known values</a>. If
+ there is no such element, then the attribute must return the empty string and do nothing on
+ setting.</p>
</div>
- <p class=note>Authors are strongly encouraged to use the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute to indicate text direction
- rather than using CSS, since that way their documents will continue
- to render correctly even in the absence of CSS (e.g. as interpreted
- by search engines).</p>
+ <p class=note>Authors are strongly encouraged to use the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code>
+ attribute to indicate text direction rather than using CSS, since that way their documents will
+ continue to render correctly even in the absence of CSS (e.g. as interpreted by search
+ engines).</p>
<div class=example>
@@ -10559,18 +10423,15 @@
<p dir=rtl class="u1"><b><bdi>Student</bdi>:</b> "من فضلك", right?</p>
-->
- <p>Given a suitable style sheet and the default alignment styles
- for the <code><a href=#the-p-element>p</a></code> element, namely to align the text to the
- <i>start edge</i> of the paragraph, the resulting rendering could
+ <p>Given a suitable style sheet and the default alignment styles for the <code><a href=#the-p-element>p</a></code> element,
+ namely to align the text to the <i>start edge</i> of the paragraph, the resulting rendering could
be as follows:</p>
<p><img alt="Each paragraph rendered as a separate block, with the paragraphs left-aligned except the second paragraph and the last one, which would be right aligned, with the usernames ('Student' and 'Teacher' in this example) flush right, with a colon to their left, and the text first to the left of that." src=http://images.whatwg.org/im.png></p>
- <p>As noted earlier, the <code title=attr-dir-auto><a href=#attr-dir-auto>auto</a></code>
- value is not a panacea. The final paragraph in this example is
- misinterpreted as being right-to-left text, since it begins with an
- Arabic character, which causes the "right?" to be to the left of
- the Arabic text.</p>
+ <p>As noted earlier, the <code title=attr-dir-auto><a href=#attr-dir-auto>auto</a></code> value is not a panacea. The
+ final paragraph in this example is misinterpreted as being right-to-left text, since it begins
+ with an Arabic character, which causes the "right?" to be to the left of the Arabic text.</p>
</div>
@@ -10611,26 +10472,25 @@
<h5 id=the-style-attribute><span class=secno>3.2.3.8 </span>The <dfn title=attr-style><code>style</code></dfn> attribute</h5>
- <p>All <a href=#html-elements>HTML elements</a> may have the <code title=attr-style><a href=#the-style-attribute>style</a></code> content attribute set. This is a
- <a href=#css-styling-attribute>CSS styling attribute</a> as defined by the CSS Styling
+ <p>All <a href=#html-elements>HTML elements</a> may have the <code title=attr-style><a href=#the-style-attribute>style</a></code> content
+ attribute set. This is a <a href=#css-styling-attribute>CSS styling attribute</a> as defined by the CSS Styling
Attribute Syntax specification. <a href=#refsCSSATTR>[CSSATTR]</a></p>
<div class=impl>
- <p>In user agents that support CSS, the attribute's value must be
- parsed when the attribute is added or has its value changed<!-- so
- dynamic changes to the base URL don't affect the CSS -->, according
- to the rules given for <span>CSS styling attributes</span>. <a href=#refsCSSATTR>[CSSATTR]</a></p>
+ <p>In user agents that support CSS, the attribute's value must be parsed when the attribute is
+ added or has its value changed<!-- so dynamic changes to the base URL don't affect the CSS -->,
+ according to the rules given for <span>CSS styling attributes</span>. <a href=#refsCSSATTR>[CSSATTR]</a></p>
</div>
- <p>Documents that use <code title=attr-style><a href=#the-style-attribute>style</a></code>
- attributes on any of their elements must still be comprehensible and
- usable if those attributes were removed.</p>
+ <p>Documents that use <code title=attr-style><a href=#the-style-attribute>style</a></code> attributes on any of their elements
+ must still be comprehensible and usable if those attributes were removed.</p>
- <p class=note>In particular, using the <code title=attr-style><a href=#the-style-attribute>style</a></code> attribute to hide and show content,
- or to convey meaning that is otherwise not included in the document,
- is non-conforming. (To hide and show content, use the <code title=attr-hidden><a href=#the-hidden-attribute>hidden</a></code> attribute.)</p>
+ <p class=note>In particular, using the <code title=attr-style><a href=#the-style-attribute>style</a></code> attribute to hide
+ and show content, or to convey meaning that is otherwise not included in the document, is
+ non-conforming. (To hide and show content, use the <code title=attr-hidden><a href=#the-hidden-attribute>hidden</a></code>
+ attribute.)</p>
<hr><dl class=domintro><dt><var title="">element</var> . <code title=dom-style><a href=#dom-style>style</a></code></dt>
<dd>
@@ -10639,24 +10499,21 @@
</dl><div class=impl>
- <p>The <dfn id=dom-style title=dom-style><code>style</code></dfn> IDL attribute
- must return a <code><a href=#cssstyledeclaration>CSSStyleDeclaration</a></code> whose value
- represents the declarations specified in the attribute. (If the
- attribute is absent, the object represents an empty declaration.)
- Mutating the <code><a href=#cssstyledeclaration>CSSStyleDeclaration</a></code> object must create a
- <code title=attr-style><a href=#the-style-attribute>style</a></code> attribute on the element (if
- there isn't one already) and then change its value to be a value
- representing the serialized form of the
- <code><a href=#cssstyledeclaration>CSSStyleDeclaration</a></code> object. The same object must be
- returned each time. <a href=#refsCSSOM>[CSSOM]</a></p>
+ <p>The <dfn id=dom-style title=dom-style><code>style</code></dfn> IDL attribute must return a
+ <code><a href=#cssstyledeclaration>CSSStyleDeclaration</a></code> whose value represents the declarations specified in the
+ attribute. (If the attribute is absent, the object represents an empty declaration.) Mutating the
+ <code><a href=#cssstyledeclaration>CSSStyleDeclaration</a></code> object must create a <code title=attr-style><a href=#the-style-attribute>style</a></code>
+ attribute on the element (if there isn't one already) and then change its value to be a value
+ representing the serialized form of the <code><a href=#cssstyledeclaration>CSSStyleDeclaration</a></code> object. The same object
+ must be returned each time. <a href=#refsCSSOM>[CSSOM]</a></p>
</div>
<div class=example>
- <p>In the following example, the words that refer to colors are
- marked up using the <code><a href=#the-span-element>span</a></code> element and the <code title=attr-style><a href=#the-style-attribute>style</a></code> attribute to make those words show
- up in the relevant colors in visual media.</p>
+ <p>In the following example, the words that refer to colors are marked up using the
+ <code><a href=#the-span-element>span</a></code> element and the <code title=attr-style><a href=#the-style-attribute>style</a></code> attribute to make those
+ words show up in the relevant colors in visual media.</p>
<pre><p>My sweat suit is <span style="color: green; background:
transparent">green</span> and my eyes are <span style="color: blue;
@@ -10668,68 +10525,60 @@
<h5 id=embedding-custom-non-visible-data-with-the-data-*-attributes><span class=secno>3.2.3.9 </span><dfn>Embedding custom non-visible data</dfn> with the <code title=attr-data-*><a href=#attr-data-*>data-*</a></code> attributes</h5>
- <p>A <dfn id=custom-data-attribute>custom data attribute</dfn> is an attribute in no
- namespace whose name starts with the string "<dfn id=attr-data-* title=attr-data-*><code>data-</code></dfn>", has at least one
- character after the hyphen, is <a href=#xml-compatible>XML-compatible</a>, and
- contains no <a href=#uppercase-ascii-letters>uppercase ASCII letters</a>.</p>
+ <p>A <dfn id=custom-data-attribute>custom data attribute</dfn> is an attribute in no namespace whose name starts with the
+ string "<dfn id=attr-data-* title=attr-data-*><code>data-</code></dfn>", has at least one character after the
+ hyphen, is <a href=#xml-compatible>XML-compatible</a>, and contains no <a href=#uppercase-ascii-letters>uppercase ASCII letters</a>.</p>
- <p class=note>All attribute names on <a href=#html-elements>HTML elements</a> in
- <a href=#html-documents>HTML documents</a> get ASCII-lowercased automatically, so
- the restriction on ASCII uppercase letters doesn't affect such
- documents.</p>
+ <p class=note>All attribute names on <a href=#html-elements>HTML elements</a> in <a href=#html-documents>HTML documents</a>
+ get ASCII-lowercased automatically, so the restriction on ASCII uppercase letters doesn't affect
+ such documents.</p>
- <p><a href=#custom-data-attribute title="custom data attribute">Custom data attributes</a>
- are intended to store custom data private to the page or
- application, for which there are no more appropriate attributes or
+ <p><a href=#custom-data-attribute title="custom data attribute">Custom data attributes</a> are intended to store custom
+ data private to the page or application, for which there are no more appropriate attributes or
elements.</p>
- <p>These attributes are not intended for use by software that is
- independent of the site that uses the attributes.</p>
+ <p>These attributes are not intended for use by software that is independent of the site that uses
+ the attributes.</p>
<div class=example>
- <p>For instance, a site about music could annotate list items
- representing tracks in an album with custom data attributes
- containing the length of each track. This information could then be
- used by the site itself to allow the user to sort the list by track
- length, or to filter the list for tracks of certain lengths.</p>
+ <p>For instance, a site about music could annotate list items representing tracks in an album
+ with custom data attributes containing the length of each track. This information could then be
+ used by the site itself to allow the user to sort the list by track length, or to filter the list
+ for tracks of certain lengths.</p>
<pre><ol>
<li data-length="2m11s">Beyond The Sea</li>
...
</ol></pre>
- <p>It would be inappropriate, however, for the user to use generic
- software not associated with that music site to search for tracks
- of a certain length by looking at this data.</p>
+ <p>It would be inappropriate, however, for the user to use generic software not associated with
+ that music site to search for tracks of a certain length by looking at this data.</p>
- <p>This is because these attributes are intended for use by the
- site's own scripts, and are not a generic extension mechanism for
- publicly-usable metadata.</p>
+ <p>This is because these attributes are intended for use by the site's own scripts, and are not a
+ generic extension mechanism for publicly-usable metadata.</p>
</div>
- <p>Every <a href=#html-elements title="HTML elements">HTML element</a> may have
- any number of <a href=#custom-data-attribute title="custom data attribute">custom data
- attributes</a> specified, with any value.</p>
+ <p>Every <a href=#html-elements title="HTML elements">HTML element</a> may have any number of <a href=#custom-data-attribute title="custom data attribute">custom data attributes</a> specified, with any value.</p>
<hr><dl class=domintro><dt><var title="">element</var> . <code title=dom-dataset><a href=#dom-dataset>dataset</a></code></dt>
<dd>
<p>Returns a <code><a href=#domstringmap>DOMStringMap</a></code> object for the element's <code title=attr-data-*><a href=#attr-data-*>data-*</a></code> attributes.</p>
- <p>Hyphenated names become camel-cased. For example, <code title="">data-foo-bar=""</code> becomes <code title="">element.dataset.fooBar</code>.</p>
+ <p>Hyphenated names become camel-cased. For example, <code title="">data-foo-bar=""</code>
+ becomes <code title="">element.dataset.fooBar</code>.</p>
</dd>
</dl><div class=impl>
- <p>The <dfn id=dom-dataset title=dom-dataset><code>dataset</code></dfn> IDL
- attribute provides convenient accessors for all the <code title=attr-data-*><a href=#attr-data-*>data-*</a></code> attributes on an element. On
- getting, the <code title=dom-dataset><a href=#dom-dataset>dataset</a></code> IDL attribute
- must return a <code><a href=#domstringmap>DOMStringMap</a></code> object, associated with the
- following algorithms, which expose these attributes on their
- element:</p>
+ <p>The <dfn id=dom-dataset title=dom-dataset><code>dataset</code></dfn> IDL attribute provides convenient
+ accessors for all the <code title=attr-data-*><a href=#attr-data-*>data-*</a></code> attributes on an element. On
+ getting, the <code title=dom-dataset><a href=#dom-dataset>dataset</a></code> IDL attribute must return a
+ <code><a href=#domstringmap>DOMStringMap</a></code> object, associated with the following algorithms, which expose these
+ attributes on their element:</p>
<dl><dt>The algorithm for getting the list of name-value pairs</dt>
@@ -10737,11 +10586,10 @@
<ol><li>Let <var title="">list</var> be an empty list of name-value
pairs.</li>
- <li>For each content attribute on the element whose first five
- characters are the string "<code title="">data-</code>" and whose
- remaining characters (if any) do not include any <a href=#uppercase-ascii-letters>uppercase ASCII letters</a>, add a name-value pair to <var title="">list</var> whose name is the attribute's name with the
- first five characters removed and whose value is the attribute's
- value.</li>
+ <li>For each content attribute on the element whose first five characters are the string "<code title="">data-</code>" and whose remaining characters (if any) do not include any
+ <a href=#uppercase-ascii-letters>uppercase ASCII letters</a>, add a name-value pair to <var title="">list</var> whose
+ name is the attribute's name with the first five characters removed and whose value is the
+ attribute's value.</li>
<li>For each name <var title="">list</var>, for each U+002D HYPHEN-MINUS character (-) in the
name that is followed by a <a href=#lowercase-ascii-letters title="lowercase ASCII letters">lowercase ASCII letter</a>,
@@ -10776,23 +10624,22 @@
<dt>The algorithm for deleting names</dt>
<dd>
- <ol><li>Let <var title="">name</var> be the name passed to the
- algorithm.</li>
+ <ol><li>Let <var title="">name</var> be the name passed to the algorithm.</li>
+
<!--(can't happen while the DOMStringMap deleter has no name)
<li>If <var title="">name</var> contains a U+002D HYPHEN-MINUS character (-) followed by a
<span title="lowercase ASCII letters">lowercase ASCII letter</span>, throw a
<code>SyntaxError</code> exception and abort these steps.</li>
-->
- <li>For each <a href=#uppercase-ascii-letters title="uppercase ASCII letters">uppercase ASCII letter</a> in <var title="">name</var>, insert a U+002D HYPHEN-MINUS character (-)
- before the character and replace the character with the same
- character <a href=#converted-to-ascii-lowercase>converted to ASCII lowercase</a>.</li>
- <li>Insert the string <code title="">data-</code> at the front of
- <var title="">name</var>.</li>
+ <li>For each <a href=#uppercase-ascii-letters title="uppercase ASCII letters">uppercase ASCII letter</a> in <var title="">name</var>, insert a U+002D HYPHEN-MINUS character (-) before the character and
+ replace the character with the same character <a href=#converted-to-ascii-lowercase>converted to ASCII lowercase</a>.</li>
- <li>Remove the attribute with the name <var title="">name</var>,
- if such an attribute exists. Do nothing otherwise.</li>
+ <li>Insert the string <code title="">data-</code> at the front of <var title="">name</var>.</li>
+ <li>Remove the attribute with the name <var title="">name</var>, if such an attribute exists.
+ Do nothing otherwise.</li>
+
</ol></dd>
</dl><p>The same object must be returned each time.</p>
@@ -10801,8 +10648,8 @@
<div class=example>
- <p>If a Web page wanted an element to represent a space ship,
- e.g. as part of a game, it would have to use the <code title=attr-class><a href=#classes>class</a></code> attribute along with <code title=attr-data-*><a href=#attr-data-*>data-*</a></code> attributes:</p>
+ <p>If a Web page wanted an element to represent a space ship, e.g. as part of a game, it would
+ have to use the <code title=attr-class><a href=#classes>class</a></code> attribute along with <code title=attr-data-*><a href=#attr-data-*>data-*</a></code> attributes:</p>
<pre><div class="spaceship" data-ship-id="92432"
data-weapons="laser 2" data-shields="50%"
@@ -10813,75 +10660,64 @@
</button>
</div></pre>
- <p>Notice how the hyphenated attribute name becomes camel-cased in
- the API.</p>
+ <p>Notice how the hyphenated attribute name becomes camel-cased in the API.</p>
</div>
- <p>Authors should carefully design such extensions so that when the
- attributes are ignored and any associated CSS dropped, the page is
- still usable.</p>
+ <p>Authors should carefully design such extensions so that when the attributes are ignored and any
+ associated CSS dropped, the page is still usable.</p>
<div class=impl>
- <p>User agents must not derive any implementation behavior from
- these attributes or values. Specifications intended for user agents
- must not define these attributes to have any meaningful values.</p>
+ <p>User agents must not derive any implementation behavior from these attributes or values.
+ Specifications intended for user agents must not define these attributes to have any meaningful
+ values.</p>
</div>
- <p>JavaScript libraries may use the <a href=#custom-data-attribute title="custom data
- attribute">custom data attributes</a>, as they are considered to
- be part of the page on which they are used. Authors of libraries
- that are reused by many authors are encouraged to include their name
- in the attribute names, to reduce the risk of clashes. Where it
- makes sense, library authors are also encouraged to make the exact
- name used in the attribute names customizable, so that libraries
- whose authors unknowingly picked the same name can be used on the
- same page, and so that multiple versions of a particular library can
- be used on the same page even when those versions are not mutually
+ <p>JavaScript libraries may use the <a href=#custom-data-attribute title="custom data attribute">custom data
+ attributes</a>, as they are considered to be part of the page on which they are used. Authors
+ of libraries that are reused by many authors are encouraged to include their name in the attribute
+ names, to reduce the risk of clashes. Where it makes sense, library authors are also encouraged to
+ make the exact name used in the attribute names customizable, so that libraries whose authors
+ unknowingly picked the same name can be used on the same page, and so that multiple versions of a
+ particular library can be used on the same page even when those versions are not mutually
compatible.</p>
<div class=example>
- <p>For example, a library called "DoQuery" could use attribute
- names like <code title="">data-doquery-range</code>, and a library
- called "jJo" could use attributes names like <code title="">data-jjo-range</code>. The jJo library could also provide
- an API to set which prefix to use (e.g. <code title="">J.setDataPrefix('j2')</code>, making the attributes have
- names like <code title="">data-j2-range</code>).</p>
+ <p>For example, a library called "DoQuery" could use attribute names like <code title="">data-doquery-range</code>, and a library called "jJo" could use attributes names like
+ <code title="">data-jjo-range</code>. The jJo library could also provide an API to set which
+ prefix to use (e.g. <code title="">J.setDataPrefix('j2')</code>, making the attributes have names
+ like <code title="">data-j2-range</code>).</p>
</div>
<h4 id=element-definitions><span class=secno>3.2.4 </span>Element definitions</h4>
- <p>Each element in this specification has a definition that includes
- the following information:</p>
+ <p>Each element in this specification has a definition that includes the following
+ information:</p>
<dl><dt><dfn id=element-dfn-categories title=element-dfn-categories>Categories</dfn></dt>
- <dd><p>A list of <a href=#content-categories title="content categories">categories</a>
- to which the element belongs. These are used when defining the
- <a href=#content-models>content models</a> for each element.</dd>
+ <dd><p>A list of <a href=#content-categories title="content categories">categories</a> to which the element belongs.
+ These are used when defining the <a href=#content-models>content models</a> for each element.</dd>
<dt><dfn id=element-dfn-contexts title=element-dfn-contexts>Contexts in which this element can be used</dfn></dt>
<dd>
- <p>A <em>non-normative</em> description of where the element can
- be used. This information is redundant with the content models of
- elements that allow this one as a child, and is provided only as a
- convenience.</p>
+ <p>A <em>non-normative</em> description of where the element can be used. This information is
+ redundant with the content models of elements that allow this one as a child, and is provided
+ only as a convenience.</p>
- <p class=note>For simplicity, only the most specific
- expectations are listed. For example, an element that is both
- <a href=#flow-content>flow content</a> and <a href=#phrasing-content>phrasing content</a> can be
- used anywhere that either <a href=#flow-content>flow content</a> or
- <a href=#phrasing-content>phrasing content</a> is expected, but since anywhere that
- <a href=#flow-content>flow content</a> is expected, <a href=#phrasing-content>phrasing
- content</a> is also expected (since all <a href=#phrasing-content>phrasing
- content</a> is <a href=#flow-content>flow content</a>), only "where
+ <p class=note>For simplicity, only the most specific expectations are listed. For example, an
+ element that is both <a href=#flow-content>flow content</a> and <a href=#phrasing-content>phrasing content</a> can be used
+ anywhere that either <a href=#flow-content>flow content</a> or <a href=#phrasing-content>phrasing content</a> is expected, but
+ since anywhere that <a href=#flow-content>flow content</a> is expected, <a href=#phrasing-content>phrasing content</a> is also
+ expected (since all <a href=#phrasing-content>phrasing content</a> is <a href=#flow-content>flow content</a>), only "where
<a href=#phrasing-content>phrasing content</a> is expected" will be listed.</p>
</dd>
@@ -10889,88 +10725,74 @@
<dt><dfn id=element-dfn-content-model title=element-dfn-content-model>Content model</dfn></dt>
- <dd><p>A normative description of what content must be included as
- children and descendants of the element.</dd>
+ <dd><p>A normative description of what content must be included as children and descendants of
+ the element.</dd>
<dt><dfn id=element-dfn-attributes title=element-dfn-attributes>Content attributes</dfn></dt>
- <dd><p>A normative list of attributes that may be specified on the
- element (except where otherwise disallowed).</dd>
+ <dd><p>A normative list of attributes that may be specified on the element (except where
+ otherwise disallowed).</dd>
<dt><dfn id=element-dfn-dom title=element-dfn-dom>DOM interface</dfn></dt>
- <dd><p>A normative definition of a DOM interface that such elements
- must implement.</dd>
+ <dd><p>A normative definition of a DOM interface that such elements must implement.</dd>
- </dl><p>This is then followed by a description of what the element
- <a href=#represents>represents</a>, along with any additional normative
- conformance criteria that may apply to authors<span class=impl title=""> and implementations</span>. Examples are sometimes
- also included.</p>
+ </dl><p>This is then followed by a description of what the element <a href=#represents>represents</a>, along with
+ any additional normative conformance criteria that may apply to authors<span class=impl title=""> and implementations</span>. Examples are sometimes also included.</p>
<h5 id=attributes><span class=secno>3.2.4.1 </span>Attributes</h5>
- <p id=attribute-text>Except where otherwise specified, attributes
- on <a href=#html-elements>HTML elements</a> may have any string value, including
- the empty string. Except where explicitly stated, there is no
+ <p id=attribute-text>Except where otherwise specified, attributes on <a href=#html-elements>HTML elements</a>
+ may have any string value, including the empty string. Except where explicitly stated, there is no
restriction on what text can be specified in such attributes.</p>
<h4 id=content-models><span class=secno>3.2.5 </span><dfn>Content models</dfn></h4>
- <p>Each element defined in this specification has a content model: a
- description of the element's expected contents. An <a href=#html-elements title="HTML
- elements">HTML element</a> must have contents that match the
- requirements described in the element's content model.</p>
+ <p>Each element defined in this specification has a content model: a description of the element's
+ expected contents. An <a href=#html-elements title="HTML elements">HTML element</a> must have contents that
+ match the requirements described in the element's content model.</p>
- <p>The <a href=#space-character title="space character">space characters</a> are
- always allowed between elements. User agents represent these
- characters between elements in the source markup as
- <code><a href=#text>Text</a></code> nodes in the DOM.<!-- not a conf criteria since
- the parser now requires this --> Empty <code><a href=#text>Text</a></code> nodes and
- <code><a href=#text>Text</a></code> nodes consisting of just sequences of those
+ <p>The <a href=#space-character title="space character">space characters</a> are always allowed between elements.
+ User agents represent these characters between elements in the source markup as <code><a href=#text>Text</a></code>
+ nodes in the DOM.<!-- not a conf criteria since the parser now requires this --> Empty
+ <code><a href=#text>Text</a></code> nodes and <code><a href=#text>Text</a></code> nodes consisting of just sequences of those
characters are considered <dfn id=inter-element-whitespace>inter-element whitespace</dfn>.</p>
- <p><a href=#inter-element-whitespace>Inter-element whitespace</a>, comment nodes, and
- processing instruction nodes must be ignored when establishing
- whether an element's contents match the element's content model or
- not, and must be ignored when following algorithms that define
- document and element semantics.</p>
+ <p><a href=#inter-element-whitespace>Inter-element whitespace</a>, comment nodes, and processing instruction nodes must be
+ ignored when establishing whether an element's contents match the element's content model or not,
+ and must be ignored when following algorithms that define document and element semantics.</p>
- <p class=note>Thus, an element <var title="">A</var> is said to be
- <i>preceded or followed</i> by a second element <var title="">B</var> if <var title="">A</var> and <var title="">B</var>
- have the same parent node and there are no other element nodes or
- <code><a href=#text>Text</a></code> nodes (other than <a href=#inter-element-whitespace>inter-element
- whitespace</a>) between them. Similarly, a node is the <i>only
- child</i> of an element if that element contains no other nodes
- other than <a href=#inter-element-whitespace>inter-element whitespace</a>, comment nodes, and
- processing instruction nodes.</p>
+ <p class=note>Thus, an element <var title="">A</var> is said to be <i>preceded or followed</i>
+ by a second element <var title="">B</var> if <var title="">A</var> and <var title="">B</var> have
+ the same parent node and there are no other element nodes or <code><a href=#text>Text</a></code> nodes (other than
+ <a href=#inter-element-whitespace>inter-element whitespace</a>) between them. Similarly, a node is the <i>only child</i> of
+ an element if that element contains no other nodes other than <a href=#inter-element-whitespace>inter-element
+ whitespace</a>, comment nodes, and processing instruction nodes.</p>
- <p>Authors must not use <a href=#html-elements>HTML elements</a> anywhere except
- where they are explicitly allowed, as defined for each element, or
- as explicitly required by other specifications. For XML compound
- documents, these contexts could be inside elements from other
- namespaces, if those elements are defined as providing the relevant
- contexts.</p>
+ <p>Authors must not use <a href=#html-elements>HTML elements</a> anywhere except where they are explicitly
+ allowed, as defined for each element, or as explicitly required by other specifications. For XML
+ compound documents, these contexts could be inside elements from other namespaces, if those
+ elements are defined as providing the relevant contexts.</p>
<div class=example>
- <p>For example, the Atom specification defines a <code title="">content</code> element. When its <code title="">type</code> attribute has the value <code title="">xhtml</code>, the Atom specification requires that it
- contain a single HTML <code><a href=#the-div-element>div</a></code> element. Thus, a
- <code><a href=#the-div-element>div</a></code> element is allowed in that context, even though
- this is not explicitly normatively stated by this specification. <a href=#refsATOM>[ATOM]</a></p>
+ <p>For example, the Atom specification defines a <code title="">content</code> element. When its
+ <code title="">type</code> attribute has the value <code title="">xhtml</code>, the Atom
+ specification requires that it contain a single HTML <code><a href=#the-div-element>div</a></code> element. Thus, a
+ <code><a href=#the-div-element>div</a></code> element is allowed in that context, even though this is not explicitly
+ normatively stated by this specification. <a href=#refsATOM>[ATOM]</a></p>
</div>
- <p>In addition, <a href=#html-elements>HTML elements</a> may be orphan nodes
- (i.e. without a parent node).</p>
+ <p>In addition, <a href=#html-elements>HTML elements</a> may be orphan nodes (i.e. without a parent node).</p>
<div class=example>
- <p>For example, creating a <code><a href=#the-td-element>td</a></code> element and storing it
- in a global variable in a script is conforming, even though
- <code><a href=#the-td-element>td</a></code> elements are otherwise only supposed to be used
+ <p>For example, creating a <code><a href=#the-td-element>td</a></code> element and storing it in a global variable in a
+ script is conforming, even though <code><a href=#the-td-element>td</a></code> elements are otherwise only supposed to be used
inside <code><a href=#the-tr-element>tr</a></code> elements.</p>
<pre>var data = {
@@ -10983,10 +10805,9 @@
<h5 id=kinds-of-content><span class=secno>3.2.5.1 </span>Kinds of content</h5>
- <p>Each element in HTML falls into zero or more <dfn id=content-categories title="content
- categories">categories</dfn> that group elements with similar
- characteristics together. The following broad categories are used in
- this specification:</p>
+ <p>Each element in HTML falls into zero or more <dfn id=content-categories title="content categories">categories</dfn>
+ that group elements with similar characteristics together. The following broad categories are used
+ in this specification:</p>
<ul class=brief><li><a href=#metadata-content>Metadata content</a></li>
<li><a href=#flow-content>Flow content</a></li>
@@ -10995,30 +10816,27 @@
<li><a href=#phrasing-content>Phrasing content</a></li>
<li><a href=#embedded-content>Embedded content</a></li>
<li><a href=#interactive-content>Interactive content</a></li>
- </ul><p class=note>Some elements also fall into other categories, which
- are defined in other parts of this specification.</p>
+ </ul><p class=note>Some elements also fall into other categories, which are defined in other parts of
+ this specification.</p>
<p>These categories are related as follows:</p>
<p><object data=images/content-venn.svg height=288 width=1000><img alt="" src=http://images.whatwg.org/content-venn.png></object></p>
- <p>Sectioning content, heading content, phrasing content, embedded
- content, and interactive content are all types of flow content.
- Metadata is sometimes flow content. Metadata and interactive content
- are sometimes phrasing content. Embedded content is also a type of
- phrasing content, and sometimes is interactive content.</p>
+ <p>Sectioning content, heading content, phrasing content, embedded content, and interactive
+ content are all types of flow content. Metadata is sometimes flow content. Metadata and
+ interactive content are sometimes phrasing content. Embedded content is also a type of phrasing
+ content, and sometimes is interactive content.</p>
- <p>Other categories are also used for specific purposes, e.g. form
- controls are specified using a number of categories to define common
- requirements. Some elements have unique requirements and do not fit
- into any particular category.</p>
+ <p>Other categories are also used for specific purposes, e.g. form controls are specified using a
+ number of categories to define common requirements. Some elements have unique requirements and do
+ not fit into any particular category.</p>
<h6 id=metadata-content-0><span class=secno>3.2.5.1.1 </span>Metadata content</h6>
- <p><dfn id=metadata-content>Metadata content</dfn> is content that sets up the
- presentation or behavior of the rest of the content, or that sets
- up the relationship of the document with other documents, or that
+ <p><dfn id=metadata-content>Metadata content</dfn> is content that sets up the presentation or behavior of the rest of
+ the content, or that sets up the relationship of the document with other documents, or that
conveys other "out of band" information.</p>
<!-- when updating this also update the category index -->
@@ -11029,9 +10847,8 @@
<li><code><a href=#the-script-element>script</a></code></li>
<li><code><a href=#the-style-element>style</a></code></li>
<li><code><a href=#the-title-element>title</a></code></li>
- </ul><p>Elements from other namespaces whose semantics are primarily
- metadata-related (e.g. RDF) are also <a href=#metadata-content>metadata
- content</a>.</p>
+ </ul><p>Elements from other namespaces whose semantics are primarily metadata-related (e.g. RDF) are
+ also <a href=#metadata-content>metadata content</a>.</p>
<div class=example>
@@ -11064,8 +10881,8 @@
<h6 id=flow-content-0><span class=secno>3.2.5.1.2 </span>Flow content</h6>
- <p>Most elements that are used in the body of documents and
- applications are categorized as <dfn id=flow-content>flow content</dfn>.</p>
+ <p>Most elements that are used in the body of documents and applications are categorized as
+ <dfn id=flow-content>flow content</dfn>.</p>
<!-- when updating this also update the category index -->
<ul class="brief category-list"><li><code><a href=#the-a-element>a</a></code></li>
@@ -11156,28 +10973,27 @@
<li><a href=#text-content title="text content">Text</a></li>
</ul><h6 id=sectioning-content-0><span class=secno>3.2.5.1.3 </span>Sectioning content</h6>
- <p><dfn id=sectioning-content>Sectioning content</dfn> is content that defines the scope
- of <a href=#heading-content title="heading content">headings</a> and <a href=#the-footer-element title=footer>footers</a>.</p>
+ <p><dfn id=sectioning-content>Sectioning content</dfn> is content that defines the scope of <a href=#heading-content title="heading
+ content">headings</a> and <a href=#the-footer-element title=footer>footers</a>.</p>
<!-- when updating this also update the category index -->
<ul class="brief category-list"><li><code><a href=#the-article-element>article</a></code></li>
<li><code><a href=#the-aside-element>aside</a></code></li>
<li><code><a href=#the-nav-element>nav</a></code></li>
<li><code><a href=#the-section-element>section</a></code></li>
- </ul><p>Each <a href=#sectioning-content>sectioning content</a> element potentially has a
- heading and an <a href=#outline>outline</a>. See the section on
- <a href=#headings-and-sections>headings and sections</a> for further details.</p>
+ </ul><p>Each <a href=#sectioning-content>sectioning content</a> element potentially has a heading and an
+ <a href=#outline>outline</a>. See the section on <a href=#headings-and-sections>headings and sections</a> for further
+ details.</p>
- <p class=note>There are also certain elements that are <a href=#sectioning-root title="sectioning root">sectioning roots</a>. These are distinct
- from <a href=#sectioning-content>sectioning content</a>, but they can also have an
+ <p class=note>There are also certain elements that are <a href=#sectioning-root title="sectioning root">sectioning
+ roots</a>. These are distinct from <a href=#sectioning-content>sectioning content</a>, but they can also have an
<a href=#outline>outline</a>.</p>
<h6 id=heading-content-0><span class=secno>3.2.5.1.4 </span>Heading content</h6>
- <p><dfn id=heading-content>Heading content</dfn> defines the header of a section
- (whether explicitly marked up using <a href=#sectioning-content>sectioning content</a>
- elements, or implied by the heading content itself).</p>
+ <p><dfn id=heading-content>Heading content</dfn> defines the header of a section (whether explicitly marked up using
+ <a href=#sectioning-content>sectioning content</a> elements, or implied by the heading content itself).</p>
<!-- when updating this also update the category index -->
<ul class="brief category-list"><li><code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h1</a></code></li>
@@ -11189,9 +11005,8 @@
<li><code><a href=#the-hgroup-element>hgroup</a></code></li>
</ul><h6 id=phrasing-content-0><span class=secno>3.2.5.1.5 </span>Phrasing content</h6>
- <p><dfn id=phrasing-content>Phrasing content</dfn> is the text of the document, as well
- as elements that mark up that text at the intra-paragraph
- level. Runs of <a href=#phrasing-content>phrasing content</a> form <a href=#paragraph title=paragraph>paragraphs</a>.</p>
+ <p><dfn id=phrasing-content>Phrasing content</dfn> is the text of the document, as well as elements that mark up that
+ text at the intra-paragraph level. Runs of <a href=#phrasing-content>phrasing content</a> form <a href=#paragraph title=paragraph>paragraphs</a>.</p>
<!-- when updating this also update the category index -->
<ul class="brief category-list"><li><code><a href=#the-a-element>a</a></code></li>
@@ -11298,18 +11113,15 @@
<li><code><a href=#the-object-element>object</a></code></li>
<li><code><a href=#svg>svg</a></code></li>
<li><code><a href=#the-video-element>video</a></code></li>
- </ul><p>Elements that are from namespaces other than the <a href=#html-namespace-0>HTML
- namespace</a> and that convey content but not metadata, are
- <a href=#embedded-content>embedded content</a> for the purposes of the content models
+ </ul><p>Elements that are from namespaces other than the <a href=#html-namespace-0>HTML namespace</a> and that convey
+ content but not metadata, are <a href=#embedded-content>embedded content</a> for the purposes of the content models
defined in this specification. (For example, MathML, or SVG.)</p>
- <p>Some embedded content elements can have <dfn id=fallback-content>fallback
- content</dfn>: content that is to be used when the external resource
- cannot be used (e.g. because it is of an unsupported format). The
+ <p>Some embedded content elements can have <dfn id=fallback-content>fallback content</dfn>: content that is to be used
+ when the external resource cannot be used (e.g. because it is of an unsupported format). The
element definitions state what the fallback is, if any.</p>
- <!-- we might not need to define fallback content at all. consider
- removing it if we don't end up using it anywhere (e.g. Selection)
- -->
+ <!-- we might not need to define fallback content at all. consider removing it if we don't end up
+ using it anywhere (e.g. Selection) -->
<h6 id=interactive-content-0><span class=secno>3.2.5.1.7 </span>Interactive content</h6>
@@ -11340,126 +11152,102 @@
<li><code><a href=#the-select-element>select</a></code></li>
<li><code><a href=#the-textarea-element>textarea</a></code></li>
<li><code><a href=#the-video-element>video</a></code> (if the <code title=attr-media-controls><a href=#attr-media-controls>controls</a></code> attribute is present)</li>
- </ul><p>Certain elements in HTML have an <a href=#activation-behavior>activation
- behavior</a>, which means that the user can activate them. This
- triggers a sequence of events dependent on the activation mechanism,
- and normally culminating in a <code title=event-click><a href=#event-click>click</a></code>
- event<span class=impl>, as described below</span>.</p>
+ </ul><p>Certain elements in HTML have an <a href=#activation-behavior>activation behavior</a>, which means that the user
+ can activate them. This triggers a sequence of events dependent on the activation mechanism, and
+ normally culminating in a <code title=event-click><a href=#event-click>click</a></code> event<span class=impl>, as
+ described below</span>.</p>
<div class=impl>
- <p>The user agent should allow the user to manually trigger elements
- that have an <a href=#activation-behavior>activation behavior</a>, for instance using
- keyboard or voice input, or through mouse clicks. When the user
- triggers an element with a defined <a href=#activation-behavior>activation behavior</a>
- in a manner other than clicking it, the default action of the
- interaction event must be to <a href=#run-synthetic-click-activation-steps>run synthetic click activation
- steps</a> on the element.</p> <!-- interaction event spec point -->
+ <p>The user agent should allow the user to manually trigger elements that have an <a href=#activation-behavior>activation
+ behavior</a>, for instance using keyboard or voice input, or through mouse clicks. When the
+ user triggers an element with a defined <a href=#activation-behavior>activation behavior</a> in a manner other than
+ clicking it, the default action of the interaction event must be to <a href=#run-synthetic-click-activation-steps>run synthetic click
+ activation steps</a> on the element.</p> <!-- interaction event spec point -->
- <p>Each element has a <var title="">click in progress</var> flag,
- initially set to false.</p>
+ <p>Each element has a <var title="">click in progress</var> flag, initially set to false.</p>
- <p>When a user agent is to <dfn id=run-synthetic-click-activation-steps>run synthetic click activation
- steps</dfn> on an element, the user agent must run the following
- steps:</p>
+ <p>When a user agent is to <dfn id=run-synthetic-click-activation-steps>run synthetic click activation steps</dfn> on an element, the user
+ agent must run the following steps:</p>
- <ol><li><p>If the element's <var title="">click in progress</var> flag
- is set to true, then abort these steps.</li>
+ <ol><li><p>If the element's <var title="">click in progress</var> flag is set to true, then abort
+ these steps.</li>
- <li><p>Set the <var title="">click in progress</var> flag on the
- element to true.</li>
+ <li><p>Set the <var title="">click in progress</var> flag on the element to true.</li>
- <li><p><a href=#run-pre-click-activation-steps>Run pre-click activation steps</a> on the
- element.</li>
+ <li><p><a href=#run-pre-click-activation-steps>Run pre-click activation steps</a> on the element.</li>
<li><p><a href=#fire-a-click-event>Fire a <code title=event-click>click</code> event</a> at the element. If the
<a href=#run-synthetic-click-activation-steps>run synthetic click activation steps</a> algorithm was invoked because the <code title=dom-click><a href=#dom-click>click()</a></code> method was invoked, then the <code title=dom-event-isTrusted><a href=#dom-event-istrusted>isTrusted</a></code> attribute must be initialized to false.</li>
<li>
- <p>If this <code title=event-click><a href=#event-click>click</a></code> event is not
- canceled, <a href=#run-post-click-activation-steps>run post-click activation steps</a> on the
- element.</p>
+ <p>If this <code title=event-click><a href=#event-click>click</a></code> event is not canceled, <a href=#run-post-click-activation-steps>run post-click
+ activation steps</a> on the element.</p>
- <p>If the event <em>is</em> canceled, the user agent must
- <a href=#run-canceled-activation-steps>run canceled activation steps</a> on the element
- instead.</p>
+ <p>If the event <em>is</em> canceled, the user agent must <a href=#run-canceled-activation-steps>run canceled activation
+ steps</a> on the element instead.</p>
</li>
- <li><p>Set the <var title="">click in progress</var> flag on the
- element to false.</li>
+ <li><p>Set the <var title="">click in progress</var> flag on the element to false.</li>
- </ol><p>When a pointing device is clicked, the user agent must run these
- steps:</p>
+ </ol><p>When a pointing device is clicked, the user agent must run these steps:</p>
- <ol><li><p>If the element's <var title="">click in progress</var> flag
- is set to true, then abort these steps.</li>
+ <ol><li><p>If the element's <var title="">click in progress</var> flag is set to true, then abort
+ these steps.</li>
- <li><p>Set the <var title="">click in progress</var> flag on the
- element to true.</li>
+ <li><p>Set the <var title="">click in progress</var> flag on the element to true.</li>
- <li><p>Let <var title="">e</var> be the <a href=#nearest-activatable-element>nearest activatable
- element</a> of the element designated by the user (defined
- below), if any.</li>
+ <li><p>Let <var title="">e</var> be the <a href=#nearest-activatable-element>nearest activatable element</a> of the element
+ designated by the user (defined below), if any.</li>
- <li><p>If there is an element <var title="">e</var>, <a href=#run-pre-click-activation-steps>run
- pre-click activation steps</a> on it.</li>
+ <li><p>If there is an element <var title="">e</var>, <a href=#run-pre-click-activation-steps>run pre-click activation steps</a>
+ on it.</li>
<li>
<p><a href=#concept-event-dispatch title=concept-event-dispatch>Dispatch</a> the required <code title=event-click><a href=#event-click>click</a></code> event.</p> <!-- interaction event spec point -->
- <p>If there is an element <var title="">e</var> and the <code title=event-click><a href=#event-click>click</a></code> event is not canceled, <a href=#run-post-click-activation-steps>run
- post-click activation steps</a> on element <var title="">e</var>.</p>
+ <p>If there is an element <var title="">e</var> and the <code title=event-click><a href=#event-click>click</a></code>
+ event is not canceled, <a href=#run-post-click-activation-steps>run post-click activation steps</a> on element <var title="">e</var>.</p>
- <p>If there is an element <var title="">e</var> and the event
- <em>is</em> canceled, <a href=#run-canceled-activation-steps>run canceled activation steps</a>
- on element <var title="">e</var>.</p>
+ <p>If there is an element <var title="">e</var> and the event <em>is</em> canceled, <a href=#run-canceled-activation-steps>run
+ canceled activation steps</a> on element <var title="">e</var>.</p>
</li>
- <li><p>Set the <var title="">click in progress</var> flag on the
- element to false.</li>
+ <li><p>Set the <var title="">click in progress</var> flag on the element to false.</li>
- </ol><p class=note>The above doesn't happen for arbitrary synthetic
- events dispatched by author script. However, the <code title=dom-click><a href=#dom-click>click()</a></code> method can be used to make it
- happen programmatically.</p>
+ </ol><p class=note>The above doesn't happen for arbitrary synthetic events dispatched by author
+ script. However, the <code title=dom-click><a href=#dom-click>click()</a></code> method can be used to make it happen
+ programmatically.</p>
- <p class=note>Click-focusing behavior (e.g. the focusing of a text
- field when user clicks in one) typically happens before the click,
- when the mouse button is first depressed, and is therefore not
- discussed here.</p> <!-- interaction event spec point -->
+ <p class=note>Click-focusing behavior (e.g. the focusing of a text field when user clicks in
+ one) typically happens before the click, when the mouse button is first depressed, and is
+ therefore not discussed here.</p> <!-- interaction event spec point -->
- <p>Given an element <var title="">target</var>, the <dfn id=nearest-activatable-element>nearest
- activatable element</dfn> is the element returned by the following
- algorithm:</p>
+ <p>Given an element <var title="">target</var>, the <dfn id=nearest-activatable-element>nearest activatable element</dfn> is the
+ element returned by the following algorithm:</p>
- <ol><li><p>If <var title="">target</var> has a defined <a href=#activation-behavior>activation
- behavior</a>, then return <var title="">target</var> and abort
- these steps.</li>
+ <ol><li><p>If <var title="">target</var> has a defined <a href=#activation-behavior>activation behavior</a>, then return
+ <var title="">target</var> and abort these steps.</li>
- <li><p>If <var title="">target</var> has a parent element, then set
- <var title="">target</var> to that parent element and return to the
- first step.</li>
+ <li><p>If <var title="">target</var> has a parent element, then set <var title="">target</var> to
+ that parent element and return to the first step.</li>
- <li><p>Otherwise, there is no <a href=#nearest-activatable-element>nearest activatable
- element</a>.</li>
+ <li><p>Otherwise, there is no <a href=#nearest-activatable-element>nearest activatable element</a>.</li>
- </ol><p>When a user agent is to <dfn id=run-pre-click-activation-steps>run pre-click activation steps</dfn>
- on an element, it must run the <dfn id=pre-click-activation-steps>pre-click activation steps</dfn>
- defined for that element, if any.</p>
+ </ol><p>When a user agent is to <dfn id=run-pre-click-activation-steps>run pre-click activation steps</dfn> on an element, it must run
+ the <dfn id=pre-click-activation-steps>pre-click activation steps</dfn> defined for that element, if any.</p>
- <p>When a user agent is to <dfn id=run-canceled-activation-steps>run canceled activation steps</dfn>
- on an element, it must run the <dfn id=canceled-activation-steps>canceled activation steps</dfn>
- defined for that element, if any.</p>
+ <p>When a user agent is to <dfn id=run-canceled-activation-steps>run canceled activation steps</dfn> on an element, it must run the
+ <dfn id=canceled-activation-steps>canceled activation steps</dfn> defined for that element, if any.</p>
- <p>When a user agent is to <dfn id=run-post-click-activation-steps>run post-click activation
- steps</dfn> on an element, it must run the <dfn id=activation-behavior>activation
- behavior</dfn> defined for that element, if any. Activation
- behaviors can refer to the <code title=event-click><a href=#event-click>click</a></code>
- event that was fired by the steps above leading up to this
- point.</p>
+ <p>When a user agent is to <dfn id=run-post-click-activation-steps>run post-click activation steps</dfn> on an element, it must run
+ the <dfn id=activation-behavior>activation behavior</dfn> defined for that element, if any. Activation behaviors can
+ refer to the <code title=event-click><a href=#event-click>click</a></code> event that was fired by the steps above
+ leading up to this point.</p>
</div>
@@ -11467,21 +11255,18 @@
<h6 id=palpable-content-0><span class=secno>3.2.5.1.8 </span>Palpable content</h6>
- <p>As a general rule, elements whose content model allows any
- <a href=#flow-content>flow content</a> or <a href=#phrasing-content>phrasing content</a> should
- have at least one child node that is <dfn id=palpable-content>palpable content</dfn>
- and that does not have the <code title=attr-hidden><a href=#the-hidden-attribute>hidden</a></code>
- attribute specified.</p>
+ <p>As a general rule, elements whose content model allows any <a href=#flow-content>flow content</a> or
+ <a href=#phrasing-content>phrasing content</a> should have at least one child node that is <dfn id=palpable-content>palpable
+ content</dfn> and that does not have the <code title=attr-hidden><a href=#the-hidden-attribute>hidden</a></code> attribute
+ specified.</p>
- <p>This requirement is not a hard requirement, however, as there are
- many cases where an element can be empty legitimately, for example
- when it is used as a placeholder which will later be filled in by a
- script, or when the element is part of a template and would on most
- pages be filled in but on some pages is not relevant.</p>
+ <p>This requirement is not a hard requirement, however, as there are many cases where an element
+ can be empty legitimately, for example when it is used as a placeholder which will later be filled
+ in by a script, or when the element is part of a template and would on most pages be filled in but
+ on some pages is not relevant.</p>
- <p>Conformance checkers are encouraged to provide a mechanism for
- authors to find elements that fail to fulfill this requirement, as
- an authoring aid.</p>
+ <p>Conformance checkers are encouraged to provide a mechanism for authors to find elements that
+ fail to fulfill this requirement, as an authoring aid.</p>
<p>The following elements are palpable content:</p>
@@ -11562,33 +11347,27 @@
<li><a href=#text-content title="text content">Text</a> that is not <a href=#inter-element-whitespace>inter-element whitespace</a></li>
</ul><h5 id=transparent-content-models><span class=secno>3.2.5.2 </span>Transparent content models</h5>
- <p>Some elements are described as <dfn id=transparent>transparent</dfn>; they have
- "transparent" in the description of their content model. The content
- model of a <a href=#transparent>transparent</a> element is derived from the
- content model of its parent element: the elements required in the
- part of the content model that is "transparent" are the same
- elements as required in the part of the content model of the parent
- of the transparent element in which the transparent element finds
- itself.</p>
+ <p>Some elements are described as <dfn id=transparent>transparent</dfn>; they have "transparent" in the
+ description of their content model. The content model of a <a href=#transparent>transparent</a> element is
+ derived from the content model of its parent element: the elements required in the part of the
+ content model that is "transparent" are the same elements as required in the part of the content
+ model of the parent of the transparent element in which the transparent element finds itself.</p>
<div class=example>
- <p>For instance, an <code><a href=#the-ins-element>ins</a></code> element inside a
- <code><a href=#the-ruby-element>ruby</a></code> element cannot contain an <code><a href=#the-rt-element>rt</a></code>
- element, because the part of the <code><a href=#the-ruby-element>ruby</a></code> element's
- content model that allows <code><a href=#the-ins-element>ins</a></code> elements is the part
- that allows <a href=#phrasing-content>phrasing content</a>, and the <code><a href=#the-rt-element>rt</a></code>
- element is not <a href=#phrasing-content>phrasing content</a>.</p>
+ <p>For instance, an <code><a href=#the-ins-element>ins</a></code> element inside a <code><a href=#the-ruby-element>ruby</a></code> element cannot contain an
+ <code><a href=#the-rt-element>rt</a></code> element, because the part of the <code><a href=#the-ruby-element>ruby</a></code> element's content model that
+ allows <code><a href=#the-ins-element>ins</a></code> elements is the part that allows <a href=#phrasing-content>phrasing content</a>, and the
+ <code><a href=#the-rt-element>rt</a></code> element is not <a href=#phrasing-content>phrasing content</a>.</p>
</div>
<!--(as far as I can tell, there's no way to violate this requirement
without first violating the earlier requirement)
- <p>Furthermore, when a content model includes a part that is
- "transparent", those parts must not contain content that would not
- be conformant if all transparent elements in the tree were replaced,
- in their parent element, by the children in the "transparent" part
- of their content model, retaining order.</p>
+ <p>Furthermore, when a content model includes a part that is "transparent", those parts must not
+ contain content that would not be conformant if all transparent elements in the tree were
+ replaced, in their parent element, by the children in the "transparent" part of their content
+ model, retaining order.</p>
<div class="example">
@@ -11600,22 +11379,20 @@
<ul class="domTree"><li class="t1"><code>p</code><ul><li class="t3"><code>#text</code>: <span title="">Hello </span></li><li class="t1"><code>a</code> <span class="t2" title=""><code class="attribute name">href</code>="<code class="attribute value">world.html</code>"</span><ul><li class="t1"><code>em</code><ul><li class="t3"><code>#text</code>: <span title="">wonderful</span></li></ul></li><li class="t3"><code>#text</code>: <span title=""> world</span></li></ul></li><li class="t3"><code>#text</code>: <span title="">!</span></li></ul></li></ul>
- <p>The content model of the <code>a</code> element is
- <span>transparent</span>. To see if its contents are conforming,
- therefore, the element is replaced by its contents:</p>
+ <p>The content model of the <code>a</code> element is <span>transparent</span>. To see if its
+ contents are conforming, therefore, the element is replaced by its contents:</p>
<ul class="domTree"><li class="t1"><code>p</code><ul><li class="t3"><code>#text</code>: <span title="">Hello </span></li><li class="t1"><code>em</code><ul><li class="t3"><code>#text</code>: <span title="">wonderful</span></li></ul></li><li class="t3"><code>#text</code>: <span title=""> world</span></li><li class="t3"><code>#text</code>: <span title="">!</span></li></ul></li></ul>
- <p>Since that is conforming, the contents of the <code>a</code> are
- conforming in the original fragment (there is no complication
- regarding the various parts of the <code>p</code> element's content
- model, since that element's content model has only one part).</p>
+ <p>Since that is conforming, the contents of the <code>a</code> are conforming in the original
+ fragment (there is no complication regarding the various parts of the <code>p</code> element's
+ content model, since that element's content model has only one part).</p>
</div>
-->
- <p class=note>In some cases, where transparent elements are nested
- in each other, the process has to be applied iteratively.</p>
+ <p class=note>In some cases, where transparent elements are nested in each other, the process
+ has to be applied iteratively.</p>
<div class=example>
@@ -11623,45 +11400,36 @@
<pre><p><object><param><ins><map><a href="/">Apples</a></map></ins></object></p></pre>
- <p>To check whether "Apples" is allowed inside the <code><a href=#the-a-element>a</a></code>
- element, the content models are examined. The <code><a href=#the-a-element>a</a></code>
- element's content model is transparent, as is the <code><a href=#the-map-element>map</a></code>
- element's, as is the <code><a href=#the-ins-element>ins</a></code> element's, as is the part of
- the <code><a href=#the-object-element>object</a></code> element's in which the <code><a href=#the-ins-element>ins</a></code>
- element is found. The <code><a href=#the-object-element>object</a></code> element is found in the
- <code><a href=#the-p-element>p</a></code> element, whose content model is <a href=#phrasing-content>phrasing
- content</a>. Thus, "Apples" is allowed, as text is phrasing
- content.</p>
+ <p>To check whether "Apples" is allowed inside the <code><a href=#the-a-element>a</a></code> element, the content models are
+ examined. The <code><a href=#the-a-element>a</a></code> element's content model is transparent, as is the <code><a href=#the-map-element>map</a></code>
+ element's, as is the <code><a href=#the-ins-element>ins</a></code> element's, as is the part of the <code><a href=#the-object-element>object</a></code>
+ element's in which the <code><a href=#the-ins-element>ins</a></code> element is found. The <code><a href=#the-object-element>object</a></code> element is
+ found in the <code><a href=#the-p-element>p</a></code> element, whose content model is <a href=#phrasing-content>phrasing content</a>. Thus,
+ "Apples" is allowed, as text is phrasing content.</p>
</div>
- <p>When a transparent element has no parent, then the part of its
- content model that is "transparent" must instead be treated as
- accepting any <a href=#flow-content>flow content</a>.</p>
+ <p>When a transparent element has no parent, then the part of its content model that is
+ "transparent" must instead be treated as accepting any <a href=#flow-content>flow content</a>.</p>
<h5 id=paragraphs><span class=secno>3.2.5.3 </span>Paragraphs</h5>
- <p class=note>The term <a href=#paragraph>paragraph</a> as defined in this
- section is used for more than just the definition of the
- <code><a href=#the-p-element>p</a></code> element. The <a href=#paragraph>paragraph</a> concept defined
- here is used to describe how to interpret documents. The
- <code><a href=#the-p-element>p</a></code> element is merely one of several ways of marking up a
- <a href=#paragraph>paragraph</a>.</p>
+ <p class=note>The term <a href=#paragraph>paragraph</a> as defined in this section is used for more than
+ just the definition of the <code><a href=#the-p-element>p</a></code> element. The <a href=#paragraph>paragraph</a> concept defined here
+ is used to describe how to interpret documents. The <code><a href=#the-p-element>p</a></code> element is merely one of
+ several ways of marking up a <a href=#paragraph>paragraph</a>.</p>
<!-- note: the actual definition is below -->
- <p>A <dfn id=paragraph>paragraph</dfn> is typically a run of <a href=#phrasing-content>phrasing
- content</a> that forms a block of text with one or more sentences
- that discuss a particular topic, as in typography, but can also
- be used for more general thematic grouping. For instance, an address
- is also a paragraph, as is a part of a form, a byline, or a stanza
- in a poem.</p>
+ <p>A <dfn id=paragraph>paragraph</dfn> is typically a run of <a href=#phrasing-content>phrasing content</a> that forms a block
+ of text with one or more sentences that discuss a particular topic, as in typography, but can also
+ be used for more general thematic grouping. For instance, an address is also a paragraph, as is a
+ part of a form, a byline, or a stanza in a poem.</p>
<div class=example>
- <p>In the following example, there are two paragraphs in a
- section. There is also a heading, which contains phrasing content
- that is not a paragraph. Note how the comments and
+ <p>In the following example, there are two paragraphs in a section. There is also a heading,
+ which contains phrasing content that is not a paragraph. Note how the comments and
<a href=#inter-element-whitespace>inter-element whitespace</a> do not form paragraphs.</p>
<pre><section>
@@ -11673,28 +11441,22 @@
</div>
- <p>Paragraphs in <a href=#flow-content>flow content</a> are defined relative to
- what the document looks like without the <code><a href=#the-a-element>a</a></code>,
- <code><a href=#the-ins-element>ins</a></code>, <code><a href=#the-del-element>del</a></code>, and <code><a href=#the-map-element>map</a></code> elements
- complicating matters, since those elements, with their hybrid
- content models, can straddle paragraph boundaries, as shown in the
- first two examples below.</p>
+ <p>Paragraphs in <a href=#flow-content>flow content</a> are defined relative to what the document looks like
+ without the <code><a href=#the-a-element>a</a></code>, <code><a href=#the-ins-element>ins</a></code>, <code><a href=#the-del-element>del</a></code>, and <code><a href=#the-map-element>map</a></code> elements
+ complicating matters, since those elements, with their hybrid content models, can straddle
+ paragraph boundaries, as shown in the first two examples below.</p>
- <p class=note>Generally, having elements straddle paragraph
- boundaries is best avoided. Maintaining such markup can be
- difficult.</p>
+ <p class=note>Generally, having elements straddle paragraph boundaries is best avoided.
+ Maintaining such markup can be difficult.</p>
<div class=example>
- <p>The following example takes the markup from the earlier example
- and puts <code><a href=#the-ins-element>ins</a></code> and <code><a href=#the-del-element>del</a></code> elements around some
- of the markup to show that the text was changed (though in this
- case, the changes admittedly don't make much sense). Notice how
- this example has exactly the same paragraphs as the previous one,
- despite the <code><a href=#the-ins-element>ins</a></code> and <code><a href=#the-del-element>del</a></code> elements —
- the <code><a href=#the-ins-element>ins</a></code> element straddles the heading and the first
- paragraph, and the <code><a href=#the-del-element>del</a></code> element straddles the boundary
- between the two paragraphs.</p>
+ <p>The following example takes the markup from the earlier example and puts <code><a href=#the-ins-element>ins</a></code> and
+ <code><a href=#the-del-element>del</a></code> elements around some of the markup to show that the text was changed (though in
+ this case, the changes admittedly don't make much sense). Notice how this example has exactly the
+ same paragraphs as the previous one, despite the <code><a href=#the-ins-element>ins</a></code> and <code><a href=#the-del-element>del</a></code> elements
+ — the <code><a href=#the-ins-element>ins</a></code> element straddles the heading and the first paragraph, and the
+ <code><a href=#the-del-element>del</a></code> element straddles the boundary between the two paragraphs.</p>
<pre><section>
<ins><h1>Example of paragraphs</h1>
@@ -11707,43 +11469,35 @@
<div class=impl>
- <p>Let <var title="">view</var> be a view of the DOM that replaces
- all <code><a href=#the-a-element>a</a></code>, <code><a href=#the-ins-element>ins</a></code>, <code><a href=#the-del-element>del</a></code>, and
- <code><a href=#the-map-element>map</a></code> elements in the document with their contents. Then,
- in <var title="">view</var>, for each run of sibling <a href=#phrasing-content>phrasing
- content</a> nodes uninterrupted by other types of content, in an
- element that accepts content other than <a href=#phrasing-content>phrasing
- content</a> as well as <a href=#phrasing-content>phrasing content</a>, let <var title="">first</var> be the first node of the run, and let <var title="">last</var> be the last node of the run. For each such run
- that consists of at least one node that is neither <a href=#embedded-content>embedded
- content</a> nor <a href=#inter-element-whitespace>inter-element whitespace</a>, a
- paragraph exists in the original DOM from immediately before <var title="">first</var> to immediately after <var title="">last</var>. (Paragraphs can thus span across
- <code><a href=#the-a-element>a</a></code>, <code><a href=#the-ins-element>ins</a></code>, <code><a href=#the-del-element>del</a></code>, and
- <code><a href=#the-map-element>map</a></code> elements.)</p>
+ <p>Let <var title="">view</var> be a view of the DOM that replaces all <code><a href=#the-a-element>a</a></code>,
+ <code><a href=#the-ins-element>ins</a></code>, <code><a href=#the-del-element>del</a></code>, and <code><a href=#the-map-element>map</a></code> elements in the document with their
+ contents. Then, in <var title="">view</var>, for each run of sibling <a href=#phrasing-content>phrasing content</a>
+ nodes uninterrupted by other types of content, in an element that accepts content other than
+ <a href=#phrasing-content>phrasing content</a> as well as <a href=#phrasing-content>phrasing content</a>, let <var title="">first</var> be the first node of the run, and let <var title="">last</var> be the last
+ node of the run. For each such run that consists of at least one node that is neither
+ <a href=#embedded-content>embedded content</a> nor <a href=#inter-element-whitespace>inter-element whitespace</a>, a paragraph exists in the
+ original DOM from immediately before <var title="">first</var> to immediately after <var title="">last</var>. (Paragraphs can thus span across <code><a href=#the-a-element>a</a></code>, <code><a href=#the-ins-element>ins</a></code>,
+ <code><a href=#the-del-element>del</a></code>, and <code><a href=#the-map-element>map</a></code> elements.)</p>
- <p>Conformance checkers may warn authors of cases where they have
- paragraphs that overlap each other (this can happen with
- <code><a href=#the-object-element>object</a></code>, <code><a href=#the-video-element>video</a></code>, <code><a href=#the-audio-element>audio</a></code>, and
- <code><a href=#the-canvas-element>canvas</a></code> elements, and indirectly through elements in
- other namespaces that allow HTML to be further embedded therein,
- like <code><a href=#svg>svg</a></code> or <code><a href=#math>math</a></code>).</p> <!-- example below
- -->
+ <p>Conformance checkers may warn authors of cases where they have paragraphs that overlap each
+ other (this can happen with <code><a href=#the-object-element>object</a></code>, <code><a href=#the-video-element>video</a></code>, <code><a href=#the-audio-element>audio</a></code>, and
+ <code><a href=#the-canvas-element>canvas</a></code> elements, and indirectly through elements in other namespaces that allow HTML
+ to be further embedded therein, like <code><a href=#svg>svg</a></code> or <code><a href=#math>math</a></code>).</p>
+ <!-- example below -->
</div>
- <p>A <a href=#paragraph>paragraph</a> is also formed explicitly by
- <code><a href=#the-p-element>p</a></code> elements.</p>
+ <p>A <a href=#paragraph>paragraph</a> is also formed explicitly by <code><a href=#the-p-element>p</a></code> elements.</p>
- <p class=note>The <code><a href=#the-p-element>p</a></code> element can be used to wrap
- individual paragraphs when there would otherwise not be any content
- other than phrasing content to separate the paragraphs from each
- other.</p>
+ <p class=note>The <code><a href=#the-p-element>p</a></code> element can be used to wrap individual paragraphs when there
+ would otherwise not be any content other than phrasing content to separate the paragraphs from
+ each other.</p>
<div class=example>
- <p>In the following example, the link spans half of the first
- paragraph, all of the heading separating the two paragraphs, and
- half of the second paragraph. It straddles the paragraphs and the
- heading.</p>
+ <p>In the following example, the link spans half of the first paragraph, all of the heading
+ separating the two paragraphs, and half of the second paragraph. It straddles the paragraphs and
+ the heading.</p>
<pre><header>
Welcome!
@@ -11755,9 +11509,8 @@
This page discusses the F-16 Fighting Falcon's innermost secrets.
</header></pre>
- <p>Here is another way of marking this up, this time showing the
- paragraphs explicitly, and splitting the one link element into
- three:</p>
+ <p>Here is another way of marking this up, this time showing the paragraphs explicitly, and
+ splitting the one link element into three:</p>
<pre><header>
<p>Welcome! <a href="about.html">This is home of...</a></p>
@@ -11771,12 +11524,10 @@
<div class=example>
- <!-- I don't know if there's a better way to deal with this, but if
- there is, let me know... -->
+ <!-- I don't know if there's a better way to deal with this, but if there is, let me know... -->
- <p>It is possible for paragraphs to overlap when using certain
- elements that define fallback content. For example, in the
- following section:</p>
+ <p>It is possible for paragraphs to overlap when using certain elements that define fallback
+ content. For example, in the following section:</p>
<pre><section>
<h1>My Cats</h1>
@@ -11794,12 +11545,10 @@
<p>There are five paragraphs:</p>
- <ol class=brief><li>The paragraph that says "You can play with my cat
- simulator. <i title="">object</i> I'm quite proud of it.", where
- <i title="">object</i> is the <code><a href=#the-object-element>object</a></code> element.</li>
+ <ol class=brief><li>The paragraph that says "You can play with my cat simulator. <i title="">object</i> I'm
+ quite proud of it.", where <i title="">object</i> is the <code><a href=#the-object-element>object</a></code> element.</li>
- <li>The paragraph that says "To see the cat simulator, use one of
- the following links:".</li>
+ <li>The paragraph that says "To see the cat simulator, use one of the following links:".</li>
<li>The paragraph that says "Download simulator file".</li>
@@ -11807,16 +11556,13 @@
<li>The paragraph that says "Alternatively, upgrade to the Mellblom Browser.".</li>
- </ol><p>The first paragraph is overlapped by the other four. A user
- agent that supports the "cats.sim" resource will only show the
- first one, but a user agent that shows the fallback will
- confusingly show the first sentence of the first paragraph as
- if it was in the same paragraph as the second one, and will show
- the last paragraph as if it was at the start of the second sentence
- of the first paragraph.</p>
+ </ol><p>The first paragraph is overlapped by the other four. A user agent that supports the "cats.sim"
+ resource will only show the first one, but a user agent that shows the fallback will confusingly
+ show the first sentence of the first paragraph as if it was in the same paragraph as the second
+ one, and will show the last paragraph as if it was at the start of the second sentence of the
+ first paragraph.</p>
- <p>To avoid this confusion, explicit <code><a href=#the-p-element>p</a></code> elements can be
- used. For example:</p>
+ <p>To avoid this confusion, explicit <code><a href=#the-p-element>p</a></code> elements can be used. For example:</p>
<!-- My Fish -->
<pre><section>
@@ -11925,11 +11671,10 @@
plaintext = *( %x0000-2029 / %x202F-10FFFF )
; any string with no bidirectional-algorithm formatting characters</pre>
- <p class=note>Authors are encouraged to use the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute, the <code><a href=#the-bdo-element>bdo</a></code> element,
- and the <code><a href=#the-bdi-element>bdi</a></code> element, rather than maintaining the
- bidirectional-algorithm formatting characters manually. The
- bidirectional-algorithm formatting characters interact poorly with
- CSS.</p>
+ <p class=note>Authors are encouraged to use the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute, the
+ <code><a href=#the-bdo-element>bdo</a></code> element, and the <code><a href=#the-bdi-element>bdi</a></code> element, rather than maintaining the
+ bidirectional-algorithm formatting characters manually. The bidirectional-algorithm formatting
+ characters interact poorly with CSS.</p>
@@ -21049,16 +20794,13 @@
<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-->
<dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
- </dl><!--TOPIC:HTML--><!-- v2: attribute that means "highlight this on the scrollbar" --><p>The <code><a href=#the-mark-element>mark</a></code> element <a href=#represents>represents</a> a run of
- text in one document marked or highlighted for reference purposes,
- due to its relevance in another context. When used in a quotation or
- other block of text referred to from the prose, it indicates a
- highlight that was not originally present but which has been added
- to bring the reader's attention to a part of the text that might not
- have been considered important by the original author when the block
- was originally written, but which is now under previously unexpected
- scrutiny. When used in the main prose of a document, it indicates a
- part of the document that has been highlighted due to its likely
+ </dl><!--TOPIC:HTML--><!-- v2: attribute that means "highlight this on the scrollbar" --><p>The <code><a href=#the-mark-element>mark</a></code> element <a href=#represents>represents</a> a run of text in one document marked or
+ highlighted for reference purposes, due to its relevance in another context. When used in a
+ quotation or other block of text referred to from the prose, it indicates a highlight that was not
+ originally present but which has been added to bring the reader's attention to a part of the text
+ that might not have been considered important by the original author when the block was originally
+ written, but which is now under previously unexpected scrutiny. When used in the main prose of a
+ document, it indicates a part of the document that has been highlighted due to its likely
relevance to the user's current activity.</p>
<div class=example>
@@ -21078,11 +20820,10 @@
<div class=example>
- <p>Another example of the <code><a href=#the-mark-element>mark</a></code> element is highlighting
- parts of a document that are matching some search string. If
- someone looked at a document, and the server knew that the user was
- searching for the word "kitten", then the server might return the
- document with one paragraph modified as follows:</p>
+ <p>Another example of the <code><a href=#the-mark-element>mark</a></code> element is highlighting parts of a document that are
+ matching some search string. If someone looked at a document, and the server knew that the user
+ was searching for the word "kitten", then the server might return the document with one paragraph
+ modified as follows:</p>
<pre><p>I also have some <mark>kitten</mark>s who are visiting me
these days. They're really cute. I think they like my garden! Maybe I
@@ -21092,8 +20833,8 @@
<div class=example>
- <p>In the following snippet, a paragraph of text refers to a
- specific part of a code fragment.</p>
+ <p>In the following snippet, a paragraph of text refers to a specific part of a code
+ fragment.</p>
<pre><p>The highlighted part below is where the error lies:</p>
<pre><code>var i: Integer;
@@ -21101,9 +20842,8 @@
i := <mark>1.1</mark>;
end.</code></pre></pre>
- <p>This is separate from <em>syntax highlighting</em>, for which
- <code><a href=#the-span-element>span</a></code> is more appropriate. Combining both, one would
- get:</p>
+ <p>This is separate from <em>syntax highlighting</em>, for which <code><a href=#the-span-element>span</a></code> is more
+ appropriate. Combining both, one would get:</p>
<pre><p>The highlighted part below is where the error lies:</p>
<pre><code><span class=keyword>var</span> <span class=ident>i</span>: <span class=type>Integer</span>;
@@ -21115,11 +20855,9 @@
<div class=example>
- <p>This is another example showing the use of <code><a href=#the-mark-element>mark</a></code> to
- highlight a part of quoted text that was originally not
- emphasized. In this example, common typographic conventions have
- led the author to explicitly style <code><a href=#the-mark-element>mark</a></code> elements in
- quotes to render in italics.</p>
+ <p>This is another example showing the use of <code><a href=#the-mark-element>mark</a></code> to highlight a part of quoted
+ text that was originally not emphasized. In this example, common typographic conventions have led
+ the author to explicitly style <code><a href=#the-mark-element>mark</a></code> elements in quotes to render in italics.</p>
<pre><article>
<style scoped>
@@ -21144,22 +20882,19 @@
explains everything neatly.</p>
</article></pre>
- <p>Note, incidentally, the distinction between the <code><a href=#the-em-element>em</a></code>
- element in this example, which is part of the original text being
- quoted, and the <code><a href=#the-mark-element>mark</a></code> element, which is highlighting a
- part for comment.</p>
+ <p>Note, incidentally, the distinction between the <code><a href=#the-em-element>em</a></code> element in this example, which
+ is part of the original text being quoted, and the <code><a href=#the-mark-element>mark</a></code> element, which is
+ highlighting a part for comment.</p>
</div>
<div class=example>
- <p>The following example shows the difference between denoting the
- <em>importance</em> of a span of text (<code><a href=#the-strong-element>strong</a></code>) as
- opposed to denoting the <em>relevance</em> of a span of text
- (<code><a href=#the-mark-element>mark</a></code>). It is an extract from a textbook, where the
- extract has had the parts relevant to the exam highlighted. The
- safety warnings, important though they may be, are apparently not
- relevant to the exam.</p>
+ <p>The following example shows the difference between denoting the <em>importance</em> of a span
+ of text (<code><a href=#the-strong-element>strong</a></code>) as opposed to denoting the <em>relevance</em> of a span of text
+ (<code><a href=#the-mark-element>mark</a></code>). It is an extract from a textbook, where the extract has had the parts
+ relevant to the exam highlighted. The safety warnings, important though they may be, are
+ apparently not relevant to the exam.</p>
<pre><h3>Wormhole Physics Introduction</h3>
@@ -21733,46 +21468,37 @@
<dd>Also, the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> global attribute has special semantics on this element.</dd>
<dt><a href=#element-dfn-dom title=element-dfn-dom>DOM interface</a>:</dt><!--TOPIC:DOM APIs-->
<dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
- </dl><!--TOPIC:HTML--><p>The <code><a href=#the-bdi-element>bdi</a></code> element <a href=#represents>represents</a> a span of
- text that is to be isolated from its surroundings for the purposes
- of bidirectional text formatting. <a href=#refsBIDI>[BIDI]</a></p>
+ </dl><!--TOPIC:HTML--><p>The <code><a href=#the-bdi-element>bdi</a></code> element <a href=#represents>represents</a> a span of text that is to be isolated from
+ its surroundings for the purposes of bidirectional text formatting. <a href=#refsBIDI>[BIDI]</a></p>
- <p class=note>The <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> global
- attribute defaults to <code title=attr-dir-auto><a href=#attr-dir-auto>auto</a></code> on
- this element (it never inherits from the parent element like with
- other elements).</p>
+ <p class=note>The <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> global attribute defaults to <code title=attr-dir-auto><a href=#attr-dir-auto>auto</a></code> on this element (it never inherits from the parent element like
+ with other elements).</p>
<div class=impl>
- <p>For the purposes of applying the bidirectional algorithm to the
- contents of a <code><a href=#the-bdi-element>bdi</a></code> element, user agents must treat the
- element as a paragraph-level container.</p>
+ <p>For the purposes of applying the bidirectional algorithm to the contents of a <code><a href=#the-bdi-element>bdi</a></code>
+ element, user agents must treat the element as a paragraph-level container.</p>
- <p>For the purposes of applying the bidirectional algorithm to the
- paragraph-level container that a <code><a href=#the-bdi-element>bdi</a></code> element finds
- itself within, the <code><a href=#the-bdi-element>bdi</a></code> element must be treated like a
- U+FFFC OBJECT REPLACEMENT CHARACTER (in the same manner that an
- image or other inline object is handled).</p>
+ <p>For the purposes of applying the bidirectional algorithm to the paragraph-level container that
+ a <code><a href=#the-bdi-element>bdi</a></code> element finds itself within, the <code><a href=#the-bdi-element>bdi</a></code> element must be treated like
+ a U+FFFC OBJECT REPLACEMENT CHARACTER (in the same manner that an image or other inline object is
+ handled).</p>
- <p>The requirements on handling the <code><a href=#the-bdi-element>bdi</a></code> element for the
- bidirectional algorithm may be implemented indirectly through the
- style layer. For example, an HTML+CSS user agent could implement
- these requirements by implementing the CSS 'unicode-bidi' property.
- <a href=#refsCSS>[CSS]</a></p>
+ <p>The requirements on handling the <code><a href=#the-bdi-element>bdi</a></code> element for the bidirectional algorithm may
+ be implemented indirectly through the style layer. For example, an HTML+CSS user agent could
+ implement these requirements by implementing the CSS 'unicode-bidi' property. <a href=#refsCSS>[CSS]</a></p>
</div>
<div class=example>
- <p>This element is especially useful when embedding user-generated
- content with an unknown directionality.</p>
+ <p>This element is especially useful when embedding user-generated content with an unknown
+ directionality.</p>
- <p>In this example, usernames are shown along with the number of
- posts that the user has submitted. If the <code><a href=#the-bdi-element>bdi</a></code> element
- were not used, the username of the Arabic user would end up
- confusing the text (the bidirectional algorithm would put the colon
- and the number "3" next to the word "User" rather than next to the
- word "posts").</p>
+ <p>In this example, usernames are shown along with the number of posts that the user has
+ submitted. If the <code><a href=#the-bdi-element>bdi</a></code> element were not used, the username of the Arabic user would
+ end up confusing the text (the bidirectional algorithm would put the colon and the number "3"
+ next to the word "User" rather than next to the word "posts").</p>
<pre><ul>
<li>User <bdi>jcranmer</bdi>: 12 posts.
@@ -62165,11 +61891,11 @@
<a href=#reflect>reflect</a> the <code title=attr-itemref><a href=#attr-itemref>itemref</a></code> content attribute.</p>
<p>The <dfn id=dom-properties title=dom-properties><code>properties</code></dfn> IDL attribute on <a href=#html-elements>HTML
- elements</a> must return an <code><a href=#htmlpropertiescollection>HTMLPropertiesCollection</a></code> rooted at the
- element's <a href=#root-element>root element</a> (which element this is might change during the collection's lifetime, as the element moves between different subtrees), whose filter matches only elements that are <a href=#the-properties-of-an-item title="the
- properties of an item">the properties of the item</a> created by the element on which the
- attribute was invoked, while that element is an <a href=#concept-item title=concept-item>item</a>, and
- matches nothing the rest of the time.</p>
+ elements</a> must return an <code><a href=#htmlpropertiescollection>HTMLPropertiesCollection</a></code> rooted at the element's
+ <a href=#root-element>root element</a> (which element this is might change during the collection's lifetime, as
+ the element moves between different subtrees), whose filter matches only elements that are <a href=#the-properties-of-an-item title="the properties of an item">the properties of the item</a> created by the element on
+ which the attribute was invoked, while that element is an <a href=#concept-item title=concept-item>item</a>,
+ and matches nothing the rest of the time.</p>
<p>The <dfn id=dom-itemvalue title=dom-itemValue><code>itemValue</code></dfn> IDL attribute's behavior depends on
the element, as follows:</p>
Modified: index
===================================================================
--- index 2013-02-08 01:35:58 UTC (rev 7706)
+++ index 2013-02-08 01:45:04 UTC (rev 7707)
@@ -407,8 +407,7 @@
<li><a href=#the-title-attribute><span class=secno>3.2.3.2 </span>The <code title=attr-title>title</code> attribute</a></li>
<li><a href=#the-lang-and-xml:lang-attributes><span class=secno>3.2.3.3 </span>The <code title=attr-lang>lang</code> and <code title=attr-xml-lang>xml:lang</code> attributes</a></li>
<li><a href=#the-translate-attribute><span class=secno>3.2.3.4 </span>The <code title=attr-translate>translate</code> attribute</a></li>
- <li><a href=#the-xml:base-attribute-(xml-only)><span class=secno>3.2.3.5 </span>The <code>xml:base</code>
- attribute (XML only)</a></li>
+ <li><a href=#the-xml:base-attribute-(xml-only)><span class=secno>3.2.3.5 </span>The <code>xml:base</code> attribute (XML only)</a></li>
<li><a href=#the-dir-attribute><span class=secno>3.2.3.6 </span>The <code>dir</code> attribute</a></li>
<li><a href=#classes><span class=secno>3.2.3.7 </span>The <code>class</code> attribute</a></li>
<li><a href=#the-style-attribute><span class=secno>3.2.3.8 </span>The <code>style</code> attribute</a></li>
@@ -9409,64 +9408,60 @@
<div class=impl>
- <hr><p id=dom-document-namedItem-which>The <code><a href=#document>Document</a></code>
- interface <a href=#support-named-properties title="support named properties">supports named
- properties</a>. The <a href=#supported-property-names>supported property names</a> at any
- moment consist of the values of the <code title=attr-name>name</code> content attributes of all the
+ <hr><p id=dom-document-namedItem-which>The <code><a href=#document>Document</a></code> interface <a href=#support-named-properties title="support
+ named properties">supports named properties</a>. The <a href=#supported-property-names>supported property names</a> at
+ any moment consist of the values of the <code title=attr-name>name</code> content attributes of
+ all the
<code><a href=#the-applet-element>applet</a></code>,
<a href=#exposed>exposed</a> <code><a href=#the-embed-element>embed</a></code>,
<code><a href=#the-form-element>form</a></code>,
<code><a href=#the-iframe-element>iframe</a></code>,
<code><a href=#the-img-element>img</a></code>, and
<a href=#exposed>exposed</a> <code><a href=#the-object-element>object</a></code>
- elements in the <code><a href=#document>Document</a></code> that have <code title=attr-name>name</code> content attributes, and the values of
- the <code title=attr-id><a href=#the-id-attribute>id</a></code> content attributes of all the
+ elements in the <code><a href=#document>Document</a></code> that have <code title=attr-name>name</code> content
+ attributes, and the values of the <code title=attr-id><a href=#the-id-attribute>id</a></code> content attributes of all the
<code><a href=#the-applet-element>applet</a></code> and
<a href=#exposed>exposed</a> <code><a href=#the-object-element>object</a></code>
- elements in the <code><a href=#document>Document</a></code> that have <code title=attr-id><a href=#the-id-attribute>id</a></code> content attributes, and the values of the
- <code title=attr-id><a href=#the-id-attribute>id</a></code> content attributes of all the
+ elements in the <code><a href=#document>Document</a></code> that have <code title=attr-id><a href=#the-id-attribute>id</a></code> content
+ attributes, and the values of the <code title=attr-id><a href=#the-id-attribute>id</a></code> content attributes of all the
<code><a href=#the-img-element>img</a></code>
- elements in the <code><a href=#document>Document</a></code> that have both <code title=attr-name>name</code> content attributes and <code title=attr-id><a href=#the-id-attribute>id</a></code> content attributes.</p>
+ elements in the <code><a href=#document>Document</a></code> that have both <code title=attr-name>name</code> content
+ attributes and <code title=attr-id><a href=#the-id-attribute>id</a></code> content attributes.</p>
- <p>To <a href=#determine-the-value-of-a-named-property>determine the value of a named property</a> <var title="">name</var> when <dfn id=dom-document-nameditem title=dom-document-namedItem>the
- <code>Document</code> object is indexed for property
- retrieval</dfn>, the user agent must return the value obtained using
- the following steps:</p>
+ <p>To <a href=#determine-the-value-of-a-named-property>determine the value of a named property</a> <var title="">name</var> when <dfn id=dom-document-nameditem title=dom-document-namedItem>the <code>Document</code> object is indexed for property
+ retrieval</dfn>, the user agent must return the value obtained using the following steps:</p>
<ol><li>
- <p>Let <var title="">elements</var> be the list of <a href=#dom-document-nameditem-filter title=dom-document-namedItem-filter>named elements</a> with
- the name <var title="">name</var> in the <code><a href=#document>Document</a></code>.
+ <p>Let <var title="">elements</var> be the list of <a href=#dom-document-nameditem-filter title=dom-document-namedItem-filter>named elements</a> with the name <var title="">name</var> in the <code><a href=#document>Document</a></code>.
- <p class=note>There will be at least one such element, by
- definition.<!-- (If there wasn't, then this algorithm wouldn't
- have been invoked by Web IDL.) --></p>
+ <p class=note>There will be at least one such element, by definition.<!-- (If there wasn't,
+ then this algorithm wouldn't have been invoked by Web IDL.) --></p>
</li>
<li>
- <p>If <var title="">elements</var> has only one element, and that
- element is an <code><a href=#the-iframe-element>iframe</a></code> element, then return the
- <code><a href=#windowproxy>WindowProxy</a></code> object of the <a href=#nested-browsing-context>nested browsing
- context</a> represented by that <code><a href=#the-iframe-element>iframe</a></code> element,
- and abort these steps.</p>
+ <p>If <var title="">elements</var> has only one element, and that element is an
+ <code><a href=#the-iframe-element>iframe</a></code> element, then return the <code><a href=#windowproxy>WindowProxy</a></code> object of the <a href=#nested-browsing-context>nested
+ browsing context</a> represented by that <code><a href=#the-iframe-element>iframe</a></code> element, and abort these
+ steps.</p>
</li>
<li>
- <p>Otherwise, if <var title="">elements</var> has only one
- element, return that element and abort these steps.</p>
+ <p>Otherwise, if <var title="">elements</var> has only one element, return that element and
+ abort these steps.</p>
</li>
<li>
- <p>Otherwise return an <code><a href=#htmlcollection>HTMLCollection</a></code> rooted at the
- <code><a href=#document>Document</a></code> node, whose filter matches only <a href=#dom-document-nameditem-filter title=dom-document-namedItem-filter>named elements</a> with
- the name <var title="">name</var>.</p> <!-- the same one each time
- is returned, because of the rule under collections -->
+ <p>Otherwise return an <code><a href=#htmlcollection>HTMLCollection</a></code> rooted at the <code><a href=#document>Document</a></code> node,
+ whose filter matches only <a href=#dom-document-nameditem-filter title=dom-document-namedItem-filter>named elements</a> with
+ the name <var title="">name</var>.</p> <!-- the same one each time is returned, because of the
+ rule under collections -->
</li>
@@ -9476,32 +9471,28 @@
This is what the "OverrideBuiltins" bit means in the IDL.
-->
- </ol><p><dfn id=dom-document-nameditem-filter title=dom-document-nameditem-filter>Named elements</dfn>
- with the name <var title="">name</var>, for the purposes of the
- above algorithm, are those that are either:</p>
+ </ol><p><dfn id=dom-document-nameditem-filter title=dom-document-nameditem-filter>Named elements</dfn> with the name <var title="">name</var>, for the purposes of the above algorithm, are those that are either:</p>
- <ul><li><code><a href=#the-applet-element>applet</a></code>, <a href=#exposed>exposed</a> <code><a href=#the-embed-element>embed</a></code>,
- <code><a href=#the-form-element>form</a></code>, <code><a href=#the-iframe-element>iframe</a></code>, <code><a href=#the-img-element>img</a></code>, or
- <a href=#exposed>exposed</a> <code><a href=#the-object-element>object</a></code> elements that have a <code title=attr-name>name</code> content attribute whose value is <var title="">name</var>, or</li>
+ <ul><li><code><a href=#the-applet-element>applet</a></code>, <a href=#exposed>exposed</a> <code><a href=#the-embed-element>embed</a></code>, <code><a href=#the-form-element>form</a></code>,
+ <code><a href=#the-iframe-element>iframe</a></code>, <code><a href=#the-img-element>img</a></code>, or <a href=#exposed>exposed</a> <code><a href=#the-object-element>object</a></code> elements that
+ have a <code title=attr-name>name</code> content attribute whose value is <var title="">name</var>, or</li>
- <li><code><a href=#the-applet-element>applet</a></code> or <a href=#exposed>exposed</a> <code><a href=#the-object-element>object</a></code>
- elements that have an <code title=attr-id><a href=#the-id-attribute>id</a></code> content
- attribute whose value is <var title="">name</var>, or</li>
+ <li><code><a href=#the-applet-element>applet</a></code> or <a href=#exposed>exposed</a> <code><a href=#the-object-element>object</a></code> elements that have an <code title=attr-id><a href=#the-id-attribute>id</a></code> content attribute whose value is <var title="">name</var>, or</li>
- <li><code><a href=#the-img-element>img</a></code> elements that have an <code title=attr-id><a href=#the-id-attribute>id</a></code> content attribute whose value is <var title="">name</var>, and that have a <code title=attr-name>name</code> content attribute present also.</li>
+ <li><code><a href=#the-img-element>img</a></code> elements that have an <code title=attr-id><a href=#the-id-attribute>id</a></code> content attribute
+ whose value is <var title="">name</var>, and that have a <code title=attr-name>name</code>
+ content attribute present also.</li>
- </ul><p>An <code><a href=#the-embed-element>embed</a></code> or <code><a href=#the-object-element>object</a></code> element is said to
- be <dfn id=exposed>exposed</dfn> if it has no <a href=#exposed>exposed</a>
- <code><a href=#the-object-element>object</a></code> ancestor, and, for <code><a href=#the-object-element>object</a></code> elements,
- is additionally either not showing its <a href=#fallback-content>fallback content</a>
- or has no <code><a href=#the-object-element>object</a></code> or <code><a href=#the-embed-element>embed</a></code> descendants.</p>
+ </ul><p>An <code><a href=#the-embed-element>embed</a></code> or <code><a href=#the-object-element>object</a></code> element is said to be <dfn id=exposed>exposed</dfn> if it has
+ no <a href=#exposed>exposed</a> <code><a href=#the-object-element>object</a></code> ancestor, and, for <code><a href=#the-object-element>object</a></code> elements, is
+ additionally either not showing its <a href=#fallback-content>fallback content</a> or has no <code><a href=#the-object-element>object</a></code> or
+ <code><a href=#the-embed-element>embed</a></code> descendants.</p>
</div>
- <hr><p class=note>The <code title=dom-document-dir><a href=#dom-document-dir>dir</a></code>
- attribute on the <code><a href=#document>Document</a></code> interface is defined
- along with the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> content
- attribute.</p>
+ <hr><p class=note>The <code title=dom-document-dir><a href=#dom-document-dir>dir</a></code> attribute on the
+ <code><a href=#document>Document</a></code> interface is defined along with the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code>
+ content attribute.</p>
@@ -9519,110 +9510,94 @@
<!-- http://www.hixie.ch/tests/adhoc/dom/level0/document/load/001.html -->
<!--SYNCLOAD
- <p>The <dfn
- title="dom-XMLDocument-async"><code>async</code></dfn>
- attribute must initially be true. On getting, it must return its
- current value. On setting, its current value must be changed to the
- new value.</p>
+ <p>The <dfn title="dom-XMLDocument-async"><code>async</code></dfn> attribute must initially be
+ true. On getting, it must return its current value. On setting, its current value must be changed
+ to the new value.</p>
-->
- <p>The <dfn id=dom-xmldocument-load title=dom-XMLDocument-load><code>load(<var title="">url</var>)</code></dfn> method must run the following
- steps:</p>
+ <p>The <dfn id=dom-xmldocument-load title=dom-XMLDocument-load><code>load(<var title="">url</var>)</code></dfn> method
+ must run the following steps:</p>
+
<ol><!--SYNCLOAD
- <li><p>If <code title="dom-XMLDocument-async">async</code> is
- set to false and the <var title="">document</var> is
- <span>load-blocked</span>, return false and abort these
+ <li><p>If <code title="dom-XMLDocument-async">async</code> is set to false and the <var
+ title="">document</var> is <span>load-blocked</span>, return false and abort these
steps.</p></li>
---><li><p>Let <var title="">document</var> be the <code><a href=#xmldocument>XMLDocument</a></code>
- object on which the method was invoked.</li>
+--><li><p>Let <var title="">document</var> be the <code><a href=#xmldocument>XMLDocument</a></code> object on which the
+ method was invoked.</li>
- <li><p><a href=#resolve-a-url title="resolve a url">Resolve</a> the method's
- first argument, relative to the <a href=#entry-script>entry script</a>'s <a href="#script's-base-url" title="script's base URL">base URL</a>. If this is not
- successful, throw a <code><a href=#syntaxerror>SyntaxError</a></code> exception and abort
- these steps. Otherwise, let <var title="">url</var> be the
- resulting <a href=#absolute-url>absolute URL</a>.</li>
+ <li><p><a href=#resolve-a-url title="resolve a url">Resolve</a> the method's first argument, relative to the
+ <a href=#entry-script>entry script</a>'s <a href="#script's-base-url" title="script's base URL">base URL</a>. If this is not
+ successful, throw a <code><a href=#syntaxerror>SyntaxError</a></code> exception and abort these steps. Otherwise, let <var title="">url</var> be the resulting <a href=#absolute-url>absolute URL</a>.</li>
- <li><p>If the <a href=#origin>origin</a> of <var title="">url</var> is not
- the same as the <a href=#origin>origin</a> of <var title="">document</var>, throw a <code><a href=#securityerror>SecurityError</a></code>
- exception and abort these steps.</li>
+ <li><p>If the <a href=#origin>origin</a> of <var title="">url</var> is not the same as the
+ <a href=#origin>origin</a> of <var title="">document</var>, throw a <code><a href=#securityerror>SecurityError</a></code> exception
+ and abort these steps.</li>
+
<!--SYNCLOAD
- <li><p>If <code title="dom-XMLDocument-async">async</code> is
- set to false, let <var title="">document</var> be
- <dfn>load-blocked</dfn>.</p></li>
+ <li><p>If <code title="dom-XMLDocument-async">async</code> is set to false, let <var
+ title="">document</var> be <dfn>load-blocked</dfn>.</p></li>
-->
- <li><p>Remove all child nodes of <var title="">document</var>,
- without firing any mutation events.</li> <!-- as of 2010-07-26,
- only Opera fired mutation events here. -->
+ <li><p>Remove all child nodes of <var title="">document</var>, without firing any mutation
+ events.</li> <!-- as of 2010-07-26, only Opera fired mutation events here. -->
+
<li><p>Set the <a href=#current-document-readiness>current document readiness</a> of <var title="">document</var> to "<code title="">loading</code>".</li>
- <li><p><!--SYNCLOAD If <code title="dom-XMLDocument-async">async</code> is
- set to true, then run--> Run the remainder of these steps asynchronously,
- and return true from the method.<!--SYNCLOAD Otherwise, continue running these
- steps without yet returning.--></li>
+ <li><p><!--SYNCLOAD If <code title="dom-XMLDocument-async">async</code> is set to true, then
+ run--> Run the remainder of these steps asynchronously, and return true from the
+ method.<!--SYNCLOAD Otherwise, continue running these steps without yet returning.--></li>
- <li><p>Let <var title="">result</var> be a <code><a href=#document>Document</a></code>
- object.</li>
+ <li><p>Let <var title="">result</var> be a <code><a href=#document>Document</a></code> object.</li>
<li><p>Let <var title="">success</var> be false.</li>
- <li><p><a href=#fetch>Fetch</a><!--FETCH--> <var title="">url</var> from
- the <a href=#origin>origin</a> of <var title="">document</var>, using the
- <a href=#entry-script>entry script</a>'s <a href="#script's-referrer-source" title="script's referrer
- source">referrer source</a>, with the <i title="">synchronous
- flag</i> set and the <i title="">force same-origin flag</i>
- set.</li>
+ <li><p><a href=#fetch>Fetch</a><!--FETCH--> <var title="">url</var> from the <a href=#origin>origin</a> of
+ <var title="">document</var>, using the <a href=#entry-script>entry script</a>'s <a href="#script's-referrer-source" title="script's
+ referrer source">referrer source</a>, with the <i title="">synchronous flag</i> set and the <i title="">force same-origin flag</i> set.</li>
<li>
- <p>If the fetch attempt was successful, and the resource's <a href=#content-type title=Content-Type>Content-Type metadata</a> is an <a href=#xml-mime-type>XML
- MIME type</a>, then run these substeps:</p>
+ <p>If the fetch attempt was successful, and the resource's <a href=#content-type title=Content-Type>Content-Type metadata</a> is an <a href=#xml-mime-type>XML MIME type</a>, then run
+ these substeps:</p>
- <ol><li><p>Create a new <a href=#xml-parser>XML parser</a> associated with the
- <var title="">result</var> document.</li>
+ <ol><li><p>Create a new <a href=#xml-parser>XML parser</a> associated with the <var title="">result</var>
+ document.</li>
- <li><p>Pass this parser the fetched document.</li> <!-- no
- worries about scripts running; there's no browsing context for
- the document so scripts are automatically disabled -->
+ <li><p>Pass this parser the fetched document.</li> <!-- no worries about scripts running;
+ there's no browsing context for the document so scripts are automatically disabled -->
- <li><p>If there is an XML well-formedness or XML namespace
- well-formedness error, then remove all child nodes from <var title="">result</var>. Otherwise let <var title="">success</var>
- be true.</li>
+ <li><p>If there is an XML well-formedness or XML namespace well-formedness error, then remove
+ all child nodes from <var title="">result</var>. Otherwise let <var title="">success</var> be
+ true.</li>
</ol></li>
<li>
- <p><!--SYNCLOAD If <code title="dom-XMLDocument-async">async</code> is
- set to true, then <span>queue--> <a href=#queue-a-task>Queue a task</a> to run the following
- steps. <!--SYNCLOAD Otherwise, run them synchronously.--></p>
+ <p><!--SYNCLOAD If <code title="dom-XMLDocument-async">async</code> is set to true, then
+ <span>queue--> <a href=#queue-a-task>Queue a task</a> to run the following steps. <!--SYNCLOAD Otherwise, run
+ them synchronously.--></p>
- <ol><li><p>Set the <a href=#current-document-readiness>current document readiness</a> of <var title="">document</var> to "<code title="">complete</code>".</li>
+ <ol><li><p>Set the <a href=#current-document-readiness>current document readiness</a> of <var title="">document</var> to
+ "<code title="">complete</code>".</li>
- <li><p>Replace all the children of <var title="">document</var>
- by the children of <var title="">result</var> (even if it has no
- children), firing mutation events as if a
- <code><a href=#documentfragment>DocumentFragment</a></code> containing the new children had
- been inserted.</li> <!-- as of 2010-07-26, both Firefox and
- Opera fired mutation events here. -->
+ <li><p>Replace all the children of <var title="">document</var> by the children of <var title="">result</var> (even if it has no children), firing mutation events as if a
+ <code><a href=#documentfragment>DocumentFragment</a></code> containing the new children had been inserted.</li> <!-- as
+ of 2010-07-26, both Firefox and Opera fired mutation events here. -->
- <!-- If the document doesn't have no nodes here, at time of
- writing, Opera would leave the new nodes and drop the parsed
- ones, while Firefox would basically abort instead, failing to
- fire the 'load' event -->
+ <!-- If the document doesn't have no nodes here, at time of writing, Opera would leave the new
+ nodes and drop the parsed ones, while Firefox would basically abort instead, failing to fire
+ the 'load' event -->
<li><p><a href=#fire-a-simple-event>Fire a simple event</a> named <code title=event-load>load</code> at <var title="">document</var>.</li>
</ol></li>
<!--SYNCLOAD
- <li><p>If <code title="dom-XMLDocument-async">async</code>
- was set to false when this algorithm started, let <var
- title="">document</var> be no longer
- <span>load-blocked</span>.</p></li>
+ <li><p>If <code title="dom-XMLDocument-async">async</code> was set to false when this algorithm
+ started, let <var title="">document</var> be no longer <span>load-blocked</span>.</p></li>
- <li><p>If <code title="dom-XMLDocument-async">async</code>
- was set to false when this algorithm started, return <var
- title="">success</var>.</p></li>
+ <li><p>If <code title="dom-XMLDocument-async">async</code> was set to false when this algorithm
+ started, return <var title="">success</var>.</p></li>
-->
</ol></div>
@@ -9632,63 +9607,52 @@
<h4 id=semantics-0><span class=secno>3.2.1 </span>Semantics</h4>
- <p>Elements, attributes, and attribute values in HTML are defined
- (by this specification) to have certain meanings (semantics). For
- example, the <code><a href=#the-ol-element>ol</a></code> element represents an ordered list, and
- the <code title=attr-lang><a href=#attr-lang>lang</a></code> attribute represents the
- language of the content.</p>
+ <p>Elements, attributes, and attribute values in HTML are defined (by this specification) to have
+ certain meanings (semantics). For example, the <code><a href=#the-ol-element>ol</a></code> element represents an ordered list,
+ and the <code title=attr-lang><a href=#attr-lang>lang</a></code> attribute represents the language of the content.</p>
- <p>These definitions allow HTML processors, such as Web browsers or
- search engines, to present and use documents and applications in a
- wide variety of contexts that the author might not have
+ <p>These definitions allow HTML processors, such as Web browsers or search engines, to present and
+ use documents and applications in a wide variety of contexts that the author might not have
considered.</p>
<div class=example>
- <p>As a simple example, consider a Web page written by an author
- who only considered desktop computer Web browsers. Because HTML
- conveys <em>meaning</em>, rather than presentation, the same page
- can also be used by a small browser on a mobile phone, without any
- change to the page. Instead of headings being in large letters as
- on the desktop, for example, the browser on the mobile phone might
- use the same size text for the whole the page, but with the
- headings in bold.</p>
+ <p>As a simple example, consider a Web page written by an author who only considered desktop
+ computer Web browsers. Because HTML conveys <em>meaning</em>, rather than presentation, the same
+ page can also be used by a small browser on a mobile phone, without any change to the page.
+ Instead of headings being in large letters as on the desktop, for example, the browser on the
+ mobile phone might use the same size text for the whole the page, but with the headings in
+ bold.</p>
- <p>But it goes further than just differences in screen size: the
- same page could equally be used by a blind user using a browser
- based around speech synthesis, which instead of displaying the page
- on a screen, reads the page to the user, e.g. using headphones.
- Instead of large text for the headings, the speech browser might
- use a different volume or a slower voice.</p>
+ <p>But it goes further than just differences in screen size: the same page could equally be used
+ by a blind user using a browser based around speech synthesis, which instead of displaying the
+ page on a screen, reads the page to the user, e.g. using headphones. Instead of large text for
+ the headings, the speech browser might use a different volume or a slower voice.</p>
- <p>That's not all, either. Since the browsers know which parts of
- the page are the headings, they can create a document outline that
- the user can use to quickly navigate around the document, using
- keys for "jump to next heading" or "jump to previous heading". Such
- features are especially common with speech browsers, where users
- would otherwise find quickly navigating a page quite difficult.</p>
+ <p>That's not all, either. Since the browsers know which parts of the page are the headings, they
+ can create a document outline that the user can use to quickly navigate around the document,
+ using keys for "jump to next heading" or "jump to previous heading". Such features are especially
+ common with speech browsers, where users would otherwise find quickly navigating a page quite
+ difficult.</p>
- <p>Even beyond browsers, software can make use of this information.
- Search engines can use the headings to more effectively index a
- page, or to provide quick links to subsections of the page from
- their results. Tools can use the headings to create a table of
- contents (that is in fact how this very specification's table of
- contents is generated).</p>
+ <p>Even beyond browsers, software can make use of this information. Search engines can use the
+ headings to more effectively index a page, or to provide quick links to subsections of the page
+ from their results. Tools can use the headings to create a table of contents (that is in fact how
+ this very specification's table of contents is generated).</p>
- <p>This example has focused on headings, but the same principle
- applies to all of the semantics in HTML.</p>
+ <p>This example has focused on headings, but the same principle applies to all of the semantics
+ in HTML.</p>
</div>
- <p>Authors must not use elements, attributes, or attribute values
- for purposes other than their appropriate intended semantic purpose,
- as doing so prevents software from correctly processing the
+ <p>Authors must not use elements, attributes, or attribute values for purposes other than their
+ appropriate intended semantic purpose, as doing so prevents software from correctly processing the
page.</p>
<div class=example>
- <p>For example, the following document is non-conforming, despite
- being syntactically correct:</p>
+ <p>For example, the following document is non-conforming, despite being syntactically
+ correct:</p>
<pre class=bad><!DOCTYPE HTML>
<html lang="en-GB">
@@ -9706,14 +9670,12 @@
</body>
</html></pre>
- <p>...because the data placed in the cells is clearly not tabular
- data (and the <code><a href=#the-cite-element>cite</a></code> element mis-used). This would make
- software that relies on these semantics fail: for example, a speech
- browser that allowed a blind user to navigate tables in the
- document would report the quote above as a table, confusing the
- user; similarly, a tool that extracted titles of works from pages
- would extract "Ernest" as the title of a work, even though it's
- actually a person's name, not a title.</p>
+ <p>...because the data placed in the cells is clearly not tabular data (and the <code><a href=#the-cite-element>cite</a></code>
+ element mis-used). This would make software that relies on these semantics fail: for example, a
+ speech browser that allowed a blind user to navigate tables in the document would report the
+ quote above as a table, confusing the user; similarly, a tool that extracted titles of works from
+ pages would extract "Ernest" as the title of a work, even though it's actually a person's name,
+ not a title.</p>
<p>A corrected version of this document might be:</p>
@@ -9735,19 +9697,16 @@
<div class=example>
- <p>This next document fragment, intended to represent the heading
- of a corporate site, is similarly non-conforming because the second
- line is not intended to be a heading of a subsection, but merely a
- subheading or subtitle (a subordinate heading for the same
- section).</p>
+ <p>This next document fragment, intended to represent the heading of a corporate site, is
+ similarly non-conforming because the second line is not intended to be a heading of a subsection,
+ but merely a subheading or subtitle (a subordinate heading for the same section).</p>
<pre class=bad><body>
<h1>ABC Company</h1>
<h2>Leading the way in widget design since 1432</h2>
...</pre>
- <p>The <code><a href=#the-hgroup-element>hgroup</a></code> element is intended for these kinds of
- situations:</p>
+ <p>The <code><a href=#the-hgroup-element>hgroup</a></code> element is intended for these kinds of situations:</p>
<pre><body>
<hgroup>
@@ -9758,16 +9717,14 @@
</div>
- <p>Authors must not use elements, attributes, or attribute values
- that are not permitted by this specification or <a href=#other-applicable-specifications>other
- applicable specifications</a>, as doing so makes it significantly
+ <p>Authors must not use elements, attributes, or attribute values that are not permitted by this
+ specification or <a href=#other-applicable-specifications>other applicable specifications</a>, as doing so makes it significantly
harder for the language to be extended in the future.</p>
<div class=example>
- <p>In the next example, there is a non-conforming attribute value
- ("carpet") and a non-conforming attribute ("texture"), which
- is not permitted by this specification:</p>
+ <p>In the next example, there is a non-conforming attribute value ("carpet") and a non-conforming
+ attribute ("texture"), which is not permitted by this specification:</p>
<pre class=bad><label>Carpet: <input type="carpet" name="c" texture="deep pile"></label></pre>
@@ -9777,43 +9734,34 @@
</div>
- <p>Through scripting and using other mechanisms, the values of
- attributes, text, and indeed the entire structure of the document
- may change dynamically while a user agent is processing it. The
- semantics of a document at an instant in time are those represented
- by the state of the document at that instant in time, and the
- semantics of a document can therefore change over time. User agents
- <span class=impl>must</span> update their presentation of the
- document as this occurs.</p>
+ <p>Through scripting and using other mechanisms, the values of attributes, text, and indeed the
+ entire structure of the document may change dynamically while a user agent is processing it. The
+ semantics of a document at an instant in time are those represented by the state of the document
+ at that instant in time, and the semantics of a document can therefore change over time. User
+ agents <span class=impl>must</span> update their presentation of the document as this
+ occurs.</p>
- <p class=example>HTML has a <code><a href=#the-progress-element>progress</a></code> element that
- describes a progress bar. If its "value" attribute is dynamically
- updated by a script, the UA would update the rendering to show the
- progress changing.</p>
+ <p class=example>HTML has a <code><a href=#the-progress-element>progress</a></code> element that describes a progress bar. If its
+ "value" attribute is dynamically updated by a script, the UA would update the rendering to show
+ the progress changing.</p>
<!--TOPIC:DOM APIs-->
<h4 id=elements-in-the-dom><span class=secno>3.2.2 </span>Elements in the DOM</h4>
- <p>The nodes representing <a href=#html-elements>HTML elements</a> in the DOM
- <span class=impl>must</span> implement, and expose to scripts, the
- interfaces listed for them in the relevant sections of this
- specification. This includes <a href=#html-elements>HTML elements</a> in <a href=#xml-documents>XML
- documents</a>, even when those documents are in another context
- (e.g. inside an XSLT transform).</p>
+ <p>The nodes representing <a href=#html-elements>HTML elements</a> in the DOM <span class=impl>must</span>
+ implement, and expose to scripts, the interfaces listed for them in the relevant sections of this
+ specification. This includes <a href=#html-elements>HTML elements</a> in <a href=#xml-documents>XML documents</a>, even when
+ those documents are in another context (e.g. inside an XSLT transform).</p>
- <p>Elements in the DOM <a href=#represents title=represents>represent</a>
- things; that is, they have intrinsic <em>meaning</em>, also known as
- semantics.</p>
+ <p>Elements in the DOM <a href=#represents title=represents>represent</a> things; that is, they have
+ intrinsic <em>meaning</em>, also known as semantics.</p>
- <p class=example>For example, an <code><a href=#the-ol-element>ol</a></code> element
- represents an ordered list.</p>
+ <p class=example>For example, an <code><a href=#the-ol-element>ol</a></code> element represents an ordered list.</p>
- <p>The basic interface, from which all the <a href=#html-elements>HTML
- elements</a>' interfaces inherit, <span class=impl>and which
- must be used by elements that have no additional
- requirements,</span> is the <code><a href=#htmlelement>HTMLElement</a></code> interface.</p>
+ <p>The basic interface, from which all the <a href=#html-elements>HTML elements</a>' interfaces inherit, <span class=impl>and which must be used by elements that have no additional requirements,</span> is
+ the <code><a href=#htmlelement>HTMLElement</a></code> interface.</p>
<pre class=idl>interface <dfn id=htmlelement>HTMLElement</dfn> : <a href=#element>Element</a> {
// metadata attributes
@@ -9864,16 +9812,14 @@
interface <dfn id=htmlunknownelement>HTMLUnknownElement</dfn> : <a href=#htmlelement>HTMLElement</a> { };</pre>
- <p>The <code><a href=#htmlelement>HTMLElement</a></code> interface holds methods and
- attributes related to a number of disparate features, and the
- members of this interface are therefore described in various
- different sections of this specification.</p>
+ <p>The <code><a href=#htmlelement>HTMLElement</a></code> interface holds methods and attributes related to a number of
+ disparate features, and the members of this interface are therefore described in various different
+ sections of this specification.</p>
<div class=impl>
- <p>The <code><a href=#htmlunknownelement>HTMLUnknownElement</a></code> interface must be used for
- <a href=#html-elements>HTML elements</a> that are not defined by this
- specification (or <a href=#other-applicable-specifications>other applicable specifications</a>).</p>
+ <p>The <code><a href=#htmlunknownelement>HTMLUnknownElement</a></code> interface must be used for <a href=#html-elements>HTML elements</a> that
+ are not defined by this specification (or <a href=#other-applicable-specifications>other applicable specifications</a>).</p>
</div>
@@ -9881,9 +9827,8 @@
<!--TOPIC:HTML-->
<h4 id=global-attributes><span class=secno>3.2.3 </span><dfn>Global attributes</dfn></h4>
- <p>The following attributes are common to and may be specified on
- all <a href=#html-elements>HTML elements</a><span class=impl> (even those not
- defined in this specification)</span>:</p>
+ <p>The following attributes are common to and may be specified on all <a href=#html-elements>HTML
+ elements</a><span class=impl> (even those not defined in this specification)</span>:</p>
<ul class=brief><li><code title=attr-accesskey><a href=#the-accesskey-attribute>accesskey</a></code></li>
<li><code title=attr-class><a href=#classes>class</a></code></li>
@@ -9908,19 +9853,18 @@
<li><code title=attr-translate><a href=#attr-translate>translate</a></code></li>
</ul><div class=impl>
- <p>These attributes are only defined by this specification as
- attributes for <a href=#html-elements>HTML elements</a>. When this specification
- refers to elements having these attributes, elements from namespaces
- that are not defined as having these attributes must not be
- considered as being elements with these attributes.</p>
+ <p>These attributes are only defined by this specification as attributes for <a href=#html-elements>HTML
+ elements</a>. When this specification refers to elements having these attributes, elements from
+ namespaces that are not defined as having these attributes must not be considered as being
+ elements with these attributes.</p>
<div class=example>
- <p>For example, in the following XML fragment, the "<code title="">bogus</code>" element does not have a <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute as defined in this
- specification, despite having an attribute with the literal name
- "<code title="">dir</code>". Thus, <a href=#the-directionality>the directionality</a>
- of the inner-most <code><a href=#the-span-element>span</a></code> element is '<a href=#concept-rtl title=concept-rtl>rtl</a>', inherited from the
- <code><a href=#the-div-element>div</a></code> element indirectly through the "<code title="">bogus</code>" element.</p>
+ <p>For example, in the following XML fragment, the "<code title="">bogus</code>" element does not
+ have a <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute as defined in this specification, despite
+ having an attribute with the literal name "<code title="">dir</code>". Thus, <a href=#the-directionality>the
+ directionality</a> of the inner-most <code><a href=#the-span-element>span</a></code> element is '<a href=#concept-rtl title=concept-rtl>rtl</a>', inherited from the <code><a href=#the-div-element>div</a></code> element indirectly through
+ the "<code title="">bogus</code>" element.</p>
<pre class=bad><div xmlns="http://www.w3.org/1999/html" dir="rtl">
<bogus xmlns="http://example.net/ns" dir="ltr">
@@ -9933,9 +9877,7 @@
</div>
- <hr><p>The following <a href=#event-handler-content-attributes>event handler content attributes</a> may
- be specified on any <a href=#html-elements title="HTML elements">HTML
- element</a>:</p>
+ <hr><p>The following <a href=#event-handler-content-attributes>event handler content attributes</a> may be specified on any <a href=#html-elements title="HTML elements">HTML element</a>:</p>
<ul class=brief><li><code title=handler-onabort><a href=#handler-onabort>onabort</a></code></li>
<li><code title=handler-onblur><a href=#handler-onblur>onblur</a></code>*</li>
@@ -9995,52 +9937,40 @@
<li><code title=handler-ontimeupdate><a href=#handler-ontimeupdate>ontimeupdate</a></code></li>
<li><code title=handler-onvolumechange><a href=#handler-onvolumechange>onvolumechange</a></code></li>
<li><code title=handler-onwaiting><a href=#handler-onwaiting>onwaiting</a></code></li>
- </ul><p class=note>The attributes marked with an asterisk have a
- different meaning when specified on <code><a href=#the-body-element>body</a></code> elements as
- those elements expose <a href=#event-handlers>event handlers</a> of the
+ </ul><p class=note>The attributes marked with an asterisk have a different meaning when specified on
+ <code><a href=#the-body-element>body</a></code> elements as those elements expose <a href=#event-handlers>event handlers</a> of the
<code><a href=#window>Window</a></code> object with the same names.</p>
- <p class=note>While these attributes apply to all elements, they
- are not useful on all elements. For example, only <a href=#media-element title="media
- element">media elements</a> will ever receive a <code title=event-media-volumechange><a href=#event-media-volumechange>volumechange</a></code> event fired by
- the user agent.</p>
+ <p class=note>While these attributes apply to all elements, they are not useful on all elements.
+ For example, only <a href=#media-element title="media element">media elements</a> will ever receive a <code title=event-media-volumechange><a href=#event-media-volumechange>volumechange</a></code> event fired by the user agent.</p>
- <hr><p><a href=#custom-data-attribute title="custom data attribute">Custom data attributes</a>
- (e.g. <code title="">data-foldername</code> or <code title="">data-msgid</code>) can be specified on any <a href=#html-elements title="HTML elements">HTML element</a>, to store custom data
- specific to the page.</p>
+ <hr><p><a href=#custom-data-attribute title="custom data attribute">Custom data attributes</a> (e.g. <code title="">data-foldername</code> or <code title="">data-msgid</code>) can be specified on any <a href=#html-elements title="HTML elements">HTML element</a>, to store custom data specific to the page.</p>
- <hr><p>In <a href=#html-documents>HTML documents</a>, elements in the <a href=#html-namespace-0>HTML
- namespace</a> may have an <code title="">xmlns</code> attribute
- specified, if, and only if, it has the exact value
- "<code>http://www.w3.org/1999/xhtml</code>". This does not apply to
- <a href=#xml-documents>XML documents</a>.</p>
+ <hr><p>In <a href=#html-documents>HTML documents</a>, elements in the <a href=#html-namespace-0>HTML namespace</a> may have an <code title="">xmlns</code> attribute specified, if, and only if, it has the exact value
+ "<code>http://www.w3.org/1999/xhtml</code>". This does not apply to <a href=#xml-documents>XML
+ documents</a>.</p>
- <p class=note>In HTML, the <code title="">xmlns</code> attribute
- has absolutely no effect. It is basically a talisman. It is allowed
- merely to make migration to and from XHTML mildly easier. When
- parsed by an <a href=#html-parser>HTML parser</a>, the attribute ends up in no
- namespace, not the "<code>http://www.w3.org/2000/xmlns/</code>"
- namespace like namespace declaration attributes in XML do.</p>
+ <p class=note>In HTML, the <code title="">xmlns</code> attribute has absolutely no effect. It is
+ basically a talisman. It is allowed merely to make migration to and from XHTML mildly easier. When
+ parsed by an <a href=#html-parser>HTML parser</a>, the attribute ends up in no namespace, not the
+ "<code>http://www.w3.org/2000/xmlns/</code>" namespace like namespace declaration attributes in
+ XML do.</p>
- <p class=note>In XML, an <code title="">xmlns</code> attribute is
- part of the namespace declaration mechanism, and an element cannot
- actually have an <code title="">xmlns</code> attribute in no
- namespace specified.</p>
+ <p class=note>In XML, an <code title="">xmlns</code> attribute is part of the namespace
+ declaration mechanism, and an element cannot actually have an <code title="">xmlns</code>
+ attribute in no namespace specified.</p>
- <hr><p>The XML specification also allows the use of the <code title=attr-xml-space>xml:space</code> attribute in the <a href=#xml-namespace>XML
- namespace</a> on any element in an <a href=#xml-documents title="XML
- documents">XML document</a>. This attribute has no effect on
- <a href=#html-elements>HTML elements</a>, as the default behavior in HTML is to
- preserve whitespace. <a href=#refsXML>[XML]</a></p>
+ <hr><p>The XML specification also allows the use of the <code title=attr-xml-space>xml:space</code>
+ attribute in the <a href=#xml-namespace>XML namespace</a> on any element in an <a href=#xml-documents title="XML documents">XML
+ document</a>. This attribute has no effect on <a href=#html-elements>HTML elements</a>, as the default
+ behavior in HTML is to preserve whitespace. <a href=#refsXML>[XML]</a></p>
- <p class=note>There is no way to serialize the <code title=attr-xml-space>xml:space</code> attribute on <a href=#html-elements>HTML
- elements</a> in the <code><a href=#text/html>text/html</a></code> syntax.</p>
+ <p class=note>There is no way to serialize the <code title=attr-xml-space>xml:space</code>
+ attribute on <a href=#html-elements>HTML elements</a> in the <code><a href=#text/html>text/html</a></code> syntax.</p>
- <hr><p>To enable assistive technology products to expose a more
- fine-grained interface than is otherwise possible with HTML elements
- and attributes, a set of <a href=#wai-aria title=WAI-ARIA>annotations for
- assistive technology products</a> can be specified (the ARIA
- <code title=attr-aria-role><a href=#attr-aria-role>role</a></code> and <code title=attr-aria-*>aria-*</code> attributes).</p>
+ <hr><p>To enable assistive technology products to expose a more fine-grained interface than is
+ otherwise possible with HTML elements and attributes, a set of <a href=#wai-aria title=WAI-ARIA>annotations
+ for assistive technology products</a> can be specified (the ARIA <code title=attr-aria-role><a href=#attr-aria-role>role</a></code> and <code title=attr-aria-*>aria-*</code> attributes).</p>
<h5 id=the-id-attribute><span class=secno>3.2.3.1 </span>The <dfn title=attr-id><code>id</code></dfn> attribute</h5>
@@ -10106,39 +10036,33 @@
</div>
- <p>Some elements, such as <code><a href=#the-link-element>link</a></code>, <code><a href=#the-abbr-element>abbr</a></code>, and
- <code><a href=#the-input-element>input</a></code>, define additional semantics for the <code title=attr-title><a href=#attr-title>title</a></code> attribute beyond the semantics
- described above.</p> <!-- the other two are <code>style</code> and
- <code>dfn</code> -->
+ <p>Some elements, such as <code><a href=#the-link-element>link</a></code>, <code><a href=#the-abbr-element>abbr</a></code>, and <code><a href=#the-input-element>input</a></code>, define
+ additional semantics for the <code title=attr-title><a href=#attr-title>title</a></code> attribute beyond the semantics
+ described above.</p> <!-- the other two are <code>style</code> and <code>dfn</code> -->
<div class=impl>
- <p>The <dfn id=advisory-information>advisory information</dfn> of an element is the value
- that the following algorithm returns, with the algorithm being
- aborted once a value is returned. When the algorithm returns the
+ <p>The <dfn id=advisory-information>advisory information</dfn> of an element is the value that the following algorithm
+ returns, with the algorithm being aborted once a value is returned. When the algorithm returns the
empty string, then there is no advisory information.</p>
- <ol><li><p>If the element is a <code><a href=#the-link-element>link</a></code>, <code><a href=#the-style-element>style</a></code>,
- <code><a href=#the-dfn-element>dfn</a></code>, <code><a href=#the-abbr-element>abbr</a></code>, or <code><a href=#the-title-element>title</a></code> element,
- then: if the element has a <code title="">title</code> attribute, <!-- not attr-title -->
- return the value of that attribute, otherwise, return the empty
- string.</li> <!-- note: <code>input</code> doesn't do this -->
+ <ol><li><p>If the element is a <code><a href=#the-link-element>link</a></code>, <code><a href=#the-style-element>style</a></code>, <code><a href=#the-dfn-element>dfn</a></code>,
+ <code><a href=#the-abbr-element>abbr</a></code>, or <code><a href=#the-title-element>title</a></code> element, then: if the element has a <code title="">title</code> attribute, <!-- not attr-title --> return the value of that attribute,
+ otherwise, return the empty string.</li> <!-- note: <code>input</code> doesn't do this -->
- <li><p>Otherwise, if the element has a <code title="attr-title=">title</code> attribute, then return its
- value.</li>
+ <li><p>Otherwise, if the element has a <code title="attr-title=">title</code> attribute, then
+ return its value.</li>
- <li><p>Otherwise, if the element has a parent element, then return
- the parent element's <a href=#advisory-information>advisory information</a>.</li>
+ <li><p>Otherwise, if the element has a parent element, then return the parent element's
+ <a href=#advisory-information>advisory information</a>.</li>
<li><p>Otherwise, return the empty string.</li>
- </ol><p>User agents should inform the user when elements have
- <a href=#advisory-information>advisory information</a>, otherwise the information would
- not be discoverable.</p>
+ </ol><p>User agents should inform the user when elements have <a href=#advisory-information>advisory information</a>,
+ otherwise the information would not be discoverable.</p>
- <hr><p>The <dfn id=dom-title title=dom-title><code>title</code></dfn> IDL attribute
- must <a href=#reflect>reflect</a> the <code title=attr-title><a href=#attr-title>title</a></code>
- content attribute.</p>
+ <hr><p>The <dfn id=dom-title title=dom-title><code>title</code></dfn> IDL attribute must <a href=#reflect>reflect</a> the
+ <code title=attr-title><a href=#attr-title>title</a></code> content attribute.</p>
</div>
@@ -10146,80 +10070,60 @@
<h5 id=the-lang-and-xml:lang-attributes><span class=secno>3.2.3.3 </span>The <code title=attr-lang><a href=#attr-lang>lang</a></code> and <code title=attr-xml-lang><a href=#attr-xml-lang>xml:lang</a></code> attributes</h5>
- <p>The <dfn id=attr-lang title=attr-lang><code>lang</code></dfn> attribute (in
- no namespace) specifies the primary language for the element's
- contents and for any of the element's attributes that contain
- text. Its value must be a valid BCP 47 language tag, or the empty
- string. Setting the attribute to the empty string indicates that the
- primary language is unknown<!-- UA conformance requirements for this
- are below -->. <a href=#refsBCP47>[BCP47]</a></p>
+ <p>The <dfn id=attr-lang title=attr-lang><code>lang</code></dfn> attribute (in no namespace) specifies the
+ primary language for the element's contents and for any of the element's attributes that contain
+ text. Its value must be a valid BCP 47 language tag, or the empty string. Setting the attribute to
+ the empty string indicates that the primary language is unknown<!-- UA conformance requirements
+ for this are below -->. <a href=#refsBCP47>[BCP47]</a></p>
- <p>The <dfn id=attr-xml-lang title=attr-xml-lang><code title="">lang</code></dfn>
- attribute in the <a href=#xml-namespace>XML namespace</a> is defined in XML. <a href=#refsXML>[XML]</a></p>
+ <p>The <dfn id=attr-xml-lang title=attr-xml-lang><code title="">lang</code></dfn> attribute in the <a href=#xml-namespace>XML
+ namespace</a> is defined in XML. <a href=#refsXML>[XML]</a></p>
- <p>If these attributes are omitted from an element, then the
- language of this element is the same as the language of its parent
- element, if any.</p>
+ <p>If these attributes are omitted from an element, then the language of this element is the same
+ as the language of its parent element, if any.</p>
- <p>The <code title=attr-lang><a href=#attr-lang>lang</a></code> attribute in no namespace
- may be used on any <a href=#html-elements title="HTML elements">HTML
- element</a>.</p>
+ <p>The <code title=attr-lang><a href=#attr-lang>lang</a></code> attribute in no namespace may be used on any <a href=#html-elements title="HTML elements">HTML element</a>.</p>
- <p>The <a href=#attr-xml-lang title=attr-xml-lang><code title="">lang</code>
- attribute in the <span>XML namespace</span></a> may be used on
- <a href=#html-elements>HTML elements</a> in <a href=#xml-documents>XML documents</a>, as well as
- elements in other namespaces if the relevant specifications allow it
- (in particular, MathML and SVG allow <a href=#attr-xml-lang title=attr-xml-lang><code title="">lang</code> attributes in the
- <span>XML namespace</span></a> to be specified on their
- elements). If both the <code title=attr-lang><a href=#attr-lang>lang</a></code> attribute
- in no namespace and the <a href=#attr-xml-lang title=attr-xml-lang><code title="">lang</code> attribute in the <span>XML
- namespace</span></a> are specified on the same element, they must
- have exactly the same value when compared in an <a href=#ascii-case-insensitive>ASCII
+ <p>The <a href=#attr-xml-lang title=attr-xml-lang><code title="">lang</code> attribute in the <span>XML
+ namespace</span></a> may be used on <a href=#html-elements>HTML elements</a> in <a href=#xml-documents>XML documents</a>,
+ as well as elements in other namespaces if the relevant specifications allow it (in particular,
+ MathML and SVG allow <a href=#attr-xml-lang title=attr-xml-lang><code title="">lang</code> attributes in the
+ <span>XML namespace</span></a> to be specified on their elements). If both the <code title=attr-lang><a href=#attr-lang>lang</a></code> attribute in no namespace and the <a href=#attr-xml-lang title=attr-xml-lang><code title="">lang</code> attribute in the <span>XML namespace</span></a> are specified on the same
+ element, they must have exactly the same value when compared in an <a href=#ascii-case-insensitive>ASCII
case-insensitive</a> manner.</p>
- <p>Authors must not use the <a href=#attr-xml-lang title=attr-xml-lang><code title="">lang</code> attribute in the <span>XML
- namespace</span></a> on <a href=#html-elements>HTML elements</a> in <a href=#html-documents>HTML
- documents</a>. To ease migration to and from XHTML, authors may
- specify an attribute in no namespace with no prefix and with the
- literal localname "<code title="">xml:lang</code>" on <a href=#html-elements>HTML
- elements</a> in <a href=#html-documents>HTML documents</a>, but such attributes
- must only be specified if a <code title=attr-lang><a href=#attr-lang>lang</a></code>
- attribute in no namespace is also specified, and both attributes
- must have the same value when compared in an <a href=#ascii-case-insensitive>ASCII
+ <p>Authors must not use the <a href=#attr-xml-lang title=attr-xml-lang><code title="">lang</code> attribute in
+ the <span>XML namespace</span></a> on <a href=#html-elements>HTML elements</a> in <a href=#html-documents>HTML
+ documents</a>. To ease migration to and from XHTML, authors may specify an attribute in no
+ namespace with no prefix and with the literal localname "<code title="">xml:lang</code>" on
+ <a href=#html-elements>HTML elements</a> in <a href=#html-documents>HTML documents</a>, but such attributes must only be
+ specified if a <code title=attr-lang><a href=#attr-lang>lang</a></code> attribute in no namespace is also specified,
+ and both attributes must have the same value when compared in an <a href=#ascii-case-insensitive>ASCII
case-insensitive</a> manner.</p>
- <p class=note>The attribute in no namespace with no prefix and
- with the literal localname "<code title="">xml:lang</code>" has no
- effect on language processing.</p>
+ <p class=note>The attribute in no namespace with no prefix and with the literal localname "<code title="">xml:lang</code>" has no effect on language processing.</p>
<div class=impl>
- <hr><p>To determine the <dfn id=language>language</dfn> of a node, user agents must
- look at the nearest ancestor element (including the element itself
- if the node is an element) that has a <a href=#attr-xml-lang title=attr-xml-lang><code title="">lang</code> attribute in the
- <span>XML namespace</span></a> set or is an <a href=#html-elements title="HTML
- elements">HTML element</a> and has a <code title=attr-lang><a href=#attr-lang>lang</a></code> in no namespace attribute set. That
- attribute specifies the language of the node (regardless of its
- value).</p>
+ <hr><p>To determine the <dfn id=language>language</dfn> of a node, user agents must look at the nearest ancestor
+ element (including the element itself if the node is an element) that has a <a href=#attr-xml-lang title=attr-xml-lang><code title="">lang</code> attribute in the <span>XML
+ namespace</span></a> set or is an <a href=#html-elements title="HTML elements">HTML element</a> and has a
+ <code title=attr-lang><a href=#attr-lang>lang</a></code> in no namespace attribute set. That attribute specifies the
+ language of the node (regardless of its value).</p>
- <p>If both the <code title=attr-lang><a href=#attr-lang>lang</a></code> attribute in no
- namespace and the <a href=#attr-xml-lang title=attr-xml-lang><code title="">lang</code> attribute in the <span>XML
- namespace</span></a> are set on an element, user agents must use
- the <a href=#attr-xml-lang title=attr-xml-lang><code title="">lang</code> attribute
- in the <span>XML namespace</span></a>, and the <code title=attr-lang><a href=#attr-lang>lang</a></code> attribute in no namespace must be
- <a href=#ignore title=ignore>ignored</a> for the purposes of determining
- the element's language.</p>
+ <p>If both the <code title=attr-lang><a href=#attr-lang>lang</a></code> attribute in no namespace and the <a href=#attr-xml-lang title=attr-xml-lang><code title="">lang</code> attribute in the <span>XML
+ namespace</span></a> are set on an element, user agents must use the <a href=#attr-xml-lang title=attr-xml-lang><code title="">lang</code> attribute in the <span>XML
+ namespace</span></a>, and the <code title=attr-lang><a href=#attr-lang>lang</a></code> attribute in no namespace
+ must be <a href=#ignore title=ignore>ignored</a> for the purposes of determining the element's
+ language.</p>
- <p>If neither the node nor any of the node's ancestors, including
- the <a href=#root-element>root element</a>, have either attribute set, but there
- is a <a href=#pragma-set-default-language>pragma-set default language</a> set, then that is the
- language of the node. If there is no <a href=#pragma-set-default-language>pragma-set default
- language</a> set, then language information from a higher-level
- protocol (such as HTTP), if any, must be used as the final fallback
- language instead. In the absence of any such language information,
- and in cases where the higher-level protocol reports multiple
- languages, the language of the node is unknown, and the
- corresponding language tag is the empty string.</p>
+ <p>If neither the node nor any of the node's ancestors, including the <a href=#root-element>root element</a>,
+ have either attribute set, but there is a <a href=#pragma-set-default-language>pragma-set default language</a> set, then that
+ is the language of the node. If there is no <a href=#pragma-set-default-language>pragma-set default language</a> set, then
+ language information from a higher-level protocol (such as HTTP), if any, must be used as the
+ final fallback language instead. In the absence of any such language information, and in cases
+ where the higher-level protocol reports multiple languages, the language of the node is unknown,
+ and the corresponding language tag is the empty string.</p>
<p>If the resulting value is not a recognized language tag, then it must be treated as an unknown
language having the given language tag, distinct from all other languages. For the purposes of
@@ -10239,27 +10143,22 @@
"xyzzy" is not how Belarusian is described in BCP 47 codes (BCP 47 uses the code "be" for
Belarusian).</p>
- <p>If the resulting value is the empty string, then it must be
- interpreted as meaning that the language of the node is explicitly
- unknown.</p>
+ <p>If the resulting value is the empty string, then it must be interpreted as meaning that the
+ language of the node is explicitly unknown.</p>
- <hr><p>User agents may use the element's language to determine proper
- processing or rendering (e.g. in the selection of appropriate fonts
- or pronunciations, for dictionary selection, or for the user
- interfaces of form controls such as date pickers). <!--User agents
- must not use the element's language to determine text
- directionality. (commented out because text directionality is a
+ <hr><p>User agents may use the element's language to determine proper processing or rendering (e.g. in
+ the selection of appropriate fonts or pronunciations, for dictionary selection, or for the user
+ interfaces of form controls such as date pickers). <!--User agents must not use the element's
+ language to determine text directionality. (commented out because text directionality is a
rendering-level concern.)--></p>
- <!-- Date pickers would use the language information for determining
- the language of months, for example. They should use the page's
- _locale_ to figure out the format itself, not the language. There's
- currently no way to determine the page's locale except by guessing
- from the charset and language... -->
+ <!-- Date pickers would use the language information for determining the language of months, for
+ example. They should use the page's _locale_ to figure out the format itself, not the language.
+ There's currently no way to determine the page's locale except by guessing from the charset and
+ language... -->
- <hr><p>The <dfn id=dom-lang title=dom-lang><code>lang</code></dfn> IDL attribute
- must <a href=#reflect>reflect</a> the <code title=attr-lang><a href=#attr-lang>lang</a></code>
- content attribute in no namespace.</p>
+ <hr><p>The <dfn id=dom-lang title=dom-lang><code>lang</code></dfn> IDL attribute must <a href=#reflect>reflect</a> the
+ <code title=attr-lang><a href=#attr-lang>lang</a></code> content attribute in no namespace.</p>
</div>
@@ -10270,60 +10169,47 @@
<!-- v2: a way to translate the declensions of the word(s), but keep the actual roots the same
for examples, see https://www.w3.org/Bugs/Public/show_bug.cgi?id=17954 -->
- <p>The <dfn id=attr-translate title=attr-translate><code>translate</code></dfn>
- attribute is an <a href=#enumerated-attribute>enumerated attribute</a> that is used to
- specify whether an element's attribute values and the values of its
- <code><a href=#text>Text</a></code> node children are to be translated when the page
- is localized, or whether to leave them unchanged.</p>
+ <p>The <dfn id=attr-translate title=attr-translate><code>translate</code></dfn> attribute is an <a href=#enumerated-attribute>enumerated
+ attribute</a> that is used to specify whether an element's attribute values and the values of
+ its <code><a href=#text>Text</a></code> node children are to be translated when the page is localized, or whether to
+ leave them unchanged.</p>
- <p>The attribute's keywords are the empty string, <code title="">yes</code>, and <code title="">no</code>. The empty string
- and the <code title="">yes</code> keyword map to the <i>yes</i>
- state. The <code title="">no</code> keyword maps to the <i>no</i>
- state. In addition, there is a third state, the <i>inherit</i>
- state, which is the <i>missing value default</i> (and the <i>invalid
- value default</i>).</p>
+ <p>The attribute's keywords are the empty string, <code title="">yes</code>, and <code title="">no</code>. The empty string and the <code title="">yes</code> keyword map to the
+ <i>yes</i> state. The <code title="">no</code> keyword maps to the <i>no</i> state. In addition,
+ there is a third state, the <i>inherit</i> state, which is the <i>missing value default</i> (and
+ the <i>invalid value default</i>).</p>
- <p>Each element has a <dfn id=translation-mode>translation mode</dfn>, which is in
- either the <a href=#translate-enabled>translate-enabled</a> state or the
- <a href=#no-translate>no-translate</a> state. If the element's <code title=attr-translate><a href=#attr-translate>translate</a></code> attribute is in the
- <i>yes</i> state, then the element's <a href=#translation-mode>translation mode</a>
- is in the <a href=#translate-enabled>translate-enabled</a> state. Otherwise, if the
- element's <code title=attr-translate><a href=#attr-translate>translate</a></code> attribute is
- in the <i>no</i> state, then the element's <a href=#translation-mode>translation
- mode</a> is in the <a href=#no-translate>no-translate</a> state. Otherwise,
- the element's <code title=attr-translate><a href=#attr-translate>translate</a></code>
- attribute is in the <i>inherit</i> state; in that case, the
- element's <a href=#translation-mode>translation mode</a> is in the same state as its
- parent element, if any, or in the <a href=#translate-enabled>translate-enabled</a>
- state, if the element is a <a href=#root-element>root element</a>.</p>
+ <p>Each element has a <dfn id=translation-mode>translation mode</dfn>, which is in either the
+ <a href=#translate-enabled>translate-enabled</a> state or the <a href=#no-translate>no-translate</a> state. If the element's
+ <code title=attr-translate><a href=#attr-translate>translate</a></code> attribute is in the <i>yes</i> state, then the
+ element's <a href=#translation-mode>translation mode</a> is in the <a href=#translate-enabled>translate-enabled</a> state. Otherwise,
+ if the element's <code title=attr-translate><a href=#attr-translate>translate</a></code> attribute is in the <i>no</i>
+ state, then the element's <a href=#translation-mode>translation mode</a> is in the <a href=#no-translate>no-translate</a> state.
+ Otherwise, the element's <code title=attr-translate><a href=#attr-translate>translate</a></code> attribute is in the
+ <i>inherit</i> state; in that case, the element's <a href=#translation-mode>translation mode</a> is in the same
+ state as its parent element, if any, or in the <a href=#translate-enabled>translate-enabled</a> state, if the
+ element is a <a href=#root-element>root element</a>.</p>
- <p>When an element is in the <dfn id=translate-enabled>translate-enabled</dfn> state, the
- element's attribute values and the values of its <code><a href=#text>Text</a></code>
- node children are to be translated when the page is localized.</p>
+ <p>When an element is in the <dfn id=translate-enabled>translate-enabled</dfn> state, the element's attribute values
+ and the values of its <code><a href=#text>Text</a></code> node children are to be translated when the page is
+ localized.</p>
- <p>When an element is in the <dfn id=no-translate>no-translate</dfn> state, the
- element's attribute values and the values of its <code><a href=#text>Text</a></code>
- node children are to be left as-is when the page is localized, e.g.
- because the element contains a person's name or a the name of a
- computer program.</p>
+ <p>When an element is in the <dfn id=no-translate>no-translate</dfn> state, the element's attribute values and the
+ values of its <code><a href=#text>Text</a></code> node children are to be left as-is when the page is localized,
+ e.g. because the element contains a person's name or a the name of a computer program.</p>
<div class=impl>
- <hr><p>The <dfn id=dom-translate title=dom-translate><code>translate</code></dfn> IDL
- attribute must, on getting, return true if the element's
- <a href=#translation-mode>translation mode</a> is <a href=#translate-enabled>translate-enabled</a>, and
- false otherwise. On setting, it must set the content attribute's
- value to "<code title="">yes</code>" if the new value is true, and
- set the content attribute's value to "<code title="">no</code>"
- otherwise.</p>
+ <hr><p>The <dfn id=dom-translate title=dom-translate><code>translate</code></dfn> IDL attribute must, on getting,
+ return true if the element's <a href=#translation-mode>translation mode</a> is <a href=#translate-enabled>translate-enabled</a>, and
+ false otherwise. On setting, it must set the content attribute's value to "<code title="">yes</code>" if the new value is true, and set the content attribute's value to "<code title="">no</code>" otherwise.</p>
</div>
<div class=example>
- <p>In this example, everything in the document is to be translated
- when the page is localised, except the sample keyboard input and
- sample program output:</p>
+ <p>In this example, everything in the document is to be translated when the page is localised,
+ except the sample keyboard input and sample program output:</p>
<pre><!DOCTYPE HTML>
<html> <!-- default on the root element is translate=yes -->
@@ -10342,24 +10228,19 @@
- <h5 id=the-xml:base-attribute-(xml-only)><span class=secno>3.2.3.5 </span>The <dfn title=attr-xml-base><code>xml:base</code></dfn>
- attribute (XML only)</h5>
+ <h5 id=the-xml:base-attribute-(xml-only)><span class=secno>3.2.3.5 </span>The <dfn title=attr-xml-base><code>xml:base</code></dfn> attribute (XML only)</h5>
- <p>The <code title=attr-xml-base><a href=#the-xml:base-attribute-(xml-only)>xml:base</a></code> attribute is
- defined in XML Base. <a href=#refsXMLBASE>[XMLBASE]</a></p>
+ <p>The <code title=attr-xml-base><a href=#the-xml:base-attribute-(xml-only)>xml:base</a></code> attribute is defined in XML Base. <a href=#refsXMLBASE>[XMLBASE]</a></p>
- <p>The <code title=attr-xml-base><a href=#the-xml:base-attribute-(xml-only)>xml:base</a></code> attribute may be
- used on <a href=#html-elements>HTML elements</a> of <a href=#xml-documents>XML documents</a>.
- Authors must not use the <code title=attr-xml-base><a href=#the-xml:base-attribute-(xml-only)>xml:base</a></code>
- attribute on <a href=#html-elements>HTML elements</a> in <a href=#html-documents>HTML
+ <p>The <code title=attr-xml-base><a href=#the-xml:base-attribute-(xml-only)>xml:base</a></code> attribute may be used on <a href=#html-elements>HTML
+ elements</a> of <a href=#xml-documents>XML documents</a>. Authors must not use the <code title=attr-xml-base><a href=#the-xml:base-attribute-(xml-only)>xml:base</a></code> attribute on <a href=#html-elements>HTML elements</a> in <a href=#html-documents>HTML
documents</a>.</p>
<h5 id=the-dir-attribute><span class=secno>3.2.3.6 </span>The <dfn title=attr-dir><code>dir</code></dfn> attribute</h5>
- <p>The <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute specifies the
- element's text directionality. The attribute is an <a href=#enumerated-attribute>enumerated
- attribute</a> with the following keywords and states:</p>
+ <p>The <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute specifies the element's text directionality.
+ The attribute is an <a href=#enumerated-attribute>enumerated attribute</a> with the following keywords and states:</p>
<dl><dt>The <dfn id=attr-dir-ltr title=attr-dir-ltr><code>ltr</code></dfn> keyword, which maps to the <dfn id=attr-dir-ltr-state title=attr-dir-ltr-state>ltr</dfn> state</dt>
@@ -10383,83 +10264,73 @@
<dd>
- <p>Indicates that the contents of the element are explicitly
- embedded text, but that the direction is to be determined
- programmatically using the contents of the element (as described
+ <p>Indicates that the contents of the element are explicitly embedded text, but that the
+ direction is to be determined programmatically using the contents of the element (as described
below).</p>
- <p class=note>The heuristic used by this state is very crude (it
- just looks at the first character with a strong directionality, in
- a manner analogous to the Paragraph Level determination in the
- bidirectional algorithm). Authors are urged to only use this value
- as a last resort when the direction of the text is truly unknown
- and no better server-side heuristic can be applied. <a href=#refsBIDI>[BIDI]</a></p>
+ <p class=note>The heuristic used by this state is very crude (it just looks at the first
+ character with a strong directionality, in a manner analogous to the Paragraph Level
+ determination in the bidirectional algorithm). Authors are urged to only use this value as a
+ last resort when the direction of the text is truly unknown and no better server-side heuristic
+ can be applied. <a href=#refsBIDI>[BIDI]</a></p>
- <p class=note>For <code><a href=#the-textarea-element>textarea</a></code> and <code><a href=#the-pre-element>pre</a></code>
- elements, the heuristic is applied on a per-paragraph level.</p>
+ <p class=note>For <code><a href=#the-textarea-element>textarea</a></code> and <code><a href=#the-pre-element>pre</a></code> elements, the heuristic is
+ applied on a per-paragraph level.</p>
</dd>
- </dl><p>The attribute has no <i>invalid value default</i> and no
- <i>missing value default</i>.</p>
+ </dl><p>The attribute has no <i>invalid value default</i> and no <i>missing value default</i>.</p>
<p><dfn id=the-directionality>The directionality</dfn> of an element (any element, not just an <a href=#html-elements title="HTML
elements">HTML element</a>) is either '<dfn id=concept-ltr title=concept-ltr>ltr</dfn>' or '<dfn id=concept-rtl title=concept-rtl>rtl</dfn>', and is determined as per the first appropriate set of steps from
the following list:</p>
- <dl class=switch><dt>If the element's <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute is
- in the <a href=#attr-dir-ltr-state title=attr-dir-ltr-state>ltr</a> state</dt>
+ <dl class=switch><dt>If the element's <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute is in the <a href=#attr-dir-ltr-state title=attr-dir-ltr-state>ltr</a> state</dt>
<dd><p><a href=#the-directionality>The directionality</a> of the element is '<a href=#concept-ltr title=concept-ltr>ltr</a>'.</dd>
- <dt>If the element's <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute is
- in the <a href=#attr-dir-rtl-state title=attr-dir-rtl-state>rtl</a> state</dt>
+ <dt>If the element's <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute is in the <a href=#attr-dir-rtl-state title=attr-dir-rtl-state>rtl</a> state</dt>
<dd><p><a href=#the-directionality>The directionality</a> of the element is '<a href=#concept-rtl title=concept-rtl>rtl</a>'.</dd>
<dt>If the element is an <code><a href=#the-input-element>input</a></code> element whose <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is in the <a href="#text-(type=text)-state-and-search-state-(type=search)" title=attr-input-type-text>Text</a>, <a href="#text-(type=text)-state-and-search-state-(type=search)" title=attr-input-type-search>Search</a>, <a href="#telephone-state-(type=tel)" title=attr-input-type-tel>Telephone</a>, <a href="#url-state-(type=url)" title=attr-input-type-url>URL</a>, or <a href="#e-mail-state-(type=email)" title=attr-input-type-email>E-mail</a> state, and the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute is in the <a href=#attr-dir-auto-state title=attr-dir-auto-state>auto</a> state</dt>
- <dt>If the element is a <code><a href=#the-textarea-element>textarea</a></code> element and the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute is in the <a href=#attr-dir-auto-state title=attr-dir-auto-state>auto</a> state</dt>
+ <dt>If the element is a <code><a href=#the-textarea-element>textarea</a></code> element and the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code>
+ attribute is in the <a href=#attr-dir-auto-state title=attr-dir-auto-state>auto</a> state</dt>
<dd>
- <p>If the element's <a href=#concept-fe-value title=concept-fe-value>value</a>
- contains a character of bidirectional character type AL or R, and
- there is no character of bidirectional character type L anywhere
- before it in the element's <a href=#concept-fe-value title=concept-fe-value>value</a>, then <a href=#the-directionality>the
- directionality</a> of the element is '<a href=#concept-rtl title=concept-rtl>rtl</a>'. Otherwise, <a href=#the-directionality>the
- directionality</a> of the element is '<a href=#concept-ltr title=concept-ltr>ltr</a>'. <a href=#refsBIDI>[BIDI]</a></p>
+ <p>If the element's <a href=#concept-fe-value title=concept-fe-value>value</a> contains a character of
+ bidirectional character type AL or R, and there is no character of bidirectional character type
+ L anywhere before it in the element's <a href=#concept-fe-value title=concept-fe-value>value</a>, then
+ <a href=#the-directionality>the directionality</a> of the element is '<a href=#concept-rtl title=concept-rtl>rtl</a>'.
+ Otherwise, <a href=#the-directionality>the directionality</a> of the element is '<a href=#concept-ltr title=concept-ltr>ltr</a>'. <a href=#refsBIDI>[BIDI]</a></p>
</dd>
- <dt>If the element's <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute is
- in the <a href=#attr-dir-auto-state title=attr-dir-auto-state>auto</a> state</dt>
+ <dt>If the element's <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute is in the <a href=#attr-dir-auto-state title=attr-dir-auto-state>auto</a> state</dt>
- <dt>If the element is a <code><a href=#the-bdi-element>bdi</a></code> element and the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute is not in a defined state
- (i.e. it is not present or has an invalid value)</dt>
+ <dt>If the element is a <code><a href=#the-bdi-element>bdi</a></code> element and the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code>
+ attribute is not in a defined state (i.e. it is not present or has an invalid value)</dt>
<dd>
- <p>Find the first character in <a href=#tree-order>tree order</a> that
- matches the following criteria:</p>
+ <p>Find the first character in <a href=#tree-order>tree order</a> that matches the following criteria:</p>
- <ul><li><p>The character is from a <code><a href=#text>Text</a></code> node that is a
- descendant of the element whose <a href=#the-directionality title="the
- directionality">directionality</a> is being
- determined.</li>
+ <ul><li><p>The character is from a <code><a href=#text>Text</a></code> node that is a descendant of the element whose
+ <a href=#the-directionality title="the directionality">directionality</a> is being determined.</li>
- <li><p>The character is of bidirectional character type L, AL,
- or R. <a href=#refsBIDI>[BIDI]</a></li>
+ <li><p>The character is of bidirectional character type L, AL, or R. <a href=#refsBIDI>[BIDI]</a></li>
<li>
- <p>The character is not in a <code><a href=#text>Text</a></code> node that has an
- ancestor element that is a descendant of the element whose <a href=#the-directionality title="the directionality">directionality</a> is being
- determined and that is either:</p>
+ <p>The character is not in a <code><a href=#text>Text</a></code> node that has an ancestor element that is a
+ descendant of the element whose <a href=#the-directionality title="the directionality">directionality</a> is
+ being determined and that is either:</p>
<ul class=brief><li>A <code><a href=#the-bdi-element>bdi</a></code> element.
<li>A <code><a href=#the-script-element>script</a></code> element.
@@ -10468,28 +10339,25 @@
<li>An element with a <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute in a defined state.
</ul></li>
- </ul><p>If such a character is found and it is of bidirectional
- character type AL or R, <a href=#the-directionality>the directionality</a> of the
- element is '<a href=#concept-rtl title=concept-rtl>rtl</a>'.</p>
+ </ul><p>If such a character is found and it is of bidirectional character type AL or R, <a href=#the-directionality>the
+ directionality</a> of the element is '<a href=#concept-rtl title=concept-rtl>rtl</a>'.</p>
- <p>Otherwise, <a href=#the-directionality>the directionality</a> of the element is
- '<a href=#concept-ltr title=concept-ltr>ltr</a>'.</p>
+ <p>Otherwise, <a href=#the-directionality>the directionality</a> of the element is '<a href=#concept-ltr title=concept-ltr>ltr</a>'.</p>
</dd>
- <dt>If the element is a <a href=#root-element>root element</a> and the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute is not in a defined state
- (i.e. it is not present or has an invalid value)</dt>
+ <dt>If the element is a <a href=#root-element>root element</a> and the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code>
+ attribute is not in a defined state (i.e. it is not present or has an invalid value)</dt>
<dd><p><a href=#the-directionality>The directionality</a> of the element is '<a href=#concept-ltr title=concept-ltr>ltr</a>'.</dd>
- <dt>If the element has a parent element and the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute is not in a defined state
- (i.e. it is not present or has an invalid value)</dt>
+ <dt>If the element has a parent element and the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute is
+ not in a defined state (i.e. it is not present or has an invalid value)</dt>
- <dd><p><a href=#the-directionality>The directionality</a> of the element is the same
- as the element's parent element's <a href=#the-directionality title="the
- directionality">directionality</a>.</dd>
+ <dd><p><a href=#the-directionality>The directionality</a> of the element is the same as the element's parent
+ element's <a href=#the-directionality title="the directionality">directionality</a>.</dd>
</dl><p class=note>Since the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute is only defined for
@@ -10498,11 +10366,9 @@
directionality">directionality</a> from their parent element, or, if they don't have one,
default to '<a href=#concept-ltr title=concept-ltr>ltr</a>'.</p>
- <p>The effect of this attribute is primarily on the presentation
- layer. For example, the rendering section in this specification
- defines a mapping from this attribute to the CSS 'direction' and
- 'unicode-bidi' properties, and CSS defines rendering in terms of
- those properties.</p>
+ <p>The effect of this attribute is primarily on the presentation layer. For example, the rendering
+ section in this specification defines a mapping from this attribute to the CSS 'direction' and
+ 'unicode-bidi' properties, and CSS defines rendering in terms of those properties.</p>
<hr><dl class=domintro><dt><var title="">document</var> . <code title=dom-dir><a href=#dom-dir>dir</a></code> [ = <var title="">value</var> ]</dt>
<dd>
@@ -10513,24 +10379,22 @@
</dl><div class=impl>
- <p>The <dfn id=dom-dir title=dom-dir><code>dir</code></dfn> IDL attribute on
- an element must <a href=#reflect>reflect</a> the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> content attribute of that element,
+ <p>The <dfn id=dom-dir title=dom-dir><code>dir</code></dfn> IDL attribute on an element must
+ <a href=#reflect>reflect</a> the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> content attribute of that element,
<a href=#limited-to-only-known-values>limited to only known values</a>.</p>
- <p>The <dfn id=dom-document-dir title=dom-document-dir><code>dir</code></dfn> IDL
- attribute on <code><a href=#document>Document</a></code> objects must
- <a href=#reflect>reflect</a> the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> content
- attribute of <a href=#the-html-element-0>the <code>html</code> element</a>, if any,
- <a href=#limited-to-only-known-values>limited to only known values</a>. If there is no such
- element, then the attribute must return the empty string and do
- nothing on setting.</p>
+ <p>The <dfn id=dom-document-dir title=dom-document-dir><code>dir</code></dfn> IDL attribute on <code><a href=#document>Document</a></code>
+ objects must <a href=#reflect>reflect</a> the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> content attribute of
+ <a href=#the-html-element-0>the <code>html</code> element</a>, if any, <a href=#limited-to-only-known-values>limited to only known values</a>. If
+ there is no such element, then the attribute must return the empty string and do nothing on
+ setting.</p>
</div>
- <p class=note>Authors are strongly encouraged to use the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute to indicate text direction
- rather than using CSS, since that way their documents will continue
- to render correctly even in the absence of CSS (e.g. as interpreted
- by search engines).</p>
+ <p class=note>Authors are strongly encouraged to use the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code>
+ attribute to indicate text direction rather than using CSS, since that way their documents will
+ continue to render correctly even in the absence of CSS (e.g. as interpreted by search
+ engines).</p>
<div class=example>
@@ -10559,18 +10423,15 @@
<p dir=rtl class="u1"><b><bdi>Student</bdi>:</b> "من فضلك", right?</p>
-->
- <p>Given a suitable style sheet and the default alignment styles
- for the <code><a href=#the-p-element>p</a></code> element, namely to align the text to the
- <i>start edge</i> of the paragraph, the resulting rendering could
+ <p>Given a suitable style sheet and the default alignment styles for the <code><a href=#the-p-element>p</a></code> element,
+ namely to align the text to the <i>start edge</i> of the paragraph, the resulting rendering could
be as follows:</p>
<p><img alt="Each paragraph rendered as a separate block, with the paragraphs left-aligned except the second paragraph and the last one, which would be right aligned, with the usernames ('Student' and 'Teacher' in this example) flush right, with a colon to their left, and the text first to the left of that." src=http://images.whatwg.org/im.png></p>
- <p>As noted earlier, the <code title=attr-dir-auto><a href=#attr-dir-auto>auto</a></code>
- value is not a panacea. The final paragraph in this example is
- misinterpreted as being right-to-left text, since it begins with an
- Arabic character, which causes the "right?" to be to the left of
- the Arabic text.</p>
+ <p>As noted earlier, the <code title=attr-dir-auto><a href=#attr-dir-auto>auto</a></code> value is not a panacea. The
+ final paragraph in this example is misinterpreted as being right-to-left text, since it begins
+ with an Arabic character, which causes the "right?" to be to the left of the Arabic text.</p>
</div>
@@ -10611,26 +10472,25 @@
<h5 id=the-style-attribute><span class=secno>3.2.3.8 </span>The <dfn title=attr-style><code>style</code></dfn> attribute</h5>
- <p>All <a href=#html-elements>HTML elements</a> may have the <code title=attr-style><a href=#the-style-attribute>style</a></code> content attribute set. This is a
- <a href=#css-styling-attribute>CSS styling attribute</a> as defined by the CSS Styling
+ <p>All <a href=#html-elements>HTML elements</a> may have the <code title=attr-style><a href=#the-style-attribute>style</a></code> content
+ attribute set. This is a <a href=#css-styling-attribute>CSS styling attribute</a> as defined by the CSS Styling
Attribute Syntax specification. <a href=#refsCSSATTR>[CSSATTR]</a></p>
<div class=impl>
- <p>In user agents that support CSS, the attribute's value must be
- parsed when the attribute is added or has its value changed<!-- so
- dynamic changes to the base URL don't affect the CSS -->, according
- to the rules given for <span>CSS styling attributes</span>. <a href=#refsCSSATTR>[CSSATTR]</a></p>
+ <p>In user agents that support CSS, the attribute's value must be parsed when the attribute is
+ added or has its value changed<!-- so dynamic changes to the base URL don't affect the CSS -->,
+ according to the rules given for <span>CSS styling attributes</span>. <a href=#refsCSSATTR>[CSSATTR]</a></p>
</div>
- <p>Documents that use <code title=attr-style><a href=#the-style-attribute>style</a></code>
- attributes on any of their elements must still be comprehensible and
- usable if those attributes were removed.</p>
+ <p>Documents that use <code title=attr-style><a href=#the-style-attribute>style</a></code> attributes on any of their elements
+ must still be comprehensible and usable if those attributes were removed.</p>
- <p class=note>In particular, using the <code title=attr-style><a href=#the-style-attribute>style</a></code> attribute to hide and show content,
- or to convey meaning that is otherwise not included in the document,
- is non-conforming. (To hide and show content, use the <code title=attr-hidden><a href=#the-hidden-attribute>hidden</a></code> attribute.)</p>
+ <p class=note>In particular, using the <code title=attr-style><a href=#the-style-attribute>style</a></code> attribute to hide
+ and show content, or to convey meaning that is otherwise not included in the document, is
+ non-conforming. (To hide and show content, use the <code title=attr-hidden><a href=#the-hidden-attribute>hidden</a></code>
+ attribute.)</p>
<hr><dl class=domintro><dt><var title="">element</var> . <code title=dom-style><a href=#dom-style>style</a></code></dt>
<dd>
@@ -10639,24 +10499,21 @@
</dl><div class=impl>
- <p>The <dfn id=dom-style title=dom-style><code>style</code></dfn> IDL attribute
- must return a <code><a href=#cssstyledeclaration>CSSStyleDeclaration</a></code> whose value
- represents the declarations specified in the attribute. (If the
- attribute is absent, the object represents an empty declaration.)
- Mutating the <code><a href=#cssstyledeclaration>CSSStyleDeclaration</a></code> object must create a
- <code title=attr-style><a href=#the-style-attribute>style</a></code> attribute on the element (if
- there isn't one already) and then change its value to be a value
- representing the serialized form of the
- <code><a href=#cssstyledeclaration>CSSStyleDeclaration</a></code> object. The same object must be
- returned each time. <a href=#refsCSSOM>[CSSOM]</a></p>
+ <p>The <dfn id=dom-style title=dom-style><code>style</code></dfn> IDL attribute must return a
+ <code><a href=#cssstyledeclaration>CSSStyleDeclaration</a></code> whose value represents the declarations specified in the
+ attribute. (If the attribute is absent, the object represents an empty declaration.) Mutating the
+ <code><a href=#cssstyledeclaration>CSSStyleDeclaration</a></code> object must create a <code title=attr-style><a href=#the-style-attribute>style</a></code>
+ attribute on the element (if there isn't one already) and then change its value to be a value
+ representing the serialized form of the <code><a href=#cssstyledeclaration>CSSStyleDeclaration</a></code> object. The same object
+ must be returned each time. <a href=#refsCSSOM>[CSSOM]</a></p>
</div>
<div class=example>
- <p>In the following example, the words that refer to colors are
- marked up using the <code><a href=#the-span-element>span</a></code> element and the <code title=attr-style><a href=#the-style-attribute>style</a></code> attribute to make those words show
- up in the relevant colors in visual media.</p>
+ <p>In the following example, the words that refer to colors are marked up using the
+ <code><a href=#the-span-element>span</a></code> element and the <code title=attr-style><a href=#the-style-attribute>style</a></code> attribute to make those
+ words show up in the relevant colors in visual media.</p>
<pre><p>My sweat suit is <span style="color: green; background:
transparent">green</span> and my eyes are <span style="color: blue;
@@ -10668,68 +10525,60 @@
<h5 id=embedding-custom-non-visible-data-with-the-data-*-attributes><span class=secno>3.2.3.9 </span><dfn>Embedding custom non-visible data</dfn> with the <code title=attr-data-*><a href=#attr-data-*>data-*</a></code> attributes</h5>
- <p>A <dfn id=custom-data-attribute>custom data attribute</dfn> is an attribute in no
- namespace whose name starts with the string "<dfn id=attr-data-* title=attr-data-*><code>data-</code></dfn>", has at least one
- character after the hyphen, is <a href=#xml-compatible>XML-compatible</a>, and
- contains no <a href=#uppercase-ascii-letters>uppercase ASCII letters</a>.</p>
+ <p>A <dfn id=custom-data-attribute>custom data attribute</dfn> is an attribute in no namespace whose name starts with the
+ string "<dfn id=attr-data-* title=attr-data-*><code>data-</code></dfn>", has at least one character after the
+ hyphen, is <a href=#xml-compatible>XML-compatible</a>, and contains no <a href=#uppercase-ascii-letters>uppercase ASCII letters</a>.</p>
- <p class=note>All attribute names on <a href=#html-elements>HTML elements</a> in
- <a href=#html-documents>HTML documents</a> get ASCII-lowercased automatically, so
- the restriction on ASCII uppercase letters doesn't affect such
- documents.</p>
+ <p class=note>All attribute names on <a href=#html-elements>HTML elements</a> in <a href=#html-documents>HTML documents</a>
+ get ASCII-lowercased automatically, so the restriction on ASCII uppercase letters doesn't affect
+ such documents.</p>
- <p><a href=#custom-data-attribute title="custom data attribute">Custom data attributes</a>
- are intended to store custom data private to the page or
- application, for which there are no more appropriate attributes or
+ <p><a href=#custom-data-attribute title="custom data attribute">Custom data attributes</a> are intended to store custom
+ data private to the page or application, for which there are no more appropriate attributes or
elements.</p>
- <p>These attributes are not intended for use by software that is
- independent of the site that uses the attributes.</p>
+ <p>These attributes are not intended for use by software that is independent of the site that uses
+ the attributes.</p>
<div class=example>
- <p>For instance, a site about music could annotate list items
- representing tracks in an album with custom data attributes
- containing the length of each track. This information could then be
- used by the site itself to allow the user to sort the list by track
- length, or to filter the list for tracks of certain lengths.</p>
+ <p>For instance, a site about music could annotate list items representing tracks in an album
+ with custom data attributes containing the length of each track. This information could then be
+ used by the site itself to allow the user to sort the list by track length, or to filter the list
+ for tracks of certain lengths.</p>
<pre><ol>
<li data-length="2m11s">Beyond The Sea</li>
...
</ol></pre>
- <p>It would be inappropriate, however, for the user to use generic
- software not associated with that music site to search for tracks
- of a certain length by looking at this data.</p>
+ <p>It would be inappropriate, however, for the user to use generic software not associated with
+ that music site to search for tracks of a certain length by looking at this data.</p>
- <p>This is because these attributes are intended for use by the
- site's own scripts, and are not a generic extension mechanism for
- publicly-usable metadata.</p>
+ <p>This is because these attributes are intended for use by the site's own scripts, and are not a
+ generic extension mechanism for publicly-usable metadata.</p>
</div>
- <p>Every <a href=#html-elements title="HTML elements">HTML element</a> may have
- any number of <a href=#custom-data-attribute title="custom data attribute">custom data
- attributes</a> specified, with any value.</p>
+ <p>Every <a href=#html-elements title="HTML elements">HTML element</a> may have any number of <a href=#custom-data-attribute title="custom data attribute">custom data attributes</a> specified, with any value.</p>
<hr><dl class=domintro><dt><var title="">element</var> . <code title=dom-dataset><a href=#dom-dataset>dataset</a></code></dt>
<dd>
<p>Returns a <code><a href=#domstringmap>DOMStringMap</a></code> object for the element's <code title=attr-data-*><a href=#attr-data-*>data-*</a></code> attributes.</p>
- <p>Hyphenated names become camel-cased. For example, <code title="">data-foo-bar=""</code> becomes <code title="">element.dataset.fooBar</code>.</p>
+ <p>Hyphenated names become camel-cased. For example, <code title="">data-foo-bar=""</code>
+ becomes <code title="">element.dataset.fooBar</code>.</p>
</dd>
</dl><div class=impl>
- <p>The <dfn id=dom-dataset title=dom-dataset><code>dataset</code></dfn> IDL
- attribute provides convenient accessors for all the <code title=attr-data-*><a href=#attr-data-*>data-*</a></code> attributes on an element. On
- getting, the <code title=dom-dataset><a href=#dom-dataset>dataset</a></code> IDL attribute
- must return a <code><a href=#domstringmap>DOMStringMap</a></code> object, associated with the
- following algorithms, which expose these attributes on their
- element:</p>
+ <p>The <dfn id=dom-dataset title=dom-dataset><code>dataset</code></dfn> IDL attribute provides convenient
+ accessors for all the <code title=attr-data-*><a href=#attr-data-*>data-*</a></code> attributes on an element. On
+ getting, the <code title=dom-dataset><a href=#dom-dataset>dataset</a></code> IDL attribute must return a
+ <code><a href=#domstringmap>DOMStringMap</a></code> object, associated with the following algorithms, which expose these
+ attributes on their element:</p>
<dl><dt>The algorithm for getting the list of name-value pairs</dt>
@@ -10737,11 +10586,10 @@
<ol><li>Let <var title="">list</var> be an empty list of name-value
pairs.</li>
- <li>For each content attribute on the element whose first five
- characters are the string "<code title="">data-</code>" and whose
- remaining characters (if any) do not include any <a href=#uppercase-ascii-letters>uppercase ASCII letters</a>, add a name-value pair to <var title="">list</var> whose name is the attribute's name with the
- first five characters removed and whose value is the attribute's
- value.</li>
+ <li>For each content attribute on the element whose first five characters are the string "<code title="">data-</code>" and whose remaining characters (if any) do not include any
+ <a href=#uppercase-ascii-letters>uppercase ASCII letters</a>, add a name-value pair to <var title="">list</var> whose
+ name is the attribute's name with the first five characters removed and whose value is the
+ attribute's value.</li>
<li>For each name <var title="">list</var>, for each U+002D HYPHEN-MINUS character (-) in the
name that is followed by a <a href=#lowercase-ascii-letters title="lowercase ASCII letters">lowercase ASCII letter</a>,
@@ -10776,23 +10624,22 @@
<dt>The algorithm for deleting names</dt>
<dd>
- <ol><li>Let <var title="">name</var> be the name passed to the
- algorithm.</li>
+ <ol><li>Let <var title="">name</var> be the name passed to the algorithm.</li>
+
<!--(can't happen while the DOMStringMap deleter has no name)
<li>If <var title="">name</var> contains a U+002D HYPHEN-MINUS character (-) followed by a
<span title="lowercase ASCII letters">lowercase ASCII letter</span>, throw a
<code>SyntaxError</code> exception and abort these steps.</li>
-->
- <li>For each <a href=#uppercase-ascii-letters title="uppercase ASCII letters">uppercase ASCII letter</a> in <var title="">name</var>, insert a U+002D HYPHEN-MINUS character (-)
- before the character and replace the character with the same
- character <a href=#converted-to-ascii-lowercase>converted to ASCII lowercase</a>.</li>
- <li>Insert the string <code title="">data-</code> at the front of
- <var title="">name</var>.</li>
+ <li>For each <a href=#uppercase-ascii-letters title="uppercase ASCII letters">uppercase ASCII letter</a> in <var title="">name</var>, insert a U+002D HYPHEN-MINUS character (-) before the character and
+ replace the character with the same character <a href=#converted-to-ascii-lowercase>converted to ASCII lowercase</a>.</li>
- <li>Remove the attribute with the name <var title="">name</var>,
- if such an attribute exists. Do nothing otherwise.</li>
+ <li>Insert the string <code title="">data-</code> at the front of <var title="">name</var>.</li>
+ <li>Remove the attribute with the name <var title="">name</var>, if such an attribute exists.
+ Do nothing otherwise.</li>
+
</ol></dd>
</dl><p>The same object must be returned each time.</p>
@@ -10801,8 +10648,8 @@
<div class=example>
- <p>If a Web page wanted an element to represent a space ship,
- e.g. as part of a game, it would have to use the <code title=attr-class><a href=#classes>class</a></code> attribute along with <code title=attr-data-*><a href=#attr-data-*>data-*</a></code> attributes:</p>
+ <p>If a Web page wanted an element to represent a space ship, e.g. as part of a game, it would
+ have to use the <code title=attr-class><a href=#classes>class</a></code> attribute along with <code title=attr-data-*><a href=#attr-data-*>data-*</a></code> attributes:</p>
<pre><div class="spaceship" data-ship-id="92432"
data-weapons="laser 2" data-shields="50%"
@@ -10813,75 +10660,64 @@
</button>
</div></pre>
- <p>Notice how the hyphenated attribute name becomes camel-cased in
- the API.</p>
+ <p>Notice how the hyphenated attribute name becomes camel-cased in the API.</p>
</div>
- <p>Authors should carefully design such extensions so that when the
- attributes are ignored and any associated CSS dropped, the page is
- still usable.</p>
+ <p>Authors should carefully design such extensions so that when the attributes are ignored and any
+ associated CSS dropped, the page is still usable.</p>
<div class=impl>
- <p>User agents must not derive any implementation behavior from
- these attributes or values. Specifications intended for user agents
- must not define these attributes to have any meaningful values.</p>
+ <p>User agents must not derive any implementation behavior from these attributes or values.
+ Specifications intended for user agents must not define these attributes to have any meaningful
+ values.</p>
</div>
- <p>JavaScript libraries may use the <a href=#custom-data-attribute title="custom data
- attribute">custom data attributes</a>, as they are considered to
- be part of the page on which they are used. Authors of libraries
- that are reused by many authors are encouraged to include their name
- in the attribute names, to reduce the risk of clashes. Where it
- makes sense, library authors are also encouraged to make the exact
- name used in the attribute names customizable, so that libraries
- whose authors unknowingly picked the same name can be used on the
- same page, and so that multiple versions of a particular library can
- be used on the same page even when those versions are not mutually
+ <p>JavaScript libraries may use the <a href=#custom-data-attribute title="custom data attribute">custom data
+ attributes</a>, as they are considered to be part of the page on which they are used. Authors
+ of libraries that are reused by many authors are encouraged to include their name in the attribute
+ names, to reduce the risk of clashes. Where it makes sense, library authors are also encouraged to
+ make the exact name used in the attribute names customizable, so that libraries whose authors
+ unknowingly picked the same name can be used on the same page, and so that multiple versions of a
+ particular library can be used on the same page even when those versions are not mutually
compatible.</p>
<div class=example>
- <p>For example, a library called "DoQuery" could use attribute
- names like <code title="">data-doquery-range</code>, and a library
- called "jJo" could use attributes names like <code title="">data-jjo-range</code>. The jJo library could also provide
- an API to set which prefix to use (e.g. <code title="">J.setDataPrefix('j2')</code>, making the attributes have
- names like <code title="">data-j2-range</code>).</p>
+ <p>For example, a library called "DoQuery" could use attribute names like <code title="">data-doquery-range</code>, and a library called "jJo" could use attributes names like
+ <code title="">data-jjo-range</code>. The jJo library could also provide an API to set which
+ prefix to use (e.g. <code title="">J.setDataPrefix('j2')</code>, making the attributes have names
+ like <code title="">data-j2-range</code>).</p>
</div>
<h4 id=element-definitions><span class=secno>3.2.4 </span>Element definitions</h4>
- <p>Each element in this specification has a definition that includes
- the following information:</p>
+ <p>Each element in this specification has a definition that includes the following
+ information:</p>
<dl><dt><dfn id=element-dfn-categories title=element-dfn-categories>Categories</dfn></dt>
- <dd><p>A list of <a href=#content-categories title="content categories">categories</a>
- to which the element belongs. These are used when defining the
- <a href=#content-models>content models</a> for each element.</dd>
+ <dd><p>A list of <a href=#content-categories title="content categories">categories</a> to which the element belongs.
+ These are used when defining the <a href=#content-models>content models</a> for each element.</dd>
<dt><dfn id=element-dfn-contexts title=element-dfn-contexts>Contexts in which this element can be used</dfn></dt>
<dd>
- <p>A <em>non-normative</em> description of where the element can
- be used. This information is redundant with the content models of
- elements that allow this one as a child, and is provided only as a
- convenience.</p>
+ <p>A <em>non-normative</em> description of where the element can be used. This information is
+ redundant with the content models of elements that allow this one as a child, and is provided
+ only as a convenience.</p>
- <p class=note>For simplicity, only the most specific
- expectations are listed. For example, an element that is both
- <a href=#flow-content>flow content</a> and <a href=#phrasing-content>phrasing content</a> can be
- used anywhere that either <a href=#flow-content>flow content</a> or
- <a href=#phrasing-content>phrasing content</a> is expected, but since anywhere that
- <a href=#flow-content>flow content</a> is expected, <a href=#phrasing-content>phrasing
- content</a> is also expected (since all <a href=#phrasing-content>phrasing
- content</a> is <a href=#flow-content>flow content</a>), only "where
+ <p class=note>For simplicity, only the most specific expectations are listed. For example, an
+ element that is both <a href=#flow-content>flow content</a> and <a href=#phrasing-content>phrasing content</a> can be used
+ anywhere that either <a href=#flow-content>flow content</a> or <a href=#phrasing-content>phrasing content</a> is expected, but
+ since anywhere that <a href=#flow-content>flow content</a> is expected, <a href=#phrasing-content>phrasing content</a> is also
+ expected (since all <a href=#phrasing-content>phrasing content</a> is <a href=#flow-content>flow content</a>), only "where
<a href=#phrasing-content>phrasing content</a> is expected" will be listed.</p>
</dd>
@@ -10889,88 +10725,74 @@
<dt><dfn id=element-dfn-content-model title=element-dfn-content-model>Content model</dfn></dt>
- <dd><p>A normative description of what content must be included as
- children and descendants of the element.</dd>
+ <dd><p>A normative description of what content must be included as children and descendants of
+ the element.</dd>
<dt><dfn id=element-dfn-attributes title=element-dfn-attributes>Content attributes</dfn></dt>
- <dd><p>A normative list of attributes that may be specified on the
- element (except where otherwise disallowed).</dd>
+ <dd><p>A normative list of attributes that may be specified on the element (except where
+ otherwise disallowed).</dd>
<dt><dfn id=element-dfn-dom title=element-dfn-dom>DOM interface</dfn></dt>
- <dd><p>A normative definition of a DOM interface that such elements
- must implement.</dd>
+ <dd><p>A normative definition of a DOM interface that such elements must implement.</dd>
- </dl><p>This is then followed by a description of what the element
- <a href=#represents>represents</a>, along with any additional normative
- conformance criteria that may apply to authors<span class=impl title=""> and implementations</span>. Examples are sometimes
- also included.</p>
+ </dl><p>This is then followed by a description of what the element <a href=#represents>represents</a>, along with
+ any additional normative conformance criteria that may apply to authors<span class=impl title=""> and implementations</span>. Examples are sometimes also included.</p>
<h5 id=attributes><span class=secno>3.2.4.1 </span>Attributes</h5>
- <p id=attribute-text>Except where otherwise specified, attributes
- on <a href=#html-elements>HTML elements</a> may have any string value, including
- the empty string. Except where explicitly stated, there is no
+ <p id=attribute-text>Except where otherwise specified, attributes on <a href=#html-elements>HTML elements</a>
+ may have any string value, including the empty string. Except where explicitly stated, there is no
restriction on what text can be specified in such attributes.</p>
<h4 id=content-models><span class=secno>3.2.5 </span><dfn>Content models</dfn></h4>
- <p>Each element defined in this specification has a content model: a
- description of the element's expected contents. An <a href=#html-elements title="HTML
- elements">HTML element</a> must have contents that match the
- requirements described in the element's content model.</p>
+ <p>Each element defined in this specification has a content model: a description of the element's
+ expected contents. An <a href=#html-elements title="HTML elements">HTML element</a> must have contents that
+ match the requirements described in the element's content model.</p>
- <p>The <a href=#space-character title="space character">space characters</a> are
- always allowed between elements. User agents represent these
- characters between elements in the source markup as
- <code><a href=#text>Text</a></code> nodes in the DOM.<!-- not a conf criteria since
- the parser now requires this --> Empty <code><a href=#text>Text</a></code> nodes and
- <code><a href=#text>Text</a></code> nodes consisting of just sequences of those
+ <p>The <a href=#space-character title="space character">space characters</a> are always allowed between elements.
+ User agents represent these characters between elements in the source markup as <code><a href=#text>Text</a></code>
+ nodes in the DOM.<!-- not a conf criteria since the parser now requires this --> Empty
+ <code><a href=#text>Text</a></code> nodes and <code><a href=#text>Text</a></code> nodes consisting of just sequences of those
characters are considered <dfn id=inter-element-whitespace>inter-element whitespace</dfn>.</p>
- <p><a href=#inter-element-whitespace>Inter-element whitespace</a>, comment nodes, and
- processing instruction nodes must be ignored when establishing
- whether an element's contents match the element's content model or
- not, and must be ignored when following algorithms that define
- document and element semantics.</p>
+ <p><a href=#inter-element-whitespace>Inter-element whitespace</a>, comment nodes, and processing instruction nodes must be
+ ignored when establishing whether an element's contents match the element's content model or not,
+ and must be ignored when following algorithms that define document and element semantics.</p>
- <p class=note>Thus, an element <var title="">A</var> is said to be
- <i>preceded or followed</i> by a second element <var title="">B</var> if <var title="">A</var> and <var title="">B</var>
- have the same parent node and there are no other element nodes or
- <code><a href=#text>Text</a></code> nodes (other than <a href=#inter-element-whitespace>inter-element
- whitespace</a>) between them. Similarly, a node is the <i>only
- child</i> of an element if that element contains no other nodes
- other than <a href=#inter-element-whitespace>inter-element whitespace</a>, comment nodes, and
- processing instruction nodes.</p>
+ <p class=note>Thus, an element <var title="">A</var> is said to be <i>preceded or followed</i>
+ by a second element <var title="">B</var> if <var title="">A</var> and <var title="">B</var> have
+ the same parent node and there are no other element nodes or <code><a href=#text>Text</a></code> nodes (other than
+ <a href=#inter-element-whitespace>inter-element whitespace</a>) between them. Similarly, a node is the <i>only child</i> of
+ an element if that element contains no other nodes other than <a href=#inter-element-whitespace>inter-element
+ whitespace</a>, comment nodes, and processing instruction nodes.</p>
- <p>Authors must not use <a href=#html-elements>HTML elements</a> anywhere except
- where they are explicitly allowed, as defined for each element, or
- as explicitly required by other specifications. For XML compound
- documents, these contexts could be inside elements from other
- namespaces, if those elements are defined as providing the relevant
- contexts.</p>
+ <p>Authors must not use <a href=#html-elements>HTML elements</a> anywhere except where they are explicitly
+ allowed, as defined for each element, or as explicitly required by other specifications. For XML
+ compound documents, these contexts could be inside elements from other namespaces, if those
+ elements are defined as providing the relevant contexts.</p>
<div class=example>
- <p>For example, the Atom specification defines a <code title="">content</code> element. When its <code title="">type</code> attribute has the value <code title="">xhtml</code>, the Atom specification requires that it
- contain a single HTML <code><a href=#the-div-element>div</a></code> element. Thus, a
- <code><a href=#the-div-element>div</a></code> element is allowed in that context, even though
- this is not explicitly normatively stated by this specification. <a href=#refsATOM>[ATOM]</a></p>
+ <p>For example, the Atom specification defines a <code title="">content</code> element. When its
+ <code title="">type</code> attribute has the value <code title="">xhtml</code>, the Atom
+ specification requires that it contain a single HTML <code><a href=#the-div-element>div</a></code> element. Thus, a
+ <code><a href=#the-div-element>div</a></code> element is allowed in that context, even though this is not explicitly
+ normatively stated by this specification. <a href=#refsATOM>[ATOM]</a></p>
</div>
- <p>In addition, <a href=#html-elements>HTML elements</a> may be orphan nodes
- (i.e. without a parent node).</p>
+ <p>In addition, <a href=#html-elements>HTML elements</a> may be orphan nodes (i.e. without a parent node).</p>
<div class=example>
- <p>For example, creating a <code><a href=#the-td-element>td</a></code> element and storing it
- in a global variable in a script is conforming, even though
- <code><a href=#the-td-element>td</a></code> elements are otherwise only supposed to be used
+ <p>For example, creating a <code><a href=#the-td-element>td</a></code> element and storing it in a global variable in a
+ script is conforming, even though <code><a href=#the-td-element>td</a></code> elements are otherwise only supposed to be used
inside <code><a href=#the-tr-element>tr</a></code> elements.</p>
<pre>var data = {
@@ -10983,10 +10805,9 @@
<h5 id=kinds-of-content><span class=secno>3.2.5.1 </span>Kinds of content</h5>
- <p>Each element in HTML falls into zero or more <dfn id=content-categories title="content
- categories">categories</dfn> that group elements with similar
- characteristics together. The following broad categories are used in
- this specification:</p>
+ <p>Each element in HTML falls into zero or more <dfn id=content-categories title="content categories">categories</dfn>
+ that group elements with similar characteristics together. The following broad categories are used
+ in this specification:</p>
<ul class=brief><li><a href=#metadata-content>Metadata content</a></li>
<li><a href=#flow-content>Flow content</a></li>
@@ -10995,30 +10816,27 @@
<li><a href=#phrasing-content>Phrasing content</a></li>
<li><a href=#embedded-content>Embedded content</a></li>
<li><a href=#interactive-content>Interactive content</a></li>
- </ul><p class=note>Some elements also fall into other categories, which
- are defined in other parts of this specification.</p>
+ </ul><p class=note>Some elements also fall into other categories, which are defined in other parts of
+ this specification.</p>
<p>These categories are related as follows:</p>
<p><object data=images/content-venn.svg height=288 width=1000><img alt="" src=http://images.whatwg.org/content-venn.png></object></p>
- <p>Sectioning content, heading content, phrasing content, embedded
- content, and interactive content are all types of flow content.
- Metadata is sometimes flow content. Metadata and interactive content
- are sometimes phrasing content. Embedded content is also a type of
- phrasing content, and sometimes is interactive content.</p>
+ <p>Sectioning content, heading content, phrasing content, embedded content, and interactive
+ content are all types of flow content. Metadata is sometimes flow content. Metadata and
+ interactive content are sometimes phrasing content. Embedded content is also a type of phrasing
+ content, and sometimes is interactive content.</p>
- <p>Other categories are also used for specific purposes, e.g. form
- controls are specified using a number of categories to define common
- requirements. Some elements have unique requirements and do not fit
- into any particular category.</p>
+ <p>Other categories are also used for specific purposes, e.g. form controls are specified using a
+ number of categories to define common requirements. Some elements have unique requirements and do
+ not fit into any particular category.</p>
<h6 id=metadata-content-0><span class=secno>3.2.5.1.1 </span>Metadata content</h6>
- <p><dfn id=metadata-content>Metadata content</dfn> is content that sets up the
- presentation or behavior of the rest of the content, or that sets
- up the relationship of the document with other documents, or that
+ <p><dfn id=metadata-content>Metadata content</dfn> is content that sets up the presentation or behavior of the rest of
+ the content, or that sets up the relationship of the document with other documents, or that
conveys other "out of band" information.</p>
<!-- when updating this also update the category index -->
@@ -11029,9 +10847,8 @@
<li><code><a href=#the-script-element>script</a></code></li>
<li><code><a href=#the-style-element>style</a></code></li>
<li><code><a href=#the-title-element>title</a></code></li>
- </ul><p>Elements from other namespaces whose semantics are primarily
- metadata-related (e.g. RDF) are also <a href=#metadata-content>metadata
- content</a>.</p>
+ </ul><p>Elements from other namespaces whose semantics are primarily metadata-related (e.g. RDF) are
+ also <a href=#metadata-content>metadata content</a>.</p>
<div class=example>
@@ -11064,8 +10881,8 @@
<h6 id=flow-content-0><span class=secno>3.2.5.1.2 </span>Flow content</h6>
- <p>Most elements that are used in the body of documents and
- applications are categorized as <dfn id=flow-content>flow content</dfn>.</p>
+ <p>Most elements that are used in the body of documents and applications are categorized as
+ <dfn id=flow-content>flow content</dfn>.</p>
<!-- when updating this also update the category index -->
<ul class="brief category-list"><li><code><a href=#the-a-element>a</a></code></li>
@@ -11156,28 +10973,27 @@
<li><a href=#text-content title="text content">Text</a></li>
</ul><h6 id=sectioning-content-0><span class=secno>3.2.5.1.3 </span>Sectioning content</h6>
- <p><dfn id=sectioning-content>Sectioning content</dfn> is content that defines the scope
- of <a href=#heading-content title="heading content">headings</a> and <a href=#the-footer-element title=footer>footers</a>.</p>
+ <p><dfn id=sectioning-content>Sectioning content</dfn> is content that defines the scope of <a href=#heading-content title="heading
+ content">headings</a> and <a href=#the-footer-element title=footer>footers</a>.</p>
<!-- when updating this also update the category index -->
<ul class="brief category-list"><li><code><a href=#the-article-element>article</a></code></li>
<li><code><a href=#the-aside-element>aside</a></code></li>
<li><code><a href=#the-nav-element>nav</a></code></li>
<li><code><a href=#the-section-element>section</a></code></li>
- </ul><p>Each <a href=#sectioning-content>sectioning content</a> element potentially has a
- heading and an <a href=#outline>outline</a>. See the section on
- <a href=#headings-and-sections>headings and sections</a> for further details.</p>
+ </ul><p>Each <a href=#sectioning-content>sectioning content</a> element potentially has a heading and an
+ <a href=#outline>outline</a>. See the section on <a href=#headings-and-sections>headings and sections</a> for further
+ details.</p>
- <p class=note>There are also certain elements that are <a href=#sectioning-root title="sectioning root">sectioning roots</a>. These are distinct
- from <a href=#sectioning-content>sectioning content</a>, but they can also have an
+ <p class=note>There are also certain elements that are <a href=#sectioning-root title="sectioning root">sectioning
+ roots</a>. These are distinct from <a href=#sectioning-content>sectioning content</a>, but they can also have an
<a href=#outline>outline</a>.</p>
<h6 id=heading-content-0><span class=secno>3.2.5.1.4 </span>Heading content</h6>
- <p><dfn id=heading-content>Heading content</dfn> defines the header of a section
- (whether explicitly marked up using <a href=#sectioning-content>sectioning content</a>
- elements, or implied by the heading content itself).</p>
+ <p><dfn id=heading-content>Heading content</dfn> defines the header of a section (whether explicitly marked up using
+ <a href=#sectioning-content>sectioning content</a> elements, or implied by the heading content itself).</p>
<!-- when updating this also update the category index -->
<ul class="brief category-list"><li><code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h1</a></code></li>
@@ -11189,9 +11005,8 @@
<li><code><a href=#the-hgroup-element>hgroup</a></code></li>
</ul><h6 id=phrasing-content-0><span class=secno>3.2.5.1.5 </span>Phrasing content</h6>
- <p><dfn id=phrasing-content>Phrasing content</dfn> is the text of the document, as well
- as elements that mark up that text at the intra-paragraph
- level. Runs of <a href=#phrasing-content>phrasing content</a> form <a href=#paragraph title=paragraph>paragraphs</a>.</p>
+ <p><dfn id=phrasing-content>Phrasing content</dfn> is the text of the document, as well as elements that mark up that
+ text at the intra-paragraph level. Runs of <a href=#phrasing-content>phrasing content</a> form <a href=#paragraph title=paragraph>paragraphs</a>.</p>
<!-- when updating this also update the category index -->
<ul class="brief category-list"><li><code><a href=#the-a-element>a</a></code></li>
@@ -11298,18 +11113,15 @@
<li><code><a href=#the-object-element>object</a></code></li>
<li><code><a href=#svg>svg</a></code></li>
<li><code><a href=#the-video-element>video</a></code></li>
- </ul><p>Elements that are from namespaces other than the <a href=#html-namespace-0>HTML
- namespace</a> and that convey content but not metadata, are
- <a href=#embedded-content>embedded content</a> for the purposes of the content models
+ </ul><p>Elements that are from namespaces other than the <a href=#html-namespace-0>HTML namespace</a> and that convey
+ content but not metadata, are <a href=#embedded-content>embedded content</a> for the purposes of the content models
defined in this specification. (For example, MathML, or SVG.)</p>
- <p>Some embedded content elements can have <dfn id=fallback-content>fallback
- content</dfn>: content that is to be used when the external resource
- cannot be used (e.g. because it is of an unsupported format). The
+ <p>Some embedded content elements can have <dfn id=fallback-content>fallback content</dfn>: content that is to be used
+ when the external resource cannot be used (e.g. because it is of an unsupported format). The
element definitions state what the fallback is, if any.</p>
- <!-- we might not need to define fallback content at all. consider
- removing it if we don't end up using it anywhere (e.g. Selection)
- -->
+ <!-- we might not need to define fallback content at all. consider removing it if we don't end up
+ using it anywhere (e.g. Selection) -->
<h6 id=interactive-content-0><span class=secno>3.2.5.1.7 </span>Interactive content</h6>
@@ -11340,126 +11152,102 @@
<li><code><a href=#the-select-element>select</a></code></li>
<li><code><a href=#the-textarea-element>textarea</a></code></li>
<li><code><a href=#the-video-element>video</a></code> (if the <code title=attr-media-controls><a href=#attr-media-controls>controls</a></code> attribute is present)</li>
- </ul><p>Certain elements in HTML have an <a href=#activation-behavior>activation
- behavior</a>, which means that the user can activate them. This
- triggers a sequence of events dependent on the activation mechanism,
- and normally culminating in a <code title=event-click><a href=#event-click>click</a></code>
- event<span class=impl>, as described below</span>.</p>
+ </ul><p>Certain elements in HTML have an <a href=#activation-behavior>activation behavior</a>, which means that the user
+ can activate them. This triggers a sequence of events dependent on the activation mechanism, and
+ normally culminating in a <code title=event-click><a href=#event-click>click</a></code> event<span class=impl>, as
+ described below</span>.</p>
<div class=impl>
- <p>The user agent should allow the user to manually trigger elements
- that have an <a href=#activation-behavior>activation behavior</a>, for instance using
- keyboard or voice input, or through mouse clicks. When the user
- triggers an element with a defined <a href=#activation-behavior>activation behavior</a>
- in a manner other than clicking it, the default action of the
- interaction event must be to <a href=#run-synthetic-click-activation-steps>run synthetic click activation
- steps</a> on the element.</p> <!-- interaction event spec point -->
+ <p>The user agent should allow the user to manually trigger elements that have an <a href=#activation-behavior>activation
+ behavior</a>, for instance using keyboard or voice input, or through mouse clicks. When the
+ user triggers an element with a defined <a href=#activation-behavior>activation behavior</a> in a manner other than
+ clicking it, the default action of the interaction event must be to <a href=#run-synthetic-click-activation-steps>run synthetic click
+ activation steps</a> on the element.</p> <!-- interaction event spec point -->
- <p>Each element has a <var title="">click in progress</var> flag,
- initially set to false.</p>
+ <p>Each element has a <var title="">click in progress</var> flag, initially set to false.</p>
- <p>When a user agent is to <dfn id=run-synthetic-click-activation-steps>run synthetic click activation
- steps</dfn> on an element, the user agent must run the following
- steps:</p>
+ <p>When a user agent is to <dfn id=run-synthetic-click-activation-steps>run synthetic click activation steps</dfn> on an element, the user
+ agent must run the following steps:</p>
- <ol><li><p>If the element's <var title="">click in progress</var> flag
- is set to true, then abort these steps.</li>
+ <ol><li><p>If the element's <var title="">click in progress</var> flag is set to true, then abort
+ these steps.</li>
- <li><p>Set the <var title="">click in progress</var> flag on the
- element to true.</li>
+ <li><p>Set the <var title="">click in progress</var> flag on the element to true.</li>
- <li><p><a href=#run-pre-click-activation-steps>Run pre-click activation steps</a> on the
- element.</li>
+ <li><p><a href=#run-pre-click-activation-steps>Run pre-click activation steps</a> on the element.</li>
<li><p><a href=#fire-a-click-event>Fire a <code title=event-click>click</code> event</a> at the element. If the
<a href=#run-synthetic-click-activation-steps>run synthetic click activation steps</a> algorithm was invoked because the <code title=dom-click><a href=#dom-click>click()</a></code> method was invoked, then the <code title=dom-event-isTrusted><a href=#dom-event-istrusted>isTrusted</a></code> attribute must be initialized to false.</li>
<li>
- <p>If this <code title=event-click><a href=#event-click>click</a></code> event is not
- canceled, <a href=#run-post-click-activation-steps>run post-click activation steps</a> on the
- element.</p>
+ <p>If this <code title=event-click><a href=#event-click>click</a></code> event is not canceled, <a href=#run-post-click-activation-steps>run post-click
+ activation steps</a> on the element.</p>
- <p>If the event <em>is</em> canceled, the user agent must
- <a href=#run-canceled-activation-steps>run canceled activation steps</a> on the element
- instead.</p>
+ <p>If the event <em>is</em> canceled, the user agent must <a href=#run-canceled-activation-steps>run canceled activation
+ steps</a> on the element instead.</p>
</li>
- <li><p>Set the <var title="">click in progress</var> flag on the
- element to false.</li>
+ <li><p>Set the <var title="">click in progress</var> flag on the element to false.</li>
- </ol><p>When a pointing device is clicked, the user agent must run these
- steps:</p>
+ </ol><p>When a pointing device is clicked, the user agent must run these steps:</p>
- <ol><li><p>If the element's <var title="">click in progress</var> flag
- is set to true, then abort these steps.</li>
+ <ol><li><p>If the element's <var title="">click in progress</var> flag is set to true, then abort
+ these steps.</li>
- <li><p>Set the <var title="">click in progress</var> flag on the
- element to true.</li>
+ <li><p>Set the <var title="">click in progress</var> flag on the element to true.</li>
- <li><p>Let <var title="">e</var> be the <a href=#nearest-activatable-element>nearest activatable
- element</a> of the element designated by the user (defined
- below), if any.</li>
+ <li><p>Let <var title="">e</var> be the <a href=#nearest-activatable-element>nearest activatable element</a> of the element
+ designated by the user (defined below), if any.</li>
- <li><p>If there is an element <var title="">e</var>, <a href=#run-pre-click-activation-steps>run
- pre-click activation steps</a> on it.</li>
+ <li><p>If there is an element <var title="">e</var>, <a href=#run-pre-click-activation-steps>run pre-click activation steps</a>
+ on it.</li>
<li>
<p><a href=#concept-event-dispatch title=concept-event-dispatch>Dispatch</a> the required <code title=event-click><a href=#event-click>click</a></code> event.</p> <!-- interaction event spec point -->
- <p>If there is an element <var title="">e</var> and the <code title=event-click><a href=#event-click>click</a></code> event is not canceled, <a href=#run-post-click-activation-steps>run
- post-click activation steps</a> on element <var title="">e</var>.</p>
+ <p>If there is an element <var title="">e</var> and the <code title=event-click><a href=#event-click>click</a></code>
+ event is not canceled, <a href=#run-post-click-activation-steps>run post-click activation steps</a> on element <var title="">e</var>.</p>
- <p>If there is an element <var title="">e</var> and the event
- <em>is</em> canceled, <a href=#run-canceled-activation-steps>run canceled activation steps</a>
- on element <var title="">e</var>.</p>
+ <p>If there is an element <var title="">e</var> and the event <em>is</em> canceled, <a href=#run-canceled-activation-steps>run
+ canceled activation steps</a> on element <var title="">e</var>.</p>
</li>
- <li><p>Set the <var title="">click in progress</var> flag on the
- element to false.</li>
+ <li><p>Set the <var title="">click in progress</var> flag on the element to false.</li>
- </ol><p class=note>The above doesn't happen for arbitrary synthetic
- events dispatched by author script. However, the <code title=dom-click><a href=#dom-click>click()</a></code> method can be used to make it
- happen programmatically.</p>
+ </ol><p class=note>The above doesn't happen for arbitrary synthetic events dispatched by author
+ script. However, the <code title=dom-click><a href=#dom-click>click()</a></code> method can be used to make it happen
+ programmatically.</p>
- <p class=note>Click-focusing behavior (e.g. the focusing of a text
- field when user clicks in one) typically happens before the click,
- when the mouse button is first depressed, and is therefore not
- discussed here.</p> <!-- interaction event spec point -->
+ <p class=note>Click-focusing behavior (e.g. the focusing of a text field when user clicks in
+ one) typically happens before the click, when the mouse button is first depressed, and is
+ therefore not discussed here.</p> <!-- interaction event spec point -->
- <p>Given an element <var title="">target</var>, the <dfn id=nearest-activatable-element>nearest
- activatable element</dfn> is the element returned by the following
- algorithm:</p>
+ <p>Given an element <var title="">target</var>, the <dfn id=nearest-activatable-element>nearest activatable element</dfn> is the
+ element returned by the following algorithm:</p>
- <ol><li><p>If <var title="">target</var> has a defined <a href=#activation-behavior>activation
- behavior</a>, then return <var title="">target</var> and abort
- these steps.</li>
+ <ol><li><p>If <var title="">target</var> has a defined <a href=#activation-behavior>activation behavior</a>, then return
+ <var title="">target</var> and abort these steps.</li>
- <li><p>If <var title="">target</var> has a parent element, then set
- <var title="">target</var> to that parent element and return to the
- first step.</li>
+ <li><p>If <var title="">target</var> has a parent element, then set <var title="">target</var> to
+ that parent element and return to the first step.</li>
- <li><p>Otherwise, there is no <a href=#nearest-activatable-element>nearest activatable
- element</a>.</li>
+ <li><p>Otherwise, there is no <a href=#nearest-activatable-element>nearest activatable element</a>.</li>
- </ol><p>When a user agent is to <dfn id=run-pre-click-activation-steps>run pre-click activation steps</dfn>
- on an element, it must run the <dfn id=pre-click-activation-steps>pre-click activation steps</dfn>
- defined for that element, if any.</p>
+ </ol><p>When a user agent is to <dfn id=run-pre-click-activation-steps>run pre-click activation steps</dfn> on an element, it must run
+ the <dfn id=pre-click-activation-steps>pre-click activation steps</dfn> defined for that element, if any.</p>
- <p>When a user agent is to <dfn id=run-canceled-activation-steps>run canceled activation steps</dfn>
- on an element, it must run the <dfn id=canceled-activation-steps>canceled activation steps</dfn>
- defined for that element, if any.</p>
+ <p>When a user agent is to <dfn id=run-canceled-activation-steps>run canceled activation steps</dfn> on an element, it must run the
+ <dfn id=canceled-activation-steps>canceled activation steps</dfn> defined for that element, if any.</p>
- <p>When a user agent is to <dfn id=run-post-click-activation-steps>run post-click activation
- steps</dfn> on an element, it must run the <dfn id=activation-behavior>activation
- behavior</dfn> defined for that element, if any. Activation
- behaviors can refer to the <code title=event-click><a href=#event-click>click</a></code>
- event that was fired by the steps above leading up to this
- point.</p>
+ <p>When a user agent is to <dfn id=run-post-click-activation-steps>run post-click activation steps</dfn> on an element, it must run
+ the <dfn id=activation-behavior>activation behavior</dfn> defined for that element, if any. Activation behaviors can
+ refer to the <code title=event-click><a href=#event-click>click</a></code> event that was fired by the steps above
+ leading up to this point.</p>
</div>
@@ -11467,21 +11255,18 @@
<h6 id=palpable-content-0><span class=secno>3.2.5.1.8 </span>Palpable content</h6>
- <p>As a general rule, elements whose content model allows any
- <a href=#flow-content>flow content</a> or <a href=#phrasing-content>phrasing content</a> should
- have at least one child node that is <dfn id=palpable-content>palpable content</dfn>
- and that does not have the <code title=attr-hidden><a href=#the-hidden-attribute>hidden</a></code>
- attribute specified.</p>
+ <p>As a general rule, elements whose content model allows any <a href=#flow-content>flow content</a> or
+ <a href=#phrasing-content>phrasing content</a> should have at least one child node that is <dfn id=palpable-content>palpable
+ content</dfn> and that does not have the <code title=attr-hidden><a href=#the-hidden-attribute>hidden</a></code> attribute
+ specified.</p>
- <p>This requirement is not a hard requirement, however, as there are
- many cases where an element can be empty legitimately, for example
- when it is used as a placeholder which will later be filled in by a
- script, or when the element is part of a template and would on most
- pages be filled in but on some pages is not relevant.</p>
+ <p>This requirement is not a hard requirement, however, as there are many cases where an element
+ can be empty legitimately, for example when it is used as a placeholder which will later be filled
+ in by a script, or when the element is part of a template and would on most pages be filled in but
+ on some pages is not relevant.</p>
- <p>Conformance checkers are encouraged to provide a mechanism for
- authors to find elements that fail to fulfill this requirement, as
- an authoring aid.</p>
+ <p>Conformance checkers are encouraged to provide a mechanism for authors to find elements that
+ fail to fulfill this requirement, as an authoring aid.</p>
<p>The following elements are palpable content:</p>
@@ -11562,33 +11347,27 @@
<li><a href=#text-content title="text content">Text</a> that is not <a href=#inter-element-whitespace>inter-element whitespace</a></li>
</ul><h5 id=transparent-content-models><span class=secno>3.2.5.2 </span>Transparent content models</h5>
- <p>Some elements are described as <dfn id=transparent>transparent</dfn>; they have
- "transparent" in the description of their content model. The content
- model of a <a href=#transparent>transparent</a> element is derived from the
- content model of its parent element: the elements required in the
- part of the content model that is "transparent" are the same
- elements as required in the part of the content model of the parent
- of the transparent element in which the transparent element finds
- itself.</p>
+ <p>Some elements are described as <dfn id=transparent>transparent</dfn>; they have "transparent" in the
+ description of their content model. The content model of a <a href=#transparent>transparent</a> element is
+ derived from the content model of its parent element: the elements required in the part of the
+ content model that is "transparent" are the same elements as required in the part of the content
+ model of the parent of the transparent element in which the transparent element finds itself.</p>
<div class=example>
- <p>For instance, an <code><a href=#the-ins-element>ins</a></code> element inside a
- <code><a href=#the-ruby-element>ruby</a></code> element cannot contain an <code><a href=#the-rt-element>rt</a></code>
- element, because the part of the <code><a href=#the-ruby-element>ruby</a></code> element's
- content model that allows <code><a href=#the-ins-element>ins</a></code> elements is the part
- that allows <a href=#phrasing-content>phrasing content</a>, and the <code><a href=#the-rt-element>rt</a></code>
- element is not <a href=#phrasing-content>phrasing content</a>.</p>
+ <p>For instance, an <code><a href=#the-ins-element>ins</a></code> element inside a <code><a href=#the-ruby-element>ruby</a></code> element cannot contain an
+ <code><a href=#the-rt-element>rt</a></code> element, because the part of the <code><a href=#the-ruby-element>ruby</a></code> element's content model that
+ allows <code><a href=#the-ins-element>ins</a></code> elements is the part that allows <a href=#phrasing-content>phrasing content</a>, and the
+ <code><a href=#the-rt-element>rt</a></code> element is not <a href=#phrasing-content>phrasing content</a>.</p>
</div>
<!--(as far as I can tell, there's no way to violate this requirement
without first violating the earlier requirement)
- <p>Furthermore, when a content model includes a part that is
- "transparent", those parts must not contain content that would not
- be conformant if all transparent elements in the tree were replaced,
- in their parent element, by the children in the "transparent" part
- of their content model, retaining order.</p>
+ <p>Furthermore, when a content model includes a part that is "transparent", those parts must not
+ contain content that would not be conformant if all transparent elements in the tree were
+ replaced, in their parent element, by the children in the "transparent" part of their content
+ model, retaining order.</p>
<div class="example">
@@ -11600,22 +11379,20 @@
<ul class="domTree"><li class="t1"><code>p</code><ul><li class="t3"><code>#text</code>: <span title="">Hello </span></li><li class="t1"><code>a</code> <span class="t2" title=""><code class="attribute name">href</code>="<code class="attribute value">world.html</code>"</span><ul><li class="t1"><code>em</code><ul><li class="t3"><code>#text</code>: <span title="">wonderful</span></li></ul></li><li class="t3"><code>#text</code>: <span title=""> world</span></li></ul></li><li class="t3"><code>#text</code>: <span title="">!</span></li></ul></li></ul>
- <p>The content model of the <code>a</code> element is
- <span>transparent</span>. To see if its contents are conforming,
- therefore, the element is replaced by its contents:</p>
+ <p>The content model of the <code>a</code> element is <span>transparent</span>. To see if its
+ contents are conforming, therefore, the element is replaced by its contents:</p>
<ul class="domTree"><li class="t1"><code>p</code><ul><li class="t3"><code>#text</code>: <span title="">Hello </span></li><li class="t1"><code>em</code><ul><li class="t3"><code>#text</code>: <span title="">wonderful</span></li></ul></li><li class="t3"><code>#text</code>: <span title=""> world</span></li><li class="t3"><code>#text</code>: <span title="">!</span></li></ul></li></ul>
- <p>Since that is conforming, the contents of the <code>a</code> are
- conforming in the original fragment (there is no complication
- regarding the various parts of the <code>p</code> element's content
- model, since that element's content model has only one part).</p>
+ <p>Since that is conforming, the contents of the <code>a</code> are conforming in the original
+ fragment (there is no complication regarding the various parts of the <code>p</code> element's
+ content model, since that element's content model has only one part).</p>
</div>
-->
- <p class=note>In some cases, where transparent elements are nested
- in each other, the process has to be applied iteratively.</p>
+ <p class=note>In some cases, where transparent elements are nested in each other, the process
+ has to be applied iteratively.</p>
<div class=example>
@@ -11623,45 +11400,36 @@
<pre><p><object><param><ins><map><a href="/">Apples</a></map></ins></object></p></pre>
- <p>To check whether "Apples" is allowed inside the <code><a href=#the-a-element>a</a></code>
- element, the content models are examined. The <code><a href=#the-a-element>a</a></code>
- element's content model is transparent, as is the <code><a href=#the-map-element>map</a></code>
- element's, as is the <code><a href=#the-ins-element>ins</a></code> element's, as is the part of
- the <code><a href=#the-object-element>object</a></code> element's in which the <code><a href=#the-ins-element>ins</a></code>
- element is found. The <code><a href=#the-object-element>object</a></code> element is found in the
- <code><a href=#the-p-element>p</a></code> element, whose content model is <a href=#phrasing-content>phrasing
- content</a>. Thus, "Apples" is allowed, as text is phrasing
- content.</p>
+ <p>To check whether "Apples" is allowed inside the <code><a href=#the-a-element>a</a></code> element, the content models are
+ examined. The <code><a href=#the-a-element>a</a></code> element's content model is transparent, as is the <code><a href=#the-map-element>map</a></code>
+ element's, as is the <code><a href=#the-ins-element>ins</a></code> element's, as is the part of the <code><a href=#the-object-element>object</a></code>
+ element's in which the <code><a href=#the-ins-element>ins</a></code> element is found. The <code><a href=#the-object-element>object</a></code> element is
+ found in the <code><a href=#the-p-element>p</a></code> element, whose content model is <a href=#phrasing-content>phrasing content</a>. Thus,
+ "Apples" is allowed, as text is phrasing content.</p>
</div>
- <p>When a transparent element has no parent, then the part of its
- content model that is "transparent" must instead be treated as
- accepting any <a href=#flow-content>flow content</a>.</p>
+ <p>When a transparent element has no parent, then the part of its content model that is
+ "transparent" must instead be treated as accepting any <a href=#flow-content>flow content</a>.</p>
<h5 id=paragraphs><span class=secno>3.2.5.3 </span>Paragraphs</h5>
- <p class=note>The term <a href=#paragraph>paragraph</a> as defined in this
- section is used for more than just the definition of the
- <code><a href=#the-p-element>p</a></code> element. The <a href=#paragraph>paragraph</a> concept defined
- here is used to describe how to interpret documents. The
- <code><a href=#the-p-element>p</a></code> element is merely one of several ways of marking up a
- <a href=#paragraph>paragraph</a>.</p>
+ <p class=note>The term <a href=#paragraph>paragraph</a> as defined in this section is used for more than
+ just the definition of the <code><a href=#the-p-element>p</a></code> element. The <a href=#paragraph>paragraph</a> concept defined here
+ is used to describe how to interpret documents. The <code><a href=#the-p-element>p</a></code> element is merely one of
+ several ways of marking up a <a href=#paragraph>paragraph</a>.</p>
<!-- note: the actual definition is below -->
- <p>A <dfn id=paragraph>paragraph</dfn> is typically a run of <a href=#phrasing-content>phrasing
- content</a> that forms a block of text with one or more sentences
- that discuss a particular topic, as in typography, but can also
- be used for more general thematic grouping. For instance, an address
- is also a paragraph, as is a part of a form, a byline, or a stanza
- in a poem.</p>
+ <p>A <dfn id=paragraph>paragraph</dfn> is typically a run of <a href=#phrasing-content>phrasing content</a> that forms a block
+ of text with one or more sentences that discuss a particular topic, as in typography, but can also
+ be used for more general thematic grouping. For instance, an address is also a paragraph, as is a
+ part of a form, a byline, or a stanza in a poem.</p>
<div class=example>
- <p>In the following example, there are two paragraphs in a
- section. There is also a heading, which contains phrasing content
- that is not a paragraph. Note how the comments and
+ <p>In the following example, there are two paragraphs in a section. There is also a heading,
+ which contains phrasing content that is not a paragraph. Note how the comments and
<a href=#inter-element-whitespace>inter-element whitespace</a> do not form paragraphs.</p>
<pre><section>
@@ -11673,28 +11441,22 @@
</div>
- <p>Paragraphs in <a href=#flow-content>flow content</a> are defined relative to
- what the document looks like without the <code><a href=#the-a-element>a</a></code>,
- <code><a href=#the-ins-element>ins</a></code>, <code><a href=#the-del-element>del</a></code>, and <code><a href=#the-map-element>map</a></code> elements
- complicating matters, since those elements, with their hybrid
- content models, can straddle paragraph boundaries, as shown in the
- first two examples below.</p>
+ <p>Paragraphs in <a href=#flow-content>flow content</a> are defined relative to what the document looks like
+ without the <code><a href=#the-a-element>a</a></code>, <code><a href=#the-ins-element>ins</a></code>, <code><a href=#the-del-element>del</a></code>, and <code><a href=#the-map-element>map</a></code> elements
+ complicating matters, since those elements, with their hybrid content models, can straddle
+ paragraph boundaries, as shown in the first two examples below.</p>
- <p class=note>Generally, having elements straddle paragraph
- boundaries is best avoided. Maintaining such markup can be
- difficult.</p>
+ <p class=note>Generally, having elements straddle paragraph boundaries is best avoided.
+ Maintaining such markup can be difficult.</p>
<div class=example>
- <p>The following example takes the markup from the earlier example
- and puts <code><a href=#the-ins-element>ins</a></code> and <code><a href=#the-del-element>del</a></code> elements around some
- of the markup to show that the text was changed (though in this
- case, the changes admittedly don't make much sense). Notice how
- this example has exactly the same paragraphs as the previous one,
- despite the <code><a href=#the-ins-element>ins</a></code> and <code><a href=#the-del-element>del</a></code> elements —
- the <code><a href=#the-ins-element>ins</a></code> element straddles the heading and the first
- paragraph, and the <code><a href=#the-del-element>del</a></code> element straddles the boundary
- between the two paragraphs.</p>
+ <p>The following example takes the markup from the earlier example and puts <code><a href=#the-ins-element>ins</a></code> and
+ <code><a href=#the-del-element>del</a></code> elements around some of the markup to show that the text was changed (though in
+ this case, the changes admittedly don't make much sense). Notice how this example has exactly the
+ same paragraphs as the previous one, despite the <code><a href=#the-ins-element>ins</a></code> and <code><a href=#the-del-element>del</a></code> elements
+ — the <code><a href=#the-ins-element>ins</a></code> element straddles the heading and the first paragraph, and the
+ <code><a href=#the-del-element>del</a></code> element straddles the boundary between the two paragraphs.</p>
<pre><section>
<ins><h1>Example of paragraphs</h1>
@@ -11707,43 +11469,35 @@
<div class=impl>
- <p>Let <var title="">view</var> be a view of the DOM that replaces
- all <code><a href=#the-a-element>a</a></code>, <code><a href=#the-ins-element>ins</a></code>, <code><a href=#the-del-element>del</a></code>, and
- <code><a href=#the-map-element>map</a></code> elements in the document with their contents. Then,
- in <var title="">view</var>, for each run of sibling <a href=#phrasing-content>phrasing
- content</a> nodes uninterrupted by other types of content, in an
- element that accepts content other than <a href=#phrasing-content>phrasing
- content</a> as well as <a href=#phrasing-content>phrasing content</a>, let <var title="">first</var> be the first node of the run, and let <var title="">last</var> be the last node of the run. For each such run
- that consists of at least one node that is neither <a href=#embedded-content>embedded
- content</a> nor <a href=#inter-element-whitespace>inter-element whitespace</a>, a
- paragraph exists in the original DOM from immediately before <var title="">first</var> to immediately after <var title="">last</var>. (Paragraphs can thus span across
- <code><a href=#the-a-element>a</a></code>, <code><a href=#the-ins-element>ins</a></code>, <code><a href=#the-del-element>del</a></code>, and
- <code><a href=#the-map-element>map</a></code> elements.)</p>
+ <p>Let <var title="">view</var> be a view of the DOM that replaces all <code><a href=#the-a-element>a</a></code>,
+ <code><a href=#the-ins-element>ins</a></code>, <code><a href=#the-del-element>del</a></code>, and <code><a href=#the-map-element>map</a></code> elements in the document with their
+ contents. Then, in <var title="">view</var>, for each run of sibling <a href=#phrasing-content>phrasing content</a>
+ nodes uninterrupted by other types of content, in an element that accepts content other than
+ <a href=#phrasing-content>phrasing content</a> as well as <a href=#phrasing-content>phrasing content</a>, let <var title="">first</var> be the first node of the run, and let <var title="">last</var> be the last
+ node of the run. For each such run that consists of at least one node that is neither
+ <a href=#embedded-content>embedded content</a> nor <a href=#inter-element-whitespace>inter-element whitespace</a>, a paragraph exists in the
+ original DOM from immediately before <var title="">first</var> to immediately after <var title="">last</var>. (Paragraphs can thus span across <code><a href=#the-a-element>a</a></code>, <code><a href=#the-ins-element>ins</a></code>,
+ <code><a href=#the-del-element>del</a></code>, and <code><a href=#the-map-element>map</a></code> elements.)</p>
- <p>Conformance checkers may warn authors of cases where they have
- paragraphs that overlap each other (this can happen with
- <code><a href=#the-object-element>object</a></code>, <code><a href=#the-video-element>video</a></code>, <code><a href=#the-audio-element>audio</a></code>, and
- <code><a href=#the-canvas-element>canvas</a></code> elements, and indirectly through elements in
- other namespaces that allow HTML to be further embedded therein,
- like <code><a href=#svg>svg</a></code> or <code><a href=#math>math</a></code>).</p> <!-- example below
- -->
+ <p>Conformance checkers may warn authors of cases where they have paragraphs that overlap each
+ other (this can happen with <code><a href=#the-object-element>object</a></code>, <code><a href=#the-video-element>video</a></code>, <code><a href=#the-audio-element>audio</a></code>, and
+ <code><a href=#the-canvas-element>canvas</a></code> elements, and indirectly through elements in other namespaces that allow HTML
+ to be further embedded therein, like <code><a href=#svg>svg</a></code> or <code><a href=#math>math</a></code>).</p>
+ <!-- example below -->
</div>
- <p>A <a href=#paragraph>paragraph</a> is also formed explicitly by
- <code><a href=#the-p-element>p</a></code> elements.</p>
+ <p>A <a href=#paragraph>paragraph</a> is also formed explicitly by <code><a href=#the-p-element>p</a></code> elements.</p>
- <p class=note>The <code><a href=#the-p-element>p</a></code> element can be used to wrap
- individual paragraphs when there would otherwise not be any content
- other than phrasing content to separate the paragraphs from each
- other.</p>
+ <p class=note>The <code><a href=#the-p-element>p</a></code> element can be used to wrap individual paragraphs when there
+ would otherwise not be any content other than phrasing content to separate the paragraphs from
+ each other.</p>
<div class=example>
- <p>In the following example, the link spans half of the first
- paragraph, all of the heading separating the two paragraphs, and
- half of the second paragraph. It straddles the paragraphs and the
- heading.</p>
+ <p>In the following example, the link spans half of the first paragraph, all of the heading
+ separating the two paragraphs, and half of the second paragraph. It straddles the paragraphs and
+ the heading.</p>
<pre><header>
Welcome!
@@ -11755,9 +11509,8 @@
This page discusses the F-16 Fighting Falcon's innermost secrets.
</header></pre>
- <p>Here is another way of marking this up, this time showing the
- paragraphs explicitly, and splitting the one link element into
- three:</p>
+ <p>Here is another way of marking this up, this time showing the paragraphs explicitly, and
+ splitting the one link element into three:</p>
<pre><header>
<p>Welcome! <a href="about.html">This is home of...</a></p>
@@ -11771,12 +11524,10 @@
<div class=example>
- <!-- I don't know if there's a better way to deal with this, but if
- there is, let me know... -->
+ <!-- I don't know if there's a better way to deal with this, but if there is, let me know... -->
- <p>It is possible for paragraphs to overlap when using certain
- elements that define fallback content. For example, in the
- following section:</p>
+ <p>It is possible for paragraphs to overlap when using certain elements that define fallback
+ content. For example, in the following section:</p>
<pre><section>
<h1>My Cats</h1>
@@ -11794,12 +11545,10 @@
<p>There are five paragraphs:</p>
- <ol class=brief><li>The paragraph that says "You can play with my cat
- simulator. <i title="">object</i> I'm quite proud of it.", where
- <i title="">object</i> is the <code><a href=#the-object-element>object</a></code> element.</li>
+ <ol class=brief><li>The paragraph that says "You can play with my cat simulator. <i title="">object</i> I'm
+ quite proud of it.", where <i title="">object</i> is the <code><a href=#the-object-element>object</a></code> element.</li>
- <li>The paragraph that says "To see the cat simulator, use one of
- the following links:".</li>
+ <li>The paragraph that says "To see the cat simulator, use one of the following links:".</li>
<li>The paragraph that says "Download simulator file".</li>
@@ -11807,16 +11556,13 @@
<li>The paragraph that says "Alternatively, upgrade to the Mellblom Browser.".</li>
- </ol><p>The first paragraph is overlapped by the other four. A user
- agent that supports the "cats.sim" resource will only show the
- first one, but a user agent that shows the fallback will
- confusingly show the first sentence of the first paragraph as
- if it was in the same paragraph as the second one, and will show
- the last paragraph as if it was at the start of the second sentence
- of the first paragraph.</p>
+ </ol><p>The first paragraph is overlapped by the other four. A user agent that supports the "cats.sim"
+ resource will only show the first one, but a user agent that shows the fallback will confusingly
+ show the first sentence of the first paragraph as if it was in the same paragraph as the second
+ one, and will show the last paragraph as if it was at the start of the second sentence of the
+ first paragraph.</p>
- <p>To avoid this confusion, explicit <code><a href=#the-p-element>p</a></code> elements can be
- used. For example:</p>
+ <p>To avoid this confusion, explicit <code><a href=#the-p-element>p</a></code> elements can be used. For example:</p>
<!-- My Fish -->
<pre><section>
@@ -11925,11 +11671,10 @@
plaintext = *( %x0000-2029 / %x202F-10FFFF )
; any string with no bidirectional-algorithm formatting characters</pre>
- <p class=note>Authors are encouraged to use the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute, the <code><a href=#the-bdo-element>bdo</a></code> element,
- and the <code><a href=#the-bdi-element>bdi</a></code> element, rather than maintaining the
- bidirectional-algorithm formatting characters manually. The
- bidirectional-algorithm formatting characters interact poorly with
- CSS.</p>
+ <p class=note>Authors are encouraged to use the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute, the
+ <code><a href=#the-bdo-element>bdo</a></code> element, and the <code><a href=#the-bdi-element>bdi</a></code> element, rather than maintaining the
+ bidirectional-algorithm formatting characters manually. The bidirectional-algorithm formatting
+ characters interact poorly with CSS.</p>
@@ -21049,16 +20794,13 @@
<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-->
<dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
- </dl><!--TOPIC:HTML--><!-- v2: attribute that means "highlight this on the scrollbar" --><p>The <code><a href=#the-mark-element>mark</a></code> element <a href=#represents>represents</a> a run of
- text in one document marked or highlighted for reference purposes,
- due to its relevance in another context. When used in a quotation or
- other block of text referred to from the prose, it indicates a
- highlight that was not originally present but which has been added
- to bring the reader's attention to a part of the text that might not
- have been considered important by the original author when the block
- was originally written, but which is now under previously unexpected
- scrutiny. When used in the main prose of a document, it indicates a
- part of the document that has been highlighted due to its likely
+ </dl><!--TOPIC:HTML--><!-- v2: attribute that means "highlight this on the scrollbar" --><p>The <code><a href=#the-mark-element>mark</a></code> element <a href=#represents>represents</a> a run of text in one document marked or
+ highlighted for reference purposes, due to its relevance in another context. When used in a
+ quotation or other block of text referred to from the prose, it indicates a highlight that was not
+ originally present but which has been added to bring the reader's attention to a part of the text
+ that might not have been considered important by the original author when the block was originally
+ written, but which is now under previously unexpected scrutiny. When used in the main prose of a
+ document, it indicates a part of the document that has been highlighted due to its likely
relevance to the user's current activity.</p>
<div class=example>
@@ -21078,11 +20820,10 @@
<div class=example>
- <p>Another example of the <code><a href=#the-mark-element>mark</a></code> element is highlighting
- parts of a document that are matching some search string. If
- someone looked at a document, and the server knew that the user was
- searching for the word "kitten", then the server might return the
- document with one paragraph modified as follows:</p>
+ <p>Another example of the <code><a href=#the-mark-element>mark</a></code> element is highlighting parts of a document that are
+ matching some search string. If someone looked at a document, and the server knew that the user
+ was searching for the word "kitten", then the server might return the document with one paragraph
+ modified as follows:</p>
<pre><p>I also have some <mark>kitten</mark>s who are visiting me
these days. They're really cute. I think they like my garden! Maybe I
@@ -21092,8 +20833,8 @@
<div class=example>
- <p>In the following snippet, a paragraph of text refers to a
- specific part of a code fragment.</p>
+ <p>In the following snippet, a paragraph of text refers to a specific part of a code
+ fragment.</p>
<pre><p>The highlighted part below is where the error lies:</p>
<pre><code>var i: Integer;
@@ -21101,9 +20842,8 @@
i := <mark>1.1</mark>;
end.</code></pre></pre>
- <p>This is separate from <em>syntax highlighting</em>, for which
- <code><a href=#the-span-element>span</a></code> is more appropriate. Combining both, one would
- get:</p>
+ <p>This is separate from <em>syntax highlighting</em>, for which <code><a href=#the-span-element>span</a></code> is more
+ appropriate. Combining both, one would get:</p>
<pre><p>The highlighted part below is where the error lies:</p>
<pre><code><span class=keyword>var</span> <span class=ident>i</span>: <span class=type>Integer</span>;
@@ -21115,11 +20855,9 @@
<div class=example>
- <p>This is another example showing the use of <code><a href=#the-mark-element>mark</a></code> to
- highlight a part of quoted text that was originally not
- emphasized. In this example, common typographic conventions have
- led the author to explicitly style <code><a href=#the-mark-element>mark</a></code> elements in
- quotes to render in italics.</p>
+ <p>This is another example showing the use of <code><a href=#the-mark-element>mark</a></code> to highlight a part of quoted
+ text that was originally not emphasized. In this example, common typographic conventions have led
+ the author to explicitly style <code><a href=#the-mark-element>mark</a></code> elements in quotes to render in italics.</p>
<pre><article>
<style scoped>
@@ -21144,22 +20882,19 @@
explains everything neatly.</p>
</article></pre>
- <p>Note, incidentally, the distinction between the <code><a href=#the-em-element>em</a></code>
- element in this example, which is part of the original text being
- quoted, and the <code><a href=#the-mark-element>mark</a></code> element, which is highlighting a
- part for comment.</p>
+ <p>Note, incidentally, the distinction between the <code><a href=#the-em-element>em</a></code> element in this example, which
+ is part of the original text being quoted, and the <code><a href=#the-mark-element>mark</a></code> element, which is
+ highlighting a part for comment.</p>
</div>
<div class=example>
- <p>The following example shows the difference between denoting the
- <em>importance</em> of a span of text (<code><a href=#the-strong-element>strong</a></code>) as
- opposed to denoting the <em>relevance</em> of a span of text
- (<code><a href=#the-mark-element>mark</a></code>). It is an extract from a textbook, where the
- extract has had the parts relevant to the exam highlighted. The
- safety warnings, important though they may be, are apparently not
- relevant to the exam.</p>
+ <p>The following example shows the difference between denoting the <em>importance</em> of a span
+ of text (<code><a href=#the-strong-element>strong</a></code>) as opposed to denoting the <em>relevance</em> of a span of text
+ (<code><a href=#the-mark-element>mark</a></code>). It is an extract from a textbook, where the extract has had the parts
+ relevant to the exam highlighted. The safety warnings, important though they may be, are
+ apparently not relevant to the exam.</p>
<pre><h3>Wormhole Physics Introduction</h3>
@@ -21733,46 +21468,37 @@
<dd>Also, the <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> global attribute has special semantics on this element.</dd>
<dt><a href=#element-dfn-dom title=element-dfn-dom>DOM interface</a>:</dt><!--TOPIC:DOM APIs-->
<dd>Uses <code><a href=#htmlelement>HTMLElement</a></code>.</dd>
- </dl><!--TOPIC:HTML--><p>The <code><a href=#the-bdi-element>bdi</a></code> element <a href=#represents>represents</a> a span of
- text that is to be isolated from its surroundings for the purposes
- of bidirectional text formatting. <a href=#refsBIDI>[BIDI]</a></p>
+ </dl><!--TOPIC:HTML--><p>The <code><a href=#the-bdi-element>bdi</a></code> element <a href=#represents>represents</a> a span of text that is to be isolated from
+ its surroundings for the purposes of bidirectional text formatting. <a href=#refsBIDI>[BIDI]</a></p>
- <p class=note>The <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> global
- attribute defaults to <code title=attr-dir-auto><a href=#attr-dir-auto>auto</a></code> on
- this element (it never inherits from the parent element like with
- other elements).</p>
+ <p class=note>The <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> global attribute defaults to <code title=attr-dir-auto><a href=#attr-dir-auto>auto</a></code> on this element (it never inherits from the parent element like
+ with other elements).</p>
<div class=impl>
- <p>For the purposes of applying the bidirectional algorithm to the
- contents of a <code><a href=#the-bdi-element>bdi</a></code> element, user agents must treat the
- element as a paragraph-level container.</p>
+ <p>For the purposes of applying the bidirectional algorithm to the contents of a <code><a href=#the-bdi-element>bdi</a></code>
+ element, user agents must treat the element as a paragraph-level container.</p>
- <p>For the purposes of applying the bidirectional algorithm to the
- paragraph-level container that a <code><a href=#the-bdi-element>bdi</a></code> element finds
- itself within, the <code><a href=#the-bdi-element>bdi</a></code> element must be treated like a
- U+FFFC OBJECT REPLACEMENT CHARACTER (in the same manner that an
- image or other inline object is handled).</p>
+ <p>For the purposes of applying the bidirectional algorithm to the paragraph-level container that
+ a <code><a href=#the-bdi-element>bdi</a></code> element finds itself within, the <code><a href=#the-bdi-element>bdi</a></code> element must be treated like
+ a U+FFFC OBJECT REPLACEMENT CHARACTER (in the same manner that an image or other inline object is
+ handled).</p>
- <p>The requirements on handling the <code><a href=#the-bdi-element>bdi</a></code> element for the
- bidirectional algorithm may be implemented indirectly through the
- style layer. For example, an HTML+CSS user agent could implement
- these requirements by implementing the CSS 'unicode-bidi' property.
- <a href=#refsCSS>[CSS]</a></p>
+ <p>The requirements on handling the <code><a href=#the-bdi-element>bdi</a></code> element for the bidirectional algorithm may
+ be implemented indirectly through the style layer. For example, an HTML+CSS user agent could
+ implement these requirements by implementing the CSS 'unicode-bidi' property. <a href=#refsCSS>[CSS]</a></p>
</div>
<div class=example>
- <p>This element is especially useful when embedding user-generated
- content with an unknown directionality.</p>
+ <p>This element is especially useful when embedding user-generated content with an unknown
+ directionality.</p>
- <p>In this example, usernames are shown along with the number of
- posts that the user has submitted. If the <code><a href=#the-bdi-element>bdi</a></code> element
- were not used, the username of the Arabic user would end up
- confusing the text (the bidirectional algorithm would put the colon
- and the number "3" next to the word "User" rather than next to the
- word "posts").</p>
+ <p>In this example, usernames are shown along with the number of posts that the user has
+ submitted. If the <code><a href=#the-bdi-element>bdi</a></code> element were not used, the username of the Arabic user would
+ end up confusing the text (the bidirectional algorithm would put the colon and the number "3"
+ next to the word "User" rather than next to the word "posts").</p>
<pre><ul>
<li>User <bdi>jcranmer</bdi>: 12 posts.
@@ -62165,11 +61891,11 @@
<a href=#reflect>reflect</a> the <code title=attr-itemref><a href=#attr-itemref>itemref</a></code> content attribute.</p>
<p>The <dfn id=dom-properties title=dom-properties><code>properties</code></dfn> IDL attribute on <a href=#html-elements>HTML
- elements</a> must return an <code><a href=#htmlpropertiescollection>HTMLPropertiesCollection</a></code> rooted at the
- element's <a href=#root-element>root element</a> (which element this is might change during the collection's lifetime, as the element moves between different subtrees), whose filter matches only elements that are <a href=#the-properties-of-an-item title="the
- properties of an item">the properties of the item</a> created by the element on which the
- attribute was invoked, while that element is an <a href=#concept-item title=concept-item>item</a>, and
- matches nothing the rest of the time.</p>
+ elements</a> must return an <code><a href=#htmlpropertiescollection>HTMLPropertiesCollection</a></code> rooted at the element's
+ <a href=#root-element>root element</a> (which element this is might change during the collection's lifetime, as
+ the element moves between different subtrees), whose filter matches only elements that are <a href=#the-properties-of-an-item title="the properties of an item">the properties of the item</a> created by the element on
+ which the attribute was invoked, while that element is an <a href=#concept-item title=concept-item>item</a>,
+ and matches nothing the rest of the time.</p>
<p>The <dfn id=dom-itemvalue title=dom-itemValue><code>itemValue</code></dfn> IDL attribute's behavior depends on
the element, as follows:</p>
Modified: source
===================================================================
--- source 2013-02-08 01:35:58 UTC (rev 7706)
+++ source 2013-02-08 01:45:04 UTC (rev 7707)
@@ -9342,74 +9342,65 @@
<hr>
- <p id="dom-document-namedItem-which">The <code>Document</code>
- interface <span title="support named properties">supports named
- properties</span>. The <span>supported property names</span> at any
- moment consist of the values of the <code
- title="attr-name">name</code> content attributes of all the
+ <p id="dom-document-namedItem-which">The <code>Document</code> interface <span title="support
+ named properties">supports named properties</span>. The <span>supported property names</span> at
+ any moment consist of the values of the <code title="attr-name">name</code> content attributes of
+ all the
<code>applet</code>,
<span>exposed</span> <code>embed</code>,
<code>form</code>,
<code>iframe</code>,
<code>img</code>, and
<span>exposed</span> <code>object</code>
- elements in the <code>Document</code> that have <code
- title="attr-name">name</code> content attributes, and the values of
- the <code title="attr-id">id</code> content attributes of all the
+ elements in the <code>Document</code> that have <code title="attr-name">name</code> content
+ attributes, and the values of the <code title="attr-id">id</code> content attributes of all the
<code>applet</code> and
<span>exposed</span> <code>object</code>
- elements in the <code>Document</code> that have <code
- title="attr-id">id</code> content attributes, and the values of the
- <code title="attr-id">id</code> content attributes of all the
+ elements in the <code>Document</code> that have <code title="attr-id">id</code> content
+ attributes, and the values of the <code title="attr-id">id</code> content attributes of all the
<code>img</code>
- elements in the <code>Document</code> that have both <code
- title="attr-name">name</code> content attributes and <code
- title="attr-id">id</code> content attributes.</p>
+ elements in the <code>Document</code> that have both <code title="attr-name">name</code> content
+ attributes and <code title="attr-id">id</code> content attributes.</p>
- <p>To <span>determine the value of a named property</span> <var
- title="">name</var> when <dfn title="dom-document-namedItem">the
- <code>Document</code> object is indexed for property
- retrieval</dfn>, the user agent must return the value obtained using
- the following steps:</p>
+ <p>To <span>determine the value of a named property</span> <var title="">name</var> when <dfn
+ title="dom-document-namedItem">the <code>Document</code> object is indexed for property
+ retrieval</dfn>, the user agent must return the value obtained using the following steps:</p>
<ol>
<li>
<p>Let <var title="">elements</var> be the list of <span
- title="dom-document-namedItem-filter">named elements</span> with
- the name <var title="">name</var> in the <code>Document</code>.
+ title="dom-document-namedItem-filter">named elements</span> with the name <var
+ title="">name</var> in the <code>Document</code>.
- <p class="note">There will be at least one such element, by
- definition.<!-- (If there wasn't, then this algorithm wouldn't
- have been invoked by Web IDL.) --></p>
+ <p class="note">There will be at least one such element, by definition.<!-- (If there wasn't,
+ then this algorithm wouldn't have been invoked by Web IDL.) --></p>
</li>
<li>
- <p>If <var title="">elements</var> has only one element, and that
- element is an <code>iframe</code> element, then return the
- <code>WindowProxy</code> object of the <span>nested browsing
- context</span> represented by that <code>iframe</code> element,
- and abort these steps.</p>
+ <p>If <var title="">elements</var> has only one element, and that element is an
+ <code>iframe</code> element, then return the <code>WindowProxy</code> object of the <span>nested
+ browsing context</span> represented by that <code>iframe</code> element, and abort these
+ steps.</p>
</li>
<li>
- <p>Otherwise, if <var title="">elements</var> has only one
- element, return that element and abort these steps.</p>
+ <p>Otherwise, if <var title="">elements</var> has only one element, return that element and
+ abort these steps.</p>
</li>
<li>
- <p>Otherwise return an <code>HTMLCollection</code> rooted at the
- <code>Document</code> node, whose filter matches only <span
- title="dom-document-namedItem-filter">named elements</span> with
- the name <var title="">name</var>.</p> <!-- the same one each time
- is returned, because of the rule under collections -->
+ <p>Otherwise return an <code>HTMLCollection</code> rooted at the <code>Document</code> node,
+ whose filter matches only <span title="dom-document-namedItem-filter">named elements</span> with
+ the name <var title="">name</var>.</p> <!-- the same one each time is returned, because of the
+ rule under collections -->
</li>
@@ -9421,43 +9412,37 @@
</ol>
- <p><dfn title="dom-document-nameditem-filter">Named elements</dfn>
- with the name <var title="">name</var>, for the purposes of the
- above algorithm, are those that are either:</p>
+ <p><dfn title="dom-document-nameditem-filter">Named elements</dfn> with the name <var
+ title="">name</var>, for the purposes of the above algorithm, are those that are either:</p>
<ul>
- <li><code>applet</code>, <span>exposed</span> <code>embed</code>,
- <code>form</code>, <code>iframe</code>, <code>img</code>, or
- <span>exposed</span> <code>object</code> elements that have a <code
- title="attr-name">name</code> content attribute whose value is <var
+ <li><code>applet</code>, <span>exposed</span> <code>embed</code>, <code>form</code>,
+ <code>iframe</code>, <code>img</code>, or <span>exposed</span> <code>object</code> elements that
+ have a <code title="attr-name">name</code> content attribute whose value is <var
title="">name</var>, or</li>
- <li><code>applet</code> or <span>exposed</span> <code>object</code>
- elements that have an <code title="attr-id">id</code> content
- attribute whose value is <var title="">name</var>, or</li>
+ <li><code>applet</code> or <span>exposed</span> <code>object</code> elements that have an <code
+ title="attr-id">id</code> content attribute whose value is <var title="">name</var>, or</li>
- <li><code>img</code> elements that have an <code
- title="attr-id">id</code> content attribute whose value is <var
- title="">name</var>, and that have a <code
- title="attr-name">name</code> content attribute present also.</li>
+ <li><code>img</code> elements that have an <code title="attr-id">id</code> content attribute
+ whose value is <var title="">name</var>, and that have a <code title="attr-name">name</code>
+ content attribute present also.</li>
</ul>
- <p>An <code>embed</code> or <code>object</code> element is said to
- be <dfn>exposed</dfn> if it has no <span>exposed</span>
- <code>object</code> ancestor, and, for <code>object</code> elements,
- is additionally either not showing its <span>fallback content</span>
- or has no <code>object</code> or <code>embed</code> descendants.</p>
+ <p>An <code>embed</code> or <code>object</code> element is said to be <dfn>exposed</dfn> if it has
+ no <span>exposed</span> <code>object</code> ancestor, and, for <code>object</code> elements, is
+ additionally either not showing its <span>fallback content</span> or has no <code>object</code> or
+ <code>embed</code> descendants.</p>
</div>
<hr>
- <p class="note">The <code title="dom-document-dir">dir</code>
- attribute on the <code>Document</code> interface is defined
- along with the <code title="attr-dir">dir</code> content
- attribute.</p>
+ <p class="note">The <code title="dom-document-dir">dir</code> attribute on the
+ <code>Document</code> interface is defined along with the <code title="attr-dir">dir</code>
+ content attribute.</p>
@@ -9475,85 +9460,75 @@
<!-- http://www.hixie.ch/tests/adhoc/dom/level0/document/load/001.html -->
<!--SYNCLOAD
- <p>The <dfn
- title="dom-XMLDocument-async"><code>async</code></dfn>
- attribute must initially be true. On getting, it must return its
- current value. On setting, its current value must be changed to the
- new value.</p>
+ <p>The <dfn title="dom-XMLDocument-async"><code>async</code></dfn> attribute must initially be
+ true. On getting, it must return its current value. On setting, its current value must be changed
+ to the new value.</p>
-->
- <p>The <dfn title="dom-XMLDocument-load"><code>load(<var
- title="">url</var>)</code></dfn> method must run the following
- steps:</p>
+ <p>The <dfn title="dom-XMLDocument-load"><code>load(<var title="">url</var>)</code></dfn> method
+ must run the following steps:</p>
+
<ol>
+
<!--SYNCLOAD
- <li><p>If <code title="dom-XMLDocument-async">async</code> is
- set to false and the <var title="">document</var> is
- <span>load-blocked</span>, return false and abort these
+ <li><p>If <code title="dom-XMLDocument-async">async</code> is set to false and the <var
+ title="">document</var> is <span>load-blocked</span>, return false and abort these
steps.</p></li>
-->
- <li><p>Let <var title="">document</var> be the <code>XMLDocument</code>
- object on which the method was invoked.</p></li>
- <li><p><span title="resolve a url">Resolve</span> the method's
- first argument, relative to the <span>entry script</span>'s <span
- title="script's base URL">base URL</span>. If this is not
- successful, throw a <code>SyntaxError</code> exception and abort
- these steps. Otherwise, let <var title="">url</var> be the
- resulting <span>absolute URL</span>.</p></li>
+ <li><p>Let <var title="">document</var> be the <code>XMLDocument</code> object on which the
+ method was invoked.</p></li>
- <li><p>If the <span>origin</span> of <var title="">url</var> is not
- the same as the <span>origin</span> of <var
- title="">document</var>, throw a <code>SecurityError</code>
- exception and abort these steps.</p></li>
+ <li><p><span title="resolve a url">Resolve</span> the method's first argument, relative to the
+ <span>entry script</span>'s <span title="script's base URL">base URL</span>. If this is not
+ successful, throw a <code>SyntaxError</code> exception and abort these steps. Otherwise, let <var
+ title="">url</var> be the resulting <span>absolute URL</span>.</p></li>
+
+ <li><p>If the <span>origin</span> of <var title="">url</var> is not the same as the
+ <span>origin</span> of <var title="">document</var>, throw a <code>SecurityError</code> exception
+ and abort these steps.</p></li>
+
<!--SYNCLOAD
- <li><p>If <code title="dom-XMLDocument-async">async</code> is
- set to false, let <var title="">document</var> be
- <dfn>load-blocked</dfn>.</p></li>
+ <li><p>If <code title="dom-XMLDocument-async">async</code> is set to false, let <var
+ title="">document</var> be <dfn>load-blocked</dfn>.</p></li>
-->
- <li><p>Remove all child nodes of <var title="">document</var>,
- without firing any mutation events.</p></li> <!-- as of 2010-07-26,
- only Opera fired mutation events here. -->
- <li><p>Set the <span>current document readiness</span> of <var
- title="">document</var> to "<code title="">loading</code>".</p></li>
+ <li><p>Remove all child nodes of <var title="">document</var>, without firing any mutation
+ events.</p></li> <!-- as of 2010-07-26, only Opera fired mutation events here. -->
- <li><p><!--SYNCLOAD If <code title="dom-XMLDocument-async">async</code> is
- set to true, then run--> Run the remainder of these steps asynchronously,
- and return true from the method.<!--SYNCLOAD Otherwise, continue running these
- steps without yet returning.--></p></li>
+ <li><p>Set the <span>current document readiness</span> of <var title="">document</var> to "<code
+ title="">loading</code>".</p></li>
- <li><p>Let <var title="">result</var> be a <code>Document</code>
- object.</p></li>
+ <li><p><!--SYNCLOAD If <code title="dom-XMLDocument-async">async</code> is set to true, then
+ run--> Run the remainder of these steps asynchronously, and return true from the
+ method.<!--SYNCLOAD Otherwise, continue running these steps without yet returning.--></p></li>
+ <li><p>Let <var title="">result</var> be a <code>Document</code> object.</p></li>
+
<li><p>Let <var title="">success</var> be false.</p></li>
- <li><p><span>Fetch</span><!--FETCH--> <var title="">url</var> from
- the <span>origin</span> of <var title="">document</var>, using the
- <span>entry script</span>'s <span title="script's referrer
- source">referrer source</span>, with the <i title="">synchronous
- flag</i> set and the <i title="">force same-origin flag</i>
- set.</p></li>
+ <li><p><span>Fetch</span><!--FETCH--> <var title="">url</var> from the <span>origin</span> of
+ <var title="">document</var>, using the <span>entry script</span>'s <span title="script's
+ referrer source">referrer source</span>, with the <i title="">synchronous flag</i> set and the <i
+ title="">force same-origin flag</i> set.</p></li>
<li>
<p>If the fetch attempt was successful, and the resource's <span
- title="Content-Type">Content-Type metadata</span> is an <span>XML
- MIME type</span>, then run these substeps:</p>
+ title="Content-Type">Content-Type metadata</span> is an <span>XML MIME type</span>, then run
+ these substeps:</p>
<ol>
- <li><p>Create a new <span>XML parser</span> associated with the
- <var title="">result</var> document.</p></li>
+ <li><p>Create a new <span>XML parser</span> associated with the <var title="">result</var>
+ document.</p></li>
- <li><p>Pass this parser the fetched document.</p></li> <!-- no
- worries about scripts running; there's no browsing context for
- the document so scripts are automatically disabled -->
+ <li><p>Pass this parser the fetched document.</p></li> <!-- no worries about scripts running;
+ there's no browsing context for the document so scripts are automatically disabled -->
- <li><p>If there is an XML well-formedness or XML namespace
- well-formedness error, then remove all child nodes from <var
- title="">result</var>. Otherwise let <var title="">success</var>
- be true.</p></li>
+ <li><p>If there is an XML well-formedness or XML namespace well-formedness error, then remove
+ all child nodes from <var title="">result</var>. Otherwise let <var title="">success</var> be
+ true.</p></li>
</ol>
@@ -9561,43 +9536,36 @@
<li>
- <p><!--SYNCLOAD If <code title="dom-XMLDocument-async">async</code> is
- set to true, then <span>queue--> <span>Queue a task</span> to run the following
- steps. <!--SYNCLOAD Otherwise, run them synchronously.--></p>
+ <p><!--SYNCLOAD If <code title="dom-XMLDocument-async">async</code> is set to true, then
+ <span>queue--> <span>Queue a task</span> to run the following steps. <!--SYNCLOAD Otherwise, run
+ them synchronously.--></p>
<ol>
- <li><p>Set the <span>current document readiness</span> of <var
- title="">document</var> to "<code title="">complete</code>".</p></li>
+ <li><p>Set the <span>current document readiness</span> of <var title="">document</var> to
+ "<code title="">complete</code>".</p></li>
- <li><p>Replace all the children of <var title="">document</var>
- by the children of <var title="">result</var> (even if it has no
- children), firing mutation events as if a
- <code>DocumentFragment</code> containing the new children had
- been inserted.</p></li> <!-- as of 2010-07-26, both Firefox and
- Opera fired mutation events here. -->
+ <li><p>Replace all the children of <var title="">document</var> by the children of <var
+ title="">result</var> (even if it has no children), firing mutation events as if a
+ <code>DocumentFragment</code> containing the new children had been inserted.</p></li> <!-- as
+ of 2010-07-26, both Firefox and Opera fired mutation events here. -->
- <!-- If the document doesn't have no nodes here, at time of
- writing, Opera would leave the new nodes and drop the parsed
- ones, while Firefox would basically abort instead, failing to
- fire the 'load' event -->
+ <!-- If the document doesn't have no nodes here, at time of writing, Opera would leave the new
+ nodes and drop the parsed ones, while Firefox would basically abort instead, failing to fire
+ the 'load' event -->
- <li><p><span>Fire a simple event</span> named <code
- title="event-load">load</code> at <var
+ <li><p><span>Fire a simple event</span> named <code title="event-load">load</code> at <var
title="">document</var>.</p></li>
</ol>
</li>
<!--SYNCLOAD
- <li><p>If <code title="dom-XMLDocument-async">async</code>
- was set to false when this algorithm started, let <var
- title="">document</var> be no longer
- <span>load-blocked</span>.</p></li>
+ <li><p>If <code title="dom-XMLDocument-async">async</code> was set to false when this algorithm
+ started, let <var title="">document</var> be no longer <span>load-blocked</span>.</p></li>
- <li><p>If <code title="dom-XMLDocument-async">async</code>
- was set to false when this algorithm started, return <var
- title="">success</var>.</p></li>
+ <li><p>If <code title="dom-XMLDocument-async">async</code> was set to false when this algorithm
+ started, return <var title="">success</var>.</p></li>
-->
</ol>
@@ -9609,63 +9577,52 @@
<h4>Semantics</h4>
- <p>Elements, attributes, and attribute values in HTML are defined
- (by this specification) to have certain meanings (semantics). For
- example, the <code>ol</code> element represents an ordered list, and
- the <code title="attr-lang">lang</code> attribute represents the
- language of the content.</p>
+ <p>Elements, attributes, and attribute values in HTML are defined (by this specification) to have
+ certain meanings (semantics). For example, the <code>ol</code> element represents an ordered list,
+ and the <code title="attr-lang">lang</code> attribute represents the language of the content.</p>
- <p>These definitions allow HTML processors, such as Web browsers or
- search engines, to present and use documents and applications in a
- wide variety of contexts that the author might not have
+ <p>These definitions allow HTML processors, such as Web browsers or search engines, to present and
+ use documents and applications in a wide variety of contexts that the author might not have
considered.</p>
<div class="example">
- <p>As a simple example, consider a Web page written by an author
- who only considered desktop computer Web browsers. Because HTML
- conveys <em>meaning</em>, rather than presentation, the same page
- can also be used by a small browser on a mobile phone, without any
- change to the page. Instead of headings being in large letters as
- on the desktop, for example, the browser on the mobile phone might
- use the same size text for the whole the page, but with the
- headings in bold.</p>
+ <p>As a simple example, consider a Web page written by an author who only considered desktop
+ computer Web browsers. Because HTML conveys <em>meaning</em>, rather than presentation, the same
+ page can also be used by a small browser on a mobile phone, without any change to the page.
+ Instead of headings being in large letters as on the desktop, for example, the browser on the
+ mobile phone might use the same size text for the whole the page, but with the headings in
+ bold.</p>
- <p>But it goes further than just differences in screen size: the
- same page could equally be used by a blind user using a browser
- based around speech synthesis, which instead of displaying the page
- on a screen, reads the page to the user, e.g. using headphones.
- Instead of large text for the headings, the speech browser might
- use a different volume or a slower voice.</p>
+ <p>But it goes further than just differences in screen size: the same page could equally be used
+ by a blind user using a browser based around speech synthesis, which instead of displaying the
+ page on a screen, reads the page to the user, e.g. using headphones. Instead of large text for
+ the headings, the speech browser might use a different volume or a slower voice.</p>
- <p>That's not all, either. Since the browsers know which parts of
- the page are the headings, they can create a document outline that
- the user can use to quickly navigate around the document, using
- keys for "jump to next heading" or "jump to previous heading". Such
- features are especially common with speech browsers, where users
- would otherwise find quickly navigating a page quite difficult.</p>
+ <p>That's not all, either. Since the browsers know which parts of the page are the headings, they
+ can create a document outline that the user can use to quickly navigate around the document,
+ using keys for "jump to next heading" or "jump to previous heading". Such features are especially
+ common with speech browsers, where users would otherwise find quickly navigating a page quite
+ difficult.</p>
- <p>Even beyond browsers, software can make use of this information.
- Search engines can use the headings to more effectively index a
- page, or to provide quick links to subsections of the page from
- their results. Tools can use the headings to create a table of
- contents (that is in fact how this very specification's table of
- contents is generated).</p>
+ <p>Even beyond browsers, software can make use of this information. Search engines can use the
+ headings to more effectively index a page, or to provide quick links to subsections of the page
+ from their results. Tools can use the headings to create a table of contents (that is in fact how
+ this very specification's table of contents is generated).</p>
- <p>This example has focused on headings, but the same principle
- applies to all of the semantics in HTML.</p>
+ <p>This example has focused on headings, but the same principle applies to all of the semantics
+ in HTML.</p>
</div>
- <p>Authors must not use elements, attributes, or attribute values
- for purposes other than their appropriate intended semantic purpose,
- as doing so prevents software from correctly processing the
+ <p>Authors must not use elements, attributes, or attribute values for purposes other than their
+ appropriate intended semantic purpose, as doing so prevents software from correctly processing the
page.</p>
<div class="example">
- <p>For example, the following document is non-conforming, despite
- being syntactically correct:</p>
+ <p>For example, the following document is non-conforming, despite being syntactically
+ correct:</p>
<pre class="bad"><!DOCTYPE HTML>
<html lang="en-GB">
@@ -9683,14 +9640,12 @@
</body>
</html></pre>
- <p>...because the data placed in the cells is clearly not tabular
- data (and the <code>cite</code> element mis-used). This would make
- software that relies on these semantics fail: for example, a speech
- browser that allowed a blind user to navigate tables in the
- document would report the quote above as a table, confusing the
- user; similarly, a tool that extracted titles of works from pages
- would extract "Ernest" as the title of a work, even though it's
- actually a person's name, not a title.</p>
+ <p>...because the data placed in the cells is clearly not tabular data (and the <code>cite</code>
+ element mis-used). This would make software that relies on these semantics fail: for example, a
+ speech browser that allowed a blind user to navigate tables in the document would report the
+ quote above as a table, confusing the user; similarly, a tool that extracted titles of works from
+ pages would extract "Ernest" as the title of a work, even though it's actually a person's name,
+ not a title.</p>
<p>A corrected version of this document might be:</p>
@@ -9712,19 +9667,16 @@
<div class="example">
- <p>This next document fragment, intended to represent the heading
- of a corporate site, is similarly non-conforming because the second
- line is not intended to be a heading of a subsection, but merely a
- subheading or subtitle (a subordinate heading for the same
- section).</p>
+ <p>This next document fragment, intended to represent the heading of a corporate site, is
+ similarly non-conforming because the second line is not intended to be a heading of a subsection,
+ but merely a subheading or subtitle (a subordinate heading for the same section).</p>
<pre class="bad"><body>
<h1>ABC Company</h1>
<h2>Leading the way in widget design since 1432</h2>
...</pre>
- <p>The <code>hgroup</code> element is intended for these kinds of
- situations:</p>
+ <p>The <code>hgroup</code> element is intended for these kinds of situations:</p>
<pre><body>
<hgroup>
@@ -9735,16 +9687,14 @@
</div>
- <p>Authors must not use elements, attributes, or attribute values
- that are not permitted by this specification or <span>other
- applicable specifications</span>, as doing so makes it significantly
+ <p>Authors must not use elements, attributes, or attribute values that are not permitted by this
+ specification or <span>other applicable specifications</span>, as doing so makes it significantly
harder for the language to be extended in the future.</p>
<div class="example">
- <p>In the next example, there is a non-conforming attribute value
- ("carpet") and a non-conforming attribute ("texture"), which
- is not permitted by this specification:</p>
+ <p>In the next example, there is a non-conforming attribute value ("carpet") and a non-conforming
+ attribute ("texture"), which is not permitted by this specification:</p>
<pre class="bad"><label>Carpet: <input type="carpet" name="c" texture="deep pile"></label></pre>
@@ -9754,43 +9704,35 @@
</div>
- <p>Through scripting and using other mechanisms, the values of
- attributes, text, and indeed the entire structure of the document
- may change dynamically while a user agent is processing it. The
- semantics of a document at an instant in time are those represented
- by the state of the document at that instant in time, and the
- semantics of a document can therefore change over time. User agents
- <span class="impl">must</span> update their presentation of the
- document as this occurs.</p>
+ <p>Through scripting and using other mechanisms, the values of attributes, text, and indeed the
+ entire structure of the document may change dynamically while a user agent is processing it. The
+ semantics of a document at an instant in time are those represented by the state of the document
+ at that instant in time, and the semantics of a document can therefore change over time. User
+ agents <span class="impl">must</span> update their presentation of the document as this
+ occurs.</p>
- <p class="example">HTML has a <code>progress</code> element that
- describes a progress bar. If its "value" attribute is dynamically
- updated by a script, the UA would update the rendering to show the
- progress changing.</p>
+ <p class="example">HTML has a <code>progress</code> element that describes a progress bar. If its
+ "value" attribute is dynamically updated by a script, the UA would update the rendering to show
+ the progress changing.</p>
<!--TOPIC:DOM APIs-->
<h4>Elements in the DOM</h4>
- <p>The nodes representing <span>HTML elements</span> in the DOM
- <span class="impl">must</span> implement, and expose to scripts, the
- interfaces listed for them in the relevant sections of this
- specification. This includes <span>HTML elements</span> in <span>XML
- documents</span>, even when those documents are in another context
- (e.g. inside an XSLT transform).</p>
+ <p>The nodes representing <span>HTML elements</span> in the DOM <span class="impl">must</span>
+ implement, and expose to scripts, the interfaces listed for them in the relevant sections of this
+ specification. This includes <span>HTML elements</span> in <span>XML documents</span>, even when
+ those documents are in another context (e.g. inside an XSLT transform).</p>
- <p>Elements in the DOM <span title="represents">represent</span>
- things; that is, they have intrinsic <em>meaning</em>, also known as
- semantics.</p>
+ <p>Elements in the DOM <span title="represents">represent</span> things; that is, they have
+ intrinsic <em>meaning</em>, also known as semantics.</p>
- <p class="example">For example, an <code>ol</code> element
- represents an ordered list.</p>
+ <p class="example">For example, an <code>ol</code> element represents an ordered list.</p>
- <p>The basic interface, from which all the <span>HTML
- elements</span>' interfaces inherit, <span class="impl">and which
- must be used by elements that have no additional
- requirements,</span> is the <code>HTMLElement</code> interface.</p>
+ <p>The basic interface, from which all the <span>HTML elements</span>' interfaces inherit, <span
+ class="impl">and which must be used by elements that have no additional requirements,</span> is
+ the <code>HTMLElement</code> interface.</p>
<pre class="idl">interface <dfn>HTMLElement</dfn> : <span>Element</span> {
// metadata attributes
@@ -9841,16 +9783,14 @@
interface <dfn>HTMLUnknownElement</dfn> : <span>HTMLElement</span> { };</pre>
- <p>The <code>HTMLElement</code> interface holds methods and
- attributes related to a number of disparate features, and the
- members of this interface are therefore described in various
- different sections of this specification.</p>
+ <p>The <code>HTMLElement</code> interface holds methods and attributes related to a number of
+ disparate features, and the members of this interface are therefore described in various different
+ sections of this specification.</p>
<div class="impl">
- <p>The <code>HTMLUnknownElement</code> interface must be used for
- <span>HTML elements</span> that are not defined by this
- specification (or <span>other applicable specifications</span>).</p>
+ <p>The <code>HTMLUnknownElement</code> interface must be used for <span>HTML elements</span> that
+ are not defined by this specification (or <span>other applicable specifications</span>).</p>
</div>
@@ -9858,9 +9798,8 @@
<!--TOPIC:HTML-->
<h4><dfn>Global attributes</dfn></h4>
- <p>The following attributes are common to and may be specified on
- all <span>HTML elements</span><span class="impl"> (even those not
- defined in this specification)</span>:</p>
+ <p>The following attributes are common to and may be specified on all <span>HTML
+ elements</span><span class="impl"> (even those not defined in this specification)</span>:</p>
<ul class="brief">
<li><code title="attr-accesskey">accesskey</code></li>
@@ -9888,23 +9827,19 @@
<div class="impl">
- <p>These attributes are only defined by this specification as
- attributes for <span>HTML elements</span>. When this specification
- refers to elements having these attributes, elements from namespaces
- that are not defined as having these attributes must not be
- considered as being elements with these attributes.</p>
+ <p>These attributes are only defined by this specification as attributes for <span>HTML
+ elements</span>. When this specification refers to elements having these attributes, elements from
+ namespaces that are not defined as having these attributes must not be considered as being
+ elements with these attributes.</p>
<div class="example">
- <p>For example, in the following XML fragment, the "<code
- title="">bogus</code>" element does not have a <code
- title="attr-dir">dir</code> attribute as defined in this
- specification, despite having an attribute with the literal name
- "<code title="">dir</code>". Thus, <span>the directionality</span>
- of the inner-most <code>span</code> element is '<span
- title="concept-rtl">rtl</span>', inherited from the
- <code>div</code> element indirectly through the "<code
- title="">bogus</code>" element.</p>
+ <p>For example, in the following XML fragment, the "<code title="">bogus</code>" element does not
+ have a <code title="attr-dir">dir</code> attribute as defined in this specification, despite
+ having an attribute with the literal name "<code title="">dir</code>". Thus, <span>the
+ directionality</span> of the inner-most <code>span</code> element is '<span
+ title="concept-rtl">rtl</span>', inherited from the <code>div</code> element indirectly through
+ the "<code title="">bogus</code>" element.</p>
<pre class="bad"><div xmlns="http://www.w3.org/1999/html" dir="rtl">
<bogus xmlns="http://example.net/ns" dir="ltr">
@@ -9919,9 +9854,8 @@
<hr>
- <p>The following <span>event handler content attributes</span> may
- be specified on any <span title="HTML elements">HTML
- element</span>:</p>
+ <p>The following <span>event handler content attributes</span> may be specified on any <span
+ title="HTML elements">HTML element</span>:</p>
<ul class="brief">
<li><code title="handler-onabort">onabort</code></li>
@@ -9984,66 +9918,53 @@
<li><code title="handler-onwaiting">onwaiting</code></li>
</ul>
- <p class="note">The attributes marked with an asterisk have a
- different meaning when specified on <code>body</code> elements as
- those elements expose <span>event handlers</span> of the
+ <p class="note">The attributes marked with an asterisk have a different meaning when specified on
+ <code>body</code> elements as those elements expose <span>event handlers</span> of the
<code>Window</code> object with the same names.</p>
- <p class="note">While these attributes apply to all elements, they
- are not useful on all elements. For example, only <span title="media
- element">media elements</span> will ever receive a <code
- title="event-media-volumechange">volumechange</code> event fired by
- the user agent.</p>
+ <p class="note">While these attributes apply to all elements, they are not useful on all elements.
+ For example, only <span title="media element">media elements</span> will ever receive a <code
+ title="event-media-volumechange">volumechange</code> event fired by the user agent.</p>
<hr>
- <p><span title="custom data attribute">Custom data attributes</span>
- (e.g. <code title="">data-foldername</code> or <code
- title="">data-msgid</code>) can be specified on any <span
- title="HTML elements">HTML element</span>, to store custom data
- specific to the page.</p>
+ <p><span title="custom data attribute">Custom data attributes</span> (e.g. <code
+ title="">data-foldername</code> or <code title="">data-msgid</code>) can be specified on any <span
+ title="HTML elements">HTML element</span>, to store custom data specific to the page.</p>
<hr>
- <p>In <span>HTML documents</span>, elements in the <span>HTML
- namespace</span> may have an <code title="">xmlns</code> attribute
- specified, if, and only if, it has the exact value
- "<code>http://www.w3.org/1999/xhtml</code>". This does not apply to
- <span>XML documents</span>.</p>
+ <p>In <span>HTML documents</span>, elements in the <span>HTML namespace</span> may have an <code
+ title="">xmlns</code> attribute specified, if, and only if, it has the exact value
+ "<code>http://www.w3.org/1999/xhtml</code>". This does not apply to <span>XML
+ documents</span>.</p>
- <p class="note">In HTML, the <code title="">xmlns</code> attribute
- has absolutely no effect. It is basically a talisman. It is allowed
- merely to make migration to and from XHTML mildly easier. When
- parsed by an <span>HTML parser</span>, the attribute ends up in no
- namespace, not the "<code>http://www.w3.org/2000/xmlns/</code>"
- namespace like namespace declaration attributes in XML do.</p>
+ <p class="note">In HTML, the <code title="">xmlns</code> attribute has absolutely no effect. It is
+ basically a talisman. It is allowed merely to make migration to and from XHTML mildly easier. When
+ parsed by an <span>HTML parser</span>, the attribute ends up in no namespace, not the
+ "<code>http://www.w3.org/2000/xmlns/</code>" namespace like namespace declaration attributes in
+ XML do.</p>
- <p class="note">In XML, an <code title="">xmlns</code> attribute is
- part of the namespace declaration mechanism, and an element cannot
- actually have an <code title="">xmlns</code> attribute in no
- namespace specified.</p>
+ <p class="note">In XML, an <code title="">xmlns</code> attribute is part of the namespace
+ declaration mechanism, and an element cannot actually have an <code title="">xmlns</code>
+ attribute in no namespace specified.</p>
<hr>
- <p>The XML specification also allows the use of the <code
- title="attr-xml-space">xml:space</code> attribute in the <span>XML
- namespace</span> on any element in an <span title="XML
- documents">XML document</span>. This attribute has no effect on
- <span>HTML elements</span>, as the default behavior in HTML is to
- preserve whitespace. <a href="#refsXML">[XML]</a></p>
+ <p>The XML specification also allows the use of the <code title="attr-xml-space">xml:space</code>
+ attribute in the <span>XML namespace</span> on any element in an <span title="XML documents">XML
+ document</span>. This attribute has no effect on <span>HTML elements</span>, as the default
+ behavior in HTML is to preserve whitespace. <a href="#refsXML">[XML]</a></p>
- <p class="note">There is no way to serialize the <code
- title="attr-xml-space">xml:space</code> attribute on <span>HTML
- elements</span> in the <code>text/html</code> syntax.</p>
+ <p class="note">There is no way to serialize the <code title="attr-xml-space">xml:space</code>
+ attribute on <span>HTML elements</span> in the <code>text/html</code> syntax.</p>
<hr>
- <p>To enable assistive technology products to expose a more
- fine-grained interface than is otherwise possible with HTML elements
- and attributes, a set of <span title="WAI-ARIA">annotations for
- assistive technology products</span> can be specified (the ARIA
- <code title="attr-aria-role">role</code> and <code
- title="attr-aria-*">aria-*</code> attributes).</p>
+ <p>To enable assistive technology products to expose a more fine-grained interface than is
+ otherwise possible with HTML elements and attributes, a set of <span title="WAI-ARIA">annotations
+ for assistive technology products</span> can be specified (the ARIA <code
+ title="attr-aria-role">role</code> and <code title="attr-aria-*">aria-*</code> attributes).</p>
<h5>The <dfn title="attr-id"><code>id</code></dfn> attribute</h5>
@@ -10112,139 +10033,110 @@
</div>
- <p>Some elements, such as <code>link</code>, <code>abbr</code>, and
- <code>input</code>, define additional semantics for the <code
- title="attr-title">title</code> attribute beyond the semantics
- described above.</p> <!-- the other two are <code>style</code> and
- <code>dfn</code> -->
+ <p>Some elements, such as <code>link</code>, <code>abbr</code>, and <code>input</code>, define
+ additional semantics for the <code title="attr-title">title</code> attribute beyond the semantics
+ described above.</p> <!-- the other two are <code>style</code> and <code>dfn</code> -->
<div class="impl">
- <p>The <dfn>advisory information</dfn> of an element is the value
- that the following algorithm returns, with the algorithm being
- aborted once a value is returned. When the algorithm returns the
+ <p>The <dfn>advisory information</dfn> of an element is the value that the following algorithm
+ returns, with the algorithm being aborted once a value is returned. When the algorithm returns the
empty string, then there is no advisory information.</p>
<ol>
- <li><p>If the element is a <code>link</code>, <code>style</code>,
- <code>dfn</code>, <code>abbr</code>, or <code>title</code> element,
- then: if the element has a <code title="">title</code> attribute, <!-- not attr-title -->
- return the value of that attribute, otherwise, return the empty
- string.</p></li> <!-- note: <code>input</code> doesn't do this -->
+ <li><p>If the element is a <code>link</code>, <code>style</code>, <code>dfn</code>,
+ <code>abbr</code>, or <code>title</code> element, then: if the element has a <code
+ title="">title</code> attribute, <!-- not attr-title --> return the value of that attribute,
+ otherwise, return the empty string.</p></li> <!-- note: <code>input</code> doesn't do this -->
- <li><p>Otherwise, if the element has a <code
- title="attr-title=">title</code> attribute, then return its
- value.</p></li>
+ <li><p>Otherwise, if the element has a <code title="attr-title=">title</code> attribute, then
+ return its value.</p></li>
- <li><p>Otherwise, if the element has a parent element, then return
- the parent element's <span>advisory information</span>.</p></li>
+ <li><p>Otherwise, if the element has a parent element, then return the parent element's
+ <span>advisory information</span>.</p></li>
<li><p>Otherwise, return the empty string.</p></li>
</ol>
- <p>User agents should inform the user when elements have
- <span>advisory information</span>, otherwise the information would
- not be discoverable.</p>
+ <p>User agents should inform the user when elements have <span>advisory information</span>,
+ otherwise the information would not be discoverable.</p>
<hr>
- <p>The <dfn title="dom-title"><code>title</code></dfn> IDL attribute
- must <span>reflect</span> the <code title="attr-title">title</code>
- content attribute.</p>
+ <p>The <dfn title="dom-title"><code>title</code></dfn> IDL attribute must <span>reflect</span> the
+ <code title="attr-title">title</code> content attribute.</p>
</div>
- <h5>The <code title="attr-lang">lang</code> and <code
- title="attr-xml-lang">xml:lang</code> attributes</h5>
+ <h5>The <code title="attr-lang">lang</code> and <code title="attr-xml-lang">xml:lang</code> attributes</h5>
- <p>The <dfn title="attr-lang"><code>lang</code></dfn> attribute (in
- no namespace) specifies the primary language for the element's
- contents and for any of the element's attributes that contain
- text. Its value must be a valid BCP 47 language tag, or the empty
- string. Setting the attribute to the empty string indicates that the
- primary language is unknown<!-- UA conformance requirements for this
- are below -->. <a href="#refsBCP47">[BCP47]</a></p>
+ <p>The <dfn title="attr-lang"><code>lang</code></dfn> attribute (in no namespace) specifies the
+ primary language for the element's contents and for any of the element's attributes that contain
+ text. Its value must be a valid BCP 47 language tag, or the empty string. Setting the attribute to
+ the empty string indicates that the primary language is unknown<!-- UA conformance requirements
+ for this are below -->. <a href="#refsBCP47">[BCP47]</a></p>
- <p>The <dfn title="attr-xml-lang"><code title="">lang</code></dfn>
- attribute in the <span>XML namespace</span> is defined in XML. <a
- href="#refsXML">[XML]</a></p>
+ <p>The <dfn title="attr-xml-lang"><code title="">lang</code></dfn> attribute in the <span>XML
+ namespace</span> is defined in XML. <a href="#refsXML">[XML]</a></p>
- <p>If these attributes are omitted from an element, then the
- language of this element is the same as the language of its parent
- element, if any.</p>
+ <p>If these attributes are omitted from an element, then the language of this element is the same
+ as the language of its parent element, if any.</p>
- <p>The <code title="attr-lang">lang</code> attribute in no namespace
- may be used on any <span title="HTML elements">HTML
- element</span>.</p>
+ <p>The <code title="attr-lang">lang</code> attribute in no namespace may be used on any <span
+ title="HTML elements">HTML element</span>.</p>
- <p>The <span title="attr-xml-lang"><code title="">lang</code>
- attribute in the <span>XML namespace</span></span> may be used on
- <span>HTML elements</span> in <span>XML documents</span>, as well as
- elements in other namespaces if the relevant specifications allow it
- (in particular, MathML and SVG allow <span
- title="attr-xml-lang"><code title="">lang</code> attributes in the
- <span>XML namespace</span></span> to be specified on their
- elements). If both the <code title="attr-lang">lang</code> attribute
- in no namespace and the <span title="attr-xml-lang"><code
- title="">lang</code> attribute in the <span>XML
- namespace</span></span> are specified on the same element, they must
- have exactly the same value when compared in an <span>ASCII
+ <p>The <span title="attr-xml-lang"><code title="">lang</code> attribute in the <span>XML
+ namespace</span></span> may be used on <span>HTML elements</span> in <span>XML documents</span>,
+ as well as elements in other namespaces if the relevant specifications allow it (in particular,
+ MathML and SVG allow <span title="attr-xml-lang"><code title="">lang</code> attributes in the
+ <span>XML namespace</span></span> to be specified on their elements). If both the <code
+ title="attr-lang">lang</code> attribute in no namespace and the <span title="attr-xml-lang"><code
+ title="">lang</code> attribute in the <span>XML namespace</span></span> are specified on the same
+ element, they must have exactly the same value when compared in an <span>ASCII
case-insensitive</span> manner.</p>
- <p>Authors must not use the <span title="attr-xml-lang"><code
- title="">lang</code> attribute in the <span>XML
- namespace</span></span> on <span>HTML elements</span> in <span>HTML
- documents</span>. To ease migration to and from XHTML, authors may
- specify an attribute in no namespace with no prefix and with the
- literal localname "<code title="">xml:lang</code>" on <span>HTML
- elements</span> in <span>HTML documents</span>, but such attributes
- must only be specified if a <code title="attr-lang">lang</code>
- attribute in no namespace is also specified, and both attributes
- must have the same value when compared in an <span>ASCII
+ <p>Authors must not use the <span title="attr-xml-lang"><code title="">lang</code> attribute in
+ the <span>XML namespace</span></span> on <span>HTML elements</span> in <span>HTML
+ documents</span>. To ease migration to and from XHTML, authors may specify an attribute in no
+ namespace with no prefix and with the literal localname "<code title="">xml:lang</code>" on
+ <span>HTML elements</span> in <span>HTML documents</span>, but such attributes must only be
+ specified if a <code title="attr-lang">lang</code> attribute in no namespace is also specified,
+ and both attributes must have the same value when compared in an <span>ASCII
case-insensitive</span> manner.</p>
- <p class="note">The attribute in no namespace with no prefix and
- with the literal localname "<code title="">xml:lang</code>" has no
- effect on language processing.</p>
+ <p class="note">The attribute in no namespace with no prefix and with the literal localname "<code
+ title="">xml:lang</code>" has no effect on language processing.</p>
<div class="impl">
<hr>
- <p>To determine the <dfn>language</dfn> of a node, user agents must
- look at the nearest ancestor element (including the element itself
- if the node is an element) that has a <span
- title="attr-xml-lang"><code title="">lang</code> attribute in the
- <span>XML namespace</span></span> set or is an <span title="HTML
- elements">HTML element</span> and has a <code
- title="attr-lang">lang</code> in no namespace attribute set. That
- attribute specifies the language of the node (regardless of its
- value).</p>
+ <p>To determine the <dfn>language</dfn> of a node, user agents must look at the nearest ancestor
+ element (including the element itself if the node is an element) that has a <span
+ title="attr-xml-lang"><code title="">lang</code> attribute in the <span>XML
+ namespace</span></span> set or is an <span title="HTML elements">HTML element</span> and has a
+ <code title="attr-lang">lang</code> in no namespace attribute set. That attribute specifies the
+ language of the node (regardless of its value).</p>
- <p>If both the <code title="attr-lang">lang</code> attribute in no
- namespace and the <span title="attr-xml-lang"><code
- title="">lang</code> attribute in the <span>XML
- namespace</span></span> are set on an element, user agents must use
- the <span title="attr-xml-lang"><code title="">lang</code> attribute
- in the <span>XML namespace</span></span>, and the <code
- title="attr-lang">lang</code> attribute in no namespace must be
- <span title="ignore">ignored</span> for the purposes of determining
- the element's language.</p>
+ <p>If both the <code title="attr-lang">lang</code> attribute in no namespace and the <span
+ title="attr-xml-lang"><code title="">lang</code> attribute in the <span>XML
+ namespace</span></span> are set on an element, user agents must use the <span
+ title="attr-xml-lang"><code title="">lang</code> attribute in the <span>XML
+ namespace</span></span>, and the <code title="attr-lang">lang</code> attribute in no namespace
+ must be <span title="ignore">ignored</span> for the purposes of determining the element's
+ language.</p>
- <p>If neither the node nor any of the node's ancestors, including
- the <span>root element</span>, have either attribute set, but there
- is a <span>pragma-set default language</span> set, then that is the
- language of the node. If there is no <span>pragma-set default
- language</span> set, then language information from a higher-level
- protocol (such as HTTP), if any, must be used as the final fallback
- language instead. In the absence of any such language information,
- and in cases where the higher-level protocol reports multiple
- languages, the language of the node is unknown, and the
- corresponding language tag is the empty string.</p>
+ <p>If neither the node nor any of the node's ancestors, including the <span>root element</span>,
+ have either attribute set, but there is a <span>pragma-set default language</span> set, then that
+ is the language of the node. If there is no <span>pragma-set default language</span> set, then
+ language information from a higher-level protocol (such as HTTP), if any, must be used as the
+ final fallback language instead. In the absence of any such language information, and in cases
+ where the higher-level protocol reports multiple languages, the language of the node is unknown,
+ and the corresponding language tag is the empty string.</p>
<p>If the resulting value is not a recognized language tag, then it must be treated as an unknown
language having the given language tag, distinct from all other languages. For the purposes of
@@ -10265,31 +10157,26 @@
"xyzzy" is not how Belarusian is described in BCP 47 codes (BCP 47 uses the code "be" for
Belarusian).</p>
- <p>If the resulting value is the empty string, then it must be
- interpreted as meaning that the language of the node is explicitly
- unknown.</p>
+ <p>If the resulting value is the empty string, then it must be interpreted as meaning that the
+ language of the node is explicitly unknown.</p>
<hr>
- <p>User agents may use the element's language to determine proper
- processing or rendering (e.g. in the selection of appropriate fonts
- or pronunciations, for dictionary selection, or for the user
- interfaces of form controls such as date pickers). <!--User agents
- must not use the element's language to determine text
- directionality. (commented out because text directionality is a
+ <p>User agents may use the element's language to determine proper processing or rendering (e.g. in
+ the selection of appropriate fonts or pronunciations, for dictionary selection, or for the user
+ interfaces of form controls such as date pickers). <!--User agents must not use the element's
+ language to determine text directionality. (commented out because text directionality is a
rendering-level concern.)--></p>
- <!-- Date pickers would use the language information for determining
- the language of months, for example. They should use the page's
- _locale_ to figure out the format itself, not the language. There's
- currently no way to determine the page's locale except by guessing
- from the charset and language... -->
+ <!-- Date pickers would use the language information for determining the language of months, for
+ example. They should use the page's _locale_ to figure out the format itself, not the language.
+ There's currently no way to determine the page's locale except by guessing from the charset and
+ language... -->
<hr>
- <p>The <dfn title="dom-lang"><code>lang</code></dfn> IDL attribute
- must <span>reflect</span> the <code title="attr-lang">lang</code>
- content attribute in no namespace.</p>
+ <p>The <dfn title="dom-lang"><code>lang</code></dfn> IDL attribute must <span>reflect</span> the
+ <code title="attr-lang">lang</code> content attribute in no namespace.</p>
</div>
@@ -10300,64 +10187,52 @@
<!-- v2: a way to translate the declensions of the word(s), but keep the actual roots the same
for examples, see https://www.w3.org/Bugs/Public/show_bug.cgi?id=17954 -->
- <p>The <dfn title="attr-translate"><code>translate</code></dfn>
- attribute is an <span>enumerated attribute</span> that is used to
- specify whether an element's attribute values and the values of its
- <code>Text</code> node children are to be translated when the page
- is localized, or whether to leave them unchanged.</p>
+ <p>The <dfn title="attr-translate"><code>translate</code></dfn> attribute is an <span>enumerated
+ attribute</span> that is used to specify whether an element's attribute values and the values of
+ its <code>Text</code> node children are to be translated when the page is localized, or whether to
+ leave them unchanged.</p>
- <p>The attribute's keywords are the empty string, <code
- title="">yes</code>, and <code title="">no</code>. The empty string
- and the <code title="">yes</code> keyword map to the <i>yes</i>
- state. The <code title="">no</code> keyword maps to the <i>no</i>
- state. In addition, there is a third state, the <i>inherit</i>
- state, which is the <i>missing value default</i> (and the <i>invalid
- value default</i>).</p>
+ <p>The attribute's keywords are the empty string, <code title="">yes</code>, and <code
+ title="">no</code>. The empty string and the <code title="">yes</code> keyword map to the
+ <i>yes</i> state. The <code title="">no</code> keyword maps to the <i>no</i> state. In addition,
+ there is a third state, the <i>inherit</i> state, which is the <i>missing value default</i> (and
+ the <i>invalid value default</i>).</p>
- <p>Each element has a <dfn>translation mode</dfn>, which is in
- either the <span>translate-enabled</span> state or the
- <span>no-translate</span> state. If the element's <code
- title="attr-translate">translate</code> attribute is in the
- <i>yes</i> state, then the element's <span>translation mode</span>
- is in the <span>translate-enabled</span> state. Otherwise, if the
- element's <code title="attr-translate">translate</code> attribute is
- in the <i>no</i> state, then the element's <span>translation
- mode</span> is in the <span>no-translate</span> state. Otherwise,
- the element's <code title="attr-translate">translate</code>
- attribute is in the <i>inherit</i> state; in that case, the
- element's <span>translation mode</span> is in the same state as its
- parent element, if any, or in the <span>translate-enabled</span>
- state, if the element is a <span>root element</span>.</p>
+ <p>Each element has a <dfn>translation mode</dfn>, which is in either the
+ <span>translate-enabled</span> state or the <span>no-translate</span> state. If the element's
+ <code title="attr-translate">translate</code> attribute is in the <i>yes</i> state, then the
+ element's <span>translation mode</span> is in the <span>translate-enabled</span> state. Otherwise,
+ if the element's <code title="attr-translate">translate</code> attribute is in the <i>no</i>
+ state, then the element's <span>translation mode</span> is in the <span>no-translate</span> state.
+ Otherwise, the element's <code title="attr-translate">translate</code> attribute is in the
+ <i>inherit</i> state; in that case, the element's <span>translation mode</span> is in the same
+ state as its parent element, if any, or in the <span>translate-enabled</span> state, if the
+ element is a <span>root element</span>.</p>
- <p>When an element is in the <dfn>translate-enabled</dfn> state, the
- element's attribute values and the values of its <code>Text</code>
- node children are to be translated when the page is localized.</p>
+ <p>When an element is in the <dfn>translate-enabled</dfn> state, the element's attribute values
+ and the values of its <code>Text</code> node children are to be translated when the page is
+ localized.</p>
- <p>When an element is in the <dfn>no-translate</dfn> state, the
- element's attribute values and the values of its <code>Text</code>
- node children are to be left as-is when the page is localized, e.g.
- because the element contains a person's name or a the name of a
- computer program.</p>
+ <p>When an element is in the <dfn>no-translate</dfn> state, the element's attribute values and the
+ values of its <code>Text</code> node children are to be left as-is when the page is localized,
+ e.g. because the element contains a person's name or a the name of a computer program.</p>
<div class="impl">
<hr>
- <p>The <dfn title="dom-translate"><code>translate</code></dfn> IDL
- attribute must, on getting, return true if the element's
- <span>translation mode</span> is <span>translate-enabled</span>, and
- false otherwise. On setting, it must set the content attribute's
- value to "<code title="">yes</code>" if the new value is true, and
- set the content attribute's value to "<code title="">no</code>"
- otherwise.</p>
+ <p>The <dfn title="dom-translate"><code>translate</code></dfn> IDL attribute must, on getting,
+ return true if the element's <span>translation mode</span> is <span>translate-enabled</span>, and
+ false otherwise. On setting, it must set the content attribute's value to "<code
+ title="">yes</code>" if the new value is true, and set the content attribute's value to "<code
+ title="">no</code>" otherwise.</p>
</div>
<div class="example">
- <p>In this example, everything in the document is to be translated
- when the page is localised, except the sample keyboard input and
- sample program output:</p>
+ <p>In this example, everything in the document is to be translated when the page is localised,
+ except the sample keyboard input and sample program output:</p>
<pre><!DOCTYPE HTML>
<html> <!-- default on the root element is translate=yes -->
@@ -10376,24 +10251,21 @@
- <h5>The <dfn title="attr-xml-base"><code>xml:base</code></dfn>
- attribute (XML only)</h5>
+ <h5>The <dfn title="attr-xml-base"><code>xml:base</code></dfn> attribute (XML only)</h5>
- <p>The <code title="attr-xml-base">xml:base</code> attribute is
- defined in XML Base. <a href="#refsXMLBASE">[XMLBASE]</a></p>
+ <p>The <code title="attr-xml-base">xml:base</code> attribute is defined in XML Base. <a
+ href="#refsXMLBASE">[XMLBASE]</a></p>
- <p>The <code title="attr-xml-base">xml:base</code> attribute may be
- used on <span>HTML elements</span> of <span>XML documents</span>.
- Authors must not use the <code title="attr-xml-base">xml:base</code>
- attribute on <span>HTML elements</span> in <span>HTML
+ <p>The <code title="attr-xml-base">xml:base</code> attribute may be used on <span>HTML
+ elements</span> of <span>XML documents</span>. Authors must not use the <code
+ title="attr-xml-base">xml:base</code> attribute on <span>HTML elements</span> in <span>HTML
documents</span>.</p>
<h5>The <dfn title="attr-dir"><code>dir</code></dfn> attribute</h5>
- <p>The <code title="attr-dir">dir</code> attribute specifies the
- element's text directionality. The attribute is an <span>enumerated
- attribute</span> with the following keywords and states:</p>
+ <p>The <code title="attr-dir">dir</code> attribute specifies the element's text directionality.
+ The attribute is an <span>enumerated attribute</span> with the following keywords and states:</p>
<dl>
@@ -10419,28 +10291,24 @@
<dd>
- <p>Indicates that the contents of the element are explicitly
- embedded text, but that the direction is to be determined
- programmatically using the contents of the element (as described
+ <p>Indicates that the contents of the element are explicitly embedded text, but that the
+ direction is to be determined programmatically using the contents of the element (as described
below).</p>
- <p class="note">The heuristic used by this state is very crude (it
- just looks at the first character with a strong directionality, in
- a manner analogous to the Paragraph Level determination in the
- bidirectional algorithm). Authors are urged to only use this value
- as a last resort when the direction of the text is truly unknown
- and no better server-side heuristic can be applied. <a
- href="#refsBIDI">[BIDI]</a></p>
+ <p class="note">The heuristic used by this state is very crude (it just looks at the first
+ character with a strong directionality, in a manner analogous to the Paragraph Level
+ determination in the bidirectional algorithm). Authors are urged to only use this value as a
+ last resort when the direction of the text is truly unknown and no better server-side heuristic
+ can be applied. <a href="#refsBIDI">[BIDI]</a></p>
- <p class="note">For <code>textarea</code> and <code>pre</code>
- elements, the heuristic is applied on a per-paragraph level.</p>
+ <p class="note">For <code>textarea</code> and <code>pre</code> elements, the heuristic is
+ applied on a per-paragraph level.</p>
</dd>
</dl>
- <p>The attribute has no <i>invalid value default</i> and no
- <i>missing value default</i>.</p>
+ <p>The attribute has no <i>invalid value default</i> and no <i>missing value default</i>.</p>
<p><dfn>The directionality</dfn> of an element (any element, not just an <span title="HTML
elements">HTML element</span>) is either '<dfn title="concept-ltr">ltr</dfn>' or '<dfn
@@ -10450,15 +10318,15 @@
<dl class="switch">
- <dt>If the element's <code title="attr-dir">dir</code> attribute is
- in the <span title="attr-dir-ltr-state">ltr</span> state</dt>
+ <dt>If the element's <code title="attr-dir">dir</code> attribute is in the <span
+ title="attr-dir-ltr-state">ltr</span> state</dt>
<dd><p><span>The directionality</span> of the element is '<span
title="concept-ltr">ltr</span>'.</p></dd>
- <dt>If the element's <code title="attr-dir">dir</code> attribute is
- in the <span title="attr-dir-rtl-state">rtl</span> state</dt>
+ <dt>If the element's <code title="attr-dir">dir</code> attribute is in the <span
+ title="attr-dir-rtl-state">rtl</span> state</dt>
<dd><p><span>The directionality</span> of the element is '<span
title="concept-rtl">rtl</span>'.</p></dd>
@@ -10474,55 +10342,45 @@
title="attr-dir">dir</code> attribute is in the <span
title="attr-dir-auto-state">auto</span> state</dt>
- <dt>If the element is a <code>textarea</code> element and the <code
- title="attr-dir">dir</code> attribute is in the <span
- title="attr-dir-auto-state">auto</span> state</dt>
+ <dt>If the element is a <code>textarea</code> element and the <code title="attr-dir">dir</code>
+ attribute is in the <span title="attr-dir-auto-state">auto</span> state</dt>
<dd>
- <p>If the element's <span title="concept-fe-value">value</span>
- contains a character of bidirectional character type AL or R, and
- there is no character of bidirectional character type L anywhere
- before it in the element's <span
- title="concept-fe-value">value</span>, then <span>the
- directionality</span> of the element is '<span
- title="concept-rtl">rtl</span>'. Otherwise, <span>the
- directionality</span> of the element is '<span
- title="concept-ltr">ltr</span>'. <a
- href="#refsBIDI">[BIDI]</a></p>
+ <p>If the element's <span title="concept-fe-value">value</span> contains a character of
+ bidirectional character type AL or R, and there is no character of bidirectional character type
+ L anywhere before it in the element's <span title="concept-fe-value">value</span>, then
+ <span>the directionality</span> of the element is '<span title="concept-rtl">rtl</span>'.
+ Otherwise, <span>the directionality</span> of the element is '<span
+ title="concept-ltr">ltr</span>'. <a href="#refsBIDI">[BIDI]</a></p>
</dd>
- <dt>If the element's <code title="attr-dir">dir</code> attribute is
- in the <span title="attr-dir-auto-state">auto</span> state</dt>
+ <dt>If the element's <code title="attr-dir">dir</code> attribute is in the <span
+ title="attr-dir-auto-state">auto</span> state</dt>
- <dt>If the element is a <code>bdi</code> element and the <code
- title="attr-dir">dir</code> attribute is not in a defined state
- (i.e. it is not present or has an invalid value)</dt>
+ <dt>If the element is a <code>bdi</code> element and the <code title="attr-dir">dir</code>
+ attribute is not in a defined state (i.e. it is not present or has an invalid value)</dt>
<dd>
- <p>Find the first character in <span>tree order</span> that
- matches the following criteria:</p>
+ <p>Find the first character in <span>tree order</span> that matches the following criteria:</p>
<ul>
- <li><p>The character is from a <code>Text</code> node that is a
- descendant of the element whose <span title="the
- directionality">directionality</span> is being
- determined.</p></li>
+ <li><p>The character is from a <code>Text</code> node that is a descendant of the element whose
+ <span title="the directionality">directionality</span> is being determined.</p></li>
- <li><p>The character is of bidirectional character type L, AL,
- or R. <a href="#refsBIDI">[BIDI]</a></li>
+ <li><p>The character is of bidirectional character type L, AL, or R. <a
+ href="#refsBIDI">[BIDI]</a></li>
<li>
- <p>The character is not in a <code>Text</code> node that has an
- ancestor element that is a descendant of the element whose <span
- title="the directionality">directionality</span> is being
- determined and that is either:</p>
+ <p>The character is not in a <code>Text</code> node that has an ancestor element that is a
+ descendant of the element whose <span title="the directionality">directionality</span> is
+ being determined and that is either:</p>
<ul class="brief">
<li>A <code>bdi</code> element.
@@ -10536,31 +10394,27 @@
</ul>
- <p>If such a character is found and it is of bidirectional
- character type AL or R, <span>the directionality</span> of the
- element is '<span title="concept-rtl">rtl</span>'.</p>
+ <p>If such a character is found and it is of bidirectional character type AL or R, <span>the
+ directionality</span> of the element is '<span title="concept-rtl">rtl</span>'.</p>
- <p>Otherwise, <span>the directionality</span> of the element is
- '<span title="concept-ltr">ltr</span>'.</p>
+ <p>Otherwise, <span>the directionality</span> of the element is '<span
+ title="concept-ltr">ltr</span>'.</p>
</dd>
- <dt>If the element is a <span>root element</span> and the <code
- title="attr-dir">dir</code> attribute is not in a defined state
- (i.e. it is not present or has an invalid value)</dt>
+ <dt>If the element is a <span>root element</span> and the <code title="attr-dir">dir</code>
+ attribute is not in a defined state (i.e. it is not present or has an invalid value)</dt>
<dd><p><span>The directionality</span> of the element is '<span
title="concept-ltr">ltr</span>'.</p></dd>
- <dt>If the element has a parent element and the <code
- title="attr-dir">dir</code> attribute is not in a defined state
- (i.e. it is not present or has an invalid value)</dt>
+ <dt>If the element has a parent element and the <code title="attr-dir">dir</code> attribute is
+ not in a defined state (i.e. it is not present or has an invalid value)</dt>
- <dd><p><span>The directionality</span> of the element is the same
- as the element's parent element's <span title="the
- directionality">directionality</span>.</p></dd>
+ <dd><p><span>The directionality</span> of the element is the same as the element's parent
+ element's <span title="the directionality">directionality</span>.</p></dd>
</dl>
@@ -10571,11 +10425,9 @@
directionality">directionality</span> from their parent element, or, if they don't have one,
default to '<span title="concept-ltr">ltr</span>'.</p>
- <p>The effect of this attribute is primarily on the presentation
- layer. For example, the rendering section in this specification
- defines a mapping from this attribute to the CSS 'direction' and
- 'unicode-bidi' properties, and CSS defines rendering in terms of
- those properties.</p>
+ <p>The effect of this attribute is primarily on the presentation layer. For example, the rendering
+ section in this specification defines a mapping from this attribute to the CSS 'direction' and
+ 'unicode-bidi' properties, and CSS defines rendering in terms of those properties.</p>
<hr>
@@ -10592,26 +10444,22 @@
<div class="impl">
- <p>The <dfn title="dom-dir"><code>dir</code></dfn> IDL attribute on
- an element must <span>reflect</span> the <code
- title="attr-dir">dir</code> content attribute of that element,
+ <p>The <dfn title="dom-dir"><code>dir</code></dfn> IDL attribute on an element must
+ <span>reflect</span> the <code title="attr-dir">dir</code> content attribute of that element,
<span>limited to only known values</span>.</p>
- <p>The <dfn title="dom-document-dir"><code>dir</code></dfn> IDL
- attribute on <code>Document</code> objects must
- <span>reflect</span> the <code title="attr-dir">dir</code> content
- attribute of <span>the <code>html</code> element</span>, if any,
- <span>limited to only known values</span>. If there is no such
- element, then the attribute must return the empty string and do
- nothing on setting.</p>
+ <p>The <dfn title="dom-document-dir"><code>dir</code></dfn> IDL attribute on <code>Document</code>
+ objects must <span>reflect</span> the <code title="attr-dir">dir</code> content attribute of
+ <span>the <code>html</code> element</span>, if any, <span>limited to only known values</span>. If
+ there is no such element, then the attribute must return the empty string and do nothing on
+ setting.</p>
</div>
- <p class="note">Authors are strongly encouraged to use the <code
- title="attr-dir">dir</code> attribute to indicate text direction
- rather than using CSS, since that way their documents will continue
- to render correctly even in the absence of CSS (e.g. as interpreted
- by search engines).</p>
+ <p class="note">Authors are strongly encouraged to use the <code title="attr-dir">dir</code>
+ attribute to indicate text direction rather than using CSS, since that way their documents will
+ continue to render correctly even in the absence of CSS (e.g. as interpreted by search
+ engines).</p>
<div class="example">
@@ -10640,18 +10488,15 @@
<p dir=rtl class="u1"><b><bdi>Student</bdi>:</b> "من فضلك", right?</p>
-->
- <p>Given a suitable style sheet and the default alignment styles
- for the <code>p</code> element, namely to align the text to the
- <i>start edge</i> of the paragraph, the resulting rendering could
+ <p>Given a suitable style sheet and the default alignment styles for the <code>p</code> element,
+ namely to align the text to the <i>start edge</i> of the paragraph, the resulting rendering could
be as follows:</p>
<p><img src="images/im.png" alt="Each paragraph rendered as a separate block, with the paragraphs left-aligned except the second paragraph and the last one, which would be right aligned, with the usernames ('Student' and 'Teacher' in this example) flush right, with a colon to their left, and the text first to the left of that."></p>
- <p>As noted earlier, the <code title="attr-dir-auto">auto</code>
- value is not a panacea. The final paragraph in this example is
- misinterpreted as being right-to-left text, since it begins with an
- Arabic character, which causes the "right?" to be to the left of
- the Arabic text.</p>
+ <p>As noted earlier, the <code title="attr-dir-auto">auto</code> value is not a panacea. The
+ final paragraph in this example is misinterpreted as being right-to-left text, since it begins
+ with an Arabic character, which causes the "right?" to be to the left of the Arabic text.</p>
</div>
@@ -10697,31 +10542,26 @@
<h5>The <dfn title="attr-style"><code>style</code></dfn> attribute</h5>
- <p>All <span>HTML elements</span> may have the <code
- title="attr-style">style</code> content attribute set. This is a
- <span>CSS styling attribute</span> as defined by the CSS Styling
- Attribute Syntax specification. <a
- href="#refsCSSATTR">[CSSATTR]</a></p>
+ <p>All <span>HTML elements</span> may have the <code title="attr-style">style</code> content
+ attribute set. This is a <span>CSS styling attribute</span> as defined by the CSS Styling
+ Attribute Syntax specification. <a href="#refsCSSATTR">[CSSATTR]</a></p>
<div class="impl">
- <p>In user agents that support CSS, the attribute's value must be
- parsed when the attribute is added or has its value changed<!-- so
- dynamic changes to the base URL don't affect the CSS -->, according
- to the rules given for <span>CSS styling attributes</span>. <a
+ <p>In user agents that support CSS, the attribute's value must be parsed when the attribute is
+ added or has its value changed<!-- so dynamic changes to the base URL don't affect the CSS -->,
+ according to the rules given for <span>CSS styling attributes</span>. <a
href="#refsCSSATTR">[CSSATTR]</a></p>
</div>
- <p>Documents that use <code title="attr-style">style</code>
- attributes on any of their elements must still be comprehensible and
- usable if those attributes were removed.</p>
+ <p>Documents that use <code title="attr-style">style</code> attributes on any of their elements
+ must still be comprehensible and usable if those attributes were removed.</p>
- <p class="note">In particular, using the <code
- title="attr-style">style</code> attribute to hide and show content,
- or to convey meaning that is otherwise not included in the document,
- is non-conforming. (To hide and show content, use the <code
- title="attr-hidden">hidden</code> attribute.)</p>
+ <p class="note">In particular, using the <code title="attr-style">style</code> attribute to hide
+ and show content, or to convey meaning that is otherwise not included in the document, is
+ non-conforming. (To hide and show content, use the <code title="attr-hidden">hidden</code>
+ attribute.)</p>
<hr>
@@ -10736,25 +10576,21 @@
<div class="impl">
- <p>The <dfn title="dom-style"><code>style</code></dfn> IDL attribute
- must return a <code>CSSStyleDeclaration</code> whose value
- represents the declarations specified in the attribute. (If the
- attribute is absent, the object represents an empty declaration.)
- Mutating the <code>CSSStyleDeclaration</code> object must create a
- <code title="attr-style">style</code> attribute on the element (if
- there isn't one already) and then change its value to be a value
- representing the serialized form of the
- <code>CSSStyleDeclaration</code> object. The same object must be
- returned each time. <a href="#refsCSSOM">[CSSOM]</a></p>
+ <p>The <dfn title="dom-style"><code>style</code></dfn> IDL attribute must return a
+ <code>CSSStyleDeclaration</code> whose value represents the declarations specified in the
+ attribute. (If the attribute is absent, the object represents an empty declaration.) Mutating the
+ <code>CSSStyleDeclaration</code> object must create a <code title="attr-style">style</code>
+ attribute on the element (if there isn't one already) and then change its value to be a value
+ representing the serialized form of the <code>CSSStyleDeclaration</code> object. The same object
+ must be returned each time. <a href="#refsCSSOM">[CSSOM]</a></p>
</div>
<div class="example">
- <p>In the following example, the words that refer to colors are
- marked up using the <code>span</code> element and the <code
- title="attr-style">style</code> attribute to make those words show
- up in the relevant colors in visual media.</p>
+ <p>In the following example, the words that refer to colors are marked up using the
+ <code>span</code> element and the <code title="attr-style">style</code> attribute to make those
+ words show up in the relevant colors in visual media.</p>
<pre><p>My sweat suit is <span style="color: green; background:
transparent">green</span> and my eyes are <span style="color: blue;
@@ -10766,51 +10602,43 @@
<h5><dfn>Embedding custom non-visible data</dfn> with the <code title="attr-data-*">data-*</code> attributes</h5>
- <p>A <dfn>custom data attribute</dfn> is an attribute in no
- namespace whose name starts with the string "<dfn
- title="attr-data-*"><code>data-</code></dfn>", has at least one
- character after the hyphen, is <span>XML-compatible</span>, and
- contains no <span>uppercase ASCII letters</span>.</p>
+ <p>A <dfn>custom data attribute</dfn> is an attribute in no namespace whose name starts with the
+ string "<dfn title="attr-data-*"><code>data-</code></dfn>", has at least one character after the
+ hyphen, is <span>XML-compatible</span>, and contains no <span>uppercase ASCII letters</span>.</p>
- <p class="note">All attribute names on <span>HTML elements</span> in
- <span>HTML documents</span> get ASCII-lowercased automatically, so
- the restriction on ASCII uppercase letters doesn't affect such
- documents.</p>
+ <p class="note">All attribute names on <span>HTML elements</span> in <span>HTML documents</span>
+ get ASCII-lowercased automatically, so the restriction on ASCII uppercase letters doesn't affect
+ such documents.</p>
- <p><span title="custom data attribute">Custom data attributes</span>
- are intended to store custom data private to the page or
- application, for which there are no more appropriate attributes or
+ <p><span title="custom data attribute">Custom data attributes</span> are intended to store custom
+ data private to the page or application, for which there are no more appropriate attributes or
elements.</p>
- <p>These attributes are not intended for use by software that is
- independent of the site that uses the attributes.</p>
+ <p>These attributes are not intended for use by software that is independent of the site that uses
+ the attributes.</p>
<div class="example">
- <p>For instance, a site about music could annotate list items
- representing tracks in an album with custom data attributes
- containing the length of each track. This information could then be
- used by the site itself to allow the user to sort the list by track
- length, or to filter the list for tracks of certain lengths.</p>
+ <p>For instance, a site about music could annotate list items representing tracks in an album
+ with custom data attributes containing the length of each track. This information could then be
+ used by the site itself to allow the user to sort the list by track length, or to filter the list
+ for tracks of certain lengths.</p>
<pre><ol>
<li data-length="2m11s">Beyond The Sea</li>
...
</ol></pre>
- <p>It would be inappropriate, however, for the user to use generic
- software not associated with that music site to search for tracks
- of a certain length by looking at this data.</p>
+ <p>It would be inappropriate, however, for the user to use generic software not associated with
+ that music site to search for tracks of a certain length by looking at this data.</p>
- <p>This is because these attributes are intended for use by the
- site's own scripts, and are not a generic extension mechanism for
- publicly-usable metadata.</p>
+ <p>This is because these attributes are intended for use by the site's own scripts, and are not a
+ generic extension mechanism for publicly-usable metadata.</p>
</div>
- <p>Every <span title="HTML elements">HTML element</span> may have
- any number of <span title="custom data attribute">custom data
- attributes</span> specified, with any value.</p>
+ <p>Every <span title="HTML elements">HTML element</span> may have any number of <span
+ title="custom data attribute">custom data attributes</span> specified, with any value.</p>
<hr>
@@ -10819,11 +10647,11 @@
<dt><var title="">element</var> . <code title="dom-dataset">dataset</code></dt>
<dd>
- <p>Returns a <code>DOMStringMap</code> object for the element's <code title="attr-data-*">data-*</code> attributes.</p>
+ <p>Returns a <code>DOMStringMap</code> object for the element's <code
+ title="attr-data-*">data-*</code> attributes.</p>
- <p>Hyphenated names become camel-cased. For example, <code
- title="">data-foo-bar=""</code> becomes <code
- title="">element.dataset.fooBar</code>.</p>
+ <p>Hyphenated names become camel-cased. For example, <code title="">data-foo-bar=""</code>
+ becomes <code title="">element.dataset.fooBar</code>.</p>
</dd>
@@ -10831,13 +10659,11 @@
<div class="impl">
- <p>The <dfn title="dom-dataset"><code>dataset</code></dfn> IDL
- attribute provides convenient accessors for all the <code
- title="attr-data-*">data-*</code> attributes on an element. On
- getting, the <code title="dom-dataset">dataset</code> IDL attribute
- must return a <code>DOMStringMap</code> object, associated with the
- following algorithms, which expose these attributes on their
- element:</p>
+ <p>The <dfn title="dom-dataset"><code>dataset</code></dfn> IDL attribute provides convenient
+ accessors for all the <code title="attr-data-*">data-*</code> attributes on an element. On
+ getting, the <code title="dom-dataset">dataset</code> IDL attribute must return a
+ <code>DOMStringMap</code> object, associated with the following algorithms, which expose these
+ attributes on their element:</p>
<dl>
@@ -10849,12 +10675,11 @@
<li>Let <var title="">list</var> be an empty list of name-value
pairs.</li>
- <li>For each content attribute on the element whose first five
- characters are the string "<code title="">data-</code>" and whose
- remaining characters (if any) do not include any <span>uppercase ASCII letters</span>, add a name-value pair to <var
- title="">list</var> whose name is the attribute's name with the
- first five characters removed and whose value is the attribute's
- value.</li>
+ <li>For each content attribute on the element whose first five characters are the string "<code
+ title="">data-</code>" and whose remaining characters (if any) do not include any
+ <span>uppercase ASCII letters</span>, add a name-value pair to <var title="">list</var> whose
+ name is the attribute's name with the first five characters removed and whose value is the
+ attribute's value.</li>
<li>For each name <var title="">list</var>, for each U+002D HYPHEN-MINUS character (-) in the
name that is followed by a <span title="lowercase ASCII letters">lowercase ASCII letter</span>,
@@ -10899,23 +10724,23 @@
<dd>
<ol>
- <li>Let <var title="">name</var> be the name passed to the
- algorithm.</li>
+ <li>Let <var title="">name</var> be the name passed to the algorithm.</li>
+
<!--(can't happen while the DOMStringMap deleter has no name)
<li>If <var title="">name</var> contains a U+002D HYPHEN-MINUS character (-) followed by a
<span title="lowercase ASCII letters">lowercase ASCII letter</span>, throw a
<code>SyntaxError</code> exception and abort these steps.</li>
-->
+
<li>For each <span title="uppercase ASCII letters">uppercase ASCII letter</span> in <var
- title="">name</var>, insert a U+002D HYPHEN-MINUS character (-)
- before the character and replace the character with the same
- character <span>converted to ASCII lowercase</span>.</li>
+ title="">name</var>, insert a U+002D HYPHEN-MINUS character (-) before the character and
+ replace the character with the same character <span>converted to ASCII lowercase</span>.</li>
- <li>Insert the string <code title="">data-</code> at the front of
- <var title="">name</var>.</li>
+ <li>Insert the string <code title="">data-</code> at the front of <var
+ title="">name</var>.</li>
- <li>Remove the attribute with the name <var title="">name</var>,
- if such an attribute exists. Do nothing otherwise.</li>
+ <li>Remove the attribute with the name <var title="">name</var>, if such an attribute exists.
+ Do nothing otherwise.</li>
</ol>
</dd>
@@ -10928,9 +10753,8 @@
<div class="example">
- <p>If a Web page wanted an element to represent a space ship,
- e.g. as part of a game, it would have to use the <code
- title="attr-class">class</code> attribute along with <code
+ <p>If a Web page wanted an element to represent a space ship, e.g. as part of a game, it would
+ have to use the <code title="attr-class">class</code> attribute along with <code
title="attr-data-*">data-*</code> attributes:</p>
<pre><div class="spaceship" data-ship-id="92432"
@@ -10942,79 +10766,67 @@
</button>
</div></pre>
- <p>Notice how the hyphenated attribute name becomes camel-cased in
- the API.</p>
+ <p>Notice how the hyphenated attribute name becomes camel-cased in the API.</p>
</div>
- <p>Authors should carefully design such extensions so that when the
- attributes are ignored and any associated CSS dropped, the page is
- still usable.</p>
+ <p>Authors should carefully design such extensions so that when the attributes are ignored and any
+ associated CSS dropped, the page is still usable.</p>
<div class="impl">
- <p>User agents must not derive any implementation behavior from
- these attributes or values. Specifications intended for user agents
- must not define these attributes to have any meaningful values.</p>
+ <p>User agents must not derive any implementation behavior from these attributes or values.
+ Specifications intended for user agents must not define these attributes to have any meaningful
+ values.</p>
</div>
- <p>JavaScript libraries may use the <span title="custom data
- attribute">custom data attributes</span>, as they are considered to
- be part of the page on which they are used. Authors of libraries
- that are reused by many authors are encouraged to include their name
- in the attribute names, to reduce the risk of clashes. Where it
- makes sense, library authors are also encouraged to make the exact
- name used in the attribute names customizable, so that libraries
- whose authors unknowingly picked the same name can be used on the
- same page, and so that multiple versions of a particular library can
- be used on the same page even when those versions are not mutually
+ <p>JavaScript libraries may use the <span title="custom data attribute">custom data
+ attributes</span>, as they are considered to be part of the page on which they are used. Authors
+ of libraries that are reused by many authors are encouraged to include their name in the attribute
+ names, to reduce the risk of clashes. Where it makes sense, library authors are also encouraged to
+ make the exact name used in the attribute names customizable, so that libraries whose authors
+ unknowingly picked the same name can be used on the same page, and so that multiple versions of a
+ particular library can be used on the same page even when those versions are not mutually
compatible.</p>
<div class="example">
- <p>For example, a library called "DoQuery" could use attribute
- names like <code title="">data-doquery-range</code>, and a library
- called "jJo" could use attributes names like <code
- title="">data-jjo-range</code>. The jJo library could also provide
- an API to set which prefix to use (e.g. <code
- title="">J.setDataPrefix('j2')</code>, making the attributes have
- names like <code title="">data-j2-range</code>).</p>
+ <p>For example, a library called "DoQuery" could use attribute names like <code
+ title="">data-doquery-range</code>, and a library called "jJo" could use attributes names like
+ <code title="">data-jjo-range</code>. The jJo library could also provide an API to set which
+ prefix to use (e.g. <code title="">J.setDataPrefix('j2')</code>, making the attributes have names
+ like <code title="">data-j2-range</code>).</p>
</div>
<h4>Element definitions</h4>
- <p>Each element in this specification has a definition that includes
- the following information:</p>
+ <p>Each element in this specification has a definition that includes the following
+ information:</p>
<dl>
<dt><dfn title="element-dfn-categories">Categories</dfn></dt>
- <dd><p>A list of <span title="content categories">categories</span>
- to which the element belongs. These are used when defining the
- <span>content models</span> for each element.</p></dd>
+ <dd><p>A list of <span title="content categories">categories</span> to which the element belongs.
+ These are used when defining the <span>content models</span> for each element.</p></dd>
<dt><dfn title="element-dfn-contexts">Contexts in which this element can be used</dfn></dt>
<dd>
- <p>A <em>non-normative</em> description of where the element can
- be used. This information is redundant with the content models of
- elements that allow this one as a child, and is provided only as a
- convenience.</p>
+ <p>A <em>non-normative</em> description of where the element can be used. This information is
+ redundant with the content models of elements that allow this one as a child, and is provided
+ only as a convenience.</p>
- <p class="note">For simplicity, only the most specific
- expectations are listed. For example, an element that is both
- <span>flow content</span> and <span>phrasing content</span> can be
- used anywhere that either <span>flow content</span> or
- <span>phrasing content</span> is expected, but since anywhere that
- <span>flow content</span> is expected, <span>phrasing
- content</span> is also expected (since all <span>phrasing
- content</span> is <span>flow content</span>), only "where
+ <p class="note">For simplicity, only the most specific expectations are listed. For example, an
+ element that is both <span>flow content</span> and <span>phrasing content</span> can be used
+ anywhere that either <span>flow content</span> or <span>phrasing content</span> is expected, but
+ since anywhere that <span>flow content</span> is expected, <span>phrasing content</span> is also
+ expected (since all <span>phrasing content</span> is <span>flow content</span>), only "where
<span>phrasing content</span> is expected" will be listed.</p>
</dd>
@@ -11022,96 +10834,77 @@
<dt><dfn title="element-dfn-content-model">Content model</dfn></dt>
- <dd><p>A normative description of what content must be included as
- children and descendants of the element.</p></dd>
+ <dd><p>A normative description of what content must be included as children and descendants of
+ the element.</p></dd>
<dt><dfn title="element-dfn-attributes">Content attributes</dfn></dt>
- <dd><p>A normative list of attributes that may be specified on the
- element (except where otherwise disallowed).</p></dd>
+ <dd><p>A normative list of attributes that may be specified on the element (except where
+ otherwise disallowed).</p></dd>
<dt><dfn title="element-dfn-dom">DOM interface</dfn></dt>
- <dd><p>A normative definition of a DOM interface that such elements
- must implement.</p></dd>
+ <dd><p>A normative definition of a DOM interface that such elements must implement.</p></dd>
</dl>
- <p>This is then followed by a description of what the element
- <span>represents</span>, along with any additional normative
- conformance criteria that may apply to authors<span title=""
- class="impl"> and implementations</span>. Examples are sometimes
- also included.</p>
+ <p>This is then followed by a description of what the element <span>represents</span>, along with
+ any additional normative conformance criteria that may apply to authors<span title=""
+ class="impl"> and implementations</span>. Examples are sometimes also included.</p>
<h5>Attributes</h5>
- <p id="attribute-text">Except where otherwise specified, attributes
- on <span>HTML elements</span> may have any string value, including
- the empty string. Except where explicitly stated, there is no
+ <p id="attribute-text">Except where otherwise specified, attributes on <span>HTML elements</span>
+ may have any string value, including the empty string. Except where explicitly stated, there is no
restriction on what text can be specified in such attributes.</p>
<h4><dfn>Content models</dfn></h4>
- <p>Each element defined in this specification has a content model: a
- description of the element's expected contents. An <span title="HTML
- elements">HTML element</span> must have contents that match the
- requirements described in the element's content model.</p>
+ <p>Each element defined in this specification has a content model: a description of the element's
+ expected contents. An <span title="HTML elements">HTML element</span> must have contents that
+ match the requirements described in the element's content model.</p>
- <p>The <span title="space character">space characters</span> are
- always allowed between elements. User agents represent these
- characters between elements in the source markup as
- <code>Text</code> nodes in the DOM.<!-- not a conf criteria since
- the parser now requires this --> Empty <code>Text</code> nodes and
- <code>Text</code> nodes consisting of just sequences of those
+ <p>The <span title="space character">space characters</span> are always allowed between elements.
+ User agents represent these characters between elements in the source markup as <code>Text</code>
+ nodes in the DOM.<!-- not a conf criteria since the parser now requires this --> Empty
+ <code>Text</code> nodes and <code>Text</code> nodes consisting of just sequences of those
characters are considered <dfn>inter-element whitespace</dfn>.</p>
- <p><span>Inter-element whitespace</span>, comment nodes, and
- processing instruction nodes must be ignored when establishing
- whether an element's contents match the element's content model or
- not, and must be ignored when following algorithms that define
- document and element semantics.</p>
+ <p><span>Inter-element whitespace</span>, comment nodes, and processing instruction nodes must be
+ ignored when establishing whether an element's contents match the element's content model or not,
+ and must be ignored when following algorithms that define document and element semantics.</p>
- <p class="note">Thus, an element <var title="">A</var> is said to be
- <i>preceded or followed</i> by a second element <var
- title="">B</var> if <var title="">A</var> and <var title="">B</var>
- have the same parent node and there are no other element nodes or
- <code>Text</code> nodes (other than <span>inter-element
- whitespace</span>) between them. Similarly, a node is the <i>only
- child</i> of an element if that element contains no other nodes
- other than <span>inter-element whitespace</span>, comment nodes, and
- processing instruction nodes.</p>
+ <p class="note">Thus, an element <var title="">A</var> is said to be <i>preceded or followed</i>
+ by a second element <var title="">B</var> if <var title="">A</var> and <var title="">B</var> have
+ the same parent node and there are no other element nodes or <code>Text</code> nodes (other than
+ <span>inter-element whitespace</span>) between them. Similarly, a node is the <i>only child</i> of
+ an element if that element contains no other nodes other than <span>inter-element
+ whitespace</span>, comment nodes, and processing instruction nodes.</p>
- <p>Authors must not use <span>HTML elements</span> anywhere except
- where they are explicitly allowed, as defined for each element, or
- as explicitly required by other specifications. For XML compound
- documents, these contexts could be inside elements from other
- namespaces, if those elements are defined as providing the relevant
- contexts.</p>
+ <p>Authors must not use <span>HTML elements</span> anywhere except where they are explicitly
+ allowed, as defined for each element, or as explicitly required by other specifications. For XML
+ compound documents, these contexts could be inside elements from other namespaces, if those
+ elements are defined as providing the relevant contexts.</p>
<div class="example">
- <p>For example, the Atom specification defines a <code
- title="">content</code> element. When its <code
- title="">type</code> attribute has the value <code
- title="">xhtml</code>, the Atom specification requires that it
- contain a single HTML <code>div</code> element. Thus, a
- <code>div</code> element is allowed in that context, even though
- this is not explicitly normatively stated by this specification. <a
- href="#refsATOM">[ATOM]</a></p>
+ <p>For example, the Atom specification defines a <code title="">content</code> element. When its
+ <code title="">type</code> attribute has the value <code title="">xhtml</code>, the Atom
+ specification requires that it contain a single HTML <code>div</code> element. Thus, a
+ <code>div</code> element is allowed in that context, even though this is not explicitly
+ normatively stated by this specification. <a href="#refsATOM">[ATOM]</a></p>
</div>
- <p>In addition, <span>HTML elements</span> may be orphan nodes
- (i.e. without a parent node).</p>
+ <p>In addition, <span>HTML elements</span> may be orphan nodes (i.e. without a parent node).</p>
<div class="example">
- <p>For example, creating a <code>td</code> element and storing it
- in a global variable in a script is conforming, even though
- <code>td</code> elements are otherwise only supposed to be used
+ <p>For example, creating a <code>td</code> element and storing it in a global variable in a
+ script is conforming, even though <code>td</code> elements are otherwise only supposed to be used
inside <code>tr</code> elements.</p>
<pre>var data = {
@@ -11124,10 +10917,9 @@
<h5>Kinds of content</h5>
- <p>Each element in HTML falls into zero or more <dfn title="content
- categories">categories</dfn> that group elements with similar
- characteristics together. The following broad categories are used in
- this specification:</p>
+ <p>Each element in HTML falls into zero or more <dfn title="content categories">categories</dfn>
+ that group elements with similar characteristics together. The following broad categories are used
+ in this specification:</p>
<ul class="brief">
<li><span>Metadata content</span></li>
@@ -11139,30 +10931,27 @@
<li><span>Interactive content</span></li>
</ul>
- <p class="note">Some elements also fall into other categories, which
- are defined in other parts of this specification.</p>
+ <p class="note">Some elements also fall into other categories, which are defined in other parts of
+ this specification.</p>
<p>These categories are related as follows:</p>
<p><object width="1000" height="288" data="images/content-venn.svg"><img src="images/content-venn.png" alt=""></object></p>
- <p>Sectioning content, heading content, phrasing content, embedded
- content, and interactive content are all types of flow content.
- Metadata is sometimes flow content. Metadata and interactive content
- are sometimes phrasing content. Embedded content is also a type of
- phrasing content, and sometimes is interactive content.</p>
+ <p>Sectioning content, heading content, phrasing content, embedded content, and interactive
+ content are all types of flow content. Metadata is sometimes flow content. Metadata and
+ interactive content are sometimes phrasing content. Embedded content is also a type of phrasing
+ content, and sometimes is interactive content.</p>
- <p>Other categories are also used for specific purposes, e.g. form
- controls are specified using a number of categories to define common
- requirements. Some elements have unique requirements and do not fit
- into any particular category.</p>
+ <p>Other categories are also used for specific purposes, e.g. form controls are specified using a
+ number of categories to define common requirements. Some elements have unique requirements and do
+ not fit into any particular category.</p>
<h6>Metadata content</h6>
- <p><dfn>Metadata content</dfn> is content that sets up the
- presentation or behavior of the rest of the content, or that sets
- up the relationship of the document with other documents, or that
+ <p><dfn>Metadata content</dfn> is content that sets up the presentation or behavior of the rest of
+ the content, or that sets up the relationship of the document with other documents, or that
conveys other "out of band" information.</p>
<!-- when updating this also update the category index -->
@@ -11176,9 +10965,8 @@
<li><code>title</code></li>
</ul>
- <p>Elements from other namespaces whose semantics are primarily
- metadata-related (e.g. RDF) are also <span>metadata
- content</span>.</p>
+ <p>Elements from other namespaces whose semantics are primarily metadata-related (e.g. RDF) are
+ also <span>metadata content</span>.</p>
<div class="example">
@@ -11211,8 +10999,8 @@
<h6>Flow content</h6>
- <p>Most elements that are used in the body of documents and
- applications are categorized as <dfn>flow content</dfn>.</p>
+ <p>Most elements that are used in the body of documents and applications are categorized as
+ <dfn>flow content</dfn>.</p>
<!-- when updating this also update the category index -->
<ul class="brief category-list">
@@ -11307,9 +11095,8 @@
<h6>Sectioning content</h6>
- <p><dfn>Sectioning content</dfn> is content that defines the scope
- of <span title="heading content">headings</span> and <span
- title="footer">footers</span>.</p>
+ <p><dfn>Sectioning content</dfn> is content that defines the scope of <span title="heading
+ content">headings</span> and <span title="footer">footers</span>.</p>
<!-- when updating this also update the category index -->
<ul class="brief category-list">
@@ -11319,21 +11106,19 @@
<li><code>section</code></li>
</ul>
- <p>Each <span>sectioning content</span> element potentially has a
- heading and an <span>outline</span>. See the section on
- <span>headings and sections</span> for further details.</p>
+ <p>Each <span>sectioning content</span> element potentially has a heading and an
+ <span>outline</span>. See the section on <span>headings and sections</span> for further
+ details.</p>
- <p class="note">There are also certain elements that are <span
- title="sectioning root">sectioning roots</span>. These are distinct
- from <span>sectioning content</span>, but they can also have an
+ <p class="note">There are also certain elements that are <span title="sectioning root">sectioning
+ roots</span>. These are distinct from <span>sectioning content</span>, but they can also have an
<span>outline</span>.</p>
<h6>Heading content</h6>
- <p><dfn>Heading content</dfn> defines the header of a section
- (whether explicitly marked up using <span>sectioning content</span>
- elements, or implied by the heading content itself).</p>
+ <p><dfn>Heading content</dfn> defines the header of a section (whether explicitly marked up using
+ <span>sectioning content</span> elements, or implied by the heading content itself).</p>
<!-- when updating this also update the category index -->
<ul class="brief category-list">
@@ -11349,9 +11134,8 @@
<h6>Phrasing content</h6>
- <p><dfn>Phrasing content</dfn> is the text of the document, as well
- as elements that mark up that text at the intra-paragraph
- level. Runs of <span>phrasing content</span> form <span
+ <p><dfn>Phrasing content</dfn> is the text of the document, as well as elements that mark up that
+ text at the intra-paragraph level. Runs of <span>phrasing content</span> form <span
title="paragraph">paragraphs</span>.</p>
<!-- when updating this also update the category index -->
@@ -11465,18 +11249,15 @@
<li><code>video</code></li>
</ul>
- <p>Elements that are from namespaces other than the <span>HTML
- namespace</span> and that convey content but not metadata, are
- <span>embedded content</span> for the purposes of the content models
+ <p>Elements that are from namespaces other than the <span>HTML namespace</span> and that convey
+ content but not metadata, are <span>embedded content</span> for the purposes of the content models
defined in this specification. (For example, MathML, or SVG.)</p>
- <p>Some embedded content elements can have <dfn>fallback
- content</dfn>: content that is to be used when the external resource
- cannot be used (e.g. because it is of an unsupported format). The
+ <p>Some embedded content elements can have <dfn>fallback content</dfn>: content that is to be used
+ when the external resource cannot be used (e.g. because it is of an unsupported format). The
element definitions state what the fallback is, if any.</p>
- <!-- we might not need to define fallback content at all. consider
- removing it if we don't end up using it anywhere (e.g. Selection)
- -->
+ <!-- we might not need to define fallback content at all. consider removing it if we don't end up
+ using it anywhere (e.g. Selection) -->
<h6>Interactive content</h6>
@@ -11510,39 +11291,32 @@
<li><code>video</code> (if the <code title="attr-media-controls">controls</code> attribute is present)</li>
</ul>
- <p>Certain elements in HTML have an <span>activation
- behavior</span>, which means that the user can activate them. This
- triggers a sequence of events dependent on the activation mechanism,
- and normally culminating in a <code title="event-click">click</code>
- event<span class="impl">, as described below</span>.</p>
+ <p>Certain elements in HTML have an <span>activation behavior</span>, which means that the user
+ can activate them. This triggers a sequence of events dependent on the activation mechanism, and
+ normally culminating in a <code title="event-click">click</code> event<span class="impl">, as
+ described below</span>.</p>
<div class="impl">
- <p>The user agent should allow the user to manually trigger elements
- that have an <span>activation behavior</span>, for instance using
- keyboard or voice input, or through mouse clicks. When the user
- triggers an element with a defined <span>activation behavior</span>
- in a manner other than clicking it, the default action of the
- interaction event must be to <span>run synthetic click activation
- steps</span> on the element.</p> <!-- interaction event spec point -->
+ <p>The user agent should allow the user to manually trigger elements that have an <span>activation
+ behavior</span>, for instance using keyboard or voice input, or through mouse clicks. When the
+ user triggers an element with a defined <span>activation behavior</span> in a manner other than
+ clicking it, the default action of the interaction event must be to <span>run synthetic click
+ activation steps</span> on the element.</p> <!-- interaction event spec point -->
- <p>Each element has a <var title="">click in progress</var> flag,
- initially set to false.</p>
+ <p>Each element has a <var title="">click in progress</var> flag, initially set to false.</p>
- <p>When a user agent is to <dfn>run synthetic click activation
- steps</dfn> on an element, the user agent must run the following
- steps:</p>
+ <p>When a user agent is to <dfn>run synthetic click activation steps</dfn> on an element, the user
+ agent must run the following steps:</p>
<ol>
- <li><p>If the element's <var title="">click in progress</var> flag
- is set to true, then abort these steps.</p></li>
+ <li><p>If the element's <var title="">click in progress</var> flag is set to true, then abort
+ these steps.</p></li>
- <li><p>Set the <var title="">click in progress</var> flag on the
- element to true.</p></li>
+ <li><p>Set the <var title="">click in progress</var> flag on the element to true.</p></li>
- <li><p><span>Run pre-click activation steps</span> on the
- element.</p></li>
+ <li><p><span>Run pre-click activation steps</span> on the element.</p></li>
<li><p><span>Fire a <code title="event-click">click</code> event</span> at the element. If the
<span>run synthetic click activation steps</span> algorithm was invoked because the <code
@@ -11551,103 +11325,84 @@
<li>
- <p>If this <code title="event-click">click</code> event is not
- canceled, <span>run post-click activation steps</span> on the
- element.</p>
+ <p>If this <code title="event-click">click</code> event is not canceled, <span>run post-click
+ activation steps</span> on the element.</p>
- <p>If the event <em>is</em> canceled, the user agent must
- <span>run canceled activation steps</span> on the element
- instead.</p>
+ <p>If the event <em>is</em> canceled, the user agent must <span>run canceled activation
+ steps</span> on the element instead.</p>
</li>
- <li><p>Set the <var title="">click in progress</var> flag on the
- element to false.</p></li>
+ <li><p>Set the <var title="">click in progress</var> flag on the element to false.</p></li>
</ol>
- <p>When a pointing device is clicked, the user agent must run these
- steps:</p>
+ <p>When a pointing device is clicked, the user agent must run these steps:</p>
<ol>
- <li><p>If the element's <var title="">click in progress</var> flag
- is set to true, then abort these steps.</p></li>
+ <li><p>If the element's <var title="">click in progress</var> flag is set to true, then abort
+ these steps.</p></li>
- <li><p>Set the <var title="">click in progress</var> flag on the
- element to true.</p></li>
+ <li><p>Set the <var title="">click in progress</var> flag on the element to true.</p></li>
- <li><p>Let <var title="">e</var> be the <span>nearest activatable
- element</span> of the element designated by the user (defined
- below), if any.</p></li>
+ <li><p>Let <var title="">e</var> be the <span>nearest activatable element</span> of the element
+ designated by the user (defined below), if any.</p></li>
- <li><p>If there is an element <var title="">e</var>, <span>run
- pre-click activation steps</span> on it.</p></li>
+ <li><p>If there is an element <var title="">e</var>, <span>run pre-click activation steps</span>
+ on it.</p></li>
<li>
<p><span title="concept-event-dispatch">Dispatch</span> the required <code
title="event-click">click</code> event.</p> <!-- interaction event spec point -->
- <p>If there is an element <var title="">e</var> and the <code
- title="event-click">click</code> event is not canceled, <span>run
- post-click activation steps</span> on element <var
+ <p>If there is an element <var title="">e</var> and the <code title="event-click">click</code>
+ event is not canceled, <span>run post-click activation steps</span> on element <var
title="">e</var>.</p>
- <p>If there is an element <var title="">e</var> and the event
- <em>is</em> canceled, <span>run canceled activation steps</span>
- on element <var title="">e</var>.</p>
+ <p>If there is an element <var title="">e</var> and the event <em>is</em> canceled, <span>run
+ canceled activation steps</span> on element <var title="">e</var>.</p>
</li>
- <li><p>Set the <var title="">click in progress</var> flag on the
- element to false.</p></li>
+ <li><p>Set the <var title="">click in progress</var> flag on the element to false.</p></li>
</ol>
- <p class="note">The above doesn't happen for arbitrary synthetic
- events dispatched by author script. However, the <code
- title="dom-click">click()</code> method can be used to make it
- happen programmatically.</p>
+ <p class="note">The above doesn't happen for arbitrary synthetic events dispatched by author
+ script. However, the <code title="dom-click">click()</code> method can be used to make it happen
+ programmatically.</p>
- <p class="note">Click-focusing behavior (e.g. the focusing of a text
- field when user clicks in one) typically happens before the click,
- when the mouse button is first depressed, and is therefore not
- discussed here.</p> <!-- interaction event spec point -->
+ <p class="note">Click-focusing behavior (e.g. the focusing of a text field when user clicks in
+ one) typically happens before the click, when the mouse button is first depressed, and is
+ therefore not discussed here.</p> <!-- interaction event spec point -->
- <p>Given an element <var title="">target</var>, the <dfn>nearest
- activatable element</dfn> is the element returned by the following
- algorithm:</p>
+ <p>Given an element <var title="">target</var>, the <dfn>nearest activatable element</dfn> is the
+ element returned by the following algorithm:</p>
<ol>
- <li><p>If <var title="">target</var> has a defined <span>activation
- behavior</span>, then return <var title="">target</var> and abort
- these steps.</p></li>
+ <li><p>If <var title="">target</var> has a defined <span>activation behavior</span>, then return
+ <var title="">target</var> and abort these steps.</p></li>
- <li><p>If <var title="">target</var> has a parent element, then set
- <var title="">target</var> to that parent element and return to the
- first step.</p></li>
+ <li><p>If <var title="">target</var> has a parent element, then set <var title="">target</var> to
+ that parent element and return to the first step.</p></li>
- <li><p>Otherwise, there is no <span>nearest activatable
- element</span>.</p></li>
+ <li><p>Otherwise, there is no <span>nearest activatable element</span>.</p></li>
</ol>
- <p>When a user agent is to <dfn>run pre-click activation steps</dfn>
- on an element, it must run the <dfn>pre-click activation steps</dfn>
- defined for that element, if any.</p>
+ <p>When a user agent is to <dfn>run pre-click activation steps</dfn> on an element, it must run
+ the <dfn>pre-click activation steps</dfn> defined for that element, if any.</p>
- <p>When a user agent is to <dfn>run canceled activation steps</dfn>
- on an element, it must run the <dfn>canceled activation steps</dfn>
- defined for that element, if any.</p>
+ <p>When a user agent is to <dfn>run canceled activation steps</dfn> on an element, it must run the
+ <dfn>canceled activation steps</dfn> defined for that element, if any.</p>
- <p>When a user agent is to <dfn>run post-click activation
- steps</dfn> on an element, it must run the <dfn>activation
- behavior</dfn> defined for that element, if any. Activation
- behaviors can refer to the <code title="event-click">click</code>
- event that was fired by the steps above leading up to this
- point.</p>
+ <p>When a user agent is to <dfn>run post-click activation steps</dfn> on an element, it must run
+ the <dfn>activation behavior</dfn> defined for that element, if any. Activation behaviors can
+ refer to the <code title="event-click">click</code> event that was fired by the steps above
+ leading up to this point.</p>
</div>
@@ -11655,21 +11410,18 @@
<h6>Palpable content</h6>
- <p>As a general rule, elements whose content model allows any
- <span>flow content</span> or <span>phrasing content</span> should
- have at least one child node that is <dfn>palpable content</dfn>
- and that does not have the <code title="attr-hidden">hidden</code>
- attribute specified.</p>
+ <p>As a general rule, elements whose content model allows any <span>flow content</span> or
+ <span>phrasing content</span> should have at least one child node that is <dfn>palpable
+ content</dfn> and that does not have the <code title="attr-hidden">hidden</code> attribute
+ specified.</p>
- <p>This requirement is not a hard requirement, however, as there are
- many cases where an element can be empty legitimately, for example
- when it is used as a placeholder which will later be filled in by a
- script, or when the element is part of a template and would on most
- pages be filled in but on some pages is not relevant.</p>
+ <p>This requirement is not a hard requirement, however, as there are many cases where an element
+ can be empty legitimately, for example when it is used as a placeholder which will later be filled
+ in by a script, or when the element is part of a template and would on most pages be filled in but
+ on some pages is not relevant.</p>
- <p>Conformance checkers are encouraged to provide a mechanism for
- authors to find elements that fail to fulfill this requirement, as
- an authoring aid.</p>
+ <p>Conformance checkers are encouraged to provide a mechanism for authors to find elements that
+ fail to fulfill this requirement, as an authoring aid.</p>
<p>The following elements are palpable content:</p>
@@ -11754,33 +11506,27 @@
<h5>Transparent content models</h5>
- <p>Some elements are described as <dfn>transparent</dfn>; they have
- "transparent" in the description of their content model. The content
- model of a <span>transparent</span> element is derived from the
- content model of its parent element: the elements required in the
- part of the content model that is "transparent" are the same
- elements as required in the part of the content model of the parent
- of the transparent element in which the transparent element finds
- itself.</p>
+ <p>Some elements are described as <dfn>transparent</dfn>; they have "transparent" in the
+ description of their content model. The content model of a <span>transparent</span> element is
+ derived from the content model of its parent element: the elements required in the part of the
+ content model that is "transparent" are the same elements as required in the part of the content
+ model of the parent of the transparent element in which the transparent element finds itself.</p>
<div class="example">
- <p>For instance, an <code>ins</code> element inside a
- <code>ruby</code> element cannot contain an <code>rt</code>
- element, because the part of the <code>ruby</code> element's
- content model that allows <code>ins</code> elements is the part
- that allows <span>phrasing content</span>, and the <code>rt</code>
- element is not <span>phrasing content</span>.</p>
+ <p>For instance, an <code>ins</code> element inside a <code>ruby</code> element cannot contain an
+ <code>rt</code> element, because the part of the <code>ruby</code> element's content model that
+ allows <code>ins</code> elements is the part that allows <span>phrasing content</span>, and the
+ <code>rt</code> element is not <span>phrasing content</span>.</p>
</div>
<!--(as far as I can tell, there's no way to violate this requirement
without first violating the earlier requirement)
- <p>Furthermore, when a content model includes a part that is
- "transparent", those parts must not contain content that would not
- be conformant if all transparent elements in the tree were replaced,
- in their parent element, by the children in the "transparent" part
- of their content model, retaining order.</p>
+ <p>Furthermore, when a content model includes a part that is "transparent", those parts must not
+ contain content that would not be conformant if all transparent elements in the tree were
+ replaced, in their parent element, by the children in the "transparent" part of their content
+ model, retaining order.</p>
<div class="example">
@@ -11792,22 +11538,20 @@
<ul class="domTree"><li class="t1"><code>p</code><ul><li class="t3"><code>#text</code>: <span title="">Hello </span></li><li class="t1"><code>a</code> <span class="t2" title=""><code class="attribute name">href</code>="<code class="attribute value">world.html</code>"</span><ul><li class="t1"><code>em</code><ul><li class="t3"><code>#text</code>: <span title="">wonderful</span></li></ul></li><li class="t3"><code>#text</code>: <span title=""> world</span></li></ul></li><li class="t3"><code>#text</code>: <span title="">!</span></li></ul></li></ul>
- <p>The content model of the <code>a</code> element is
- <span>transparent</span>. To see if its contents are conforming,
- therefore, the element is replaced by its contents:</p>
+ <p>The content model of the <code>a</code> element is <span>transparent</span>. To see if its
+ contents are conforming, therefore, the element is replaced by its contents:</p>
<ul class="domTree"><li class="t1"><code>p</code><ul><li class="t3"><code>#text</code>: <span title="">Hello </span></li><li class="t1"><code>em</code><ul><li class="t3"><code>#text</code>: <span title="">wonderful</span></li></ul></li><li class="t3"><code>#text</code>: <span title=""> world</span></li><li class="t3"><code>#text</code>: <span title="">!</span></li></ul></li></ul>
- <p>Since that is conforming, the contents of the <code>a</code> are
- conforming in the original fragment (there is no complication
- regarding the various parts of the <code>p</code> element's content
- model, since that element's content model has only one part).</p>
+ <p>Since that is conforming, the contents of the <code>a</code> are conforming in the original
+ fragment (there is no complication regarding the various parts of the <code>p</code> element's
+ content model, since that element's content model has only one part).</p>
</div>
-->
- <p class="note">In some cases, where transparent elements are nested
- in each other, the process has to be applied iteratively.</p>
+ <p class="note">In some cases, where transparent elements are nested in each other, the process
+ has to be applied iteratively.</p>
<div class="example">
@@ -11815,45 +11559,36 @@
<pre><p><object><param><ins><map><a href="/">Apples</a></map></ins></object></p></pre>
- <p>To check whether "Apples" is allowed inside the <code>a</code>
- element, the content models are examined. The <code>a</code>
- element's content model is transparent, as is the <code>map</code>
- element's, as is the <code>ins</code> element's, as is the part of
- the <code>object</code> element's in which the <code>ins</code>
- element is found. The <code>object</code> element is found in the
- <code>p</code> element, whose content model is <span>phrasing
- content</span>. Thus, "Apples" is allowed, as text is phrasing
- content.</p>
+ <p>To check whether "Apples" is allowed inside the <code>a</code> element, the content models are
+ examined. The <code>a</code> element's content model is transparent, as is the <code>map</code>
+ element's, as is the <code>ins</code> element's, as is the part of the <code>object</code>
+ element's in which the <code>ins</code> element is found. The <code>object</code> element is
+ found in the <code>p</code> element, whose content model is <span>phrasing content</span>. Thus,
+ "Apples" is allowed, as text is phrasing content.</p>
</div>
- <p>When a transparent element has no parent, then the part of its
- content model that is "transparent" must instead be treated as
- accepting any <span>flow content</span>.</p>
+ <p>When a transparent element has no parent, then the part of its content model that is
+ "transparent" must instead be treated as accepting any <span>flow content</span>.</p>
<h5>Paragraphs</h5>
- <p class="note">The term <span>paragraph</span> as defined in this
- section is used for more than just the definition of the
- <code>p</code> element. The <span>paragraph</span> concept defined
- here is used to describe how to interpret documents. The
- <code>p</code> element is merely one of several ways of marking up a
- <span>paragraph</span>.</p>
+ <p class="note">The term <span>paragraph</span> as defined in this section is used for more than
+ just the definition of the <code>p</code> element. The <span>paragraph</span> concept defined here
+ is used to describe how to interpret documents. The <code>p</code> element is merely one of
+ several ways of marking up a <span>paragraph</span>.</p>
<!-- note: the actual definition is below -->
- <p>A <dfn>paragraph</dfn> is typically a run of <span>phrasing
- content</span> that forms a block of text with one or more sentences
- that discuss a particular topic, as in typography, but can also
- be used for more general thematic grouping. For instance, an address
- is also a paragraph, as is a part of a form, a byline, or a stanza
- in a poem.</p>
+ <p>A <dfn>paragraph</dfn> is typically a run of <span>phrasing content</span> that forms a block
+ of text with one or more sentences that discuss a particular topic, as in typography, but can also
+ be used for more general thematic grouping. For instance, an address is also a paragraph, as is a
+ part of a form, a byline, or a stanza in a poem.</p>
<div class="example">
- <p>In the following example, there are two paragraphs in a
- section. There is also a heading, which contains phrasing content
- that is not a paragraph. Note how the comments and
+ <p>In the following example, there are two paragraphs in a section. There is also a heading,
+ which contains phrasing content that is not a paragraph. Note how the comments and
<span>inter-element whitespace</span> do not form paragraphs.</p>
<pre><section>
@@ -11865,28 +11600,22 @@
</div>
- <p>Paragraphs in <span>flow content</span> are defined relative to
- what the document looks like without the <code>a</code>,
- <code>ins</code>, <code>del</code>, and <code>map</code> elements
- complicating matters, since those elements, with their hybrid
- content models, can straddle paragraph boundaries, as shown in the
- first two examples below.</p>
+ <p>Paragraphs in <span>flow content</span> are defined relative to what the document looks like
+ without the <code>a</code>, <code>ins</code>, <code>del</code>, and <code>map</code> elements
+ complicating matters, since those elements, with their hybrid content models, can straddle
+ paragraph boundaries, as shown in the first two examples below.</p>
- <p class="note">Generally, having elements straddle paragraph
- boundaries is best avoided. Maintaining such markup can be
- difficult.</p>
+ <p class="note">Generally, having elements straddle paragraph boundaries is best avoided.
+ Maintaining such markup can be difficult.</p>
<div class="example">
- <p>The following example takes the markup from the earlier example
- and puts <code>ins</code> and <code>del</code> elements around some
- of the markup to show that the text was changed (though in this
- case, the changes admittedly don't make much sense). Notice how
- this example has exactly the same paragraphs as the previous one,
- despite the <code>ins</code> and <code>del</code> elements —
- the <code>ins</code> element straddles the heading and the first
- paragraph, and the <code>del</code> element straddles the boundary
- between the two paragraphs.</p>
+ <p>The following example takes the markup from the earlier example and puts <code>ins</code> and
+ <code>del</code> elements around some of the markup to show that the text was changed (though in
+ this case, the changes admittedly don't make much sense). Notice how this example has exactly the
+ same paragraphs as the previous one, despite the <code>ins</code> and <code>del</code> elements
+ — the <code>ins</code> element straddles the heading and the first paragraph, and the
+ <code>del</code> element straddles the boundary between the two paragraphs.</p>
<pre><section>
<ins><h1>Example of paragraphs</h1>
@@ -11899,47 +11628,37 @@
<div class="impl">
- <p>Let <var title="">view</var> be a view of the DOM that replaces
- all <code>a</code>, <code>ins</code>, <code>del</code>, and
- <code>map</code> elements in the document with their contents. Then,
- in <var title="">view</var>, for each run of sibling <span>phrasing
- content</span> nodes uninterrupted by other types of content, in an
- element that accepts content other than <span>phrasing
- content</span> as well as <span>phrasing content</span>, let <var
- title="">first</var> be the first node of the run, and let <var
- title="">last</var> be the last node of the run. For each such run
- that consists of at least one node that is neither <span>embedded
- content</span> nor <span>inter-element whitespace</span>, a
- paragraph exists in the original DOM from immediately before <var
- title="">first</var> to immediately after <var
- title="">last</var>. (Paragraphs can thus span across
- <code>a</code>, <code>ins</code>, <code>del</code>, and
- <code>map</code> elements.)</p>
+ <p>Let <var title="">view</var> be a view of the DOM that replaces all <code>a</code>,
+ <code>ins</code>, <code>del</code>, and <code>map</code> elements in the document with their
+ contents. Then, in <var title="">view</var>, for each run of sibling <span>phrasing content</span>
+ nodes uninterrupted by other types of content, in an element that accepts content other than
+ <span>phrasing content</span> as well as <span>phrasing content</span>, let <var
+ title="">first</var> be the first node of the run, and let <var title="">last</var> be the last
+ node of the run. For each such run that consists of at least one node that is neither
+ <span>embedded content</span> nor <span>inter-element whitespace</span>, a paragraph exists in the
+ original DOM from immediately before <var title="">first</var> to immediately after <var
+ title="">last</var>. (Paragraphs can thus span across <code>a</code>, <code>ins</code>,
+ <code>del</code>, and <code>map</code> elements.)</p>
- <p>Conformance checkers may warn authors of cases where they have
- paragraphs that overlap each other (this can happen with
- <code>object</code>, <code>video</code>, <code>audio</code>, and
- <code>canvas</code> elements, and indirectly through elements in
- other namespaces that allow HTML to be further embedded therein,
- like <code>svg</code> or <code>math</code>).</p> <!-- example below
- -->
+ <p>Conformance checkers may warn authors of cases where they have paragraphs that overlap each
+ other (this can happen with <code>object</code>, <code>video</code>, <code>audio</code>, and
+ <code>canvas</code> elements, and indirectly through elements in other namespaces that allow HTML
+ to be further embedded therein, like <code>svg</code> or <code>math</code>).</p>
+ <!-- example below -->
</div>
- <p>A <span>paragraph</span> is also formed explicitly by
- <code>p</code> elements.</p>
+ <p>A <span>paragraph</span> is also formed explicitly by <code>p</code> elements.</p>
- <p class="note">The <code>p</code> element can be used to wrap
- individual paragraphs when there would otherwise not be any content
- other than phrasing content to separate the paragraphs from each
- other.</p>
+ <p class="note">The <code>p</code> element can be used to wrap individual paragraphs when there
+ would otherwise not be any content other than phrasing content to separate the paragraphs from
+ each other.</p>
<div class="example">
- <p>In the following example, the link spans half of the first
- paragraph, all of the heading separating the two paragraphs, and
- half of the second paragraph. It straddles the paragraphs and the
- heading.</p>
+ <p>In the following example, the link spans half of the first paragraph, all of the heading
+ separating the two paragraphs, and half of the second paragraph. It straddles the paragraphs and
+ the heading.</p>
<pre><header>
Welcome!
@@ -11951,9 +11670,8 @@
This page discusses the F-16 Fighting Falcon's innermost secrets.
</header></pre>
- <p>Here is another way of marking this up, this time showing the
- paragraphs explicitly, and splitting the one link element into
- three:</p>
+ <p>Here is another way of marking this up, this time showing the paragraphs explicitly, and
+ splitting the one link element into three:</p>
<pre><header>
<p>Welcome! <a href="about.html">This is home of...</a></p>
@@ -11967,12 +11685,10 @@
<div class="example">
- <!-- I don't know if there's a better way to deal with this, but if
- there is, let me know... -->
+ <!-- I don't know if there's a better way to deal with this, but if there is, let me know... -->
- <p>It is possible for paragraphs to overlap when using certain
- elements that define fallback content. For example, in the
- following section:</p>
+ <p>It is possible for paragraphs to overlap when using certain elements that define fallback
+ content. For example, in the following section:</p>
<pre><section>
<h1>My Cats</h1>
@@ -11992,12 +11708,10 @@
<ol class="brief">
- <li>The paragraph that says "You can play with my cat
- simulator. <i title="">object</i> I'm quite proud of it.", where
- <i title="">object</i> is the <code>object</code> element.</li>
+ <li>The paragraph that says "You can play with my cat simulator. <i title="">object</i> I'm
+ quite proud of it.", where <i title="">object</i> is the <code>object</code> element.</li>
- <li>The paragraph that says "To see the cat simulator, use one of
- the following links:".</li>
+ <li>The paragraph that says "To see the cat simulator, use one of the following links:".</li>
<li>The paragraph that says "Download simulator file".</li>
@@ -12007,16 +11721,13 @@
</ol>
- <p>The first paragraph is overlapped by the other four. A user
- agent that supports the "cats.sim" resource will only show the
- first one, but a user agent that shows the fallback will
- confusingly show the first sentence of the first paragraph as
- if it was in the same paragraph as the second one, and will show
- the last paragraph as if it was at the start of the second sentence
- of the first paragraph.</p>
+ <p>The first paragraph is overlapped by the other four. A user agent that supports the "cats.sim"
+ resource will only show the first one, but a user agent that shows the fallback will confusingly
+ show the first sentence of the first paragraph as if it was in the same paragraph as the second
+ one, and will show the last paragraph as if it was at the start of the second sentence of the
+ first paragraph.</p>
- <p>To avoid this confusion, explicit <code>p</code> elements can be
- used. For example:</p>
+ <p>To avoid this confusion, explicit <code>p</code> elements can be used. For example:</p>
<!-- My Fish -->
<pre><section>
@@ -12134,12 +11845,10 @@
plaintext = *( %x0000-2029 / %x202F-10FFFF )
; any string with no bidirectional-algorithm formatting characters</pre>
- <p class="note">Authors are encouraged to use the <code
- title="attr-dir">dir</code> attribute, the <code>bdo</code> element,
- and the <code>bdi</code> element, rather than maintaining the
- bidirectional-algorithm formatting characters manually. The
- bidirectional-algorithm formatting characters interact poorly with
- CSS.</p>
+ <p class="note">Authors are encouraged to use the <code title="attr-dir">dir</code> attribute, the
+ <code>bdo</code> element, and the <code>bdi</code> element, rather than maintaining the
+ bidirectional-algorithm formatting characters manually. The bidirectional-algorithm formatting
+ characters interact poorly with CSS.</p>
@@ -22188,16 +21897,13 @@
<!-- v2: attribute that means "highlight this on the scrollbar" -->
- <p>The <code>mark</code> element <span>represents</span> a run of
- text in one document marked or highlighted for reference purposes,
- due to its relevance in another context. When used in a quotation or
- other block of text referred to from the prose, it indicates a
- highlight that was not originally present but which has been added
- to bring the reader's attention to a part of the text that might not
- have been considered important by the original author when the block
- was originally written, but which is now under previously unexpected
- scrutiny. When used in the main prose of a document, it indicates a
- part of the document that has been highlighted due to its likely
+ <p>The <code>mark</code> element <span>represents</span> a run of text in one document marked or
+ highlighted for reference purposes, due to its relevance in another context. When used in a
+ quotation or other block of text referred to from the prose, it indicates a highlight that was not
+ originally present but which has been added to bring the reader's attention to a part of the text
+ that might not have been considered important by the original author when the block was originally
+ written, but which is now under previously unexpected scrutiny. When used in the main prose of a
+ document, it indicates a part of the document that has been highlighted due to its likely
relevance to the user's current activity.</p>
<div class="example">
@@ -22217,11 +21923,10 @@
<div class="example">
- <p>Another example of the <code>mark</code> element is highlighting
- parts of a document that are matching some search string. If
- someone looked at a document, and the server knew that the user was
- searching for the word "kitten", then the server might return the
- document with one paragraph modified as follows:</p>
+ <p>Another example of the <code>mark</code> element is highlighting parts of a document that are
+ matching some search string. If someone looked at a document, and the server knew that the user
+ was searching for the word "kitten", then the server might return the document with one paragraph
+ modified as follows:</p>
<pre><p>I also have some <mark>kitten</mark>s who are visiting me
these days. They're really cute. I think they like my garden! Maybe I
@@ -22231,8 +21936,8 @@
<div class="example">
- <p>In the following snippet, a paragraph of text refers to a
- specific part of a code fragment.</p>
+ <p>In the following snippet, a paragraph of text refers to a specific part of a code
+ fragment.</p>
<pre><p>The highlighted part below is where the error lies:</p>
<pre><code>var i: Integer;
@@ -22240,9 +21945,8 @@
i := <mark>1.1</mark>;
end.</code></pre></pre>
- <p>This is separate from <em>syntax highlighting</em>, for which
- <code>span</code> is more appropriate. Combining both, one would
- get:</p>
+ <p>This is separate from <em>syntax highlighting</em>, for which <code>span</code> is more
+ appropriate. Combining both, one would get:</p>
<pre><p>The highlighted part below is where the error lies:</p>
<pre><code><span class=keyword>var</span> <span class=ident>i</span>: <span class=type>Integer</span>;
@@ -22254,11 +21958,9 @@
<div class="example">
- <p>This is another example showing the use of <code>mark</code> to
- highlight a part of quoted text that was originally not
- emphasized. In this example, common typographic conventions have
- led the author to explicitly style <code>mark</code> elements in
- quotes to render in italics.</p>
+ <p>This is another example showing the use of <code>mark</code> to highlight a part of quoted
+ text that was originally not emphasized. In this example, common typographic conventions have led
+ the author to explicitly style <code>mark</code> elements in quotes to render in italics.</p>
<pre><article>
<style scoped>
@@ -22283,22 +21985,19 @@
explains everything neatly.</p>
</article></pre>
- <p>Note, incidentally, the distinction between the <code>em</code>
- element in this example, which is part of the original text being
- quoted, and the <code>mark</code> element, which is highlighting a
- part for comment.</p>
+ <p>Note, incidentally, the distinction between the <code>em</code> element in this example, which
+ is part of the original text being quoted, and the <code>mark</code> element, which is
+ highlighting a part for comment.</p>
</div>
<div class="example">
- <p>The following example shows the difference between denoting the
- <em>importance</em> of a span of text (<code>strong</code>) as
- opposed to denoting the <em>relevance</em> of a span of text
- (<code>mark</code>). It is an extract from a textbook, where the
- extract has had the parts relevant to the exam highlighted. The
- safety warnings, important though they may be, are apparently not
- relevant to the exam.</p>
+ <p>The following example shows the difference between denoting the <em>importance</em> of a span
+ of text (<code>strong</code>) as opposed to denoting the <em>relevance</em> of a span of text
+ (<code>mark</code>). It is an extract from a textbook, where the extract has had the parts
+ relevant to the exam highlighted. The safety warnings, important though they may be, are
+ apparently not relevant to the exam.</p>
<pre><h3>Wormhole Physics Introduction</h3>
@@ -22942,46 +22641,40 @@
<dd>Uses <code>HTMLElement</code>.</dd>
</dl><!--TOPIC:HTML-->
- <p>The <code>bdi</code> element <span>represents</span> a span of
- text that is to be isolated from its surroundings for the purposes
- of bidirectional text formatting. <a href="#refsBIDI">[BIDI]</a></p>
+ <p>The <code>bdi</code> element <span>represents</span> a span of text that is to be isolated from
+ its surroundings for the purposes of bidirectional text formatting. <a
+ href="#refsBIDI">[BIDI]</a></p>
- <p class="note">The <code title="attr-dir">dir</code> global
- attribute defaults to <code title="attr-dir-auto">auto</code> on
- this element (it never inherits from the parent element like with
- other elements).</p>
+ <p class="note">The <code title="attr-dir">dir</code> global attribute defaults to <code
+ title="attr-dir-auto">auto</code> on this element (it never inherits from the parent element like
+ with other elements).</p>
<div class="impl">
- <p>For the purposes of applying the bidirectional algorithm to the
- contents of a <code>bdi</code> element, user agents must treat the
- element as a paragraph-level container.</p>
+ <p>For the purposes of applying the bidirectional algorithm to the contents of a <code>bdi</code>
+ element, user agents must treat the element as a paragraph-level container.</p>
- <p>For the purposes of applying the bidirectional algorithm to the
- paragraph-level container that a <code>bdi</code> element finds
- itself within, the <code>bdi</code> element must be treated like a
- U+FFFC OBJECT REPLACEMENT CHARACTER (in the same manner that an
- image or other inline object is handled).</p>
+ <p>For the purposes of applying the bidirectional algorithm to the paragraph-level container that
+ a <code>bdi</code> element finds itself within, the <code>bdi</code> element must be treated like
+ a U+FFFC OBJECT REPLACEMENT CHARACTER (in the same manner that an image or other inline object is
+ handled).</p>
- <p>The requirements on handling the <code>bdi</code> element for the
- bidirectional algorithm may be implemented indirectly through the
- style layer. For example, an HTML+CSS user agent could implement
- these requirements by implementing the CSS 'unicode-bidi' property.
- <a href="#refsCSS">[CSS]</a></p>
+ <p>The requirements on handling the <code>bdi</code> element for the bidirectional algorithm may
+ be implemented indirectly through the style layer. For example, an HTML+CSS user agent could
+ implement these requirements by implementing the CSS 'unicode-bidi' property. <a
+ href="#refsCSS">[CSS]</a></p>
</div>
<div class="example">
- <p>This element is especially useful when embedding user-generated
- content with an unknown directionality.</p>
+ <p>This element is especially useful when embedding user-generated content with an unknown
+ directionality.</p>
- <p>In this example, usernames are shown along with the number of
- posts that the user has submitted. If the <code>bdi</code> element
- were not used, the username of the Arabic user would end up
- confusing the text (the bidirectional algorithm would put the colon
- and the number "3" next to the word "User" rather than next to the
- word "posts").</p>
+ <p>In this example, usernames are shown along with the number of posts that the user has
+ submitted. If the <code>bdi</code> element were not used, the username of the Arabic user would
+ end up confusing the text (the bidirectional algorithm would put the colon and the number "3"
+ next to the word "User" rather than next to the word "posts").</p>
<pre><ul>
<li>User <bdi>jcranmer</bdi>: 12 posts.
@@ -72639,11 +72332,12 @@
<span>reflect</span> the <code title="attr-itemref">itemref</code> content attribute.</p>
<p>The <dfn title="dom-properties"><code>properties</code></dfn> IDL attribute on <span>HTML
- elements</span> must return an <code>HTMLPropertiesCollection</code> rooted at the
- element's <span>root element</span> (which element this is might change during the collection's lifetime, as the element moves between different subtrees), whose filter matches only elements that are <span title="the
- properties of an item">the properties of the item</span> created by the element on which the
- attribute was invoked, while that element is an <span title="concept-item">item</span>, and
- matches nothing the rest of the time.</p>
+ elements</span> must return an <code>HTMLPropertiesCollection</code> rooted at the element's
+ <span>root element</span> (which element this is might change during the collection's lifetime, as
+ the element moves between different subtrees), whose filter matches only elements that are <span
+ title="the properties of an item">the properties of the item</span> created by the element on
+ which the attribute was invoked, while that element is an <span title="concept-item">item</span>,
+ and matches nothing the rest of the time.</p>
<p>The <dfn title="dom-itemValue"><code>itemValue</code></dfn> IDL attribute's behavior depends on
the element, as follows:</p>
More information about the Commit-Watchers
mailing list