[Webkit-unassigned] [Bug 142059] AX: Provide API for assistive tech to ignore DOM key event handlers

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Feb 27 16:48:11 PST 2015


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

--- Comment #8 from Doug Russell <d_russell at apple.com> ---
(In reply to comment #7)
> Comment on attachment 247479 [details]
> Patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=247479&action=review
> 
> > Source/WebCore/dom/EventDispatcher.cpp:353
> > +#if PLATFORM(COCOA) && !PLATFORM(IOS)
> 
> is there a reason we don't want this for iOS? it seems like it might be
> useful someday

No reason. I just wanted to constrain it to the platforms I had actually tested it on for now. I'll open it up to iOS.

> 
> > Source/WebCore/dom/EventDispatcher.cpp:358
> > +    if (!preventDOMDispatch && !event->propagationStopped() && !eventPath.isEmpty())
> 
> instead of putting the #define here, i think moving it into the method
> itself would be a bit cleaner. then you don't need to make a separate
> variable to hold the result

That should be doable.

> 
> > Source/WebCore/page/EventHandler.cpp:3218
> > +bool EventHandler::accessibilityWantsToHandleEvent(Event& event, Node& node)
> 
> My suggestion for a name is "accessibilityPreventsEventDispatch())

That works. I'll make the attribute rename you suggested later to make it all match.

> 
> > Source/WebCore/page/EventHandler.cpp:3220
> > +    if (!AXObjectCache::accessibilityEnhancedUserInterfaceEnabled())
> 
> you might want to check accessibilityEnabled and enhancedUserInterface
> enabled, in case they mistakenly got out of date

Will do.

> 
> > Source/WebCore/page/EventHandler.cpp:3224
> > +    if (eventType != eventNames().keydownEvent && eventType != eventNames().keypressEvent)
> 
> what about keyUp? seems like webapps could get into a bad state if they only
> got keyUps

Good point. I imagine that could go weird.

> 
> > Source/WebCore/page/EventHandler.cpp:3235
> > +    Frame* frame = nodeAccessibility->frame();
> 
> i don't think you need to get an axObject from the node in order to just get
> back to the frame
> 
> I think you can just do node.document()->frame()

I'll try that.

> 
> > Source/WebCore/page/EventHandler.cpp:3241
> > +        // Tab
> 
> instead of adding comments that say what they are which are, can you add a
> comment explaining why we are snarfing tab and arrow keys

Will do.

> 
> > Source/WebCore/page/Settings.in:48
> > +ignoreDOMKeyEventHandlers initial=false
> 
> i'm not crazy about the name.
> One idea: preventKeyboardEventDispatch

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20150228/6741e743/attachment-0002.html>


More information about the webkit-unassigned mailing list