Accessibility/TreeGrid

From MozillaWiki
Jump to navigation Jump to search

Starting with raw notes here. Help with organization appreciated.

Defining tree grids

Warning: there isn't yet a common taxonomy for discussing treegrids.

What is unique about a Treegrid?

  • rows can be selected (instead of just cells)
    • selection can affect cell, row, col
  • row can have aria-selected
  • expandable/collapsible sections
    • when you expand something in a treegrid, you might get something other than cells, you might get a form for example
    • treegrids can have vertical, or horizontal hierarchies.
    • a grid-lick section can have its own row (or col?) headers

(BPG for affordance (aria-label="select row" or aria-label="expand row below"))

Accessible Name Computation

Rows

When should rows get an accessible name?

  1. always?
  2. only when row is focusable?
  3. only if it has title, aria-label, aria-labelledby?
  4. possible heuristic: if has no role... don't mess with it too much.
  5. for xul treegrids: role is tree... we have row objects which become treeitem or outline item, and the outline item will get cell children. check with orca for bustage.
  6. for aria: use treegrid if actual structure of the grid is being influences... if expanded content is assoc with rows use treegrid, if expanded content is assoc with cells, use grid. we need to support row and col objects.
  7. what about xul
    1. only calc row name in xul?
    2. xul plus aria?
    3. xul plus aria treegrid only (but not grid)?
  8. States, Relations, Events

    • the events and states depend on hints. if a cell has an expanded button, you need to put expanded on that button... use aria-controls.
    • if cell controls row expansions use aria-controls.
    • if a cell has aria-expanded then:
      • if grid, assume it expands the cell
      • if tree grid, assume it expands relative to a row?

    Aaron was wondering this at CSUN:

    • should we be more conservative with ARIA/HTML should we be putting the concatenated name on the row? do we do it for aria..
    • for rows in aria should we do it fresh and new... not worry about concat names.
    • if a row is focusable, then expose it (create an accessible object).