Accessibility/TreeGrid: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 16: Line 16:
(BPG for affordance (aria-label="select row" or aria-label="expand row below"))
(BPG for affordance (aria-label="select row" or aria-label="expand row below"))


= Plan =
= Accessible Name Computation =
 
== Rows ==


When should rows get an accessible name?
When should rows get an accessible name?
* if it has title, aria-label, aria-labelledby ?
# always?
* if none of above, when should we do name from children (cells)?
# only when row is focusable?
* possible heuristic: if <table> has no role... don't mess with it too much.
# only if it has title, aria-label, aria-labelledby?
* 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.
# possible heuristic: if <table> has no role... don't mess with it too much.
* 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.
# 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.
 
# 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.
Row/TreeItem name synthesis should occur when: (not sure which of these get name synthesis and which do not)
# what about xul
* always
## only calc row name in xul?
* when the row is focusable
## xul plus aria?
* xul only
## xul plus aria treegrid only (but not grid)?
* xul plus aria
* xul plus aria treegrid only (but not grid)


States, Relations, Events?
= 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.
* 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 cell controls row expansions use aria-controls.

Revision as of 14:54, 30 March 2009

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).