Closed Bug 286029 Opened 19 years ago Closed 19 years ago

Fixes for tree accessibility

Categories

(Core :: Disability Access APIs, defect)

x86
All
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: aaronlev, Assigned: aaronlev)

References

Details

(Keywords: access)

Attachments

(1 file, 2 obsolete files)

We're currently exposing large numbers for tree item's GetValue(), as well as
strange numbers for GetDescription() under MSAA.

Also, in MSAA we don't use expose separate objects for the cells in each tree
row, so the name should be a concatenation of all the text on the current row.

Finally, because we as if each row is 1 item in MSAA, we should just expose flat
tree views as lists with list items.
Attachment #177343 - Flags: review?(pkwarren) → review+
Comment on attachment 177343 [details] [diff] [review]
1) Lack of GetLevel() implementation indicates flat tree, so use that info instead of uninitialized values we were using, 2) Expose flat trees as lists in MSAA, 3) Contatenate text MSAA treeitem names

Neil, is checking for an exception on nsITreeView::GetLevel() an evil way to
determine that this is a flat tree (and thus to the screen reader user it is a
list).
Attachment #177343 - Flags: superreview?(neil.parkwaycc.co.uk)
Comment on attachment 177343 [details] [diff] [review]
1) Lack of GetLevel() implementation indicates flat tree, so use that info instead of uninitialized values we were using, 2) Expose flat trees as lists in MSAA, 3) Contatenate text MSAA treeitem names

Yes it is. For a start a tree with no items should always fail GetLevel.
Instead I think mColumn->IsPrimary should differentiate for you.
Attachment #177343 - Flags: superreview?(neil.parkwaycc.co.uk) → superreview-
Attachment #177343 - Attachment is obsolete: true
Attachment #177496 - Flags: superreview?(neil.parkwaycc.co.uk)
Attachment #177496 - Flags: superreview?(neil.parkwaycc.co.uk) → superreview-
Attachment #177496 - Attachment is obsolete: true
Attachment #177620 - Flags: superreview?(neil.parkwaycc.co.uk)
> NeilAlmostZZZ	{#developers} aaronlev: what happened to your atk changes?

The ATK behavior had never changed. The #ifdefs were all so that the MSAA
behavior could be changed. So all the significant changes can really happen in
the nsXULTreeAccessibleWrap.cpp
In ATK, the role should be either ROLE_OUTLINE when the tree has 1 column or
ROLE_TREE_TABLE when the tree has >1 column. Sun might eventually decide to use
ROLE_LIST if there is only 1 column *and* it has a flat view. I'll leave that up
to them.
In MSAA, we currenrtly use ROLE_LIST for a flat view, otherwise ROLE_OUTLINE,
regardless of how many columns. At the moment there are no plans for a better
system to expose multi-column trees in MSAA, but it could happen once we get
things working to a basic level. We would have to work with the Windows AT
vendors on a new standard for doing that.
Attachment #177620 - Flags: superreview?(neil.parkwaycc.co.uk) → superreview+
This has already been checked in for a while now. Forgot to mark fixed.
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
Blocks: 359845
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: