[Webkit-unassigned] [Bug 100275] Programmatically-inserted children lack accessibility events

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Dec 9 08:54:26 PST 2013


https://bugs.webkit.org/show_bug.cgi?id=100275





--- Comment #20 from chris fleizach <cfleizach at apple.com>  2013-12-09 08:52:39 PST ---
(In reply to comment #19)
> Created an attachment (id=218683)
 --> (https://bugs.webkit.org/attachment.cgi?id=218683&action=review) [details]
> Patch proposal
> 
> Chris, would you mind partly reviewing the patch again before I landed it?
> 
> The reason for that is that I'm now in the WebKitGTK+ Hackfest[1] and both Joanie and me realized it would be a good idea to add an extra check before emitting the children-changed::add signal, to avoid getting notifications about objects that we can already (and quickly) now in advance won't get exposed.
> 
> The only difference with the previous patch is that I added this check in attachWrapper():
> 
> +    // Don't emit the signal for objects that we already know won't be exposed
> +    // directly for ATK. we don't want to use accessibilityObjectIsIgnoredByDefault()
> +    // or other related methods (e.g. accessibilityIsIgnored()) here because those might
> +    // trigger the execution of code that might be dangerous or just computationally
> +    // excessive at this stage (creating new objects by traversing the accessibility tree).
> +    AccessibilityObject* coreParent = obj->parentObjectUnignored();
> +    if (!coreParent || coreParent->accessibilityPlatformIncludesObject() == IgnoreObject)
> +        return;
> +

By calling
 obj->parentObjectUnignored();
you still may end up calling accessibilityIsIgnored(). Since this is happening in attachWrapper, it seems OK because I don't think we create AX objects until they're requested (but i could be wrong)

> 
> This addition alone prevents WebKitGTK+ from emitting a whole lot of signals about irrelevant objects in the webchat use case, leaving only those ones that matter, so I think it's a thing we should definitely add.
> 
> The other difference with the previous patch is that I removed the waitUntilDone() bit in the layout test.
> 
> Thanks, and sorry for bothering you one more time with this.
> 
> [1] https://wiki.gnome.org/Hackfests/WebKitGTK2013

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list