treegrid

We had a coordination meeting between Mozilla, SAP, IBM and Freedom
Scientific regarding the final stretch on tree grids for ARIA. We believe
we have a working solution.

Please let us know if you see any issues - there is a keyboard styling
change.


   JAWS will read the entire row when navigating up and down the left most
   column. We will not put this in the BPG.
   the role of the container is treegrid
   Focus should be among gridcells and not rows
   The author is responsible for providing accurate header information in
   the treegrid
   Each role in the DOM must clearly specified to convey the structure.
   This can be done by using <TR> in tables or role="row" on corresponding
   HTML elements such as <span>
   Each cell must be marked with role="gridcell"
   aria-expanded must be on gridcells are capable of expanding or
   collapsing the row by reflecting their expanded state. Otherwise, it is
   neither expandable or collapsible>
   aria-level should be set on each row to reflect its level in the tree
   row hierarchy
   control right arrow expands the row (apple control key)
   In response to cntrl left arrow:
      If the cell is expanded collapse the corresponding row)
      otherwise, if the gridcell is in a subrow (row has an aria-level
      greater than one), collapse the row an move focus to a gridcell,
      which has aria-expanded=true and is in the next level up row,  and
      set its aria-expanded property to false
   F2 places the current gridcell with focus in edit mode
   escape cancels edit mode on the current cell with focus but leaves the
   user's focus on the cell
   Firefox specifics:
      Provide the IAccessible2 index in parent in each cell to tell where
      the gridcell is relative to the table.
      Support groupposition on gridcells which provides its position
      relative to the row
      Support groupposition on rows which provides its position relative to
      the table
      expose rows in the MSAA hierarchy
      We can expect a browser to expose the parent hierachy of a gridcell
      which should include a row
      Allow for an AT to walk the parent hierarchy of the current gridcell
      at that IAccessible interface. The Parent hierarchy should include
      the rows. This will allow an AT to compute the row level from a
      gridcell's ancestors
   Home should bring the user to the first cell in the current row and end
   should take the user to the last cell in the current row
   Up arrow should bring the user to the first gridcell above the current
   cell
   Down arrow should bring the user to the first gridcell below the current
   cell
   Right arrow should bring the user to the first gridcell to the right of
   the current gridcell if one exists
   Left arrow should bring the user to the first gridcell to the right of
   the current gridcell if one exists

Rich Schwerdtfeger
Distinguished Engineer, SWG Accessibility Architect/Strategist
blog: http://www.ibm.com/developerworks/blogs/page/schwer

Received on Friday, 10 April 2009 14:01:36 UTC