Thunderbird: IAccessible2/ATK hierarchy content missing when replying to an HTML message in Thunderbird

VERIFIED FIXED in mozilla1.9beta3

Status

()

Core
Disability Access APIs
--
major
VERIFIED FIXED
11 years ago
10 years ago

People

(Reporter: MarcoZ, Assigned: Aaron Leventhal)

Tracking

({access})

Trunk
mozilla1.9beta3
access
Points:
---
Dependency tree / graph
Bug Flags:
blocking1.9 ?

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments, 2 obsolete attachments)

When replying to an HTML message in Thunderbird, all quoted content with the exception of introductions to sub quotes, is missing both for IA2 as well as AT-SPI. As a result, composing replies to HTML messages often results in one-line content for Orca or IA2 clients.

Regression range: http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=all&branch=HEAD&branchtype=match&dir=&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=explicit&mindate=2007-09-28+02%3A00&maxdate=2007-09-29+05%3A00&cvsroot=%2Fcvsroot. This has been broken since the September 29, 2007 Trunk build, and probably hasn't been discovered yet because few people actually use Thunderbird on Linux or with an IAccessible2 client.

Additional note: This is the same regression range as bug 405679, so these may in some way be related.
Flags: blocking1.9?
Created attachment 293843 [details]
Testcase

1. Make sure your account is set to complse messages in HTML format (Account Settings, Your Account, Composition & Addressing).
2. Open the attached message via File/Open Saved Message...
3. Hit Reply.

Result: You should see the text indented.

4. Explore the hierarchy of this composition window with your platforms a11y exploration tool.

Result: Only the text "Marco zehe wrote:" will be found, all other nodes will be empty.
(Assignee)

Comment 2

11 years ago
Created attachment 293867 [details] [diff] [review]
A guess -- Marco can you try it?
(Assignee)

Comment 3

11 years ago
I'm able to reproduce if I'm running JAWS while I reply. Also, the bug doesn't affect accHitTest (accessible object from point).
Hi Aaron, this is right on the mark: Three out of three positive results: It fixes the missing content on both Windows and Linux, and it also fixes bug 405679. Good work!
(Assignee)

Comment 5

11 years ago
Okay, I'm still thinking about the exact right fix.
(Assignee)

Comment 6

11 years ago
Created attachment 293914 [details] [diff] [review]
Slightly bigger change, but I believe this is correct. For synchronous events, we should invalidate children right away since DOM is ready, otherwise other code will use incorrect hierarchy

Marco, can you try this one now? I believe it will fix the other bugs still, but I think you should surf with it for a while.
Attachment #293867 - Attachment is obsolete: true
(In reply to comment #6)
> Marco, can you try this one now? I believe it will fix the other bugs still,
> but I think you should surf with it for a while.

On the Firefox side it looks good. Bug 405679 gets fixed by this second patch, too. I am currently rebuilding Thunderbird to test.

Anything specific I should try while surfing?
(Assignee)

Comment 8

11 years ago
Well, do a lot of general surfing if you could, and try some pages with dynamic content.
Thunderbird Replies on Windows are also fixed by this second patch.
(Assignee)

Updated

11 years ago
Attachment #293914 - Flags: review?(surkov.alexander)

Comment 10

11 years ago
It sounds we always fire delayed events, so you suppose to invalidate before event. Is it contradiction?
(Assignee)

Comment 11

11 years ago
Perhaps it's a contradiction for hide, yes. At least I don't think it's a big contradiction for show, because when they get that event they want to look at what's newly there anyway. If the accessible tree is invalidated slightly before the event I don't think it's a problem.

Would it be better if we just make this change for show events? That still fixes the bug.

Comment 12

11 years ago
yes, tree should be invalidated before show events but what's difference between async and sync shows events so that they have so different proccessing?

Comment 13

11 years ago
may worth to look at bug 394493 also. I think it has the same cause with this one, I proposed a similar patch there.

We may need to re-think about our fix of bug 397112, the idea of delayed invalidation.
What is the impact of this bug on applications other than thunderbird?
(In reply to comment #14)
> What is the impact of this bug on applications other than thunderbird?

As stated in other comments above, this is very closely related to bug 405679. The regression range and probable cause are the same: Checkin for bug 397112. This impacts Firefox as well.

Updated

10 years ago
Blocks: 397112
(Assignee)

Comment 16

10 years ago
Created attachment 296336 [details] [diff] [review]
Only for synchronous shows, don't delay Invalidation

I think this bug does make a case for Surkov's tree freezing approach, but I don't want to consider that big of a change until after Firefox 3 ships.

If anyone has a better idea for a fix in Firefox 3 please give me specifics -- or better yet, a patch. We're not ready for a lot of rethinking at this point in the development of Gecko 1.9, but let me know.
Attachment #293914 - Attachment is obsolete: true
Attachment #296336 - Flags: review?(surkov.alexander)
Attachment #296336 - Flags: review?(Evan.Yan)
Attachment #293914 - Flags: review?(surkov.alexander)
(In reply to comment #16)
> Only for synchronous shows, don't delay Invalidation

Both WordPress in Firefox, and content in Tbhunderbird replies is fixed by this new patch. Green light from my end!

Updated

10 years ago
Attachment #296336 - Flags: review?(Evan.Yan) → review+
(Assignee)

Updated

10 years ago
Attachment #296336 - Flags: review?(surkov.alexander) → approval1.9?
Comment on attachment 296336 [details] [diff] [review]
Only for synchronous shows, don't delay Invalidation

a=beltzner for 1.9
Attachment #296336 - Flags: approval1.9? → approval1.9+
(Assignee)

Updated

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