Re: ACTION-1440: landmarks section uses "region of page" in prose even though "region" is not a landmark

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