HTML 5 Accessibility Mappings

In HTML 5 we introduce the concept of native host language semantics in
terms of ARIA roles for all HTML elements. I would like to propose the
following

1.  All HTML elements should provide a role attribute in the corresponding
accessible object through the object attributes (such as in IAccessible2)
2. For HTML elements that have an ARIA equivalent role that role should be
passed as the role name/value pair in the object attributes unless the
author overrides the default elements role in the object attribute
3. For HTML elements that have default ARIA role semantic we pass the HTML
element name as the role in the name value pair passed in the object
attributes sent to the AT
4. For HTML elements with an allowable ARIA role attribute that is provided
by the author we pass that role as the role attribute in the object
attributes

What this does for the author is it allows the author to supply ARIA states
and properties to elements that do not have a role supplied but depend on
the native ARIA semantics as defined by the HTML 5 specification.

A case in point:

<table tabindex="0" role="grid" aria-activedescendant="idx">
<tr>
<th>vegetables</th><th>fruits</th> ...
</tr>
<td id="idx" role="gridcell">broccoli</td><td role="gridcell>apple</td> ...
</tr>
</table>

TR has a native host language ARIA semantic of "row" but no role is needed.
<TH> defeaults to columnheader and so on.

Feedback?

Rich Schwerdtfeger
CTO Accessibility Software Group

Received on Tuesday, 25 January 2011 16:41:34 UTC