Bug 73940

Summary: AX: aria-hidden inheritance broken when applying to some descendants
Product: WebKit Reporter: chris fleizach <cfleizach>
Component: AccessibilityAssignee: chris fleizach <cfleizach>
Status: RESOLVED FIXED    
Severity: Normal CC: bdakin
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
patch darin: review+

Description chris fleizach 2011-12-06 11:49:29 PST
If you use aria-hidden to toggle an object's visibility, then it objects that are NOT ignored and are direct descendants of the object that is toggled will NOT be updated, and will return the incorrect child hierarchy
Comment 1 chris fleizach 2011-12-06 12:08:00 PST
The fix is that we need to clearChildren() before we add a child in addChildren() for ALL elements (before we were just doing it for ignored elements)
Comment 2 chris fleizach 2011-12-06 12:20:25 PST
Created attachment 118089 [details]
patch
Comment 3 chris fleizach 2011-12-06 12:21:08 PST
rdar://10452441
Comment 4 chris fleizach 2011-12-12 10:01:54 PST
Comment on attachment 118089 [details]
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=118089&action=review

> Source/WebCore/accessibility/AccessibilityTable.cpp:376
> +    AccessibilityTableHeaderContainer* tableHeader = static_cast<AccessibilityTableHeaderContainer*>(axObjectCache()->getOrCreate(TableHeaderContainerRole));

I think i can remove the cast to AccessibilityTableHeaderContainer as it's probably unnecessary.
Comment 5 chris fleizach 2011-12-12 15:54:59 PST
http://trac.webkit.org/changeset/102634