Bug 195336

Summary: AX: Add remote search support for keyboard focusable element search type
Product: WebKit Reporter: Eric Liang <ericliang>
Component: AccessibilityAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: aboxhall, apinheiro, cfleizach, commit-queue, dmazzoni, ericliang, ews-watchlist, jcraig, jdiggs, samuel_white, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: All   
OS: All   
Attachments:
Description Flags
Patch
none
Patch
none
Patch none

Description Eric Liang 2019-03-05 12:34:22 PST
In order to support accessibility keyboard navigation in web view, the following API support is requested:

Adding another option to AXUIElementsForSearchPredicate to search for keyboard focusable elements.
If AXWebArea is passed in as the currentElement, then return the first keyboard focusable element inside the web view.
If a random descendant of the web view is passed in as the currentElement, then find the next keyboard focusable elements in the DOM order.
If no more keyboard focusable element is found, then pass the AXWebArea as the result.
Comment 1 Eric Liang 2019-03-05 12:34:53 PST
rdar://problem/48578156
Comment 2 Eric Liang 2019-03-05 13:34:10 PST
Created attachment 363683 [details]
Patch
Comment 3 chris fleizach 2019-03-05 17:14:16 PST
Comment on attachment 363683 [details]
Patch

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

> Source/WebCore/accessibility/AccessibilityNodeObject.cpp:1163
> +    Element* element = this->element();

this seems like it could be in AccessibilityObject, then it doesn't have to be virtual

> Source/WebCore/accessibility/AccessibilityNodeObject.cpp:1166
> +    return element->isFocusable();

this can be written like

if (Element* element = this->element())
   return element->isFocusable();

return false;
Comment 4 Eric Liang 2019-03-05 17:39:39 PST
Created attachment 363716 [details]
Patch
Comment 5 chris fleizach 2019-03-05 17:49:41 PST
Comment on attachment 363716 [details]
Patch

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

> Source/WebCore/accessibility/AccessibilityObject.cpp:197
> +        

can you undo this whitespace line change

> Source/WebCore/accessibility/AccessibilityObject.cpp:3501
> +    if (Element* element = this->element())

auto element
Comment 6 Eric Liang 2019-03-05 18:13:54 PST
Created attachment 363718 [details]
Patch
Comment 7 WebKit Commit Bot 2019-03-05 20:01:52 PST
Comment on attachment 363718 [details]
Patch

Clearing flags on attachment: 363718

Committed r242528: <https://trac.webkit.org/changeset/242528>
Comment 8 WebKit Commit Bot 2019-03-05 20:01:54 PST
All reviewed patches have been landed.  Closing bug.