- From: Matt King <a11ythinker@gmail.com>
- Date: Wed, 9 Dec 2015 09:30:51 -0800
- To: "'PF'" <public-pfwg@w3.org>
- Message-ID: <001601d132a7$59f3c450$0ddb4cf0$@Gmail.com>
Following is a summary of changes to grid, gridcell, and treegrid roles ready for review in the mck-action1724 branch[1]. Action 1724[2], "Create a proposal to simplify grids in order to incorporate the list view concept" is a spin off from issue 633[3]. The issue 633 description is "listbox and tree may contain only static items; badly need interactive widgets that can contain interactive typed items" The basic problem is that whatever you put into a listbox option is flattened to a string. So, if you make a listbox of links or buttons or checkboxes, possibly accompanied by paragraphs or imagesthe, all elements in the list lose their semantics. We have some interactive widgets that can contain anything: grid and treegrid. But, their ARIA 1.0 descriptions are too limiting to address the wide variety of scenarios where they could be useful. Important features of grid and treegrid that make them well-suited to address issue 633 are: 1. gridcells are containers that may contain rich or dynamic content. That is , links contained in a gridcell may be seen as links by a screen reader user whereas a link contained in a listbox option is seen by a screen reader only as a static string. 2. Grid is a widget that already supports directional navigation. Reusing grid is thus simpler than the alternative of attempting to make static lists interactive. 3. If a long list reflows, authors could provide newspaper style wrapping and navigation, allowing both end-to-end navigation with down arrow as well as cross-column navigation with left/right. 4. They already support posinset and setsize and screen readers already announce row/column position information. Thus, the primary objective of the following changes is to allow authors to use grid as a flexible grouping container for interactive elements. This enables grid to be used for grouping a set of navigation links into a single tab stop that can visually reflow like newspaper columns based on screen size or recreate something like the Windows or Mac desktop in addition to the grid's long-standing purpose of creating complex tabular widgets like a spreadsheet. These changes are also important for issue 610[4], which calls for the combobox to support elements other than listbox for a dropdown. Changes to grid in branch mck-action1724[1] as compared to master[5]: 1. Expanded the definition of the role to clearly state grid can be used to not only present tabular data but also group interactive elements, such as a set of navigation links. 2. As resolved at TPAC, added language explaining when focus may be placed on an interactive element contained in a cell rather on the cell. 3. Added language explaining when authors should provide a cell interaction or editing mode. 4. Clarified the intent and meaning of readonly when applied to grid. 5. Updated language related to colspan and rowspan to incorporate new ARIA 1.1 properties. 6. Removed unnecessary or eroneous references to treegrid. 7. Removed the following statement because the language of sections "7.4 Implicit WAI-ARIA Semantics," "7.5 Conflicts with Host Language Semantics," and "7.6 State and Property Attribute Processing" makes it obsolete: "However, if the author applies a non-global WAI-ARIA state or property to a native markup element that is acting as a row, such as the <code>tr</code> element in HTML, the author MUST also apply the <rref>row</rref> role to that element as stated in the section on <a href="#host_languages">Implementation in Host Languages</a>." Changes to role gridcell as compared to master[2]: 1. Changed the word "active" to "focusable." in the phrase: "Gridcells may be focusable, editable, and selectable." 2. Minor editorial changes, e.g., adding reference links and using the word gridcell in place of cell where it could affect the meaning. Changes to role treegrid as compared to master[2]: Changed aria-readonly language to match the new language in the grid role description. [1] mck-action1724 branch: http://rawgit.com/w3c/aria/mck-action1724/aria/aria.html#grid [2]Action 1724: https://www.w3.org/WAI/PF/Group/track/actions/1724 [3]Issue 633: https://www.w3.org/WAI/PF/Group/track/issues/633 [4]Issue 610: https://www.w3.org/WAI/PF/Group/track/issues/610 [5] master branch: http://rawgit.com/w3c/aria/master/aria/aria.html#grid Matt King
Received on Wednesday, 9 December 2015 17:31:25 UTC