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

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Dec 9 10:47:15 PST 2013


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





--- Comment #21 from Mario Sanchez Prada <mario at webkit.org>  2013-12-09 10:45:28 PST ---
(In reply to comment #20)
> (In reply to comment #19)
> > Created an attachment (id=218683)
 --> (https://bugs.webkit.org/attachment.cgi?id=218683&action=review) [details] [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)
>

That's right, and so the comment is definitely wrong. Perhaps there's no need to restrict it to  accessibilityPlatformIncludesObject() and I can just use accessibilityIsIgnored() directly since, as you pointed it out, it might get called anyway in parentObjectUnignored. 


I'll try that and come up with a new atch asap. Thanks for the review

-- 
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