Make nsIAccessible::childCount/childAt/firstChild/lastChild work for XUL browsers with remote documents
Categories
(Core :: Disability Access APIs, task)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox76 | --- | fixed |
People
(Reporter: Jamie, Assigned: Jamie)
References
Details
Attachments
(1 file)
Our browser tests all use events to get accessibles from remote documents, so we don't really need this for those. However, it makes quick tests using the browser toolbox console a lot easier. Also, right now, childAt(0)/firstChild/lastChild crash on Windows, which is not ideal.
| Assignee | ||
Comment 1•5 years ago
|
||
Updated•5 years ago
|
| Assignee | ||
Comment 2•5 years ago
|
||
Like my comment in bug 1621521, I'm now wondering whether this will cause problems for the A11y Panel running in the Browser Toolbox. On Windows, we do crash the parent process when using the A11y Inspector and opening the a11y tree for a XUL browser, which is nasty. This will fix that crash, but now the A11y Panel will be dealing with ProxyAccessibles. I guess the panel probably doesn't care, but it will be missing info not implemented for XPCOM ProxyAccessibles.
| Assignee | ||
Comment 3•5 years ago
|
||
(In reply to James Teh [:Jamie] from comment #2)
Like my comment in bug 1621521, I'm now wondering whether this will cause problems for the A11y Panel running in the Browser Toolbox. On Windows, we do crash the parent process when using the A11y Inspector and opening the a11y tree for a XUL browser, which is nasty. This will fix that crash,
Actually, it doesn't. I don't quite understand why.
| Assignee | ||
Comment 4•5 years ago
|
||
Oh. It crashes with the patch, but doesn't crash without it. That surprises me, but does validate my concerns.
Comment 5•5 years ago
|
||
I'm not surprised it crashes. Our devtools fission code deals with this case differently (similar to platform) assuming if the frame remote a child count of 1 and then getting the appropriate accessible front from the right devtools server in the right process.
I suspect this might stop crashing when https://phabricator.services.mozilla.com/D66156 lands, though I would have to try to make sure. Essentially that code will make sure that we do not deal with proxies and instead start the right server/actors/fronts in the right places.
Comment 6•5 years ago
|
||
I wonder if we could do this under a pref? This would help a lot if avoiding unexpected crashes in devtools..
| Assignee | ||
Comment 7•5 years ago
|
||
I found the crash. Turns out ProxyAccessible::NextSibling crashes if there's no parent, as is the case for a top level doc. With that fixed, the A11y Panel no longer crashes.
Comment 9•5 years ago
|
||
| bugherder | ||
Description
•