- From: Benjamin Hawkes-Lewis <bhawkeslewis@googlemail.com>
- Date: Wed, 25 Apr 2012 07:22:53 +0100
- To: Cynthia Shelly <cyns@microsoft.com>, Benjamin Hawkes-Lewis <bhawkeslewis@googlemail.com>, Laura Carlson <laura.lee.carlson@gmail.com>, HTML Accessibility Task Force <public-html-a11y@w3.org>, John Foliot <john@foliot.ca>, Joshue O Connor <joshue.oconnor@cfit.ie>, Judy Brewer <jbrewer@w3.org>, "david100@sympatico.ca" <david100@sympatico.ca>, Richard Schwerdtfeger <schwer@us.ibm.com>, James Nurthen <james.nurthen@oracle.com>, Leif Halvard Silli <xn--mlform-iua@xn--mlform-iua.no>, "Jonas Sicking (jonas@sicking.cc)" <jonas@sicking.cc>
On Tue, Apr 24, 2012 at 10:47 PM, Janina Sajka <janina@rednote.net> wrote: >> Browsers (SHOULD NOT) create accessibile objects in the accessibility API tree. Browsers (MAY | SHOULD) flatten the text children to create a plain-text string to fill in the name and description properties of the referring object. >> > Unfortunately, that makes it sound as though there's a choice to have > flat string, or semantic rich. We need to keep clarity that the APIs > constrain what we can, and cannot do. I agree it's important to set clear conformance requirements for user agents. It's also important not to repeat conformance requirements, especially if we're going to misstate them as above ("text children"). The WAI-ARIA section already says: "User agents are required to implement ARIA semantics on all HTML elements, as defined in the ARIA specifications" and defines @hidden to have the strong native semantic of aria-hidden true. http://dev.w3.org/html5/spec/wai-aria.html#wai-aria So I suggest you say something like: "User agents must not render hidden elements except as required by ARIA processing, for example when calculating accessible names and descriptions for other elements." A fly in the ointment is what do about markup like: <div hidden aria-hidden="false"> <a href="example.com">Link</a> </div> Should the link get exposed as an accessible object or not? WAI ARIA says: "When WAI-ARIA states and properties correspond to host language features that have the same implicit WAI-ARIA semantic, it can be particularly problematic to use the WAI-ARIA feature. If the WAI-ARIA feature and the host language feature are both provided but their values are not kept in sync, user agents and assistive technologies cannot know which value to use. Therefore, to prevent providing conflicting states and properties to assistive technologies, host languages MUST explicitly declare where the use of WAI-ARIA attributes on each host language element conflicts with native attributes for that element. When a host language declares a WAI-ARIA attribute to be in direct semantic conflict with a native attribute for a given element, user agents MUST ignore the WAI-ARIA attribute and instead use the host language attribute with the same implicit semantic." Assuming we *never* want to allow hidden elements to be exposed as objects in the accessibility tree, I guess we need to add something like: "When the hidden attribute is specified on an element, user agents MUST ignore any aria-hidden property set false on the same element for the purposes of ARIA processing as they are in direct semantic conflict." -- Benjamin Hawkes-Lewis
Received on Wednesday, 25 April 2012 06:23:44 UTC