- From: Joseph Scheuhammer <clown@alum.mit.edu>
- Date: Wed, 21 Jan 2015 13:02:26 -0500
- To: public-pfwg@w3.org
On 2015-01-19 3:39 PM, Matthew King wrote:
> To support the above in HTmL 5, the following mapping is recommended
> for HTML 5 section:
> a. Map section to role presentation if the section element does
> not have an accessible name.
> b. Map section to role region if the section element has an
> accessible name.
In another thread, for ACTION-1561 and ACTION-1540, Rich Schwerdtfeger
wrote:
> One proposal:
>
> 1. Map <div> to a role of section on all platforms or a single generic
> role on all platforms that says this is just an container and nothing more
> ...
> 3. In HTML5 map <section> to the generic role in 1. and map it to
> region when a label is applied to it.
> ...
Rich's 3. is inconsistent with Matt's a: Rich suggests mapping
<section> without an accessible name to the platform's section (generic
container) role, whereas Matt suggests mapping it as if
role="presentation" was applied. Elements with role="presentation" are
generally excluded from the a11y tree[1]. (The exceptions are, roughly,
if the element is focusable, or causes accessibility events).
There is a similar issue with <div> elements, with and without
accessible names. Rich recommends mapping <div> with an accessible name
as if it had role="region", while a nameless <div> is mapped to the
generic container role. Matt's proposal is silent with respect to <div>
specifically, but the mapping of a nameless <section> as if it had
role="presentation" implies the same for a nameless <div>.
What if the nameless <div> or <section> is referenced by one of
aria-describedby, aria-owns, aria-flowto, or aria-controls? Does it
still have an implicit role="presentation"? That seems odd.
Another potential wrinkle is the mapping of implicit presentational
children. When role="presentation" is applied to an element with
required children, such as a table, then the presentation role is
inherited implicitly by those children -- the table cells have an
implied role of presentation. Under ATK/AT-SPI the children are exposed
with the generic container role (ROLE_SECTION). That is, the cells are
treated as if they were <div>s [2] [3]. This is one way to preserve
separation of the contents of the cells, and avoid having them all
joined together -- see ACTION-1311 [4].
I'm not saying it's wrong, but what is the rationale behind an implied
role="presentation" for nameless <section>s?
[1]
http://rawgit.com/w3c/aria/master/core-aam/core-aam.html#exclude_elements2
[2] http://rawgit.com/w3c/aria/master/html-aam/html-aam.html#el-div
[3] https://bugzilla.mozilla.org/show_bug.cgi?id=1113153
[4] https://www.w3.org/WAI/PF/Group/track/actions/1311
--
;;;;joseph.
'Array(16).join("wat" - 1) + " Batman!"'
- G. Bernhardt -
Received on Wednesday, 21 January 2015 18:02:57 UTC