Closed Bug 282502 Opened 20 years ago Closed 20 years ago

Tree items not returned in get_accFocus()

Categories

(Firefox :: Disability Access, defect)

x86
Windows XP
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: aaronlev, Assigned: aaronlev)

Details

(Keywords: access)

Attachments

(1 file)

The way get_accFocus() acts is like a chain.

1. If you call it on a document or the parent of a focused item, you get the
widget that has focus, which may be a container widget like a tree view.
2. If you call it on the container widget, you get the child widget that has focus.
3. If you call it on the child widget with focus you get CHILDID_SELF.
4. If you call it on anything else you get VT_EMPTY

Currently we have issues with one of the screen readers which is not speaking
collapsed/expanded for tree items, because of its use of get_accFocus().
1) Make tree views return child tree item accessible, 2) In all impls, return
this if the current accessible has focus, and 3) move most of the logic into
the cross platform GetFocusedChild() which is where it should be.
Attachment #174518 - Flags: superreview?(bryner)
Attachment #174518 - Flags: review?(pkwarren)
Attachment #174518 - Attachment description: 1) Make tree views return child tree item accessible, 2) In all impls, return this if the current accessible has focus, and 3) move most of the logic into the cross platform GetFocusedChild() which is where it should be. → 1) Make tree views return child tree item accessible, 2) In all impls, return this if the current accessible has focus, and 3) move most of the logic into the cross platform GetFocusedChild() which is where it should be.
Attachment #174518 - Flags: review?(pkwarren) → review+
Attachment #174518 - Flags: superreview?(bryner) → superreview?(jst)
Comment on attachment 174518 [details] [diff] [review]
1) Make tree views return child tree item accessible, 2) In all impls, return this if the current accessible has focus, and 3) move most of the logic into the cross platform GetFocusedChild() which is where it should be.

sr=jst
Attachment #174518 - Flags: superreview?(jst) → superreview+
Checking in accessible/src/msaa/nsDocAccessibleWrap.h;
/cvsroot/mozilla/accessible/src/msaa/nsDocAccessibleWrap.h,v  <-- 
nsDocAccessibleWrap.h
new revision: 1.7; previous revision: 1.6
done
Checking in accessible/src/msaa/nsDocAccessibleWrap.cpp;
/cvsroot/mozilla/accessible/src/msaa/nsDocAccessibleWrap.cpp,v  <-- 
nsDocAccessibleWrap.cpp
new revision: 1.22; previous revision: 1.21
done
Checking in accessible/src/msaa/nsAccessibleWrap.cpp;
/cvsroot/mozilla/accessible/src/msaa/nsAccessibleWrap.cpp,v  <-- 
nsAccessibleWrap.cpp
new revision: 1.18; previous revision: 1.17
done
Checking in accessible/src/base/nsDocAccessible.h;
/cvsroot/mozilla/accessible/src/base/nsDocAccessible.h,v  <--  nsDocAccessible.h
new revision: 1.19; previous revision: 1.18
done
Checking in accessible/src/base/nsDocAccessible.cpp;
/cvsroot/mozilla/accessible/src/base/nsDocAccessible.cpp,v  <--  nsDocAccessible.cpp
new revision: 1.51; previous revision: 1.50
done
Checking in accessible/src/base/nsAccessible.cpp;
/cvsroot/mozilla/accessible/src/base/nsAccessible.cpp,v  <--  nsAccessible.cpp
new revision: 1.130; previous revision: 1.129
done
Checking in accessible/src/xul/nsXULTreeAccessible.h;
/cvsroot/mozilla/accessible/src/xul/nsXULTreeAccessible.h,v  <-- 
nsXULTreeAccessible.h
new revision: 1.15; previous revision: 1.14
done
Checking in accessible/src/xul/nsXULTreeAccessible.cpp;
/cvsroot/mozilla/accessible/src/xul/nsXULTreeAccessible.cpp,v  <-- 
nsXULTreeAccessible.cpp
new revision: 1.29; previous revision: 1.28
done
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: