Bug 195336 - AX: Add remote search support for keyboard focusable element search type
Summary: AX: Add remote search support for keyboard focusable element search type
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Accessibility (show other bugs)
Version: WebKit Nightly Build
Hardware: All All
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2019-03-05 12:34 PST by Eric Liang
Modified: 2019-03-05 20:01 PST (History)
11 users (show)

See Also:


Attachments
Patch (11.41 KB, patch)
2019-03-05 13:34 PST, Eric Liang
no flags Details | Formatted Diff | Diff
Patch (10.02 KB, patch)
2019-03-05 17:39 PST, Eric Liang
no flags Details | Formatted Diff | Diff
Patch (10.00 KB, patch)
2019-03-05 18:13 PST, Eric Liang
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
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.