8000 New roles listview and listviewitem needed · Issue #1325 · w3c/aria · GitHub
[go: up one dir, main page]

Skip to content

New roles listview and listviewitem needed #1325

@stes-acc

Description

@stes-acc

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

featuremay add new concept(s) to ARIA which will require implementations or APG changes

Type

No type

Projects

Status

Needs triage

Status

Stefan

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    0