HTML Standard Tracker

Diff (omit for latest revision)
Filter

Short URL: http://html5.org/r/3657

File a bug

SVNBugCommentTime (UTC)
3657[Authors] [Conformance Checkers] [Gecko] [Internet Explorer] [Opera] [Webkit] First cut at ARIA integration.2009-08-22 01:11
Index: source
===================================================================
--- source	(revision 3656)
+++ source	(revision 3657)
@@ -7703,10 +7703,12 @@
    <li><code title="attr-title">title</code></li>
   </ul>
 
-  <p>In addition, unless otherwise specified, the following
-  <span>event handler content attributes</span> may be specified on
-  any <span title="HTML elements">HTML element</span>:</p>
+  <hr>
 
+  <p>Unless otherwise specified, the following <span>event handler
+  content attributes</span> may be specified on any <span title="HTML
+  elements">HTML element</span>:</p>
+
   <ul class="brief">
    <li><code title="handler-onabort">onabort</code></li>
    <li><code title="handler-onblur">onblur</code>*</li>
@@ -7771,12 +7773,14 @@
 
   <hr>
 
-  <p>Also, <span title="custom data attribute">custom data
-  attributes</span> (e.g. <code title="">data-foldername</code> or
-  <code title="">data-msgid</code>) can be specified on any <span
+  <p><span title="custom data attribute">Custom data attributes</span>
+  (e.g. <code title="">data-foldername</code> or <code
+  title="">data-msgid</code>) can be specified on any <span
   title="HTML elements">HTML element</span>, to store custom data
   specific to the page.</p>
 
+  <hr>
+
   <p>In <span>HTML documents</span>, elements in the <span>HTML
   namespace</span> may have an <code title="">xmlns</code> attribute
   specified, if, and only if, it has the exact value
@@ -7795,7 +7799,14 @@
   actually have an <code title="">xmlns</code> attribute in no
   namespace specified.</p>
 
+  <hr>
 
+  <p>To enable assistive technology products to expose a more
+  fine-grained interface than is otherwise possible with HTML elements
+  and attributes, a set of <span>annotations for assistive technology
+  products</span> can be specified.</p>
+
+
   <h5>The <dfn title="attr-id"><code>id</code></dfn> attribute</h5>
 
   <p>The <code title="attr-id">id</code> attribute
@@ -9169,6 +9180,384 @@
 
 
 
+  <h4><dfn>Annotations for assistive technology products</dfn></h4>
+
+  <p>Authors may use the ARIA <code title="attr-aria-role">role</code>
+  and <code title="attr-aria-*">aria-*</code> attributes on <span>HTML
+  elements</span>, in accordance with the requirements described in
+  the ARIA specifications, except where these conflict with the
+  <span>strong native semantics</span> described below. These
+  exceptions are intended to prevent authors from making assistive
+  technology products report nonsensical states that do not represent
+  the actual state of the document. <a href="#refsARIA">[ARIA]</a></p>
+
+  <div class="impl">
+
+  <p>User agents are required to implement ARIA semantics on all
+  <span>HTML elements</span>, as defined in the ARIA
+  specifications. The <span>implicit ARIA semantics</span> defined
+  below must be recognised by implementations. <a
+  href="#refsARIAIMPL">[ARIAIMPL]</a></p>
+
+  </div>
+
+  <p>The following table defines the <span>strong native
+  semantics</span> <span class="impl">and corresponding <span>implicit
+  ARIA semantics</span></span> that apply to <span>HTML
+  elements</span>. Each language feature (element or attribute) in a
+  cell in the first column implies the ARIA semantics (role, states,
+  and/or properties) given in the cell in the second column of the
+  same row. Authors must not set the ARIA <code
+  title="attr-aria-role">role</code> and <code
+  title="attr-aria-*">aria-*</code> attributes in a manner that
+  conflicts with the semantics described in the following table. When
+  multiple rows apply to an element, the role from the last row to
+  define a role must be applied, and the states and properties from
+  all the rows must be combined.</p>
+
+  <table>
+   <thead>
+    <tr>
+     <th>Language feature
+     <th>Implied ARIA semantics
+
+   <tbody>
+
+    <tr>
+     <td><code>a</code>, <code>area</code>, or <code>link</code> element that represents a <span>hyperlink</span>
+     <td><code title="attr-aria-role-link">link</code> role
+
+    <tr>
+     <td><code>address</code> element
+     <td><code title="attr-aria-role-contentinfo">contentinfo</code> role
+
+    <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>footer</code> element
+     <td><code title="attr-aria-role-contentinfo">contentinfo</code> role
+
+    <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
+
+    <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
+
+    <tr>
+     <td><code>h3</code> element that does not have an <code>hgroup</code> ancestor
+     <td><code title="attr-aria-role-heading">heading</code> role
+
+    <tr>
+     <td><code>h4</code> element that does not have an <code>hgroup</code> ancestor
+     <td><code title="attr-aria-role-heading">heading</code> role
+
+    <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
+
+    <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
+
+    <tr>
+     <td><code>head</code> element
+     <td>No role
+
+    <tr>
+     <td><code>header</code> element
+     <td><code title="attr-aria-role-banner">banner</code> role
+
+    <tr>
+     <td><code>hgroup</code> element
+     <td><code title="attr-aria-role-heading">heading</code> role
+
+    <tr>
+     <td><code>hr</code> element
+     <td><code title="attr-aria-role-separator">separator</code> 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-role-checkbox">checkbox</code> role, with the <code title="attr-aria-checked">aria-checked</code> state set to "mixed" if the element's <code title="dom-input-indeterminate">indeterminate</code> DOM 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
+
+    <tr>
+     <td><code>input</code> element with a <code title="attr-input-type">type</code> attribute in the <span title="attr-input-type-datetime">Date and Time</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-datetime-local">Local Date and Time</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-email">E-mail</span> state with no <span title="concept-input-list">suggestions source element</span>
+     <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
+
+    <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><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-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
+
+    <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, with the <code title="attr-aria-checked">aria-checked</code> state set to "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-range">Range</span> state
+     <td><code title="attr-aria-role-slider">slider</code> role, with the <code title="attr-aria-valuemax">aria-valuemax</code> property set to the element's <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 the <code title="attr-aria-valuenow">aria-valuenow</code> property set to 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>, if that that results in a number, or the <span title="concept-input-value-default-range">default value</span> otherwise
+
+    <tr>
+     <td><code>input</code> element with a <code title="attr-input-type">type</code> attribute in the <span title="attr-input-type-reset">Reset 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-search">Search</span> state with no <span title="concept-input-list">suggestions source element</span>
+     <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
+
+    <tr>
+     <td><code>input</code> element with a <code title="attr-input-type">type</code> attribute in the <span title="attr-input-type-submit">Submit 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-tel">Telephone</span> state with no <span title="concept-input-list">suggestions source element</span>
+     <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
+
+    <tr>
+     <td><code>input</code> element with a <code title="attr-input-type">type</code> attribute in the <span title="attr-input-type-text">Text</span> state with no <span title="concept-input-list">suggestions source element</span>
+     <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
+
+    <tr>
+     <td><code>input</code> element with a <code title="attr-input-type">type</code> attribute in the <span title="attr-input-type-text">Text</span>, <span title="attr-input-type-search">Search</span>, <span title="attr-input-type-tel">Telephone</span>, <span title="attr-input-type-url">URL</span>, or <span title="attr-input-type-email">E-mail</span> states with a <span title="concept-input-list">suggestions source element</span>
+     <td><code title="attr-aria-role-combobox">combobox</code> role, with the <code title="attr-aria-owns">aria-owns</code> property set to the same value as the <code title="attr-input-list">list</code> attribute, and the <code title="title-aria-readonly">aria-readonly</code> state set to "true" if the element has a <code title="attr-input-readonly">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-time">Time</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-url">URL</span> state with no <span title="concept-input-list">suggestions source element</span>
+     <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
+
+    <tr>
+     <td><code>input</code> element with a <code title="attr-input-type">type</code> attribute in the <span title="attr-input-type-week">Week</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>menu</code> element with a <code title="attr-menu-type">type</code> attribute in the <span title="context menu state">context menu</span> state
+     <td>No role
+
+    <tr>
+     <td><code>menu</code> element with a <code title="attr-menu-type">type</code> attribute in the <span title="list state">list</span> state
+     <td><code title="attr-aria-role-menu">menu</code> role
+
+    <tr>
+     <td><code>menu</code> element with a <code title="attr-menu-type">type</code> attribute in the <span title="tool bar state">tool bar</span> state
+     <td><code title="attr-aria-role-toolbar">toolbar</code> role
+
+    <tr>
+     <td><code>meta</code> element
+     <td>No role
+
+    <tr>
+     <td><code>nav</code> element
+     <td><code title="attr-aria-role-navigation">navigation</code> role
+
+    <tr>
+     <td><code>option</code> element that is in a <span title="concept-select-option-list">list of options</span> or that represents a suggestion in a <code>datalist</code> element
+     <td><code title="attr-aria-role-option">option</code> role, with the <code title="attr-aria-selected">aria-selected</code> state set to "true" if the element's <span title="concept-option-selectedness">selectedness</span> is true, or "false" otherwise.
+
+    <tr>
+     <td><code>progress</code> element
+     <td><code title="attr-aria-role-progressbar">progressbar</code> role, with, if the progress bar is determinate, the <code title="attr-aria-valuemax">aria-valuemax</code> property set to the maximum value of the progress bar, the <code title="attr-aria-valuemin">aria-valuemin</code> property set to zero, and the <code title="attr-aria-valuenow">aria-valuenow</code> property set to the current value of the progress bar
+
+    <tr>
+     <td><code>select</code> element with a <code title="attr-select-multiple">multiple</code> attribute
+     <td><code title="attr-aria-role-listbox">listbox</code> role, with the <code title="attr-aria-multiselectable">aria-multiselectable</code> property set to "true"
+
+    <tr>
+     <td><code>select</code> element with no <code title="attr-select-multiple">multiple</code> attribute
+     <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>style</code> element
+     <td>No role
+
+    <tr>
+     <td><code>td</code> element
+     <td><code title="attr-aria-role-gridcell">gridcell</code> role, with the <code title="attr-aria-labelledby">aria-labelledby</code> property set to the value of the <code title="attr-tdth-headers">headers</code> attribute, if any
+
+    <tr>
+     <td><code>textarea</code> element
+     <td><code title="attr-aria-role-textbox">textbox</code> role, with the <code title="attr-aria-multiline">aria-multiline</code> property set to "true", and the <code title="title-aria-readonly">aria-readonly</code> state set to "true" if the element has a <code title="attr-textarea-readonly">readonly</code> attribute
+
+    <tr>
+     <td><code>th</code> elemen that is neither a <span>column header</span> nor a <span>row header</span>
+     <td><code title="attr-aria-role-gridcell">gridcell</code> role, with the <code title="attr-aria-labelledby">aria-labelledby</code> property set to the value of the <code title="attr-tdth-headers">headers</code> attribute, if any
+
+    <tr>
+     <td><code>th</code> element that is a <span>column header</span>
+     <td><code title="attr-aria-role-columnheader">columnheader</code> role, with the <code title="attr-aria-labelledby">aria-labelledby</code> property set to the value of the <code title="attr-tdth-headers">headers</code> attribute, if any
+
+    <tr>
+     <td><code>th</code> element that is a <span>row header</span>
+     <td><code title="attr-aria-role-rowheader">rowheader</code> role, with the <code title="attr-aria-labelledby">aria-labelledby</code> property set to the value of the <code title="attr-tdth-headers">headers</code> attribute, if any
+
+    <tr>
+     <td><code>title</code> element
+     <td>No role
+
+    <tr>
+     <td><code>tr</code> element
+     <td><code title="attr-aria-role-row">row</code> role
+
+    <tr>
+     <td>An element that <span title="concept-command">defines a command</span>, whose <span title="command-facet-type">Type</span> facet is "checkbox", and that is a descendant of a <code>menu</code> element whose <code title="attr-menu-type">type</code> attribute in the <span title="list state">list</span> state
+     <td><code title="attr-aria-role-menuitemcheckbox">menuitemcheckbox</code> role, with the <code title="attr-aria-checked">aria-checked</code> state set to "true" if the command's <span title="command-facet-checkedstate">Checked State</span> facet is true, and "false" otherwise
+
+    <tr>
+     <td>An element that <span title="concept-command">defines a command</span>, whose <span title="command-facet-type">Type</span> facet is "command", and that is a descendant of a <code>menu</code> element whose <code title="attr-menu-type">type</code> attribute in the <span title="list state">list</span> state
+     <td><code title="attr-aria-role-menuitem">menuitem</code> role
+
+    <tr>
+     <td>An element that <span title="concept-command">defines a command</span>, whose <span title="command-facet-type">Type</span> facet is "radio", and that is a descendant of a <code>menu</code> element whose <code title="attr-menu-type">type</code> attribute in the <span title="list state">list</span> state
+     <td><code title="attr-aria-role-menuitemradio">menuitemradio</code> role, with the <code title="attr-aria-checked">aria-checked</code> state set to "true" if the command's <span title="command-facet-checkedstate">Checked State</span> facet is true, and "false" otherwise
+
+    <tr>
+     <td>Elements that are <span title="concept-fe-disabled">disabled</span>
+     <td>The <code title="title-aria-disabled">aria-disabled</code> state set to "true"
+
+    <tr>
+     <td>Elements that are <span title="concept-input-required">required</span>
+     <td>The <code title="title-aria-required">aria-required</code> state set to "true"
+
+  </table>
+
+  <p>Some <span>HTML elements</span> have native semantics that can be
+  overridden. The following table lists these elements<span
+  class="impl"> and their <span>implicit ARIA semantics</span></span>,
+  along with the restrictions that apply to those elements. Each
+  language feature (element or attribute) in a cell in the first
+  column implies, unless otherwise overriden, the ARIA semantic (role,
+  state, or property) given in the cell in the second column of the
+  same row, but this semantic may be overridden under the conditions
+  listed in the cell in the third column of that row.</p>
+
+  <table>
+   <thead>
+    <tr>
+     <th>Language feature
+     <th>Default implied ARIA semantic
+     <th>Restrictions
+
+   <tbody>
+
+    <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>div</code> element
+     <td><code title="attr-aria-role-presentation">presentation</code> role
+     <td>No restrictions
+
+    <tr>
+     <td><code>html</code> element
+     <td><code title="attr-aria-role-document">document</code> role
+     <td>Role must be either <code title="attr-aria-role-document">document</code> or <code title="attr-aria-role-application">application</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> or <code title="attr-aria-role-treeitem">treeitem</code>
+
+    <tr>
+     <td><code>ol</code> element
+     <td><code title="attr-aria-role-list">list</code> role
+     <td>Role must be either <code title="attr-aria-role-list">list</code>, <code title="attr-aria-role-tree">tree</code>, or <code title="attr-aria-role-directory">directory</code>
+
+    <tr>
+     <td><code>output</code> element
+     <td><code title="attr-aria-role-status">status</code> role
+     <td>No restrictions
+
+    <tr>
+     <td><code>section</code> element
+     <td><code title="attr-aria-role-region">region</code> role
+     <td>Role must be either <code title="attr-aria-role-region">region</code>, <code title="attr-aria-role-document">document</code>, <code title="attr-aria-role-application">application</code>, <code title="attr-aria-role-contentinfo">contentinfo</code>, <code title="attr-aria-role-main">main</code>, <code title="attr-aria-role-search">search</code>, <code title="attr-aria-role-alert">alert</code>, <code title="attr-aria-role-dialog">dialog</code>, <code title="attr-aria-role-alertdialog">alertdialog</code>, <code title="attr-aria-role-status">status</code>, or <code title="attr-aria-role-log">log</code>
+
+    <tr>
+     <td><code>table</code> element
+     <td><code title="attr-aria-role-grid">grid</code> role
+     <td>Role must be either <code title="attr-aria-role-grid">grid</code> or <code title="attr-aria-role-treegrid">treegrid</code>
+
+    <tr>
+     <td><code>ul</code> element
+     <td><code title="attr-aria-role-list">list</code> role
+     <td>Role must be either <code title="attr-aria-role-list">list</code> or <code title="attr-aria-role-tree">tree</code>, or <code title="attr-aria-role-directory">directory</code>
+
+  </table>
+
+  <div class="impl">
+
+  <p>User agents may apply different defaults than those described in
+  this section in order to expose the semantics of <span>HTML
+  elements</span> in a manner more fine-grained than possible with the
+  above definitions.</p>
+
+  </div>
+
+
   <h3>APIs in HTML documents</h3>
 
   <p>For <span>HTML documents</span>, and for <span>HTML
@@ -18824,8 +19213,6 @@
      of the first such <code>legend</code> element are the caption
      information; abort these steps.</p></li>
 
-     <!-- aria processing goes here -->
-
      <li><p>Run the algorithm to create the <span>outline</span> for
      the document.</p></li>
 
@@ -23797,7 +24184,7 @@
    <dd>A group of related ranges can be given the same class name so
    that they can all be removed at the same time.</dd>
 
-   <dt>An identifier<dt>
+   <dt>An identifier</dt>
    <dd>A string can be assigned to each cue range for identification
    by script. The string need not be unique and can contain any
    value.</dd>
@@ -84568,14 +84955,14 @@
    <dt><dfn><code>isindex</code></dfn></dt>
    <dd><p>Use an explicit <code>form</code> and <span title="attr-input-type-text">text field</span> combination instead.</p></dd>
 
-   <dt><dfn><code>listing</code></dfn><dt>
-   <dt><dfn><code>xmp</code></dfn><dt>
+   <dt><dfn><code>listing</code></dfn></dt>
+   <dt><dfn><code>xmp</code></dfn></dt>
    <dd><p>Use <code>pre</code> and <code>code</code> instead.</p></dd>
 
    <dt><dfn><code>noembed</code></dfn></dt>
    <dd><p>Use <code>object</code> instead of <code>embed</code> when fallback is necessary.</p></dd>
 
-   <dt><dfn><code>plaintext</code></dfn><dt>
+   <dt><dfn><code>plaintext</code></dfn></dt>
    <dd><p>Use the "<code>text/plain</code>" <span>MIME type</span> instead.</p></dd>
 
    <dt><dfn><code>basefont</code></dfn></dt>
@@ -86660,7 +87047,7 @@
 
 <!--START websocket-api--><!--START storage--><!--START database--><!--START eventsource--><!--START workers-->
 
-  <h2 class="no-num" id="references">References</h2>
+  <h2 class="no-num" id="references">References</h2><!--REFS-->
 
   <p>All references are normative unless marked "Non-normative".</p>
 
@@ -86684,6 +87071,17 @@
    BNF for Syntax Specifications: ABNF</a></cite>, D. Crocker,
    P. Overell. IETF, January 2008.</dd>
 
+   <dt id="refsARIA">[ARIA]</dt>
+   <dd><cite><a href="http://www.w3.org/WAI/PF/aria/">Accessible Rich
+   Internet Applications (WAI-ARIA)</a></cite>, J. Craig, M. Cooper, L. Pappas,
+   R. Schwerdtfeger, L. Seeman. W3C, August 2009.</dd>
+
+   <dt id="refsARIAIMPL">[ARIAIMPL]</dt>
+   <dd><cite><a
+   href="http://www.w3.org/WAI/PF/aria-implementation/">WAI-ARIA 1.0
+   User Agent Implementation Guide</a></cite>, A. Snow-Weaver,
+   M. Cooper. W3C, August 2009.</dd>
+
    <dt id="refsATOM">[ATOM]</dt>
    <dd>(Non-normative) <cite><a
    href="http://www.ietf.org/rfc/rfc4287.txt">The Atom Syndication

|