If you think a bug might affect users in the 57 release, please set the correct tracking and status flags for Release Management.

preferences pane accessible tree uncomplete

RESOLVED FIXED

Status

()

Firefox
Disability Access
RESOLVED FIXED
11 years ago
11 years ago

People

(Reporter: Nian Liu(n/a in a long time), Assigned: Nian Liu(n/a in a long time))

Tracking

({access, regression})

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment, 1 obsolete attachment)

(Assignee)

Description

11 years ago
1.run trunk nightly build
2.open edit->preferences, click on different tab
3.use at-poke to poke

only part of accessible content shows in at-poke. and the part content shows is very unstable which means sometimes this part, and sometimes another part.

Updated

11 years ago
Keywords: access, regression
(Assignee)

Comment 1

11 years ago
more like an at-poke bug. when switch among tabs, accessible objects are created. however, at-poke doesn't show them
(Assignee)

Comment 2

11 years ago
(In reply to comment #1)
> more like an at-poke bug. when switch among tabs, accessible objects are
> created. however, at-poke doesn't show them
> 

forgot this. a firefox bug. 1.8.1branch works fine
(Assignee)

Comment 3

11 years ago
children:changed:add was not sent.

getcachedparent returns null cause that.
Status: NEW → ASSIGNED
(Assignee)

Comment 4

11 years ago
Created attachment 245534 [details] [diff] [review]
patch

parent hasn't been cached when invalide is called. so use getParent to replace getCachedParent
Assignee: nobody → nian.liu
Attachment #245534 - Flags: review?(aaronleventhal)
(Assignee)

Comment 5

11 years ago
Created attachment 245545 [details] [diff] [review]
patch

regression of 348158

nsAccessible::GetParent not work for prefpane "tabs"
nsnsDocAccessible::GetAccessibleInParentChain works for all prefpane.

seems we have a bug in nsAccessible::GetParent?

Aaron, what do you think?
Attachment #245534 - Attachment is obsolete: true
Attachment #245545 - Flags: review?(aaronleventhal)
Attachment #245534 - Flags: review?(aaronleventhal)

Comment 6

11 years ago
Comment on attachment 245545 [details] [diff] [review]
patch

I think the patch won't cause any problems, but I'm not 100% sure. It will end up creating parents sometimes for nodes that are going away.

But, I don't understand your question:
> nsAccessible::GetParent not work for prefpane "tabs"
> seems we have a bug in nsAccessible::GetParent?

Do you mean GetCachedParent() ? Or, what bug is there in GetParent() and how does that affect this?

The problem with GetCachedParent() is clearly that if the parent had not previously been created then nothing will be returned.
Attachment #245545 - Flags: review?(aaronleventhal) → review+
(Assignee)

Comment 7

11 years ago
> But, I don't understand your question:
> > nsAccessible::GetParent not work for prefpane "tabs"
> > seems we have a bug in nsAccessible::GetParent?
if we use GetParent, no children-changed:add fires for prefpane "tabs", for others prefpane, it fires correctlly. 

GetAccessibleInParentChain works fine for all prefpane. so i wonder our implementation of GetParent may have a bug

Comment 8

11 years ago
Do you mean GetCachedParent() ?

We never used GetParent().

And if GetParent() has a bug then GetAccessibleInParentChain() would have one too.
(Assignee)

Comment 9

11 years ago
(In reply to comment #8)
> Do you mean GetCachedParent() ?
> 
> We never used GetParent().
> 
> And if GetParent() has a bug then GetAccessibleInParentChain() would have one
> too.
> 

(In reply to comment #8)
> Do you mean GetCachedParent() ?
> 
> We never used GetParent().
> 
> And if GetParent() has a bug then GetAccessibleInParentChain() would have one
> too.
> 

GetCachedParent doesn't work due to no parenet cached before it's called. so i use GetParent to replace GetCachedParent and found almost all panes works fine except "tabs" pane. then i used GetAccessibleInParentChain to replace GetParent and every panes works fine.

so my conclusion is that we have a bug in GetParent.

i checked the implementation of each functions. they use different ways.

Comment 10

11 years ago
You're right, GetAccessibleInParentChain checks the DOM parent chain for accessibles.

For a bug like this, you'll have to come up with a very small testcase to find the problem.

So, where do we stand on getting this done? You have r+. Why not check it in and file a separate bug for the  GetParent() issue?

Comment 11

11 years ago
committed
Status: ASSIGNED → RESOLVED
Last Resolved: 11 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.