[html5] r7248 - [] (0) Clean up title='' attribute requirements, interaction with alt=''. Affect [...]

whatwg at whatwg.org whatwg at whatwg.org
Tue Aug 21 16:20:38 PDT 2012


Author: ianh
Date: 2012-08-21 16:20:36 -0700 (Tue, 21 Aug 2012)
New Revision: 7248

Modified:
   complete.html
   index
   source
Log:
[] (0) Clean up title='' attribute requirements, interaction with alt=''.
Affected topics: DOM APIs, HTML, Rendering

Modified: complete.html
===================================================================
--- complete.html	2012-08-21 02:15:12 UTC (rev 7247)
+++ complete.html	2012-08-21 23:20:36 UTC (rev 7248)
@@ -402,7 +402,7 @@
      <li><a href=#global-attributes><span class=secno>3.2.3 </span>Global attributes</a>
       <ol>
        <li><a href=#the-id-attribute><span class=secno>3.2.3.1 </span>The <code>id</code> attribute</a></li>
-       <li><a href=#the-title-attribute><span class=secno>3.2.3.2 </span>The <code>title</code> attribute</a></li>
+       <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>
@@ -1530,8 +1530,8 @@
    group chair decision from November 2011</a>.</li>
 
    <li>The W3C HTML specification omits a number of suggestions
-   regarding using the <code title=attr-title><a href=#the-title-attribute>title</a></code>
-   attribute, and makes using the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute for captions
+   regarding using the <code title=attr-title><a href=#attr-title>title</a></code>
+   attribute, and makes using the <code title=attr-title><a href=#attr-title>title</a></code> attribute for captions
    non-conforming in certain specific cases, because of a number of
    working group chair decisions from March 2012:
    <a href=http://lists.w3.org/Archives/Public/public-html/2012Mar/0555.html>first</a>,
@@ -11168,7 +11168,7 @@
    <li><code title=attr-spellcheck><a href=#attr-spellcheck>spellcheck</a></code></li>
    <li><code title=attr-style><a href=#the-style-attribute>style</a></code></li>
    <li><code title=attr-tabindex><a href=#attr-tabindex>tabindex</a></code></li>
-   <li><code title=attr-title><a href=#the-title-attribute>title</a></code></li>
+   <li><code title=attr-title><a href=#attr-title>title</a></code></li>
    <li><code title=attr-translate><a href=#attr-translate>translate</a></code></li>
   </ul><div class=impl>
 
@@ -11332,9 +11332,9 @@
   </div>
 
 
-  <h5 id=the-title-attribute><span class=secno>3.2.3.2 </span>The <dfn title=attr-title><code>title</code></dfn> attribute</h5>
+  <h5 id=the-title-attribute><span class=secno>3.2.3.2 </span>The <code title=attr-title><a href=#attr-title>title</a></code> attribute</h5>
 
-  <p>The <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute
+  <p>The <dfn id=attr-title title=attr-title><code>title</code></dfn> attribute
   <a href=#represents>represents</a> advisory information for the element, such
   as would be appropriate for a tooltip. On a link, this could be the
   title or a description of the target resource; on an image, it could
@@ -11344,40 +11344,67 @@
   content</a>, it could be a label for, or instructions for, use of
   the element; and so forth. The value is text.</p>
 
+  <!-- search for title-warning if modifying this paragraph -->
+  <p class=note>Relying on the <code title=attr-title><a href=#attr-title>title</a></code>
+  attribute is discouraged as many user agents do not expose the
+  attribute in an accessible manner as required by this specification
+  (e.g. requiring a pointing device such as a mouse to cause a tooltip
+  to apear, which excludes keyboard-only users and touch-only users,
+  such as anyone with a modern phone or tablet).</p>
+
   <p>If this attribute is omitted from an element, then it implies
-  that the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute of the
+  that the <code title=attr-title><a href=#attr-title>title</a></code> attribute of the
   nearest ancestor <a href=#html-elements title="HTML elements">HTML element</a>
-  with a <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute set is also
+  with a <code title=attr-title><a href=#attr-title>title</a></code> attribute set is also
   relevant to this element. Setting the attribute overrides this,
   explicitly stating that the advisory information of any ancestors is
   not relevant to this element. Setting the attribute to the empty
   string indicates that the element has no advisory information.</p>
 
-  <p>If the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute's value
+  <p>If the <code title=attr-title><a href=#attr-title>title</a></code> attribute's value
   contains U+000A LINE FEED (LF) characters, the content is split into
   multiple lines. Each U+000A LINE FEED (LF) character represents a
   line break.</p>
 
   <div class=example>
 
-   <p>Caution is advised with respect to the use of newlines in <code title=attr-title><a href=#the-title-attribute>title</a></code> attributes.</p>
+   <p>Caution is advised with respect to the use of newlines in <code title=attr-title><a href=#attr-title>title</a></code> attributes.</p>
 
    <p>For instance, the following snippet actually defines an
    abbreviation's expansion <em>with a line break in it</em>:</p>
 
    <pre class=bad><p>My logs show that there was some interest in <abbr title="Hypertext
-Transport Protocol">HTTP</abbr> today.</p></pre>
+Transport Protocol">HTTP</abbr> today.</p></pre> <!-- DO NOT REWRAP THIS LINE -->
 
   </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=#the-title-attribute>title</a></code> attribute beyond the semantics
-  described above.</p>
+  <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>
 
-  <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=#the-title-attribute>title</a></code>
+  <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:</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 -->
+
+   <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, return the empty string.</li>
+
+  </ol><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>
@@ -14855,7 +14882,7 @@
 
   <p class=note>The <code title=attr-link-title><a href=#attr-link-title>title</a></code>
   attribute on <code><a href=#the-link-element>link</a></code> elements differs from the global
-  <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute of most other
+  <code title=attr-title><a href=#attr-title>title</a></code> attribute of most other
   elements in that a link without a title does not inherit the title
   of the parent element: it merely has no title.</p>
 
@@ -15088,6 +15115,7 @@
 
     </div>
 
+    <!-- XXXX -->
     <p class=note>This metadata name causes conformance checkers to
     <a href=#guidance-for-conformance-checkers>silently ignore</a>
     certain conformance errors that are inevitable when using
@@ -16040,12 +16068,12 @@
   <p id=title-on-style>The <dfn id=attr-style-title title=attr-style-title><code>title</code></dfn> attribute on
   <code><a href=#the-style-element>style</a></code> elements defines <a href=#alternative-style-sheet-sets>alternative style sheet
   sets</a>. If the <code><a href=#the-style-element>style</a></code> element has no <code title=attr-style-title><a href=#attr-style-title>title</a></code> attribute, then it has no
-  title; the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute of
+  title; the <code title=attr-title><a href=#attr-title>title</a></code> attribute of
   ancestors does not apply to the <code><a href=#the-style-element>style</a></code> element. <a href=#refsCSSOM>[CSSOM]</a></p>
 
   <p class=note>The <code title=attr-style-title><a href=#attr-style-title>title</a></code>
   attribute on <code><a href=#the-style-element>style</a></code> elements, like the <code title=attr-link-title><a href=#attr-link-title>title</a></code> attribute on <code><a href=#the-link-element>link</a></code>
-  elements, differs from the global <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute in that a
+  elements, differs from the global <code title=attr-title><a href=#attr-title>title</a></code> attribute in that a
   <code><a href=#the-style-element>style</a></code> block without a title does not inherit the title
   of the parent element: it merely has no title.</p>
 
@@ -20647,7 +20675,7 @@
   <div class=example>
 
    <p>The previous example could also be more succintly written as
-   follows (using <code title=attr-title><a href=#the-title-attribute>title</a></code> attributes in
+   follows (using <code title=attr-title><a href=#attr-title>title</a></code> attributes in
    place of the nested <code><a href=#the-figure-element>figure</a></code>/<code><a href=#the-figcaption-element>figcaption</a></code>
    pairs):</p>
 
@@ -20699,7 +20727,7 @@
     <pre class=idl>interface <dfn id=htmldivelement>HTMLDivElement</dfn> : <a href=#htmlelement>HTMLElement</a> {};</pre>
    </dd>
   </dl><!--TOPIC:HTML--><p>The <code><a href=#the-div-element>div</a></code> element has no special meaning at all. It
-  <a href=#represents>represents</a> its children. It can be used with the <code title=attr-class><a href=#classes>class</a></code>, <code title=attr-lang><a href=#attr-lang>lang</a></code>, and <code title=attr-title><a href=#the-title-attribute>title</a></code> attributes to mark up semantics
+  <a href=#represents>represents</a> its children. It can be used with the <code title=attr-class><a href=#classes>class</a></code>, <code title=attr-lang><a href=#attr-lang>lang</a></code>, and <code title=attr-title><a href=#attr-title>title</a></code> attributes to mark up semantics
   common to a group of consecutive elements.</p>
 
   <p class=note>Authors are strongly encouraged to view the
@@ -21504,7 +21532,7 @@
   <code><a href=#the-dfn-element>dfn</a></code> element is present, then it must contain only the
   term being defined.</p>
 
-  <p class=note>The <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute
+  <p class=note>The <code title=attr-title><a href=#attr-title>title</a></code> attribute
   of ancestor elements does not affect <code><a href=#the-dfn-element>dfn</a></code> elements.</p>
 
   <p>An <code><a href=#the-a-element>a</a></code> element that links to a <code><a href=#the-dfn-element>dfn</a></code>
@@ -21629,23 +21657,23 @@
   is expected to be useful in the following cases:</p>
 
   <ul><li>Abbreviations for which the author wants to give expansions,
-   where using the <code><a href=#the-abbr-element>abbr</a></code> element with a <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute is an alternative to
+   where using the <code><a href=#the-abbr-element>abbr</a></code> element with a <code title=attr-title><a href=#attr-title>title</a></code> attribute is an alternative to
    including the expansion inline (e.g. in parentheses).</li>
 
    <li>Abbreviations that are likely to be unfamiliar to the
    document's readers, for which authors are encouraged to either mark
-   up the abbreviation using an <code><a href=#the-abbr-element>abbr</a></code> element with a <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute or include the expansion
+   up the abbreviation using an <code><a href=#the-abbr-element>abbr</a></code> element with a <code title=attr-title><a href=#attr-title>title</a></code> attribute or include the expansion
    inline in the text the first time the abbreviation is used.</li>
 
    <li>Abbreviations whose presence needs to be semantically
    annotated, e.g. so that they can be identified from a style sheet
    and given specific styles, for which the <code><a href=#the-abbr-element>abbr</a></code> element
-   can be used without a <code title=attr-title><a href=#the-title-attribute>title</a></code>
+   can be used without a <code title=attr-title><a href=#attr-title>title</a></code>
    attribute.</li>
 
-  </ul><p title=note>Providing an expansion in a <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute once will not necessarily
+  </ul><p title=note>Providing an expansion in a <code title=attr-title><a href=#attr-title>title</a></code> attribute once will not necessarily
   cause other <code><a href=#the-abbr-element>abbr</a></code> elements in the same document with the
-  same contents but without a <code title=attr-title><a href=#the-title-attribute>title</a></code>
+  same contents but without a <code title=attr-title><a href=#attr-title>title</a></code>
   attribute to behave as if they had the same expansion. Every
   <code><a href=#the-abbr-element>abbr</a></code> element is independent.</p>
 
@@ -23997,9 +24025,7 @@
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-img-alt><a href=#attr-img-alt>alt</a></code></dd>
    <dd><code title=attr-img-src><a href=#attr-img-src>src</a></code></dd>
-
    <dd><code title=attr-img-srcset><a href=#attr-img-srcset>srcset</a></code></dd>
-
    <dd><code title=attr-img-crossorigin><a href=#attr-img-crossorigin>crossorigin</a></code></dd>
    <dd><code title=attr-hyperlink-usemap><a href=#attr-hyperlink-usemap>usemap</a></code></dd>
    <dd><code title=attr-img-ismap><a href=#attr-img-ismap>ismap</a></code></dd>
@@ -24013,9 +24039,7 @@
 interface <dfn id=htmlimageelement>HTMLImageElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-img-alt title=dom-img-alt>alt</a>;
            attribute DOMString <a href=#dom-img-src title=dom-img-src>src</a>;
-
            attribute DOMString <a href=#dom-img-srcset title=dom-img-srcset>srcset</a>;
-
            attribute DOMString <a href=#dom-img-crossorigin title=dom-img-crossOrigin>crossOrigin</a>;
            attribute DOMString <a href=#dom-img-usemap title=dom-img-useMap>useMap</a>;
            attribute boolean <a href=#dom-img-ismap title=dom-img-isMap>isMap</a>;
@@ -24045,27 +24069,22 @@
 
   -->
 
-  <p>The image given by the <dfn id=attr-img-src title=attr-img-src><code>src</code></dfn>
+  <p>The image given by the <dfn id=attr-img-src title=attr-img-src><code>src</code></dfn> and <dfn id=attr-img-srcset title=attr-img-srcset><code>srcset</code></dfn> attributes is the
+  embedded content; the value of the <dfn id=attr-img-alt title=attr-img-alt><code>alt</code></dfn> attribute provides
+  equivalent content for those who cannot process images or who have
+  image loading disabled (i.e. it is the <code><a href=#the-img-element>img</a></code> element's
+  <a href=#fallback-content>fallback content</a>).</p>
 
-  and <dfn id=attr-img-srcset title=attr-img-srcset><code>srcset</code></dfn>
+  <p>The requirements on the <code title=attr-img-alt><a href=#attr-img-alt>alt</a></code>
+  attribute's value are described <a href=#alt>in the next
+  section</a>.</p>
 
-  attributes is the embedded content; the value of the <dfn id=attr-img-alt title=attr-img-alt><code>alt</code></dfn> attribute provides
-  equivalent content for those who cannot process images or who have
-  image loading disabled<!--
---><!--FORK--><!--
-  --> (i.e. it is the <code><a href=#the-img-element>img</a></code> element's <a href=#fallback-content>fallback
-  content</a>)<!--
---><!--FORK--><!--
-  -->.</p>
-
   <p>The <code title=attr-img-src><a href=#attr-img-src>src</a></code> attribute must be
   present, and must contain a <a href=#valid-non-empty-url-potentially-surrounded-by-spaces>valid non-empty URL potentially
   surrounded by spaces</a> referencing a non-interactive,
   optionally animated, image resource that is neither paged nor
   scripted.</p>
 
-
-
   <p>The <code title=attr-img-srcset><a href=#attr-img-srcset>srcset</a></code> attribute may
   also be present. If present, its value must consist of one or more
   <a href=#image-candidate-string title="image candidate string">image candidate strings</a>,
@@ -24158,26 +24177,21 @@
 
   </div>
 
+  <p class=note>The requirements above imply that images can be
+  static bitmaps (e.g. PNGs, GIFs, JPEGs), single-page vector
+  documents (single-page PDFs, XML files with an SVG root element),
+  animated bitmaps (APNGs, animated GIFs), animated vector graphics
+  (XML files with an SVG root element that use declarative SMIL
+  animation), and so forth. However, these definitions preclude SVG
+  files with script, multipage PDF files, interactive MNG files, HTML
+  documents, plain text documents, and so forth.</p>
 
-
-  <p class=note>Images can thus be static bitmaps (e.g. PNGs, GIFs,
-  JPEGs), single-page vector documents (single-page PDFs, XML files
-  with an SVG root element), animated bitmaps (APNGs, animated GIFs),
-  animated vector graphics (XML files with an SVG root element that
-  use declarative SMIL animation), and so forth. However, this also
-  precludes SVG files with script, multipage PDF files, interactive
-  MNG files, HTML documents, plain text documents, and so forth.</p>
-
-  <p>The requirements on the <code title=attr-img-alt><a href=#attr-img-alt>alt</a></code>
-  attribute's value are described <a href=#alt>in the next
-  section</a>.</p>
-
   <p>The <code><a href=#the-img-element>img</a></code> element must not be used as a layout tool.
   In particular, <code><a href=#the-img-element>img</a></code> elements should not be used to
   display transparent images, as they rarely convey meaning and rarely
   add anything useful to the document.</p>
 
-  <p>The <dfn id=attr-img-crossorigin title=attr-img-crossorigin><code>crossorigin</code></dfn>
+  <hr><p>The <dfn id=attr-img-crossorigin title=attr-img-crossorigin><code>crossorigin</code></dfn>
   attribute is a <a href=#cors-settings-attribute>CORS settings attribute</a>. Its purpose is
   to allow images from third-party sites that allow cross-origin
   access to be used with <code><a href=#the-canvas-element>canvas</a></code>.</p>
@@ -24215,16 +24229,12 @@
   <p>A user agent that obtains images immediately must synchronously
   <a href=#update-the-image-data>update the image data</a> of an <code><a href=#the-img-element>img</a></code> element
   whenever that element is created with a <code title=attr-img-src><a href=#attr-img-src>src</a></code> attribute,
-
   a <code title=attr-img-srcset><a href=#attr-img-srcset>srcset</a></code> attribute, or both.
-
   A user agent that obtains images immediately must also synchronously
   <a href=#update-the-image-data>update the image data</a> of an <code><a href=#the-img-element>img</a></code> element
   whenever that element has its
   <code title=attr-img-src><a href=#attr-img-src>src</a></code>,
-
   <code title=attr-img-srcset><a href=#attr-img-srcset>srcset</a></code>, or
-
   <code title=attr-img-crossorigin><a href=#attr-img-crossorigin>crossorigin</a></code> attribute set,
   changed, or removed.</p> <!-- Note how this does NOT happen when the
   base URL changes. -->
@@ -24234,15 +24244,11 @@
   the image data (i.e. on demand), but only if the <code><a href=#the-img-element>img</a></code>
   element has a
   <code title=attr-img-src><a href=#attr-img-src>src</a></code>
-
   or <code title=attr-img-src><a href=#attr-img-src>srcset</a></code>
-
   attribute, and only if the <code><a href=#the-img-element>img</a></code> element is in the <a href=#img-none title=img-none>unavailable</a> state. When an <code><a href=#the-img-element>img</a></code>
   element's
   <code title=attr-img-src><a href=#attr-img-src>src</a></code>,
-
   <code title=attr-img-srcset><a href=#attr-img-srcset>srcset</a></code>, or
-
   <code title=attr-img-crossorigin><a href=#attr-img-crossorigin>crossorigin</a></code> attribute set,
   changed, or removed, if the user agent only obtains images on
   demand, the <code><a href=#the-img-element>img</a></code> element must return to the <a href=#img-none title=img-none>unavailable</a> state.</p> <!-- Note how this
@@ -24292,15 +24298,11 @@
 
    <li>
 
-
-
     <p>If the element has a <code title=attr-img-srcset><a href=#attr-img-srcset>srcset</a></code> attribute specified, then
     let <var title="">selected source</var> and <var title="">selected
     pixel density</var> be the URL and pixel density that results from
     <a href=#processing-the-image-candidates>processing the image candidates</a>, respectively.
 
-
-
     Otherwise, if the element has a <code title=attr-img-src><a href=#attr-img-src>src</a></code> attribute specified and its value
     is not the empty string, let <var title="">selected source</var>
     be the value of the element's <code title=attr-img-src><a href=#attr-img-src>src</a></code> attribute, and <var title="">selected pixel density</var> be 1.0. Otherwise, let <var title="">selected source</var> be null and <var title="">selected
@@ -24348,9 +24350,7 @@
     <p class=note>Only the last instance takes effect, to avoid
     multiple requests when, for example, the
     <code title=attr-img-src><a href=#attr-img-src>src</a></code>,
-
     <code title=attr-img-srcset><a href=#attr-img-srcset>srcset</a></code>, and 
-
     <code title=attr-img-crossorigin><a href=#attr-img-crossorigin>crossorigin</a></code> attributes
     are all set in succession.</p>
 
@@ -24801,8 +24801,6 @@
   task">queued</a> by algorithms in this section is the <a href=#dom-manipulation-task-source>DOM
   manipulation task source</a>.</p>
 
-
-
   <hr><p>What an <code><a href=#the-img-element>img</a></code> element represents depends on the <code title=attr-img-src><a href=#attr-img-src>src</a></code> attribute and the <code title=attr-img-alt><a href=#attr-img-alt>alt</a></code> attribute.</p>
 
   <dl class=switch><dt>If the <code title=attr-img-src><a href=#attr-img-src>src</a></code> attribute is set
@@ -24869,7 +24867,8 @@
     caption information for the image, derived as follows:</p>
 
     <ol><!-- when editing this list, search for the two other occurrences
-     of 'critical-no-alt' --><li><p>If the image has a <code title=attr-title><a href=#the-title-attribute>title</a></code>
+     of 'critical-no-alt' --><!-- NOTE: the order of these steps is important; it's intended
+     to make the innermost caption override the outer ones --><li><p>If the image has a <code title=attr-title><a href=#attr-title>title</a></code>
      attribute whose value is not the empty string, then the value of
      that attribute is the caption information; abort these
      steps.</li>
@@ -24884,6 +24883,8 @@
      <code><a href=#the-figcaption-element>figcaption</a></code> element are the caption information;
      abort these steps.</li>
 
+     <li><p>There is no caption information.</li>
+
     </ol></dd>
 
    <dt>If the <code title=attr-img-src><a href=#attr-img-src>src</a></code> attribute is not
@@ -24907,20 +24908,18 @@
   </dl><p>The <code title=attr-img-alt><a href=#attr-img-alt>alt</a></code> attribute does not
   represent advisory information. User agents must not present the
   contents of the <code title=attr-img-alt><a href=#attr-img-alt>alt</a></code> attribute in
-  the same way as content of the <code title=attr-title><a href=#the-title-attribute>title</a></code>
+  the same way as content of the <code title=attr-title><a href=#attr-title>title</a></code>
   attribute.</p>
 
   <p>User agents may always provide the user with the option to
   display any image, or to prevent any image from being
   displayed.
 
-  <!--POLITICS--><!--FORK-->
   User agents may also apply heuristics to help the user make use of
   the image when the user is unable to see it, e.g. due to a visual
   disability or because they are using a text terminal with no
   graphics capabilities. Such heuristics could include, for instance,
   optical character recognition (OCR) of text found within the image.
-  <!--POLITICS--><!--FORK-->
 
   </p>
 
@@ -24957,9 +24956,7 @@
   <div class=impl>
 
   <p>The <dfn id=dom-img-alt title=dom-img-alt><code>alt</code></dfn>, <dfn id=dom-img-src title=dom-img-src><code>src</code></dfn>,
-  
   and <dfn id=dom-img-srcset title=dom-img-srcset><code>srcset</code></dfn>
-  
   IDL attributes must <a href=#reflect>reflect</a> the respective content
   attributes of the same name.</p>
 
@@ -25108,7 +25105,7 @@
    <p>Here it is not known at the time of publication what the image
    will be, only that it will be a coat of arms of some kind, and thus
    no replacement text can be provided, and instead only a brief
-   caption for the image is provided, in the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute:</p>
+   caption for the image is provided, in the <code title=attr-title><a href=#attr-title>title</a></code> attribute:</p>
 
    <pre><p>The last user to have uploaded a coat of arms uploaded this one:</p>
 <p><img src="last-uploaded-coat-of-arms.cgi" title="User-uploaded coat of arms."></p></pre>
@@ -25195,7 +25192,7 @@
   contain text that could be considered the image's <em>caption</em>,
   <em>title</em>, or <em>legend</em>. It is supposed to contain
   replacement text that could be used by users <em>instead</em> of the
-  image; it is not meant to supplement the image. The <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute can be used for
+  image; it is not meant to supplement the image. The <code title=attr-title><a href=#attr-title>title</a></code> attribute can be used for
   supplemental information.</p>
 
   <p>Another corollary is that the <code title=attr-img-alt><a href=#attr-img-alt>alt</a></code> attribute's value should not repeat
@@ -25327,7 +25324,7 @@
 
    <p>Text such as "Photo of white house with boarded door" would be
    equally bad alternative text (though it could be suitable for the
-   <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute or in the
+   <code title=attr-title><a href=#attr-title>title</a></code> attribute or in the
    <code><a href=#the-figcaption-element>figcaption</a></code> element of a <code><a href=#the-figure-element>figure</a></code> with this
    image).</p>
 
@@ -25512,7 +25509,7 @@
 
    <p>In these cases, it would be wrong to include alternative text
    that consists of just a caption. If a caption is to be included,
-   then either the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute can
+   then either the <code title=attr-title><a href=#attr-title>title</a></code> attribute can
    be used, or the <code><a href=#the-figure-element>figure</a></code> and <code><a href=#the-figcaption-element>figcaption</a></code>
    elements can be used. In the latter case, the image would in fact
    be a phrase or paragraph with an alternative graphical
@@ -25577,14 +25574,6 @@
   scheme — the image should be specified in the site's CSS, not
   in the markup of the document.</p>
 
-
-  <!-- The above paragraph is omitted in the WHATWG copy and replaced
-  with the explicit requirement below because accessibility is better
-  served by having authors get all their information from one place,
-  instead of requiring them to read multiple (contradictory) documents. -->
-
-<!--FORK-->
-
   <p>However, a decorative image that isn't discussed by the
   surrounding text but still has some relevance can be included in a page
   using the <code><a href=#the-img-element>img</a></code> element. Such images are decorative, but
@@ -25614,9 +25603,7 @@
 
   </div>
 
-<!--FORK-->
 
-
   <h6 id=a-group-of-images-that-form-a-single-larger-picture-with-no-links><span class=secno>4.8.1.1.8 </span>A group of images that form a single larger picture with no links</h6>
 
   <p>When a picture has been sliced into smaller image files that are
@@ -25832,11 +25819,9 @@
     be met as well:</p>
 
     <ul><!-- when editing this list, search for the two other occurrences
-     of 'critical-no-alt' --><li>The <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute is
-     present and has a non-empty value.</li>
-
-     <li id=figcaption-as-alt-condition>The <code><a href=#the-img-element>img</a></code> element
-     is in a <code><a href=#the-figure-element>figure</a></code> element that contains a
+     of 'critical-no-alt' --><!-- NOTE: the order of these steps is important; it's intended
+     to encourage using <figcaption> rather than title="" --><li id=figcaption-as-alt-condition><p>The <code><a href=#the-img-element>img</a></code>
+     element is in a <code><a href=#the-figure-element>figure</a></code> element that contains a
      <code><a href=#the-figcaption-element>figcaption</a></code> element that contains content other than
      <a href=#inter-element-whitespace>inter-element whitespace</a>, and, ignoring the
      <code><a href=#the-figcaption-element>figcaption</a></code> element and its descendants, the
@@ -25845,6 +25830,21 @@
      no <a href=#embedded-content>embedded content</a> descendant other than the
      <code><a href=#the-img-element>img</a></code> element.</li>
 
+     <li>
+
+      <p>The <code title=attr-title><a href=#attr-title>title</a></code> attribute is
+      present and has a non-empty value.</p>
+
+      <!-- search for title-warning if modifying this paragraph -->
+      <p class=note>Relying on the <code title=attr-title><a href=#attr-title>title</a></code> attribute is discouraged as many
+      user agents do not expose the attribute in an accessible manner
+      as required by this specification (e.g. requiring a pointing
+      device such as a mouse to cause a tooltip to apear, which
+      excludes keyboard-only users and touch-only users, such as
+      anyone with a modern phone or tablet).</p>
+
+     </li>
+
     </ul><p class=note>Such cases are to be kept to an absolute
     minimum. If there is even the slightest possibility of the author
     having the ability to provide real alternative text, then it would
@@ -25908,7 +25908,7 @@
      description is not available, and the user is to provide the
      description. For instance, the point of a CAPTCHA image is to see
      if the user can literally read the graphic. Here is one way to
-     mark up a CAPTCHA (note the <code title=attr-title><a href=#the-title-attribute>title</a></code>
+     mark up a CAPTCHA (note the <code title=attr-title><a href=#attr-title>title</a></code>
      attribute):</p>
 
      <pre><p><label>What does this image say?
@@ -25935,7 +25935,7 @@
 </table></pre>
 
      <p>Notice that even in this example, as much useful information
-     as possible is still included in the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute.</p>
+     as possible is still included in the <code title=attr-title><a href=#attr-title>title</a></code> attribute.</p>
 
     </div>
 
@@ -25966,7 +25966,6 @@
   be set to zero.</p>
 
 
-<!--FORK-->
   <h6 id=an-image-in-an-e-mail-or-private-document-intended-for-a-specific-person-who-is-known-to-be-able-to-view-images><span class=secno>4.8.1.1.12 </span>An image in an e-mail or private document intended for a specific person who is known to be able to view images</h6>
 
   <p><i>This section does not apply to documents that are publicly
@@ -25984,7 +25983,6 @@
   does not support images, or should the document be forwarded on to
   other users whose abilities might not include easily seeing
   images.</p>
-<!--FORK-->
 
 
 
@@ -26032,14 +26030,14 @@
   the conditions listed below applies:</p>
 
   <ul><!-- when editing this list, search for the two other occurrences
-   of 'critical-no-alt' --><li>The <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute is present
+   of 'critical-no-alt' --><li>The <code><a href=#the-img-element>img</a></code> element is in a <code><a href=#the-figure-element>figure</a></code>
+   element that satisfies <a href=#figcaption-as-alt-condition>the
+   conditions described above</a>.</li>
+
+   <li>The <code title=attr-title><a href=#attr-title>title</a></code> attribute is present
    and has a non-empty value (as <a href=#unknown-images>described
    above</a>).</li>
 
-   <li>The <code><a href=#the-img-element>img</a></code> element is in a <code><a href=#the-figure-element>figure</a></code>
-   element that satisfies <a href=#figcaption-as-alt-condition>the
-   conditions described above</a>.</li>
-
    <!-- the following are additional entries not included in the
    aforementioned list, as they apply only to conformance checkers -->
 
@@ -26047,6 +26045,7 @@
    document is an e-mail or document intended for a specific person
    who is known to be able to view images.</li>
 
+   <!-- XXXX -->
    <li>The document has a <code><a href=#the-meta-element>meta</a></code> element with a <code title=attr-meta-name><a href=#attr-meta-name>name</a></code> attribute whose value is an
    <a href=#ascii-case-insensitive>ASCII case-insensitive</a> match for the string "<code title=meta-generator><a href=#meta-generator>generator</a></code>". (This case does not
    represent a case where the document is conforming, only that the
@@ -35269,7 +35268,7 @@
   several times). If a <a href=#media-resource>media resource</a>'s audio track
   exposed in this way has no known name, and it is the only audio
   track for a particular <a href=#media-element>media element</a>, the user agent
-  should use the element's <code title=attr-title><a href=#the-title-attribute>title</a></code>
+  should use the element's <code title=attr-title><a href=#attr-title>title</a></code>
   attribute, if any, as the name (or as part of the name) of that
   track.</p>
 
@@ -51558,7 +51557,7 @@
   </div>
 
   <p>When an <code><a href=#the-input-element>input</a></code> element has a <code title=attr-input-pattern><a href=#attr-input-pattern>pattern</a></code> attribute specified,
-  authors should include a <code title=attr-title><a href=#the-title-attribute>title</a></code>
+  authors should include a <code title=attr-title><a href=#attr-title>title</a></code>
   attribute to give a description of the pattern. User agents may use
   the contents of this attribute, if it is present, when informing the
   user that the pattern is not matched, or at any other suitable time,
@@ -51576,7 +51575,7 @@
 You cannot submit this form when the field is incorrect.</samp></pre>
   </div>
 
-  <p>When a control has a <code title=attr-input-pattern><a href=#attr-input-pattern>pattern</a></code> attribute, the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute, if used, must describe
+  <p>When a control has a <code title=attr-input-pattern><a href=#attr-input-pattern>pattern</a></code> attribute, the <code title=attr-title><a href=#attr-title>title</a></code> attribute, if used, must describe
   the pattern.  Additional information could also be included, so long
   as it assists the user in filling in the control. Otherwise,
   assistive technology would be impaired.</p>
@@ -51586,9 +51585,9 @@
   something like <samp>The text you have entered does not match the
   required pattern. Birthday</samp>, which is not useful.</p>
 
-  <p>UAs may still show the <code title=attr-title><a href=#the-title-attribute>title</a></code> in
+  <p>UAs may still show the <code title=attr-title><a href=#attr-title>title</a></code> in
   non-error situations (for example, as a tooltip when hovering over
-  the control), so authors should be careful not to word <code title=attr-title><a href=#the-title-attribute>title</a></code>s as if an error has necessarily
+  the control), so authors should be careful not to word <code title=attr-title><a href=#attr-title>title</a></code>s as if an error has necessarily
   occurred.</p>
 
 
@@ -51919,7 +51918,7 @@
   if specified, must have a value that contains no U+000A LINE FEED
   (LF) or U+000D CARRIAGE RETURN (CR) characters.</p>
 
-  <p class=note>For a longer hint or other advisory text, the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute is more appropriate.</p>
+  <p class=note>For a longer hint or other advisory text, the <code title=attr-title><a href=#attr-title>title</a></code> attribute is more appropriate.</p>
 
   <p>The <code title=attr-input-placeholder><a href=#attr-input-placeholder>placeholder</a></code>
   attribute should not be used as an alternative to a
@@ -53629,7 +53628,7 @@
   must have a value that contains no U+000A LINE FEED (LF) or U+000D
   CARRIAGE RETURN (CR) characters.</p>
 
-  <p class=note>For a longer hint or other advisory text, the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute is more appropriate.</p>
+  <p class=note>For a longer hint or other advisory text, the <code title=attr-title><a href=#attr-title>title</a></code> attribute is more appropriate.</p>
 
   <p>The <code title=attr-textarea-placeholder><a href=#attr-textarea-placeholder>placeholder</a></code>
   attribute should not be used as an alternative to a
@@ -54519,7 +54518,7 @@
 
   <p>There is no explicit way to specify units in the
   <code><a href=#the-meter-element>meter</a></code> element, but the units may be specified in the
-  <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute in free-form text.</p>
+  <code title=attr-title><a href=#attr-title>title</a></code> attribute in free-form text.</p>
 
   <div class=example>
 
@@ -54706,7 +54705,7 @@
   </div>
 
   <p>User agents <span class=impl>may</span> combine the value of
-  the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute and the other
+  the <code title=attr-title><a href=#attr-title>title</a></code> attribute and the other
   attributes to provide context-sensitive help or inline text
   detailing the actual values.</p>
 
@@ -58415,7 +58414,7 @@
   <code title=attr-command-checked><a href=#attr-command-checked>checked</a></code>,
   <code title=attr-command-radiogroup><a href=#attr-command-radiogroup>radiogroup</a></code>,
   <!--<code title="attr-command-default">default</code>,--> and
-  <code title=attr-title><a href=#the-title-attribute>title</a></code> attributes defines a new
+  <code title=attr-title><a href=#attr-title>title</a></code> attributes defines a new
   command. A <code><a href=#the-command-element>command</a></code> element that uses the <code title=attr-command-command><a href=#attr-command-command>command</a></code> <em>attribute</em>
   defines a command by reference to another one. This allows authors
   to define a command once, and set its state (e.g. whether it is
@@ -59254,7 +59253,7 @@
   attribute.</p>
 
   <p>The <a href=#command-facet-hint title=command-facet-Hint>Hint</a> of the command
-  is the value of the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute
+  is the value of the <code title=attr-title><a href=#attr-title>title</a></code> attribute
   of the element. If the attribute is not present, the <a href=#command-facet-hint title=command-facet-Hint>Hint</a> is the empty string.</p>
 
   <p>The <a href=#command-facet-icon title=command-facet-Icon>Icon</a> of the command
@@ -59335,7 +59334,7 @@
   attribute, if present, is the <a href=#command-facet-label title=command-facet-Label>Label</a>. Otherwise, the <a href=#command-facet-label title=command-facet-Label>Label</a> is the empty string.</p>
 
   <p>The <a href=#command-facet-hint title=command-facet-Hint>Hint</a> of the command
-  is the value of the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute
+  is the value of the <code title=attr-title><a href=#attr-title>title</a></code> attribute
   of the <code><a href=#the-input-element>input</a></code> element. If the attribute is not present, the
   <a href=#command-facet-hint title=command-facet-Hint>Hint</a> is the empty
   string.</p>
@@ -59400,7 +59399,7 @@
   U+0020 SPACE character.</p>
 
   <p>The <a href=#command-facet-hint title=command-facet-Hint>Hint</a> of the command
-  is the string given by the element's <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute, if any, and the empty
+  is the string given by the element's <code title=attr-title><a href=#attr-title>title</a></code> attribute, if any, and the empty
   string if the attribute is absent.</p>
 
   <p>There is no <a href=#command-facet-icon title=command-facet-Icon>Icon</a> for the
@@ -59503,9 +59502,9 @@
   is the <a href=#command-facet-label title=command-facet-Label>Label</a> of the
   <a href=#master-command>master command</a>.</p>
 
-  <p>If the element has a <code title=attr-title><a href=#the-title-attribute>title</a></code>
+  <p>If the element has a <code title=attr-title><a href=#attr-title>title</a></code>
   attribute, then the <a href=#command-facet-hint title=command-facet-Hint>Hint</a> of
-  the command is the value of that <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute. Otherwise, the <a href=#command-facet-hint title=command-facet-Hint>Hint</a> of the command is the <a href=#command-facet-hint title=command-facet-Hint>Hint</a> of the <a href=#master-command>master
+  the command is the value of that <code title=attr-title><a href=#attr-title>title</a></code> attribute. Otherwise, the <a href=#command-facet-hint title=command-facet-Hint>Hint</a> of the command is the <a href=#command-facet-hint title=command-facet-Hint>Hint</a> of the <a href=#master-command>master
   command</a>.</p>
 
   <p>The <a href=#command-facet-icon title=command-facet-Icon>Icon</a> of the command
@@ -59555,7 +59554,7 @@
   attribute.</p>
 
   <p>The <a href=#command-facet-hint title=command-facet-Hint>Hint</a> of the command
-  is the value of the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute
+  is the value of the <code title=attr-title><a href=#attr-title>title</a></code> attribute
   of the element.</p>
 
   <p>There is no <a href=#command-facet-icon title=command-facet-Icon>Icon</a> for the
@@ -59596,7 +59595,7 @@
   attribute.</p>
 
   <p>The <a href=#command-facet-hint title=command-facet-Hint>Hint</a> of the command
-  is the value of the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute
+  is the value of the <code title=attr-title><a href=#attr-title>title</a></code> attribute
   of the element.</p>
 
   <p>There is no <a href=#command-facet-icon title=command-facet-Icon>Icon</a> for the
@@ -59646,7 +59645,7 @@
   <code><a href=#textcontent>textContent</a></code> of the element itself.</p>
 
   <p>The <a href=#command-facet-hint title=command-facet-Hint>Hint</a> of the command
-  is the value of the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute
+  is the value of the <code title=attr-title><a href=#attr-title>title</a></code> attribute
   of the element. If the attribute is not present, the <a href=#command-facet-hint title=command-facet-Hint>Hint</a> is the empty string.</p>
 
   <p>There is no <a href=#command-facet-icon title=command-facet-Icon>Icon</a> for the
@@ -61444,7 +61443,7 @@
 
   <p>If the <code title=rel-alternate><a href=#rel-alternate>alternate</a></code> keyword is
   also specified on the <code><a href=#the-link-element>link</a></code> element, then <dfn id=the-link-is-an-alternative-stylesheet>the link
-  is an alternative stylesheet</dfn>; in this case, the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute must be specified on the
+  is an alternative stylesheet</dfn>; in this case, the <code title=attr-title><a href=#attr-title>title</a></code> attribute must be specified on the
   <code><a href=#the-link-element>link</a></code> element, with a non-empty value.</p>
 
   <p>The default type for resources given by the <code title=rel-stylesheet><a href=#link-type-stylesheet>stylesheet</a></code> keyword is <code title="">text/css</code>.</p>
@@ -61940,7 +61939,7 @@
  <li class="tag-cloud-5"><a title="41 instances" href="/t/pear">pear</a> <span>(very popular)</span>
 </ul></pre>
 
-   <p>The actual frequency of each tag is given using the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute. A CSS style sheet is
+   <p>The actual frequency of each tag is given using the <code title=attr-title><a href=#attr-title>title</a></code> attribute. A CSS style sheet is
    provided to convert the markup into a cloud of differently-sized
    words, but for user agents that do not support CSS or are not
    visual, the markup contains annotations like "(popular)" or
@@ -62077,12 +62076,12 @@
   <p>HTML does not have a dedicated mechanism for marking up
   footnotes. Here are the recommended alternatives.</p>
 
-  <hr><p>For short inline annotations, the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute should be used.</p>
+  <hr><p>For short inline annotations, the <code title=attr-title><a href=#attr-title>title</a></code> attribute should be used.</p>
 
   <div class=example>
 
    <p>In this example, two parts of a dialogue are annotated with
-   footnote-like content using the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute.</p>
+   footnote-like content using the <code title=attr-title><a href=#attr-title>title</a></code> attribute.</p>
 
    <pre><p> <b>Customer</b>: Hello! I wish to register a complaint. Hello. Miss?
 <p> <b>Shopkeeper</b>: <strong><span title="Colloquial pronunciation of 'What do you'"</strong>
@@ -99103,30 +99102,33 @@
 
 
 
-  <h4 id=the-title-attribute-0><span class=secno>14.7.2 </span>The <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute</h4>
+  <h4 id=the-title-attribute-0><span class=secno>14.7.2 </span>The <code title=attr-title><a href=#attr-title>title</a></code> attribute</h4>
 
-  <p>Given an element (e.g. the element designated by the mouse
-  cursor), if the element, or one of its ancestors, has a <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute, and the nearest such
-  attribute has a value that is not the empty string, it is expected
-  that the user agent will expose the contents of that attribute as a
-  tooltip.</p>
+  <p>User agents are expected to expose the <a href=#advisory-information>advisory
+  information</a> of elements upon user request.</p>
 
+  <p>On interactive graphical systems where the user can use a
+  pointing device, this could take the form of a tooltip. When the
+  user is unable to use a pointing device, then the user agent is
+  expected to make the content available in some other fashion, e.g.
+  by making the element focusable and always displaying the
+  <a href=#advisory-information>advisory information</a> of the currently focused element,
+  or by showing the <a href=#advisory-information>advisory information</a> of the elements
+  under the user's finger on a touch device as the user pans around
+  the screen.</p>
+
   <p>U+000A LINE FEED (LF) characters are expected to cause line
-  breaks in the tooltip, U+0009 CHARACTER TABULATION (tab) characters
+  breaks in the tooltip; U+0009 CHARACTER TABULATION (tab) characters
   are expected to render as a non-zero horizontal shift that lines up
   the next glyph with the next tab stop, with tab stops occurring at
   points that are multiples of 8 times the width of a U+0020 SPACE
   character.</p>
 
-  <p>User agents are encouraged to make it possible to view tooltips
-  without the use of a pointing device, since not all users are able
-  to use pointing devices.</p>
-
   <div class=example>
 
    <p>For example, a visual user agent could make elements with a
-   <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute focusable, and
-   could make any focused element with a <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute show its tooltip under
+   <code title=attr-title><a href=#attr-title>title</a></code> attribute focusable, and
+   could make any focused element with a <code title=attr-title><a href=#attr-title>title</a></code> attribute show its tooltip under
    the element while the element has focus. This would allow a user to
    tab around the document to find all the advisory text.</p>
 
@@ -99555,7 +99557,7 @@
    instead.</dd>
 
    <dt><dfn id=attr-tdth-abbr title=attr-tdth-abbr><code>abbr</code></dfn> on <code><a href=#the-td-element>td</a></code> and <code><a href=#the-th-element>th</a></code> elements</dt>
-   <dd><p>Use text that begins in an unambiguous and terse manner, and include any more elaborate text after that. The <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute can also be useful in including more detailed text, so that the cell's contents can be made terse.</p>
+   <dd><p>Use text that begins in an unambiguous and terse manner, and include any more elaborate text after that. The <code title=attr-title><a href=#attr-title>title</a></code> attribute can also be useful in including more detailed text, so that the cell's contents can be made terse.</p>
 
    <dt><dfn id=attr-tdth-axis title=attr-tdth-axis><code>axis</code></dfn> on <code><a href=#the-td-element>td</a></code> and <code><a href=#the-th-element>th</a></code> elements</dt>
    <dd><p>Use the <code title=attr-th-scope><a href=#attr-th-scope>scope</a></code> attribute on the relevant <code><a href=#the-th-element>th</a></code>.</p>
@@ -103763,7 +103765,7 @@
      <td> <a href=#browsing-context>Browsing context</a> for <a href=#form-submission>form submission</a>
      <td> <a href=#valid-browsing-context-name-or-keyword>Valid browsing context name or keyword</a>
     <tr><th> <code title="">title</code>
-     <td> <a href=#the-title-attribute title=attr-title>HTML elements</a>
+     <td> <a href=#attr-title title=attr-title>HTML elements</a>
      <td> Advisory information for the element
      <td> <a href=#attribute-text>Text</a>
     <tr><th> <code title="">title</code>

Modified: index
===================================================================
--- index	2012-08-21 02:15:12 UTC (rev 7247)
+++ index	2012-08-21 23:20:36 UTC (rev 7248)
@@ -402,7 +402,7 @@
      <li><a href=#global-attributes><span class=secno>3.2.3 </span>Global attributes</a>
       <ol>
        <li><a href=#the-id-attribute><span class=secno>3.2.3.1 </span>The <code>id</code> attribute</a></li>
-       <li><a href=#the-title-attribute><span class=secno>3.2.3.2 </span>The <code>title</code> attribute</a></li>
+       <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>
@@ -1530,8 +1530,8 @@
    group chair decision from November 2011</a>.</li>
 
    <li>The W3C HTML specification omits a number of suggestions
-   regarding using the <code title=attr-title><a href=#the-title-attribute>title</a></code>
-   attribute, and makes using the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute for captions
+   regarding using the <code title=attr-title><a href=#attr-title>title</a></code>
+   attribute, and makes using the <code title=attr-title><a href=#attr-title>title</a></code> attribute for captions
    non-conforming in certain specific cases, because of a number of
    working group chair decisions from March 2012:
    <a href=http://lists.w3.org/Archives/Public/public-html/2012Mar/0555.html>first</a>,
@@ -11168,7 +11168,7 @@
    <li><code title=attr-spellcheck><a href=#attr-spellcheck>spellcheck</a></code></li>
    <li><code title=attr-style><a href=#the-style-attribute>style</a></code></li>
    <li><code title=attr-tabindex><a href=#attr-tabindex>tabindex</a></code></li>
-   <li><code title=attr-title><a href=#the-title-attribute>title</a></code></li>
+   <li><code title=attr-title><a href=#attr-title>title</a></code></li>
    <li><code title=attr-translate><a href=#attr-translate>translate</a></code></li>
   </ul><div class=impl>
 
@@ -11332,9 +11332,9 @@
   </div>
 
 
-  <h5 id=the-title-attribute><span class=secno>3.2.3.2 </span>The <dfn title=attr-title><code>title</code></dfn> attribute</h5>
+  <h5 id=the-title-attribute><span class=secno>3.2.3.2 </span>The <code title=attr-title><a href=#attr-title>title</a></code> attribute</h5>
 
-  <p>The <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute
+  <p>The <dfn id=attr-title title=attr-title><code>title</code></dfn> attribute
   <a href=#represents>represents</a> advisory information for the element, such
   as would be appropriate for a tooltip. On a link, this could be the
   title or a description of the target resource; on an image, it could
@@ -11344,40 +11344,67 @@
   content</a>, it could be a label for, or instructions for, use of
   the element; and so forth. The value is text.</p>
 
+  <!-- search for title-warning if modifying this paragraph -->
+  <p class=note>Relying on the <code title=attr-title><a href=#attr-title>title</a></code>
+  attribute is discouraged as many user agents do not expose the
+  attribute in an accessible manner as required by this specification
+  (e.g. requiring a pointing device such as a mouse to cause a tooltip
+  to apear, which excludes keyboard-only users and touch-only users,
+  such as anyone with a modern phone or tablet).</p>
+
   <p>If this attribute is omitted from an element, then it implies
-  that the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute of the
+  that the <code title=attr-title><a href=#attr-title>title</a></code> attribute of the
   nearest ancestor <a href=#html-elements title="HTML elements">HTML element</a>
-  with a <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute set is also
+  with a <code title=attr-title><a href=#attr-title>title</a></code> attribute set is also
   relevant to this element. Setting the attribute overrides this,
   explicitly stating that the advisory information of any ancestors is
   not relevant to this element. Setting the attribute to the empty
   string indicates that the element has no advisory information.</p>
 
-  <p>If the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute's value
+  <p>If the <code title=attr-title><a href=#attr-title>title</a></code> attribute's value
   contains U+000A LINE FEED (LF) characters, the content is split into
   multiple lines. Each U+000A LINE FEED (LF) character represents a
   line break.</p>
 
   <div class=example>
 
-   <p>Caution is advised with respect to the use of newlines in <code title=attr-title><a href=#the-title-attribute>title</a></code> attributes.</p>
+   <p>Caution is advised with respect to the use of newlines in <code title=attr-title><a href=#attr-title>title</a></code> attributes.</p>
 
    <p>For instance, the following snippet actually defines an
    abbreviation's expansion <em>with a line break in it</em>:</p>
 
    <pre class=bad><p>My logs show that there was some interest in <abbr title="Hypertext
-Transport Protocol">HTTP</abbr> today.</p></pre>
+Transport Protocol">HTTP</abbr> today.</p></pre> <!-- DO NOT REWRAP THIS LINE -->
 
   </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=#the-title-attribute>title</a></code> attribute beyond the semantics
-  described above.</p>
+  <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>
 
-  <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=#the-title-attribute>title</a></code>
+  <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:</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 -->
+
+   <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, return the empty string.</li>
+
+  </ol><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>
@@ -14855,7 +14882,7 @@
 
   <p class=note>The <code title=attr-link-title><a href=#attr-link-title>title</a></code>
   attribute on <code><a href=#the-link-element>link</a></code> elements differs from the global
-  <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute of most other
+  <code title=attr-title><a href=#attr-title>title</a></code> attribute of most other
   elements in that a link without a title does not inherit the title
   of the parent element: it merely has no title.</p>
 
@@ -15088,6 +15115,7 @@
 
     </div>
 
+    <!-- XXXX -->
     <p class=note>This metadata name causes conformance checkers to
     <a href=#guidance-for-conformance-checkers>silently ignore</a>
     certain conformance errors that are inevitable when using
@@ -16040,12 +16068,12 @@
   <p id=title-on-style>The <dfn id=attr-style-title title=attr-style-title><code>title</code></dfn> attribute on
   <code><a href=#the-style-element>style</a></code> elements defines <a href=#alternative-style-sheet-sets>alternative style sheet
   sets</a>. If the <code><a href=#the-style-element>style</a></code> element has no <code title=attr-style-title><a href=#attr-style-title>title</a></code> attribute, then it has no
-  title; the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute of
+  title; the <code title=attr-title><a href=#attr-title>title</a></code> attribute of
   ancestors does not apply to the <code><a href=#the-style-element>style</a></code> element. <a href=#refsCSSOM>[CSSOM]</a></p>
 
   <p class=note>The <code title=attr-style-title><a href=#attr-style-title>title</a></code>
   attribute on <code><a href=#the-style-element>style</a></code> elements, like the <code title=attr-link-title><a href=#attr-link-title>title</a></code> attribute on <code><a href=#the-link-element>link</a></code>
-  elements, differs from the global <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute in that a
+  elements, differs from the global <code title=attr-title><a href=#attr-title>title</a></code> attribute in that a
   <code><a href=#the-style-element>style</a></code> block without a title does not inherit the title
   of the parent element: it merely has no title.</p>
 
@@ -20647,7 +20675,7 @@
   <div class=example>
 
    <p>The previous example could also be more succintly written as
-   follows (using <code title=attr-title><a href=#the-title-attribute>title</a></code> attributes in
+   follows (using <code title=attr-title><a href=#attr-title>title</a></code> attributes in
    place of the nested <code><a href=#the-figure-element>figure</a></code>/<code><a href=#the-figcaption-element>figcaption</a></code>
    pairs):</p>
 
@@ -20699,7 +20727,7 @@
     <pre class=idl>interface <dfn id=htmldivelement>HTMLDivElement</dfn> : <a href=#htmlelement>HTMLElement</a> {};</pre>
    </dd>
   </dl><!--TOPIC:HTML--><p>The <code><a href=#the-div-element>div</a></code> element has no special meaning at all. It
-  <a href=#represents>represents</a> its children. It can be used with the <code title=attr-class><a href=#classes>class</a></code>, <code title=attr-lang><a href=#attr-lang>lang</a></code>, and <code title=attr-title><a href=#the-title-attribute>title</a></code> attributes to mark up semantics
+  <a href=#represents>represents</a> its children. It can be used with the <code title=attr-class><a href=#classes>class</a></code>, <code title=attr-lang><a href=#attr-lang>lang</a></code>, and <code title=attr-title><a href=#attr-title>title</a></code> attributes to mark up semantics
   common to a group of consecutive elements.</p>
 
   <p class=note>Authors are strongly encouraged to view the
@@ -21504,7 +21532,7 @@
   <code><a href=#the-dfn-element>dfn</a></code> element is present, then it must contain only the
   term being defined.</p>
 
-  <p class=note>The <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute
+  <p class=note>The <code title=attr-title><a href=#attr-title>title</a></code> attribute
   of ancestor elements does not affect <code><a href=#the-dfn-element>dfn</a></code> elements.</p>
 
   <p>An <code><a href=#the-a-element>a</a></code> element that links to a <code><a href=#the-dfn-element>dfn</a></code>
@@ -21629,23 +21657,23 @@
   is expected to be useful in the following cases:</p>
 
   <ul><li>Abbreviations for which the author wants to give expansions,
-   where using the <code><a href=#the-abbr-element>abbr</a></code> element with a <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute is an alternative to
+   where using the <code><a href=#the-abbr-element>abbr</a></code> element with a <code title=attr-title><a href=#attr-title>title</a></code> attribute is an alternative to
    including the expansion inline (e.g. in parentheses).</li>
 
    <li>Abbreviations that are likely to be unfamiliar to the
    document's readers, for which authors are encouraged to either mark
-   up the abbreviation using an <code><a href=#the-abbr-element>abbr</a></code> element with a <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute or include the expansion
+   up the abbreviation using an <code><a href=#the-abbr-element>abbr</a></code> element with a <code title=attr-title><a href=#attr-title>title</a></code> attribute or include the expansion
    inline in the text the first time the abbreviation is used.</li>
 
    <li>Abbreviations whose presence needs to be semantically
    annotated, e.g. so that they can be identified from a style sheet
    and given specific styles, for which the <code><a href=#the-abbr-element>abbr</a></code> element
-   can be used without a <code title=attr-title><a href=#the-title-attribute>title</a></code>
+   can be used without a <code title=attr-title><a href=#attr-title>title</a></code>
    attribute.</li>
 
-  </ul><p title=note>Providing an expansion in a <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute once will not necessarily
+  </ul><p title=note>Providing an expansion in a <code title=attr-title><a href=#attr-title>title</a></code> attribute once will not necessarily
   cause other <code><a href=#the-abbr-element>abbr</a></code> elements in the same document with the
-  same contents but without a <code title=attr-title><a href=#the-title-attribute>title</a></code>
+  same contents but without a <code title=attr-title><a href=#attr-title>title</a></code>
   attribute to behave as if they had the same expansion. Every
   <code><a href=#the-abbr-element>abbr</a></code> element is independent.</p>
 
@@ -23997,9 +24025,7 @@
    <dd><a href=#global-attributes>Global attributes</a></dd>
    <dd><code title=attr-img-alt><a href=#attr-img-alt>alt</a></code></dd>
    <dd><code title=attr-img-src><a href=#attr-img-src>src</a></code></dd>
-
    <dd><code title=attr-img-srcset><a href=#attr-img-srcset>srcset</a></code></dd>
-
    <dd><code title=attr-img-crossorigin><a href=#attr-img-crossorigin>crossorigin</a></code></dd>
    <dd><code title=attr-hyperlink-usemap><a href=#attr-hyperlink-usemap>usemap</a></code></dd>
    <dd><code title=attr-img-ismap><a href=#attr-img-ismap>ismap</a></code></dd>
@@ -24013,9 +24039,7 @@
 interface <dfn id=htmlimageelement>HTMLImageElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-img-alt title=dom-img-alt>alt</a>;
            attribute DOMString <a href=#dom-img-src title=dom-img-src>src</a>;
-
            attribute DOMString <a href=#dom-img-srcset title=dom-img-srcset>srcset</a>;
-
            attribute DOMString <a href=#dom-img-crossorigin title=dom-img-crossOrigin>crossOrigin</a>;
            attribute DOMString <a href=#dom-img-usemap title=dom-img-useMap>useMap</a>;
            attribute boolean <a href=#dom-img-ismap title=dom-img-isMap>isMap</a>;
@@ -24045,27 +24069,22 @@
 
   -->
 
-  <p>The image given by the <dfn id=attr-img-src title=attr-img-src><code>src</code></dfn>
+  <p>The image given by the <dfn id=attr-img-src title=attr-img-src><code>src</code></dfn> and <dfn id=attr-img-srcset title=attr-img-srcset><code>srcset</code></dfn> attributes is the
+  embedded content; the value of the <dfn id=attr-img-alt title=attr-img-alt><code>alt</code></dfn> attribute provides
+  equivalent content for those who cannot process images or who have
+  image loading disabled (i.e. it is the <code><a href=#the-img-element>img</a></code> element's
+  <a href=#fallback-content>fallback content</a>).</p>
 
-  and <dfn id=attr-img-srcset title=attr-img-srcset><code>srcset</code></dfn>
+  <p>The requirements on the <code title=attr-img-alt><a href=#attr-img-alt>alt</a></code>
+  attribute's value are described <a href=#alt>in the next
+  section</a>.</p>
 
-  attributes is the embedded content; the value of the <dfn id=attr-img-alt title=attr-img-alt><code>alt</code></dfn> attribute provides
-  equivalent content for those who cannot process images or who have
-  image loading disabled<!--
---><!--FORK--><!--
-  --> (i.e. it is the <code><a href=#the-img-element>img</a></code> element's <a href=#fallback-content>fallback
-  content</a>)<!--
---><!--FORK--><!--
-  -->.</p>
-
   <p>The <code title=attr-img-src><a href=#attr-img-src>src</a></code> attribute must be
   present, and must contain a <a href=#valid-non-empty-url-potentially-surrounded-by-spaces>valid non-empty URL potentially
   surrounded by spaces</a> referencing a non-interactive,
   optionally animated, image resource that is neither paged nor
   scripted.</p>
 
-
-
   <p>The <code title=attr-img-srcset><a href=#attr-img-srcset>srcset</a></code> attribute may
   also be present. If present, its value must consist of one or more
   <a href=#image-candidate-string title="image candidate string">image candidate strings</a>,
@@ -24158,26 +24177,21 @@
 
   </div>
 
+  <p class=note>The requirements above imply that images can be
+  static bitmaps (e.g. PNGs, GIFs, JPEGs), single-page vector
+  documents (single-page PDFs, XML files with an SVG root element),
+  animated bitmaps (APNGs, animated GIFs), animated vector graphics
+  (XML files with an SVG root element that use declarative SMIL
+  animation), and so forth. However, these definitions preclude SVG
+  files with script, multipage PDF files, interactive MNG files, HTML
+  documents, plain text documents, and so forth.</p>
 
-
-  <p class=note>Images can thus be static bitmaps (e.g. PNGs, GIFs,
-  JPEGs), single-page vector documents (single-page PDFs, XML files
-  with an SVG root element), animated bitmaps (APNGs, animated GIFs),
-  animated vector graphics (XML files with an SVG root element that
-  use declarative SMIL animation), and so forth. However, this also
-  precludes SVG files with script, multipage PDF files, interactive
-  MNG files, HTML documents, plain text documents, and so forth.</p>
-
-  <p>The requirements on the <code title=attr-img-alt><a href=#attr-img-alt>alt</a></code>
-  attribute's value are described <a href=#alt>in the next
-  section</a>.</p>
-
   <p>The <code><a href=#the-img-element>img</a></code> element must not be used as a layout tool.
   In particular, <code><a href=#the-img-element>img</a></code> elements should not be used to
   display transparent images, as they rarely convey meaning and rarely
   add anything useful to the document.</p>
 
-  <p>The <dfn id=attr-img-crossorigin title=attr-img-crossorigin><code>crossorigin</code></dfn>
+  <hr><p>The <dfn id=attr-img-crossorigin title=attr-img-crossorigin><code>crossorigin</code></dfn>
   attribute is a <a href=#cors-settings-attribute>CORS settings attribute</a>. Its purpose is
   to allow images from third-party sites that allow cross-origin
   access to be used with <code><a href=#the-canvas-element>canvas</a></code>.</p>
@@ -24215,16 +24229,12 @@
   <p>A user agent that obtains images immediately must synchronously
   <a href=#update-the-image-data>update the image data</a> of an <code><a href=#the-img-element>img</a></code> element
   whenever that element is created with a <code title=attr-img-src><a href=#attr-img-src>src</a></code> attribute,
-
   a <code title=attr-img-srcset><a href=#attr-img-srcset>srcset</a></code> attribute, or both.
-
   A user agent that obtains images immediately must also synchronously
   <a href=#update-the-image-data>update the image data</a> of an <code><a href=#the-img-element>img</a></code> element
   whenever that element has its
   <code title=attr-img-src><a href=#attr-img-src>src</a></code>,
-
   <code title=attr-img-srcset><a href=#attr-img-srcset>srcset</a></code>, or
-
   <code title=attr-img-crossorigin><a href=#attr-img-crossorigin>crossorigin</a></code> attribute set,
   changed, or removed.</p> <!-- Note how this does NOT happen when the
   base URL changes. -->
@@ -24234,15 +24244,11 @@
   the image data (i.e. on demand), but only if the <code><a href=#the-img-element>img</a></code>
   element has a
   <code title=attr-img-src><a href=#attr-img-src>src</a></code>
-
   or <code title=attr-img-src><a href=#attr-img-src>srcset</a></code>
-
   attribute, and only if the <code><a href=#the-img-element>img</a></code> element is in the <a href=#img-none title=img-none>unavailable</a> state. When an <code><a href=#the-img-element>img</a></code>
   element's
   <code title=attr-img-src><a href=#attr-img-src>src</a></code>,
-
   <code title=attr-img-srcset><a href=#attr-img-srcset>srcset</a></code>, or
-
   <code title=attr-img-crossorigin><a href=#attr-img-crossorigin>crossorigin</a></code> attribute set,
   changed, or removed, if the user agent only obtains images on
   demand, the <code><a href=#the-img-element>img</a></code> element must return to the <a href=#img-none title=img-none>unavailable</a> state.</p> <!-- Note how this
@@ -24292,15 +24298,11 @@
 
    <li>
 
-
-
     <p>If the element has a <code title=attr-img-srcset><a href=#attr-img-srcset>srcset</a></code> attribute specified, then
     let <var title="">selected source</var> and <var title="">selected
     pixel density</var> be the URL and pixel density that results from
     <a href=#processing-the-image-candidates>processing the image candidates</a>, respectively.
 
-
-
     Otherwise, if the element has a <code title=attr-img-src><a href=#attr-img-src>src</a></code> attribute specified and its value
     is not the empty string, let <var title="">selected source</var>
     be the value of the element's <code title=attr-img-src><a href=#attr-img-src>src</a></code> attribute, and <var title="">selected pixel density</var> be 1.0. Otherwise, let <var title="">selected source</var> be null and <var title="">selected
@@ -24348,9 +24350,7 @@
     <p class=note>Only the last instance takes effect, to avoid
     multiple requests when, for example, the
     <code title=attr-img-src><a href=#attr-img-src>src</a></code>,
-
     <code title=attr-img-srcset><a href=#attr-img-srcset>srcset</a></code>, and 
-
     <code title=attr-img-crossorigin><a href=#attr-img-crossorigin>crossorigin</a></code> attributes
     are all set in succession.</p>
 
@@ -24801,8 +24801,6 @@
   task">queued</a> by algorithms in this section is the <a href=#dom-manipulation-task-source>DOM
   manipulation task source</a>.</p>
 
-
-
   <hr><p>What an <code><a href=#the-img-element>img</a></code> element represents depends on the <code title=attr-img-src><a href=#attr-img-src>src</a></code> attribute and the <code title=attr-img-alt><a href=#attr-img-alt>alt</a></code> attribute.</p>
 
   <dl class=switch><dt>If the <code title=attr-img-src><a href=#attr-img-src>src</a></code> attribute is set
@@ -24869,7 +24867,8 @@
     caption information for the image, derived as follows:</p>
 
     <ol><!-- when editing this list, search for the two other occurrences
-     of 'critical-no-alt' --><li><p>If the image has a <code title=attr-title><a href=#the-title-attribute>title</a></code>
+     of 'critical-no-alt' --><!-- NOTE: the order of these steps is important; it's intended
+     to make the innermost caption override the outer ones --><li><p>If the image has a <code title=attr-title><a href=#attr-title>title</a></code>
      attribute whose value is not the empty string, then the value of
      that attribute is the caption information; abort these
      steps.</li>
@@ -24884,6 +24883,8 @@
      <code><a href=#the-figcaption-element>figcaption</a></code> element are the caption information;
      abort these steps.</li>
 
+     <li><p>There is no caption information.</li>
+
     </ol></dd>
 
    <dt>If the <code title=attr-img-src><a href=#attr-img-src>src</a></code> attribute is not
@@ -24907,20 +24908,18 @@
   </dl><p>The <code title=attr-img-alt><a href=#attr-img-alt>alt</a></code> attribute does not
   represent advisory information. User agents must not present the
   contents of the <code title=attr-img-alt><a href=#attr-img-alt>alt</a></code> attribute in
-  the same way as content of the <code title=attr-title><a href=#the-title-attribute>title</a></code>
+  the same way as content of the <code title=attr-title><a href=#attr-title>title</a></code>
   attribute.</p>
 
   <p>User agents may always provide the user with the option to
   display any image, or to prevent any image from being
   displayed.
 
-  <!--POLITICS--><!--FORK-->
   User agents may also apply heuristics to help the user make use of
   the image when the user is unable to see it, e.g. due to a visual
   disability or because they are using a text terminal with no
   graphics capabilities. Such heuristics could include, for instance,
   optical character recognition (OCR) of text found within the image.
-  <!--POLITICS--><!--FORK-->
 
   </p>
 
@@ -24957,9 +24956,7 @@
   <div class=impl>
 
   <p>The <dfn id=dom-img-alt title=dom-img-alt><code>alt</code></dfn>, <dfn id=dom-img-src title=dom-img-src><code>src</code></dfn>,
-  
   and <dfn id=dom-img-srcset title=dom-img-srcset><code>srcset</code></dfn>
-  
   IDL attributes must <a href=#reflect>reflect</a> the respective content
   attributes of the same name.</p>
 
@@ -25108,7 +25105,7 @@
    <p>Here it is not known at the time of publication what the image
    will be, only that it will be a coat of arms of some kind, and thus
    no replacement text can be provided, and instead only a brief
-   caption for the image is provided, in the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute:</p>
+   caption for the image is provided, in the <code title=attr-title><a href=#attr-title>title</a></code> attribute:</p>
 
    <pre><p>The last user to have uploaded a coat of arms uploaded this one:</p>
 <p><img src="last-uploaded-coat-of-arms.cgi" title="User-uploaded coat of arms."></p></pre>
@@ -25195,7 +25192,7 @@
   contain text that could be considered the image's <em>caption</em>,
   <em>title</em>, or <em>legend</em>. It is supposed to contain
   replacement text that could be used by users <em>instead</em> of the
-  image; it is not meant to supplement the image. The <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute can be used for
+  image; it is not meant to supplement the image. The <code title=attr-title><a href=#attr-title>title</a></code> attribute can be used for
   supplemental information.</p>
 
   <p>Another corollary is that the <code title=attr-img-alt><a href=#attr-img-alt>alt</a></code> attribute's value should not repeat
@@ -25327,7 +25324,7 @@
 
    <p>Text such as "Photo of white house with boarded door" would be
    equally bad alternative text (though it could be suitable for the
-   <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute or in the
+   <code title=attr-title><a href=#attr-title>title</a></code> attribute or in the
    <code><a href=#the-figcaption-element>figcaption</a></code> element of a <code><a href=#the-figure-element>figure</a></code> with this
    image).</p>
 
@@ -25512,7 +25509,7 @@
 
    <p>In these cases, it would be wrong to include alternative text
    that consists of just a caption. If a caption is to be included,
-   then either the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute can
+   then either the <code title=attr-title><a href=#attr-title>title</a></code> attribute can
    be used, or the <code><a href=#the-figure-element>figure</a></code> and <code><a href=#the-figcaption-element>figcaption</a></code>
    elements can be used. In the latter case, the image would in fact
    be a phrase or paragraph with an alternative graphical
@@ -25577,14 +25574,6 @@
   scheme — the image should be specified in the site's CSS, not
   in the markup of the document.</p>
 
-
-  <!-- The above paragraph is omitted in the WHATWG copy and replaced
-  with the explicit requirement below because accessibility is better
-  served by having authors get all their information from one place,
-  instead of requiring them to read multiple (contradictory) documents. -->
-
-<!--FORK-->
-
   <p>However, a decorative image that isn't discussed by the
   surrounding text but still has some relevance can be included in a page
   using the <code><a href=#the-img-element>img</a></code> element. Such images are decorative, but
@@ -25614,9 +25603,7 @@
 
   </div>
 
-<!--FORK-->
 
-
   <h6 id=a-group-of-images-that-form-a-single-larger-picture-with-no-links><span class=secno>4.8.1.1.8 </span>A group of images that form a single larger picture with no links</h6>
 
   <p>When a picture has been sliced into smaller image files that are
@@ -25832,11 +25819,9 @@
     be met as well:</p>
 
     <ul><!-- when editing this list, search for the two other occurrences
-     of 'critical-no-alt' --><li>The <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute is
-     present and has a non-empty value.</li>
-
-     <li id=figcaption-as-alt-condition>The <code><a href=#the-img-element>img</a></code> element
-     is in a <code><a href=#the-figure-element>figure</a></code> element that contains a
+     of 'critical-no-alt' --><!-- NOTE: the order of these steps is important; it's intended
+     to encourage using <figcaption> rather than title="" --><li id=figcaption-as-alt-condition><p>The <code><a href=#the-img-element>img</a></code>
+     element is in a <code><a href=#the-figure-element>figure</a></code> element that contains a
      <code><a href=#the-figcaption-element>figcaption</a></code> element that contains content other than
      <a href=#inter-element-whitespace>inter-element whitespace</a>, and, ignoring the
      <code><a href=#the-figcaption-element>figcaption</a></code> element and its descendants, the
@@ -25845,6 +25830,21 @@
      no <a href=#embedded-content>embedded content</a> descendant other than the
      <code><a href=#the-img-element>img</a></code> element.</li>
 
+     <li>
+
+      <p>The <code title=attr-title><a href=#attr-title>title</a></code> attribute is
+      present and has a non-empty value.</p>
+
+      <!-- search for title-warning if modifying this paragraph -->
+      <p class=note>Relying on the <code title=attr-title><a href=#attr-title>title</a></code> attribute is discouraged as many
+      user agents do not expose the attribute in an accessible manner
+      as required by this specification (e.g. requiring a pointing
+      device such as a mouse to cause a tooltip to apear, which
+      excludes keyboard-only users and touch-only users, such as
+      anyone with a modern phone or tablet).</p>
+
+     </li>
+
     </ul><p class=note>Such cases are to be kept to an absolute
     minimum. If there is even the slightest possibility of the author
     having the ability to provide real alternative text, then it would
@@ -25908,7 +25908,7 @@
      description is not available, and the user is to provide the
      description. For instance, the point of a CAPTCHA image is to see
      if the user can literally read the graphic. Here is one way to
-     mark up a CAPTCHA (note the <code title=attr-title><a href=#the-title-attribute>title</a></code>
+     mark up a CAPTCHA (note the <code title=attr-title><a href=#attr-title>title</a></code>
      attribute):</p>
 
      <pre><p><label>What does this image say?
@@ -25935,7 +25935,7 @@
 </table></pre>
 
      <p>Notice that even in this example, as much useful information
-     as possible is still included in the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute.</p>
+     as possible is still included in the <code title=attr-title><a href=#attr-title>title</a></code> attribute.</p>
 
     </div>
 
@@ -25966,7 +25966,6 @@
   be set to zero.</p>
 
 
-<!--FORK-->
   <h6 id=an-image-in-an-e-mail-or-private-document-intended-for-a-specific-person-who-is-known-to-be-able-to-view-images><span class=secno>4.8.1.1.12 </span>An image in an e-mail or private document intended for a specific person who is known to be able to view images</h6>
 
   <p><i>This section does not apply to documents that are publicly
@@ -25984,7 +25983,6 @@
   does not support images, or should the document be forwarded on to
   other users whose abilities might not include easily seeing
   images.</p>
-<!--FORK-->
 
 
 
@@ -26032,14 +26030,14 @@
   the conditions listed below applies:</p>
 
   <ul><!-- when editing this list, search for the two other occurrences
-   of 'critical-no-alt' --><li>The <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute is present
+   of 'critical-no-alt' --><li>The <code><a href=#the-img-element>img</a></code> element is in a <code><a href=#the-figure-element>figure</a></code>
+   element that satisfies <a href=#figcaption-as-alt-condition>the
+   conditions described above</a>.</li>
+
+   <li>The <code title=attr-title><a href=#attr-title>title</a></code> attribute is present
    and has a non-empty value (as <a href=#unknown-images>described
    above</a>).</li>
 
-   <li>The <code><a href=#the-img-element>img</a></code> element is in a <code><a href=#the-figure-element>figure</a></code>
-   element that satisfies <a href=#figcaption-as-alt-condition>the
-   conditions described above</a>.</li>
-
    <!-- the following are additional entries not included in the
    aforementioned list, as they apply only to conformance checkers -->
 
@@ -26047,6 +26045,7 @@
    document is an e-mail or document intended for a specific person
    who is known to be able to view images.</li>
 
+   <!-- XXXX -->
    <li>The document has a <code><a href=#the-meta-element>meta</a></code> element with a <code title=attr-meta-name><a href=#attr-meta-name>name</a></code> attribute whose value is an
    <a href=#ascii-case-insensitive>ASCII case-insensitive</a> match for the string "<code title=meta-generator><a href=#meta-generator>generator</a></code>". (This case does not
    represent a case where the document is conforming, only that the
@@ -35269,7 +35268,7 @@
   several times). If a <a href=#media-resource>media resource</a>'s audio track
   exposed in this way has no known name, and it is the only audio
   track for a particular <a href=#media-element>media element</a>, the user agent
-  should use the element's <code title=attr-title><a href=#the-title-attribute>title</a></code>
+  should use the element's <code title=attr-title><a href=#attr-title>title</a></code>
   attribute, if any, as the name (or as part of the name) of that
   track.</p>
 
@@ -51558,7 +51557,7 @@
   </div>
 
   <p>When an <code><a href=#the-input-element>input</a></code> element has a <code title=attr-input-pattern><a href=#attr-input-pattern>pattern</a></code> attribute specified,
-  authors should include a <code title=attr-title><a href=#the-title-attribute>title</a></code>
+  authors should include a <code title=attr-title><a href=#attr-title>title</a></code>
   attribute to give a description of the pattern. User agents may use
   the contents of this attribute, if it is present, when informing the
   user that the pattern is not matched, or at any other suitable time,
@@ -51576,7 +51575,7 @@
 You cannot submit this form when the field is incorrect.</samp></pre>
   </div>
 
-  <p>When a control has a <code title=attr-input-pattern><a href=#attr-input-pattern>pattern</a></code> attribute, the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute, if used, must describe
+  <p>When a control has a <code title=attr-input-pattern><a href=#attr-input-pattern>pattern</a></code> attribute, the <code title=attr-title><a href=#attr-title>title</a></code> attribute, if used, must describe
   the pattern.  Additional information could also be included, so long
   as it assists the user in filling in the control. Otherwise,
   assistive technology would be impaired.</p>
@@ -51586,9 +51585,9 @@
   something like <samp>The text you have entered does not match the
   required pattern. Birthday</samp>, which is not useful.</p>
 
-  <p>UAs may still show the <code title=attr-title><a href=#the-title-attribute>title</a></code> in
+  <p>UAs may still show the <code title=attr-title><a href=#attr-title>title</a></code> in
   non-error situations (for example, as a tooltip when hovering over
-  the control), so authors should be careful not to word <code title=attr-title><a href=#the-title-attribute>title</a></code>s as if an error has necessarily
+  the control), so authors should be careful not to word <code title=attr-title><a href=#attr-title>title</a></code>s as if an error has necessarily
   occurred.</p>
 
 
@@ -51919,7 +51918,7 @@
   if specified, must have a value that contains no U+000A LINE FEED
   (LF) or U+000D CARRIAGE RETURN (CR) characters.</p>
 
-  <p class=note>For a longer hint or other advisory text, the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute is more appropriate.</p>
+  <p class=note>For a longer hint or other advisory text, the <code title=attr-title><a href=#attr-title>title</a></code> attribute is more appropriate.</p>
 
   <p>The <code title=attr-input-placeholder><a href=#attr-input-placeholder>placeholder</a></code>
   attribute should not be used as an alternative to a
@@ -53629,7 +53628,7 @@
   must have a value that contains no U+000A LINE FEED (LF) or U+000D
   CARRIAGE RETURN (CR) characters.</p>
 
-  <p class=note>For a longer hint or other advisory text, the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute is more appropriate.</p>
+  <p class=note>For a longer hint or other advisory text, the <code title=attr-title><a href=#attr-title>title</a></code> attribute is more appropriate.</p>
 
   <p>The <code title=attr-textarea-placeholder><a href=#attr-textarea-placeholder>placeholder</a></code>
   attribute should not be used as an alternative to a
@@ -54519,7 +54518,7 @@
 
   <p>There is no explicit way to specify units in the
   <code><a href=#the-meter-element>meter</a></code> element, but the units may be specified in the
-  <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute in free-form text.</p>
+  <code title=attr-title><a href=#attr-title>title</a></code> attribute in free-form text.</p>
 
   <div class=example>
 
@@ -54706,7 +54705,7 @@
   </div>
 
   <p>User agents <span class=impl>may</span> combine the value of
-  the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute and the other
+  the <code title=attr-title><a href=#attr-title>title</a></code> attribute and the other
   attributes to provide context-sensitive help or inline text
   detailing the actual values.</p>
 
@@ -58415,7 +58414,7 @@
   <code title=attr-command-checked><a href=#attr-command-checked>checked</a></code>,
   <code title=attr-command-radiogroup><a href=#attr-command-radiogroup>radiogroup</a></code>,
   <!--<code title="attr-command-default">default</code>,--> and
-  <code title=attr-title><a href=#the-title-attribute>title</a></code> attributes defines a new
+  <code title=attr-title><a href=#attr-title>title</a></code> attributes defines a new
   command. A <code><a href=#the-command-element>command</a></code> element that uses the <code title=attr-command-command><a href=#attr-command-command>command</a></code> <em>attribute</em>
   defines a command by reference to another one. This allows authors
   to define a command once, and set its state (e.g. whether it is
@@ -59254,7 +59253,7 @@
   attribute.</p>
 
   <p>The <a href=#command-facet-hint title=command-facet-Hint>Hint</a> of the command
-  is the value of the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute
+  is the value of the <code title=attr-title><a href=#attr-title>title</a></code> attribute
   of the element. If the attribute is not present, the <a href=#command-facet-hint title=command-facet-Hint>Hint</a> is the empty string.</p>
 
   <p>The <a href=#command-facet-icon title=command-facet-Icon>Icon</a> of the command
@@ -59335,7 +59334,7 @@
   attribute, if present, is the <a href=#command-facet-label title=command-facet-Label>Label</a>. Otherwise, the <a href=#command-facet-label title=command-facet-Label>Label</a> is the empty string.</p>
 
   <p>The <a href=#command-facet-hint title=command-facet-Hint>Hint</a> of the command
-  is the value of the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute
+  is the value of the <code title=attr-title><a href=#attr-title>title</a></code> attribute
   of the <code><a href=#the-input-element>input</a></code> element. If the attribute is not present, the
   <a href=#command-facet-hint title=command-facet-Hint>Hint</a> is the empty
   string.</p>
@@ -59400,7 +59399,7 @@
   U+0020 SPACE character.</p>
 
   <p>The <a href=#command-facet-hint title=command-facet-Hint>Hint</a> of the command
-  is the string given by the element's <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute, if any, and the empty
+  is the string given by the element's <code title=attr-title><a href=#attr-title>title</a></code> attribute, if any, and the empty
   string if the attribute is absent.</p>
 
   <p>There is no <a href=#command-facet-icon title=command-facet-Icon>Icon</a> for the
@@ -59503,9 +59502,9 @@
   is the <a href=#command-facet-label title=command-facet-Label>Label</a> of the
   <a href=#master-command>master command</a>.</p>
 
-  <p>If the element has a <code title=attr-title><a href=#the-title-attribute>title</a></code>
+  <p>If the element has a <code title=attr-title><a href=#attr-title>title</a></code>
   attribute, then the <a href=#command-facet-hint title=command-facet-Hint>Hint</a> of
-  the command is the value of that <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute. Otherwise, the <a href=#command-facet-hint title=command-facet-Hint>Hint</a> of the command is the <a href=#command-facet-hint title=command-facet-Hint>Hint</a> of the <a href=#master-command>master
+  the command is the value of that <code title=attr-title><a href=#attr-title>title</a></code> attribute. Otherwise, the <a href=#command-facet-hint title=command-facet-Hint>Hint</a> of the command is the <a href=#command-facet-hint title=command-facet-Hint>Hint</a> of the <a href=#master-command>master
   command</a>.</p>
 
   <p>The <a href=#command-facet-icon title=command-facet-Icon>Icon</a> of the command
@@ -59555,7 +59554,7 @@
   attribute.</p>
 
   <p>The <a href=#command-facet-hint title=command-facet-Hint>Hint</a> of the command
-  is the value of the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute
+  is the value of the <code title=attr-title><a href=#attr-title>title</a></code> attribute
   of the element.</p>
 
   <p>There is no <a href=#command-facet-icon title=command-facet-Icon>Icon</a> for the
@@ -59596,7 +59595,7 @@
   attribute.</p>
 
   <p>The <a href=#command-facet-hint title=command-facet-Hint>Hint</a> of the command
-  is the value of the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute
+  is the value of the <code title=attr-title><a href=#attr-title>title</a></code> attribute
   of the element.</p>
 
   <p>There is no <a href=#command-facet-icon title=command-facet-Icon>Icon</a> for the
@@ -59646,7 +59645,7 @@
   <code><a href=#textcontent>textContent</a></code> of the element itself.</p>
 
   <p>The <a href=#command-facet-hint title=command-facet-Hint>Hint</a> of the command
-  is the value of the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute
+  is the value of the <code title=attr-title><a href=#attr-title>title</a></code> attribute
   of the element. If the attribute is not present, the <a href=#command-facet-hint title=command-facet-Hint>Hint</a> is the empty string.</p>
 
   <p>There is no <a href=#command-facet-icon title=command-facet-Icon>Icon</a> for the
@@ -61444,7 +61443,7 @@
 
   <p>If the <code title=rel-alternate><a href=#rel-alternate>alternate</a></code> keyword is
   also specified on the <code><a href=#the-link-element>link</a></code> element, then <dfn id=the-link-is-an-alternative-stylesheet>the link
-  is an alternative stylesheet</dfn>; in this case, the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute must be specified on the
+  is an alternative stylesheet</dfn>; in this case, the <code title=attr-title><a href=#attr-title>title</a></code> attribute must be specified on the
   <code><a href=#the-link-element>link</a></code> element, with a non-empty value.</p>
 
   <p>The default type for resources given by the <code title=rel-stylesheet><a href=#link-type-stylesheet>stylesheet</a></code> keyword is <code title="">text/css</code>.</p>
@@ -61940,7 +61939,7 @@
  <li class="tag-cloud-5"><a title="41 instances" href="/t/pear">pear</a> <span>(very popular)</span>
 </ul></pre>
 
-   <p>The actual frequency of each tag is given using the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute. A CSS style sheet is
+   <p>The actual frequency of each tag is given using the <code title=attr-title><a href=#attr-title>title</a></code> attribute. A CSS style sheet is
    provided to convert the markup into a cloud of differently-sized
    words, but for user agents that do not support CSS or are not
    visual, the markup contains annotations like "(popular)" or
@@ -62077,12 +62076,12 @@
   <p>HTML does not have a dedicated mechanism for marking up
   footnotes. Here are the recommended alternatives.</p>
 
-  <hr><p>For short inline annotations, the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute should be used.</p>
+  <hr><p>For short inline annotations, the <code title=attr-title><a href=#attr-title>title</a></code> attribute should be used.</p>
 
   <div class=example>
 
    <p>In this example, two parts of a dialogue are annotated with
-   footnote-like content using the <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute.</p>
+   footnote-like content using the <code title=attr-title><a href=#attr-title>title</a></code> attribute.</p>
 
    <pre><p> <b>Customer</b>: Hello! I wish to register a complaint. Hello. Miss?
 <p> <b>Shopkeeper</b>: <strong><span title="Colloquial pronunciation of 'What do you'"</strong>
@@ -99103,30 +99102,33 @@
 
 
 
-  <h4 id=the-title-attribute-0><span class=secno>14.7.2 </span>The <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute</h4>
+  <h4 id=the-title-attribute-0><span class=secno>14.7.2 </span>The <code title=attr-title><a href=#attr-title>title</a></code> attribute</h4>
 
-  <p>Given an element (e.g. the element designated by the mouse
-  cursor), if the element, or one of its ancestors, has a <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute, and the nearest such
-  attribute has a value that is not the empty string, it is expected
-  that the user agent will expose the contents of that attribute as a
-  tooltip.</p>
+  <p>User agents are expected to expose the <a href=#advisory-information>advisory
+  information</a> of elements upon user request.</p>
 
+  <p>On interactive graphical systems where the user can use a
+  pointing device, this could take the form of a tooltip. When the
+  user is unable to use a pointing device, then the user agent is
+  expected to make the content available in some other fashion, e.g.
+  by making the element focusable and always displaying the
+  <a href=#advisory-information>advisory information</a> of the currently focused element,
+  or by showing the <a href=#advisory-information>advisory information</a> of the elements
+  under the user's finger on a touch device as the user pans around
+  the screen.</p>
+
   <p>U+000A LINE FEED (LF) characters are expected to cause line
-  breaks in the tooltip, U+0009 CHARACTER TABULATION (tab) characters
+  breaks in the tooltip; U+0009 CHARACTER TABULATION (tab) characters
   are expected to render as a non-zero horizontal shift that lines up
   the next glyph with the next tab stop, with tab stops occurring at
   points that are multiples of 8 times the width of a U+0020 SPACE
   character.</p>
 
-  <p>User agents are encouraged to make it possible to view tooltips
-  without the use of a pointing device, since not all users are able
-  to use pointing devices.</p>
-
   <div class=example>
 
    <p>For example, a visual user agent could make elements with a
-   <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute focusable, and
-   could make any focused element with a <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute show its tooltip under
+   <code title=attr-title><a href=#attr-title>title</a></code> attribute focusable, and
+   could make any focused element with a <code title=attr-title><a href=#attr-title>title</a></code> attribute show its tooltip under
    the element while the element has focus. This would allow a user to
    tab around the document to find all the advisory text.</p>
 
@@ -99555,7 +99557,7 @@
    instead.</dd>
 
    <dt><dfn id=attr-tdth-abbr title=attr-tdth-abbr><code>abbr</code></dfn> on <code><a href=#the-td-element>td</a></code> and <code><a href=#the-th-element>th</a></code> elements</dt>
-   <dd><p>Use text that begins in an unambiguous and terse manner, and include any more elaborate text after that. The <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute can also be useful in including more detailed text, so that the cell's contents can be made terse.</p>
+   <dd><p>Use text that begins in an unambiguous and terse manner, and include any more elaborate text after that. The <code title=attr-title><a href=#attr-title>title</a></code> attribute can also be useful in including more detailed text, so that the cell's contents can be made terse.</p>
 
    <dt><dfn id=attr-tdth-axis title=attr-tdth-axis><code>axis</code></dfn> on <code><a href=#the-td-element>td</a></code> and <code><a href=#the-th-element>th</a></code> elements</dt>
    <dd><p>Use the <code title=attr-th-scope><a href=#attr-th-scope>scope</a></code> attribute on the relevant <code><a href=#the-th-element>th</a></code>.</p>
@@ -103763,7 +103765,7 @@
      <td> <a href=#browsing-context>Browsing context</a> for <a href=#form-submission>form submission</a>
      <td> <a href=#valid-browsing-context-name-or-keyword>Valid browsing context name or keyword</a>
     <tr><th> <code title="">title</code>
-     <td> <a href=#the-title-attribute title=attr-title>HTML elements</a>
+     <td> <a href=#attr-title title=attr-title>HTML elements</a>
      <td> Advisory information for the element
      <td> <a href=#attribute-text>Text</a>
     <tr><th> <code title="">title</code>

Modified: source
===================================================================
--- source	2012-08-21 02:15:12 UTC (rev 7247)
+++ source	2012-08-21 23:20:36 UTC (rev 7248)
@@ -11732,9 +11732,9 @@
   </div>
 
 
-  <h5>The <dfn title="attr-title"><code>title</code></dfn> attribute</h5>
+  <h5>The <code title="attr-title">title</code> attribute</h5>
 
-  <p>The <code title="attr-title">title</code> attribute
+  <p>The <dfn title="attr-title"><code>title</code></dfn> attribute
   <span>represents</span> advisory information for the element, such
   as would be appropriate for a tooltip. On a link, this could be the
   title or a description of the target resource; on an image, it could
@@ -11744,6 +11744,14 @@
   content</span>, it could be a label for, or instructions for, use of
   the element; and so forth. The value is text.</p>
 
+  <!-- search for title-warning if modifying this paragraph -->
+  <p class="note">Relying on the <code title="attr-title">title</code>
+  attribute is discouraged as many user agents do not expose the
+  attribute in an accessible manner as required by this specification
+  (e.g. requiring a pointing device such as a mouse to cause a tooltip
+  to apear, which excludes keyboard-only users and touch-only users,
+  such as anyone with a modern phone or tablet).</p>
+
   <p>If this attribute is omitted from an element, then it implies
   that the <code title="attr-title">title</code> attribute of the
   nearest ancestor <span title="HTML elements">HTML element</span>
@@ -11767,17 +11775,41 @@
    abbreviation's expansion <em>with a line break in it</em>:</p>
 
    <pre class="bad"><p>My logs show that there was some interest in <abbr title="Hypertext
-Transport Protocol">HTTP</abbr> today.</p></pre>
+Transport Protocol">HTTP</abbr> today.</p></pre> <!-- DO NOT REWRAP THIS LINE -->
 
   </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>
+  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:</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>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, return the empty string.</p></li>
+
+  </ol>
+
   <hr>
 
   <p>The <dfn title="dom-title"><code>title</code></dfn> IDL attribute
@@ -16029,6 +16061,7 @@
 
     </div>
 
+    <!-- XXXX -->
     <p class="note">This metadata name causes conformance checkers to
     <a href="#guidance-for-conformance-checkers">silently ignore</a>
     certain conformance errors that are inevitable when using
@@ -25772,9 +25805,7 @@
    <dd><span>Global attributes</span></dd>
    <dd><code title="attr-img-alt">alt</code></dd>
    <dd><code title="attr-img-src">src</code></dd>
-<!--END w3c-html-->
    <dd><code title="attr-img-srcset">srcset</code></dd>
-<!--START w3c-html-->
    <dd><code title="attr-img-crossorigin">crossorigin</code></dd>
    <dd><code title="attr-hyperlink-usemap">usemap</code></dd>
    <dd><code title="attr-img-ismap">ismap</code></dd>
@@ -25788,9 +25819,7 @@
 interface <dfn>HTMLImageElement</dfn> : <span>HTMLElement</span> {
            attribute DOMString <span title="dom-img-alt">alt</span>;
            attribute DOMString <span title="dom-img-src">src</span>;
-<!--END w3c-html-->
            attribute DOMString <span title="dom-img-srcset">srcset</span>;
-<!--START w3c-html-->
            attribute DOMString <span title="dom-img-crossOrigin">crossOrigin</span>;
            attribute DOMString <span title="dom-img-useMap">useMap</span>;
            attribute boolean <span title="dom-img-isMap">isMap</span>;
@@ -25823,28 +25852,24 @@
   -->
 
   <p>The image given by the <dfn
-  title="attr-img-src"><code>src</code></dfn>
-<!--END w3c-html-->
-  and <dfn title="attr-img-srcset"><code>srcset</code></dfn>
-<!--START w3c-html-->
-  attributes is the embedded content; the value of the <dfn
+  title="attr-img-src"><code>src</code></dfn> and <dfn
+  title="attr-img-srcset"><code>srcset</code></dfn> attributes is the
+  embedded content; the value of the <dfn
   title="attr-img-alt"><code>alt</code></dfn> attribute provides
   equivalent content for those who cannot process images or who have
-  image loading disabled<!--
---><!--END w3c-html--><!--FORK--><!--
-  --> (i.e. it is the <code>img</code> element's <span>fallback
-  content</span>)<!--
---><!--START w3c-html--><!--FORK--><!--
-  -->.</p>
+  image loading disabled (i.e. it is the <code>img</code> element's
+  <span>fallback content</span>).</p>
 
+  <p>The requirements on the <code title="attr-img-alt">alt</code>
+  attribute's value are described <a href="#alt">in the next
+  section</a>.</p>
+
   <p>The <code title="attr-img-src">src</code> attribute must be
   present, and must contain a <span>valid non-empty URL potentially
   surrounded by spaces</span> referencing a non-interactive,
   optionally animated, image resource that is neither paged nor
   scripted.</p>
 
-<!--END w3c-html-->
-
   <p>The <code title="attr-img-srcset">srcset</code> attribute may
   also be present. If present, its value must consist of one or more
   <span title="image candidate string">image candidate strings</span>,
@@ -25942,25 +25967,22 @@
 
   </div>
 
-<!--START w3c-html-->
+  <p class="note">The requirements above imply that images can be
+  static bitmaps (e.g. PNGs, GIFs, JPEGs), single-page vector
+  documents (single-page PDFs, XML files with an SVG root element),
+  animated bitmaps (APNGs, animated GIFs), animated vector graphics
+  (XML files with an SVG root element that use declarative SMIL
+  animation), and so forth. However, these definitions preclude SVG
+  files with script, multipage PDF files, interactive MNG files, HTML
+  documents, plain text documents, and so forth.</p>
 
-  <p class="note">Images can thus be static bitmaps (e.g. PNGs, GIFs,
-  JPEGs), single-page vector documents (single-page PDFs, XML files
-  with an SVG root element), animated bitmaps (APNGs, animated GIFs),
-  animated vector graphics (XML files with an SVG root element that
-  use declarative SMIL animation), and so forth. However, this also
-  precludes SVG files with script, multipage PDF files, interactive
-  MNG files, HTML documents, plain text documents, and so forth.</p>
-
-  <p>The requirements on the <code title="attr-img-alt">alt</code>
-  attribute's value are described <a href="#alt">in the next
-  section</a>.</p>
-
   <p>The <code>img</code> element must not be used as a layout tool.
   In particular, <code>img</code> elements should not be used to
   display transparent images, as they rarely convey meaning and rarely
   add anything useful to the document.</p>
 
+  <hr>
+
   <p>The <dfn
   title="attr-img-crossorigin"><code>crossorigin</code></dfn>
   attribute is a <span>CORS settings attribute</span>. Its purpose is
@@ -26011,16 +26033,12 @@
   <span>update the image data</span> of an <code>img</code> element
   whenever that element is created with a <code
   title="attr-img-src">src</code> attribute,
-<!--END w3c-html-->
   a <code title="attr-img-srcset">srcset</code> attribute, or both.
-<!--START w3c-html-->
   A user agent that obtains images immediately must also synchronously
   <span>update the image data</span> of an <code>img</code> element
   whenever that element has its
   <code title="attr-img-src">src</code>,
-<!--END w3c-html-->
   <code title="attr-img-srcset">srcset</code>, or
-<!--START w3c-html-->
   <code title="attr-img-crossorigin">crossorigin</code> attribute set,
   changed, or removed.</p> <!-- Note how this does NOT happen when the
   base URL changes. -->
@@ -26030,16 +26048,12 @@
   the image data (i.e. on demand), but only if the <code>img</code>
   element has a
   <code title="attr-img-src">src</code>
-<!--END w3c-html-->
   or <code title="attr-img-src">srcset</code>
-<!--START w3c-html-->
   attribute, and only if the <code>img</code> element is in the <span
   title="img-none">unavailable</span> state. When an <code>img</code>
   element's
   <code title="attr-img-src">src</code>,
-<!--END w3c-html-->
   <code title="attr-img-srcset">srcset</code>, or
-<!--START w3c-html-->
   <code title="attr-img-crossorigin">crossorigin</code> attribute set,
   changed, or removed, if the user agent only obtains images on
   demand, the <code>img</code> element must return to the <span
@@ -26095,16 +26109,12 @@
 
    <li>
 
-<!--END w3c-html-->
-
     <p>If the element has a <code
     title="attr-img-srcset">srcset</code> attribute specified, then
     let <var title="">selected source</var> and <var title="">selected
     pixel density</var> be the URL and pixel density that results from
     <span>processing the image candidates</span>, respectively.
 
-<!--START w3c-html-->
-
     Otherwise, if the element has a <code
     title="attr-img-src">src</code> attribute specified and its value
     is not the empty string, let <var title="">selected source</var>
@@ -26157,9 +26167,7 @@
     <p class="note">Only the last instance takes effect, to avoid
     multiple requests when, for example, the
     <code title="attr-img-src">src</code>,
-<!--END w3c-html-->
     <code title="attr-img-srcset">srcset</code>, and 
-<!--START w3c-html-->
     <code title="attr-img-crossorigin">crossorigin</code> attributes
     are all set in succession.</p>
 
@@ -26323,8 +26331,6 @@
 
   <hr>
 
-<!--END w3c-html-->
-
   <p>When the user agent is required to <dfn title="processing the
   image candidates">process the image candidates</dfn> of an
   <code>img</code> element's <code
@@ -26704,8 +26710,6 @@
   task">queued</span> by algorithms in this section is the <span>DOM
   manipulation task source</span>.</p>
 
-<!--START w3c-html-->
-
   <hr>
 
   <p>What an <code>img</code> element represents depends on the <code
@@ -26784,6 +26788,9 @@
      <!-- when editing this list, search for the two other occurrences
      of 'critical-no-alt' -->
 
+     <!-- NOTE: the order of these steps is important; it's intended
+     to make the innermost caption override the outer ones -->
+
      <li><p>If the image has a <code title="attr-title">title</code>
      attribute whose value is not the empty string, then the value of
      that attribute is the caption information; abort these
@@ -26799,6 +26806,8 @@
      <code>figcaption</code> element are the caption information;
      abort these steps.</p></li>
 
+     <li><p>There is no caption information.</p></li>
+
     </ol>
 
    </dd>
@@ -26835,13 +26844,11 @@
   display any image, or to prevent any image from being
   displayed.
 
-  <!--END w3c-html--><!--POLITICS--><!--FORK-->
   User agents may also apply heuristics to help the user make use of
   the image when the user is unable to see it, e.g. due to a visual
   disability or because they are using a text terminal with no
   graphics capabilities. Such heuristics could include, for instance,
   optical character recognition (OCR) of text found within the image.
-  <!--START w3c-html--><!--POLITICS--><!--FORK-->
 
   </p>
 
@@ -26882,9 +26889,7 @@
 
   <p>The <dfn title="dom-img-alt"><code>alt</code></dfn>, <dfn
   title="dom-img-src"><code>src</code></dfn>,
-  <!--END w3c-html-->
   and <dfn title="dom-img-srcset"><code>srcset</code></dfn>
-  <!--START w3c-html-->
   IDL attributes must <span>reflect</span> the respective content
   attributes of the same name.</p>
 
@@ -27543,22 +27548,6 @@
   scheme — the image should be specified in the site's CSS, not
   in the markup of the document.</p>
 
-<!--END complete--><!--END dev-html--><!--FORK-->
-  <p>Exceptions to this rule, in cases where CSS cannot be used to
-  display an entirely decorative image, are covered by the HTML5:
-  Techniques for providing useful text alternatives. <a href="#refsHTMLALTTECHS">[HTMLALTTECHS]</a>
-  Authors are also encouraged to consult the Web Content Accessibility
-  Guidelines 2.0 for more detailed information and acceptable
-  techniques. <a href="#refsWCAG">[WCAG]</a></p>
-<!--START complete--><!--START dev-html--><!--FORK-->
-
-  <!-- The above paragraph is omitted in the WHATWG copy and replaced
-  with the explicit requirement below because accessibility is better
-  served by having authors get all their information from one place,
-  instead of requiring them to read multiple (contradictory) documents. -->
-
-<!--END w3c-html--><!--FORK-->
-
   <p>However, a decorative image that isn't discussed by the
   surrounding text but still has some relevance can be included in a page
   using the <code>img</code> element. Such images are decorative, but
@@ -27589,9 +27578,7 @@
 
   </div>
 
-<!--START w3c-html--><!--FORK-->
 
-
   <h6>A group of images that form a single larger picture with no links</h6>
 
   <p>When a picture has been sliced into smaller image files that are
@@ -27814,19 +27801,35 @@
      <!-- when editing this list, search for the two other occurrences
      of 'critical-no-alt' -->
 
-     <li>The <code title="attr-title">title</code> attribute is
-     present and has a non-empty value.</li>
+     <!-- NOTE: the order of these steps is important; it's intended
+     to encourage using <figcaption> rather than title="" -->
 
-     <li id="figcaption-as-alt-condition">The <code>img</code> element
-     is in a <code>figure</code> element that contains a
+     <li id="figcaption-as-alt-condition"><p>The <code>img</code>
+     element is in a <code>figure</code> element that contains a
      <code>figcaption</code> element that contains content other than
      <span>inter-element whitespace</span>, and, ignoring the
      <code>figcaption</code> element and its descendants, the
      <code>figure</code> element has no <code>Text</code> node
      descendants other than <span>inter-element whitespace</span>, and
      no <span>embedded content</span> descendant other than the
-     <code>img</code> element.</li>
+     <code>img</code> element.</p></li>
 
+     <li>
+
+      <p>The <code title="attr-title">title</code> attribute is
+      present and has a non-empty value.</p>
+
+      <!-- search for title-warning if modifying this paragraph -->
+      <p class="note">Relying on the <code
+      title="attr-title">title</code> attribute is discouraged as many
+      user agents do not expose the attribute in an accessible manner
+      as required by this specification (e.g. requiring a pointing
+      device such as a mouse to cause a tooltip to apear, which
+      excludes keyboard-only users and touch-only users, such as
+      anyone with a modern phone or tablet).</p>
+
+     </li>
+
     </ul>
 
     <p class="note">Such cases are to be kept to an absolute
@@ -27957,7 +27960,6 @@
   be set to zero.</p>
 
 
-<!--END w3c-html--><!--FORK-->
   <h6>An image in an e-mail or private document intended for a specific person who is known to be able to view images</h6>
 
   <p><i>This section does not apply to documents that are publicly
@@ -27975,7 +27977,6 @@
   does not support images, or should the document be forwarded on to
   other users whose abilities might not include easily seeing
   images.</p>
-<!--START w3c-html--><!--FORK-->
 
 
 
@@ -28029,14 +28030,14 @@
    <!-- when editing this list, search for the two other occurrences
    of 'critical-no-alt' -->
 
+   <li>The <code>img</code> element is in a <code>figure</code>
+   element that satisfies <a href="#figcaption-as-alt-condition">the
+   conditions described above</a>.</li>
+
    <li>The <code title="attr-title">title</code> attribute is present
    and has a non-empty value (as <a href="#unknown-images">described
    above</a>).</li>
 
-   <li>The <code>img</code> element is in a <code>figure</code>
-   element that satisfies <a href="#figcaption-as-alt-condition">the
-   conditions described above</a>.</li>
-
    <!-- the following are additional entries not included in the
    aforementioned list, as they apply only to conformance checkers -->
 
@@ -28044,6 +28045,7 @@
    document is an e-mail or document intended for a specific person
    who is known to be able to view images.</li>
 
+   <!-- XXXX -->
    <li>The document has a <code>meta</code> element with a <code
    title="attr-meta-name">name</code> attribute whose value is an
    <span>ASCII case-insensitive</span> match for the string "<code
@@ -115781,24 +115783,26 @@
 
   <h4>The <code title="attr-title">title</code> attribute</h4>
 
-  <p>Given an element (e.g. the element designated by the mouse
-  cursor), if the element, or one of its ancestors, has a <code
-  title="attr-title">title</code> attribute, and the nearest such
-  attribute has a value that is not the empty string, it is expected
-  that the user agent will expose the contents of that attribute as a
-  tooltip.</p>
+  <p>User agents are expected to expose the <span>advisory
+  information</span> of elements upon user request.</p>
 
+  <p>On interactive graphical systems where the user can use a
+  pointing device, this could take the form of a tooltip. When the
+  user is unable to use a pointing device, then the user agent is
+  expected to make the content available in some other fashion, e.g.
+  by making the element focusable and always displaying the
+  <span>advisory information</span> of the currently focused element,
+  or by showing the <span>advisory information</span> of the elements
+  under the user's finger on a touch device as the user pans around
+  the screen.</p>
+
   <p>U+000A LINE FEED (LF) characters are expected to cause line
-  breaks in the tooltip, U+0009 CHARACTER TABULATION (tab) characters
+  breaks in the tooltip; U+0009 CHARACTER TABULATION (tab) characters
   are expected to render as a non-zero horizontal shift that lines up
   the next glyph with the next tab stop, with tab stops occurring at
   points that are multiples of 8 times the width of a U+0020 SPACE
   character.</p>
 
-  <p>User agents are encouraged to make it possible to view tooltips
-  without the use of a pointing device, since not all users are able
-  to use pointing devices.</p>
-
   <div class="example">
 
    <p>For example, a visual user agent could make elements with a




More information about the Commit-Watchers mailing list