- 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