- From: Matthew King <mattking@us.ibm.com>
- Date: Thu, 16 Oct 2014 05:41:25 -0700
- To: Joseph Scheuhammer <clown@alum.mit.edu>
- Cc: Jason Kiss <jason@accessibleculture.org>, Léonie Watson <lwatson@paciellogroup.com>, Marco Zehe <marco.zehe@gmail.com>, W3C WAI Protocols & Formats <public-pfwg@w3.org>, Steve Faulkner <sfaulkner@paciellogroup.com>, Alexander Surkov <surkov.alexander@gmail.com>, Thierry Koblentz <thierry.koblentz@gmail.com>
- Message-ID: <OF58FB127C.7D5B4D94-ON88257D73.00459EBB-88257D73.0045B5E8@us.ibm.com>
> If I understand right Thierry's idea was that such ARIA role should > result in role="presentation" applied to structure elements (like tr, > td or li elements). That means no accessible should be created for > them. I find this reasonable for tr, however td and li I'd say should > have some generic accessible (perhaps no nothing role) to avoid text > collapsing contained by li and td. This is a very important point. When presentation is inherited whether from the presentation role or from a role with children presentational is true, if text from all child elements are collapsed together, the content may become unreadable, depending on the type of child elements. A few versions of Firefox, I think between 18 and 24, once had that problem with tables. Layout tables just became one giant string for screen reader users so a screen reader user could not distinguish among the various elements of the table. The way I read section 5.1.1 and 5.4.1 in the 1.0 UAIG, Firefox was actually interpreting the specification correctly when it made the presentational table unreadable. Of course, I am now happy for the more "practical" implementation we have today. Matt King IBM Senior Technical Staff Member I/T Chief Accessibility Strategist IBM BT/CIO - Global Workforce and Web Process Enablement Phone: (503) 578-2329, Tie line: 731-7398 mattking@us.ibm.com From: Joseph Scheuhammer <clown@alum.mit.edu> To: Alexander Surkov <surkov.alexander@gmail.com>, Thierry Koblentz <thierry.koblentz@gmail.com>, Marco Zehe <marco.zehe@gmail.com>, Léonie Watson <lwatson@paciellogroup.com>, Steve Faulkner <sfaulkner@paciellogroup.com>, Jason Kiss <jason@accessibleculture.org>, Joseph Scheuhammer <clown@alum.mit.edu>, Cc: W3C WAI Protocols & Formats <public-pfwg@w3.org> Date: 10/09/2014 06:49 AM Subject: Re: ARIA role on HTML ul Hi Alex, (Note: I am cc'ing the public-pfwg list as Alex suggested): Alex wrote: > Hi, guys. Moving twitter discussion to email (maybe that should be > part of ARIA mail list). > > So, when you apply strong role to HTML table or HTML ul elements that > has different semantics than these elements then underlying structure > is not exposed but generic accessible with no role are created. That's > how it works in Firefox, I verified it by automated test we have [1]. > Example > > <table role="button"> > <tr><td>content</td></tr> > </table> > > accessible tree is: > table (for table) > nothing (for tr) > nothing (for td) > text leaf (for text node) If you look at the characteristics table for the button role (http://rawgit.com/w3c/aria/master/aria/aria.html#button), you will see an entry at the bottom labelled "Children Presentational" with the value "true". The children of a button are all implicitly presentational. The element used, be it <table> or <ul>, doesn't matter; it's the button role that defines this. The definition of "Presentational Children" states that user agents SHOULD NOT expose the descendants of a role whose children are presentational ( http://rawgit.com/w3c/aria/master/aria/aria.html#childrenArePresentational ). Using your example, the <tr>, <td>, all have a presentation role, and are effectively: <table role="button"> <tr role="presentation"><td role="presentation">content</td></tr> </table> I have a question about your accessible tree, though. The button role has not been exposed anywhere. Is this a typo? Otherwise, the "nothing (for tr)", and "nothing (for td)" is as expected with those descendants as presentational. > > Same is for HTML UL element I believe. > > If I understand right Thierry's idea was that such ARIA role should > result in role="presentation" applied to structure elements (like tr, > td or li elements). That means no accessible should be created for > them. I find this reasonable for tr, however td and li I'd say should > have some generic accessible (perhaps no nothing role) to avoid text > collapsing contained by li and td. > > Futhermore, Thierry's case was role="tablist" on UL. I'm not sure > whether this role overrides native semantics of HTML ul, I'd say it > rather enhance it. So maybe it would be more reasonable if HTML li > elements got role="tab" accessible automatically. At least no > accessible approach seems unpractical in this case. It's an interesting idea that the <li> elements of a <ul role="tablist"> implicitly have the role="tab". But, how dangerous is that assumption? What if the author puts an explicit role="tab" on some other element? As far as the current spec is concerned, putting role="tablist" on an element does not automatically propagate role="tab" to any of the tablist's descendants (nor role="tabpanel" for that matter). > > These are some general observations, I didn't check that with ARIA > spec. So cc'ing Joseph for ARIA spec wording interpretations :) > > Thanks. > Alexander. > > [1] > http://mxr.mozilla.org/mozilla-central/source/accessible/tests/mochitest/tree/test_brokencontext.html?force=1 Hope that helps. -- ;;;;joseph. 'Array(16).join("wat" - 1) + " Batman!"' - G. Bernhardt -
Received on Thursday, 16 October 2014 12:42:46 UTC