- From: Richard Schwerdtfeger <schwer@us.ibm.com>
- Date: Mon, 19 Jan 2015 16:40:27 -0600
- To: "W3C WAI Protocols & Formats" <public-pfwg@w3.org>
- Message-ID: <OFDB4808B4.0284E97C-ON86257DD2.007BD853-86257DD2.007C8DB2@us.ibm.com>
The Accessibility API mapping team has been wrestling with cross platform challenges around how to expose generic containers that have no semantic meaning but which retain structure in the mapping of accessible content. Here are the issues: 1. <div> are not mapped with consistent mappings across all platforms. Some platforms map a div to a group (Safari and IE) while others map it to a panel (ATK-ATSPI) and others map it to a section (FF, Chrome). 2. MacOSX maps <div> and to axGroup while role="group" which has real semantic meaning that the items mapped in the group have a real association associated with each other such as a group of associated text boxes. A div on its own has no semantic meaning other that to act as a generic container of stuff. ATK/ATSPI maps a role="group" to ROLE_PANEL which really does not mean a group. A panel could have a text area in it. So, the group role in ATK/ATSPI was derived from the group box role in Java. Somewhere along the line it got hosed. Here are the original defintions from javax.accessibility static AccessibleRole GLASS_PANE A pane that is guaranteed to be painted on top of all panes beneath it. static AccessibleRole GROUP_BOX A GROUP_BOX is a simple container that contains a border around it and contains components inside it. 3. When applying role to presentation we have different role mappings based on the original structure of the content in HTML. For example, Firefox maps table cells to roles of "textbox" where list items get converted to paragraphs. ATK/ATSPI maps these to a PANEL role where MacOSX maps these to axGroup 4. HTML5 introduces a <section> element which maps to a region role yet unless it actually has a label associated with it it really has not semantic value. It really should be treated like a <div> 5. SVG is now using role group for containers having alternative text. Should these be sections or real groupings? This is a a concern. Again I believe wer are oveloading group semantics. 6. We need to address what happens when aria-label or aria-labelledby is applied to a <div>. Should we it become a role of region, group, or what? At IBM we make people put a role on it. It is indeterminate what the role is unless the author provides it. What we need is a consistent implementation that does not confuse a generic section in the document with a semantic grouping and would fit well with section in HTML5. 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 2. When applying role="presentation" map the semantic HTML structural alements to the role determined in 1 3. In HTML5 map <section> to the generic role in 1. and map it to region when a label is applied to it. 4. Regarding 1. for a Mac either make the generic container a new section role and leave axGroup for role="group" or make role="group" map to something different than axGroup and leave axGroup generic. Rich Schwerdtfeger
Received on Monday, 19 January 2015 22:41:00 UTC