Accessibility/TreeGrid: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
Line 1: Line 1:
= 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?
# always?
# only when row is focusable?
# only if it has title, aria-label, aria-labelledby?
# possible heuristic: if <table> has no role... don't mess with it too much.
# 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.
# what about xul
## only calc row name in xul?
## xul plus aria?
## xul plus aria treegrid only (but not grid)?
= 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).
=General positions=
=General positions=


Line 90: Line 45:
* aria-expanded, aria-level, aria-selected - the same like it is for cell
* aria-expanded, aria-level, aria-selected - the same like it is for cell
* we should provide described_by/description_for relations for rowheader/columnheader with cell from DOM hierarchy if these relations aren't pointed explicetly. As well we need to support IAccessibleTable::getRowDescription/getColumnDescription.
* we should provide described_by/description_for relations for rowheader/columnheader with cell from DOM hierarchy if these relations aren't pointed explicetly. As well we need to support IAccessibleTable::getRowDescription/getColumnDescription.
=David's questions=
==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?
# always?
# only when row is focusable?
# only if it has title, aria-label, aria-labelledby?
# possible heuristic: if <table> has no role... don't mess with it too much.
# 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.
# what about xul
## only calc row name in xul?
## xul plus aria?
## xul plus aria treegrid only (but not grid)?
==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).
Confirmed users
1,396

edits

Navigation menu