Bug 118541 - Web Inspector: AX: console live region does not always generate screen reader speech because the element is sometimes removed from the AX tree when when hidden with display:none.
Summary: Web Inspector: AX: console live region does not always generate screen reader...
Status: RESOLVED DUPLICATE of bug 124381
Alias: None
Product: WebKit
Classification: Unclassified
Component: Web Inspector (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: James Craig
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2013-07-10 16:04 PDT by James Craig
Modified: 2014-03-05 20:14 PST (History)
4 users (show)

See Also:


Attachments
screen shot showing div.console-messages missing and ancestor element hidden with display none (203.44 KB, image/png)
2013-07-11 01:10 PDT, James Craig
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description James Craig 2013-07-10 16:04:32 PDT
Web Inspector: AX: console live region does not always generate screen reader speech because the element is sometimes removed from the AX tree when when hidden with display:none. Investigate hiding this with position or opacity instead, which will hopefully cause the live region to perform better.
Comment 1 Radar WebKit Bug Importer 2013-07-10 16:05:00 PDT
<rdar://problem/14408407>
Comment 2 Timothy Hatcher 2013-07-10 16:08:02 PDT
What specific element gets display:none?
Comment 3 James Craig 2013-07-10 17:35:48 PDT
Upon closer inspection, it looks like the live region (div.console-messages) is actually removed from the DOM rather than hidden. In either case, the live region is removed from the AX tree, which is why we're getting inconsistent results (that, and bug 62289). 

It may be sufficient to move the log role to the next closest ancestor (div.content-view-container) that is not removed from the DOM, but that would might only work if nothing else besides console-messages are rendered in that container.
Comment 4 Timothy Hatcher 2013-07-10 17:49:26 PDT
I don't see anywhere we remove div.console-messages. We do remove the content view if you switch views or switch the console from split to full or vice versa.
Comment 5 James Craig 2013-07-11 01:10:43 PDT
Created attachment 206433 [details]
screen shot showing div.console-messages missing and ancestor element hidden with display none

I haven't done any tracing yet to determine how it's removed (possibly a content replacement on an ancestor element?) but I've attached a screen shot I took immediately after pressing ESC in the quick console, showing that div.content-view-container is empty and another ancestor higher up the tree is hidden via display:none. Either of these will result in the problems I'm seeing, but the combination of both may make this difficult to fix without a solution for bug 62289.
Comment 6 Timothy Hatcher 2013-07-12 07:11:19 PDT
Ah, yes. When the split console is collapsed it is also hidden with display: none. Only if the console is visible on screen will it not be display: none. This prevents frivolous layouts for things that are not visible.
Comment 7 James Craig 2014-03-05 20:14:39 PST
I don't think we're going to be able to fix this one in the Web Inspector. The live regions are implemented as designed. We could do some significant workarounds to get this to speak, but I don't think any of those solutions are clean enough to be justifiable.

This will end up being fixed by the general WebCore Accessibility fix for live regions in bug 124381. Marking as a duplicate and closing.

*** This bug has been marked as a duplicate of bug 124381 ***