- From: Richard Schwerdtfeger <schwer@us.ibm.com>
- Date: Tue, 24 Mar 2015 14:50:25 -0500
- To: Alexander Surkov <surkov.alexander@gmail.com>
- Cc: David Bolter <dbolter@mozilla.com>, PF <public-pfwg@w3.org>
- Message-ID: <OFBE58E167.B645D99B-ON86257E12.006A2FFA-86257E12.006CFC78@us.ibm.com>
Alex, This is in response to your first bullet on rowgroup after today's #aapi discussion: 1. The group has determined that the aria-rowcount needs to be indicative of the total number of rows in the entire table or grid. 2. The aria-rowindex is indicative of the index of the row within the entire set of rows for the entire grid or table 3. Due to 1 and 2 rowgroups have no impact on the values for aria-rowcount and aria-rowindex 4. So, a rowgroup will have no impact on context with respect to row count. So, if it is focusable (has a tabindex attribute) or it has an ARIA global attribute applied we will give a role of "group" for MSAA based platforms or UIA, ATK/ATSPI will make it a ROLE_PANEL otherwise it will not be mapped. Rich Rich Schwerdtfeger From: Alexander Surkov <surkov.alexander@gmail.com> To: Richard Schwerdtfeger/Austin/IBM@IBMUS Cc: David Bolter <dbolter@mozilla.com>, PF <public-pfwg@w3.org> Date: 02/17/2015 04:13 PM Subject: Re: Firefox accessibility API mapping questions Hi, Rich. 1. I only see one use case for role="rowgroup" is to break rows into groups, each groups is a separate set and position inside it and set size are calculated independently. On the implementation note I think it's much easier to map @role to something meaningful (role="presentation" has quite special handling in Firefox in contrast to other roles). On the author note, If the author puts this role then it puts it for something (otherwise he could skip it at all), so if we ignored it then it wouldn't be probably much right. Firefox doesn't expose group accessibles for HTML tables like thead, tfoot or tbody in general, but as long as the author makes those elements focusable (what happens in the wild) we create an accessible for them. In case of HTML table based grids, those focusable elements expose role="rowgroup" what "legalize" their presence for AT. 2. This is a whole bunch of stuff that makes sense to deal separately with. 2.1 (level, position in set, set size). Cynthia recently raised a question about level calculation [1] and I said that UAIG would need to describe allowed widget structure for that. Having all possible structures defined we can make level, posinset and size definitions rather straight forward. If you support this idea then I'm happy to help. 2.2. focused/focusable - these concepts reflects the user focus: a) any DOM focusable DOM element/DOM document should expose 'focusable' state, if DOM element or document has DOM focus then it should have 'focused' state. b) every item of DOM focusable widget should expose 'focusable' state, if the widget is DOM focused then current item should expose 'focused' state. We may have c) for aria-activedesdendant case but it should be covered by b) if we defined those widget structures. 2.3 offscreen state has to be exposed on the accessible what is out of viewport and what can be made visible by the user. Scrolled off, in background tab, elements should expose offscreen state. Note, moved out of the screen elements also expose offscreen state but this is rather exception and has historical reasons. Invisible state is for something invisible and that cannot be made visible by the user. I don't think we use this state much in Firefox, I think we expose it for accessible that is shutting down. Otherwise it could be useful if we exposed accessibles for hidden content that is referred by other content, for example, if aria-labelledby pointed to hidden element. Hope that helps. Thanks! Alex. [1] https://lists.w3.org/Archives/Public/public-pfwg/2015Feb/0026.html On Tue, Feb 17, 2015 at 3:32 PM, Richard Schwerdtfeger <schwer@us.ibm.com> wrote: Hi Alex, I am in the Accessibility API mapping meeting and we need answers to 2 questions: 1. Why does role="rowgroup" need to be mapped? MSAA and UIA Express map the string "rowgroup" into the ARIA role property. IA2 exposes it as ROLE_SYSTEM_GROUP. UIA exposes it as group which also means nothing. ATK/ATSPI does not map it and MacOSX also does not map it. The meaning of role="group" is now being re-defined in ARIA to have no meaning other than to be a structural container to be consistent with older versions of IE and Mac OSXX? 2. How are you computing managed properties for level, position in set, set size, focused, focusable, offscreen etc. See https://www.w3.org/WAI/PF/Group/track/actions/980 See this section of the Core Accessibility API mapping spec. Item 1: http://rawgit.com/w3c/aria/master/core-aam/core-aam.html#statePropertyMappingGeneralRules Rich Rich Schwerdtfeger
Attachments
- image/gif attachment: graycol.gif
Received on Tuesday, 24 March 2015 19:51:00 UTC