HTML Standard Tracker

Filter

File a bug

SVNBugCommentTime (UTC)
598110066[Authors] [Conformance Checkers] [Gecko] [Internet Explorer] [Opera] [Webkit] apply wg decision2011-04-08 23:24
@@ -7,21 +7,50 @@
  !    - parser
  !    - rendering
  !    - obsolete section
  !    - element, attribute, content model, and interface indexes
  !    - section for the element itself
  !    - adding it to the section with ARIA mappings
  !
  !-->
 <!--START validation-->
 <!--START complete--><!--START epub-->
-<!--START html--><!--START dev-html--><!--START w3c-html-->
+<!--START html--><!--START dev-html-->
+
+   <!-- An advisory for those reading this source. -->
+
+   <!-- In this specification, there are a number of comments (like
+        this one) that have three consecutive Xs. These indicate known
+        problems that are expected to be resolved in the future. -->
+
+   <!-- There are also comments with the string "v2", "v3", "v4", or
+        higher numbers. These indicate ideas for future versions of
+        the specification that have not yet been included, usually
+        because it's too early (one has to move slowly lest the
+        browser vendors get overwhelmed with changes). -->
+
+   <!-- Finally, there are also a number of known issues in this
+        specification marked with the following punctuation: -->
+
+           <!--!-->
+
+   <!-- These are issues that are known to the editor but cannot be
+        currently fixed because they were introduced by Sam Ruby
+        acting as chairman of the W3C HTML Working Group as part of
+        the HTML Working Group Decision Process. In theory we could
+        fork the WHATWG copy of the spec, but doing so would introduce
+        normative differences between the W3C and WHATWG specs and
+        these issues are not worth the hassle that this would cause.
+        We'll probably be able to fix them some day, but for now we
+        are living with them. -->
+
+<!--START w3c-html-->
 
   <h2 id="introduction">Introduction</h2>
 
 <!--END w3c-html--><!--VERSION-->
 
   <h3 id="is-this-html5?">Is this HTML5?</h3>
 
   <!--END dev-html--><p><i>This section is non-normative.</i></p><!--START dev-html-->
 
 <!--END complete--><!--END epub-->
@@ -11701,43 +11730,37 @@ plaintext     = *( %x0000-2029 / %x202F-10FFFF )
 
   <table id="table-aria-strong">
    <thead>
     <tr>
      <th>Language feature
      <th>Strong native semantics <span class="impl">and implied ARIA semantics</span>
 
    <tbody>
 
     <tr>
-     <td><code>a</code> element that creates a <span>hyperlink</span>
-     <td><code title="attr-aria-role-link">link</code> role
-
-    <tr>
      <td><code>area</code> element that creates a <span>hyperlink</span>
      <td><code title="attr-aria-role-link">link</code> role
+     <!--!--><!-- (this should really be the same as <a>) -->
 
     <tr>
      <td><code>base</code> element
      <td>No role
 
     <tr>
-     <td><code>button</code> element
-     <td><code title="attr-aria-role-button">button</code> role
-
-    <tr>
      <td><code>datalist</code> element
      <td><code title="attr-aria-role-listbox">listbox</code> role, with the <code title="attr-aria-multiselectable">aria-multiselectable</code> property set to "false"
 
     <tr>
      <td><code>details</code> element
      <td><code title="attr-aria-expanded">aria-expanded</code> state set to "true" if the element's <code title="attr-details-open">open</code> attribute is present, and set to "false" otherwise
 
+<!--!--><!--(these are in the next table at the moment)--><!--
     <tr>
      <td><code>h1</code> element that does not have an <code>hgroup</code> ancestor
      <td><code title="attr-aria-role-heading">heading</code> role, with the <code title="attr-aria-level">aria-level</code> property set to the element's <span>outline depth</span>
 
     <tr>
      <td><code>h2</code> element that does not have an <code>hgroup</code> ancestor
      <td><code title="attr-aria-role-heading">heading</code> role, with the <code title="attr-aria-level">aria-level</code> property set to the element's <span>outline depth</span>
 
     <tr>
      <td><code>h3</code> element that does not have an <code>hgroup</code> ancestor
@@ -11747,20 +11770,21 @@ plaintext     = *( %x0000-2029 / %x202F-10FFFF )
      <td><code>h4</code> element that does not have an <code>hgroup</code> ancestor
      <td><code title="attr-aria-role-heading">heading</code> role, with the <code title="attr-aria-level">aria-level</code> property set to the element's <span>outline depth</span>
 
     <tr>
      <td><code>h5</code> element that does not have an <code>hgroup</code> ancestor
      <td><code title="attr-aria-role-heading">heading</code> role, with the <code title="attr-aria-level">aria-level</code> property set to the element's <span>outline depth</span>
 
     <tr>
      <td><code>h6</code> element that does not have an <code>hgroup</code> ancestor
      <td><code title="attr-aria-role-heading">heading</code> role, with the <code title="attr-aria-level">aria-level</code> property set to the element's <span>outline depth</span>
+-->
 
     <tr>
      <td><code>head</code> element
      <td>No role
 
     <tr>
      <td><code>hgroup</code> element
      <td><code title="attr-aria-role-heading">heading</code> role, with the <code title="attr-aria-level">aria-level</code> property set to the element's <span>outline depth</span>
 
     <tr>
@@ -11769,24 +11793,20 @@ plaintext     = *( %x0000-2029 / %x202F-10FFFF )
 
     <tr>
      <td><code>html</code> element
      <td>No role
 
     <tr>
      <td><code>img</code> element whose <code title="attr-img-alt">alt</code> attribute's value is empty
      <td><code title="attr-aria-role-presentation">presentation</code> role
 
     <tr>
-     <td><code>input</code> element with a <code title="attr-input-type">type</code> attribute in the <span title="attr-input-type-button">Button</span> state
-     <td><code title="attr-aria-role-button">button</code> role
-
-    <tr>
      <td><code>input</code> element with a <code title="attr-input-type">type</code> attribute in the <span title="attr-input-type-checkbox">Checkbox</span> state
      <td><code title="attr-aria-checked">aria-checked</code> state set to "mixed" if the element's <code title="dom-input-indeterminate">indeterminate</code> IDL attribute is true, or "true" if the element's <span title="concept-fe-checked">checkedness</span> is true, or "false" otherwise
 
     <tr>
      <td><code>input</code> element with a <code title="attr-input-type">type</code> attribute in the <span title="attr-input-type-color">Color</span> state
      <td>No role
 
     <tr>
      <td><code>input</code> element with a <code title="attr-input-type">type</code> attribute in the <span title="attr-input-type-date">Date</span> state
      <td>No role, with the <code title="title-aria-readonly">aria-readonly</code> state set to "true" if the element has a <code title="attr-input-readonly">readonly</code> attribute
@@ -11805,24 +11825,20 @@ plaintext     = *( %x0000-2029 / %x202F-10FFFF )
 
     <tr>
      <td><code>input</code> element with a <code title="attr-input-type">type</code> attribute in the <span title="attr-input-type-file">File Upload</span> state
      <td>No role
 
     <tr>
      <td><code>input</code> element with a <code title="attr-input-type">type</code> attribute in the <span title="attr-input-type-hidden">Hidden</span> state
      <td>No role
 
     <tr>
-     <td><code>input</code> element with a <code title="attr-input-type">type</code> attribute in the <span title="attr-input-type-image">Image Button</span> state
-     <td><code title="attr-aria-role-button">button</code> role
-
-    <tr>
      <td><code>input</code> element with a <code title="attr-input-type">type</code> attribute in the <span title="attr-input-type-month">Month</span> state
      <td>No role, with the <code title="title-aria-readonly">aria-readonly</code> state set to "true" if the element has a <code title="attr-input-readonly">readonly</code> attribute
 
     <tr>
      <td><code>input</code> element with a <code title="attr-input-type">type</code> attribute in the <span title="attr-input-type-number">Number</span> state
      <td><code title="attr-aria-role-spinbutton">spinbutton</code> role, with the <code title="title-aria-readonly">aria-readonly</code> state set to "true" if the element has a <code title="attr-input-readonly">readonly</code> attribute, the <code title="attr-aria-valuemax">aria-valuemax</code> property set to the element's <span title="concept-input-max">maximum</span>, the <code title="attr-aria-valuemin">aria-valuemin</code> property set to the element's <span title="concept-input-min">minimum</span>, and, if the result of applying the <span>rules for parsing floating point number values</span> to the element's <span title="concept-fe-value">value</span> is a number, with the <code title="attr-aria-valuenow">aria-valuenow</code> property set to that number
 
     <tr>
      <td><code>input</code> element with a <code title="attr-input-type">type</code> attribute in the <span title="attr-input-type-password">Password</span> state
      <td><code title="attr-aria-role-textbox">textbox</code> role, with the <code title="title-aria-readonly">aria-readonly</code> state set to "true" if the element has a <code title="attr-input-readonly">readonly</code> attribute
@@ -12013,75 +12029,132 @@ plaintext     = *( %x0000-2029 / %x202F-10FFFF )
   <table id="table-aria-weak">
    <thead>
     <tr>
      <th>Language feature
      <th>Default implied ARIA semantic
      <th>Restrictions
 
    <tbody>
 
     <tr>
+     <td><code>a</code> element that creates a <span>hyperlink</span>
+     <td><code title="attr-aria-role-link">link</code> role
+     <td>Role must be either <code title="attr-aria-role-link">link</code>, <code title="attr-aria-role-button">button</code><!--!-->, <code title="attr-aria-role-checkbox">checkbox</code><!--!-->, <code title="attr-aria-role-menuitem">menuitem</code>, <code title="attr-aria-role-menuitemcheckbox">menuitemcheckbox</code><!--!-->, <code title="attr-aria-role-menuitemradio">menuitemradio</code><!--!-->, <code title="attr-aria-role-tab">tab</code><!--!-->, or <code title="attr-aria-role-treeitem">treeitem</code><!--!-->
+
+    <tr>
      <td><code>address</code> element
      <td>No role
      <td>If specified, role must be <code title="attr-aria-role-contentinfo">contentinfo</code>
 
     <tr>
      <td><code>article</code> element
      <td><code title="attr-aria-role-article">article</code> role
      <td>Role must be either <code title="attr-aria-role-article">article</code>, <code title="attr-aria-role-document">document</code>, <code title="attr-aria-role-application">application</code>, or <code title="attr-aria-role-main">main</code>
 
     <tr>
      <td><code>aside</code> element
      <td><code title="attr-aria-role-note">note</code> role
      <td>Role must be either <code title="attr-aria-role-note">note</code>, <code title="attr-aria-role-complementary">complementary</code>, or <code title="attr-aria-role-search">search</code>
 
     <tr>
      <td><code>audio</code> element
      <td>No role
      <td>If specified, role must be <code title="attr-aria-role-application">application</code>
 
     <tr>
+     <td><code>button</code> element
+     <td><code title="attr-aria-role-button">button</code> role
+     <td>Role must be either <code title="attr-aria-role-button">button</code>, <code title="attr-aria-role-link">link</code><!--!-->, <code title="attr-aria-role-menuitem">menuitem</code>, <code title="attr-aria-role-menuitemcheckbox">menuitemcheckbox</code><!--!-->, <code title="attr-aria-role-menuitemradio">menuitemradio</code><!--!-->, <code title="attr-aria-role-radio">radio</code><!--!-->
+
+    <tr>
      <td><code>details</code> element
      <td><code title="attr-aria-role-group">group</code> role
      <td>Role must be a role that supports <code title="attr-aria-expanded">aria-expanded</code>
 
     <tr>
      <td><code>embed</code> element
      <td>No role
      <td>If specified, role must be either <code title="attr-aria-role-application">application</code>, <code title="attr-aria-role-document">document</code>, or <code title="attr-aria-role-img">img</code>
 
     <tr>
      <td><code>footer</code> element
      <td>No role
      <td>If specified, role must be <code title="attr-aria-role-contentinfo">contentinfo</code>
 
+<!--!--><!--(none of the following six rows make any sense)-->
+    <tr>
+     <td><code>h1</code> element that does not have an <code>hgroup</code> ancestor
+     <td>No role
+     <td>Role must be either <code title="attr-aria-role-link">link</code><!--!-->, <code title="attr-aria-role-menuitem">menuitem</code><!--!-->, <code title="attr-aria-role-menuitemcheckbox">menuitemcheckbox</code><!--!-->, <code title="attr-aria-role-menuitemradio">menuitemradio</code><!--!-->, <code title="attr-aria-role-tab">tab</code><!--!-->, or <code title="attr-aria-role-treeitem">treeitem</code><!--!-->
+
+    <tr>
+     <td><code>h2</code> element that does not have an <code>hgroup</code> ancestor
+     <td>No role
+     <td>Role must be either <code title="attr-aria-role-link">link</code><!--!-->, <code title="attr-aria-role-menuitem">menuitem</code><!--!-->, <code title="attr-aria-role-menuitemcheckbox">menuitemcheckbox</code><!--!-->, <code title="attr-aria-role-menuitemradio">menuitemradio</code><!--!-->, <code title="attr-aria-role-tab">tab</code><!--!-->, or <code title="attr-aria-role-treeitem">treeitem</code><!--!-->
+
+    <tr>
+     <td><code>h3</code> element that does not have an <code>hgroup</code> ancestor
+     <td>No role
+     <td>Role must be either <code title="attr-aria-role-link">link</code><!--!-->, <code title="attr-aria-role-menuitem">menuitem</code><!--!-->, <code title="attr-aria-role-menuitemcheckbox">menuitemcheckbox</code><!--!-->, <code title="attr-aria-role-menuitemradio">menuitemradio</code><!--!-->, <code title="attr-aria-role-tab">tab</code><!--!-->, or <code title="attr-aria-role-treeitem">treeitem</code><!--!-->
+
+    <tr>
+     <td><code>h4</code> element that does not have an <code>hgroup</code> ancestor
+     <td>No role
+     <td>Role must be either <code title="attr-aria-role-link">link</code><!--!-->, <code title="attr-aria-role-menuitem">menuitem</code><!--!-->, <code title="attr-aria-role-menuitemcheckbox">menuitemcheckbox</code><!--!-->, <code title="attr-aria-role-menuitemradio">menuitemradio</code><!--!-->, <code title="attr-aria-role-tab">tab</code><!--!-->, or <code title="attr-aria-role-treeitem">treeitem</code><!--!-->
+
+    <tr>
+     <td><code>h5</code> element that does not have an <code>hgroup</code> ancestor
+     <td>No role
+     <td>Role must be either <code title="attr-aria-role-link">link</code><!--!-->, <code title="attr-aria-role-menuitem">menuitem</code><!--!-->, <code title="attr-aria-role-menuitemcheckbox">menuitemcheckbox</code><!--!-->, <code title="attr-aria-role-menuitemradio">menuitemradio</code><!--!-->, <code title="attr-aria-role-tab">tab</code><!--!-->, or <code title="attr-aria-role-treeitem">treeitem</code><!--!-->
+
+    <tr>
+     <td><code>h6</code> element that does not have an <code>hgroup</code> ancestor
+     <td>No role
+     <td>Role must be either <code title="attr-aria-role-link">link</code><!--!-->, <code title="attr-aria-role-menuitem">menuitem</code><!--!-->, <code title="attr-aria-role-menuitemcheckbox">menuitemcheckbox</code><!--!-->, <code title="attr-aria-role-menuitemradio">menuitemradio</code><!--!-->, <code title="attr-aria-role-tab">tab</code><!--!-->, or <code title="attr-aria-role-treeitem">treeitem</code><!--!-->
+<!--!--><!--(none of the preceding six rows make any sense)-->
+
     <tr>
      <td><code>header</code> element
      <td>No role
      <td>If specified, role must be <code title="attr-aria-role-banner">banner</code>
 
     <tr>
      <td><code>iframe</code> element
      <td>No role
      <td>If specified, role must be either <code title="attr-aria-role-application">application</code>, <code title="attr-aria-role-document">document</code>, or <code title="attr-aria-role-img">img</code>
 
     <tr>
      <td><code>img</code> element whose <code title="attr-img-alt">alt</code> attribute's value is absent
      <td><code title="attr-aria-role-img">img</code> role
      <td>No restrictions
 
+    <tr><!--!--><!--(there's no reason to convey <img> elements with alt="" text as images to an AT)-->
+     <td><code>img</code> element whose <code title="attr-img-alt">alt</code> attribute's value is present and not empty
+     <td><code title="attr-aria-role-img">img</code> role
+     <td>No restrictions
+
+    <tr>
+     <td><code>input</code> element with a <code title="attr-input-type">type</code> attribute in the <span title="attr-input-type-button">Button</span> state
+     <td><code title="attr-aria-role-button">button</code> role
+     <td>Role must be either <code title="attr-aria-role-button">button</code>, <code title="attr-aria-role-link">link</code><!--!-->, <code title="attr-aria-role-menuitem">menuitem</code>, <code title="attr-aria-role-menuitemcheckbox">menuitemcheckbox</code><!--!-->, <code title="attr-aria-role-menuitemradio">menuitemradio</code><!--!-->, <code title="attr-aria-role-radio">radio</code><!--!-->
+
     <tr>
      <td><code>input</code> element with a <code title="attr-input-type">type</code> attribute in the <span title="attr-input-type-checkbox">Checkbox</span> state
      <td><code title="attr-aria-role-checkbox">checkbox</code> role
      <td>Role must be either <code title="attr-aria-role-checkbox">checkbox</code> or <code title="attr-aria-role-menuitemcheckbox">menuitemcheckbox</code>
 
     <tr>
+     <td><code>input</code> element with a <code title="attr-input-type">type</code> attribute in the <span title="attr-input-type-image">Image Button</span> state
+     <td><code title="attr-aria-role-button">button</code> role
+     <td>Role must be either <code title="attr-aria-role-button">button</code>, <code title="attr-aria-role-link">link</code><!--!-->, <code title="attr-aria-role-menuitem">menuitem</code>, <code title="attr-aria-role-menuitemcheckbox">menuitemcheckbox</code><!--!-->, <code title="attr-aria-role-menuitemradio">menuitemradio</code><!--!-->, <code title="attr-aria-role-radio">radio</code><!--!-->
+
+    <tr>
      <td><code>input</code> element with a <code title="attr-input-type">type</code> attribute in the <span title="attr-input-type-radio">Radio Button</span> state
      <td><code title="attr-aria-role-radio">radio</code> role
      <td>Role must be either <code title="attr-aria-role-radio">radio</code> or <code title="attr-aria-role-menuitemradio">menuitemradio</code>
 
     <tr>
      <td><code>li</code> element whose parent is an <code>ol</code> or <code>ul</code> element
      <td><code title="attr-aria-role-listitem">listitem</code> role
      <td>Role must be either <code title="attr-aria-role-listitem">listitem</code>, <code title="attr-aria-role-menuitemcheckbox">menuitemcheckbox</code>, <code title="attr-aria-role-menuitemradio">menuitemradio</code>, <code title="attr-aria-role-option">option</code>, <code title="attr-aria-role-tab">tab</code>, or <code title="attr-aria-role-treeitem">treeitem</code>
 
     <tr>

|