-
Notifications
You must be signed in to change notification settings - Fork 140
Description
In ARIA we have currently roles for
1-dimensional Lists
- Non-interactive Lists (structure): (Hierarchical) list + listitem
- Interactive Lists (widget): listbox + option, (Hierarchical) tree + treeitem, menu + menuitem
2-dimensional Lists
- Non-Interactive Tables (structure): (Hierarchical) table + cell
- Interactive Tables (widget): grid + gridcell, (Hierarchical) treegrid + gridcell
What we don't have (and this is a severe gap) is are Interactive Table-like Lists represented by roles who allow for item grouping with items organized in rows with cells of individual items referenced by special separate headers.
Those remain lists and not tables for an entire row represents a single item. As an example, the Microsoft ListView control centrally used in Windows Explorer has display modes who exactly reflect this.
This an established pattern many developers try to mimic using grids or tables but these are NOT the exact pattern to do this because of the following reasons:
- In a List view, an entire row IS the item object with properties exposed as different configurable additional labelled subitems organized in columns
- Arrowing up and down will always move to a different object by focusing the entire row and selecting the item by default
- Arrowing left and right in rows will ALWAYS scrutinize individual row/object properties by focusing respective individual subitems (cells) in the row
- Single/Multiselection ALWAYS works on entire row level NOT for individual subitems, as opposite to grid
- Actions like Enter or double click ALWAYS work by default on entire row level NOT for individual subitems as opposite to grid
- You can do grouping (similar to optgroups in HTML select) to group items by certain categories
- There are other item visualizations possible to be switched to on the fly (like MS ListView item thumbnail view as a flat list where the row objects are presented as single list items), try this with a table or grid role without sudden role change - not possible
The list could easily be extended but you get the general idea.
As consequence, new roles, listview = the entity, listviewheader = the (column) headers, listviewitem = the row with respective property subitems of role textbox etc. labelled by the listviewheader would close this gap.
Roles could be derived from base roles ARIA already has. In addition, API mapping schemes for ListViews are already present in many OS so the role mapping needs not to be re-invented. For instance, in UIA, MS Listview list and items are mapped to respective platform roles, whereas the grid and gridcell role mapping is entirely different (DataGrid, DataItem). The MS Listview subitems are also mapped to standard roles like textbox labelled by their headers, as proposed above.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Status