| Summary: | [ContentChangeObserver] Use aria role as a hint whether a tap should result in a synthetic click | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | zalan <zalan> | ||||||
| Component: | Layout and Rendering | Assignee: | zalan <zalan> | ||||||
| Status: | RESOLVED FIXED | ||||||||
| Severity: | Normal | CC: | aboxhall, apinheiro, bfulgham, cfleizach, commit-queue, dmazzoni, ews-watchlist, jcraig, jdiggs, samuel_white, simon.fraser, webkit-bug-importer, zalan | ||||||
| Priority: | P2 | Keywords: | InRadar | ||||||
| Version: | WebKit Nightly Build | ||||||||
| Hardware: | Unspecified | ||||||||
| OS: | Unspecified | ||||||||
| Attachments: |
|
||||||||
|
Description
zalan
2019-04-16 14:55:26 PDT
Created attachment 367581 [details]
Patch
Comment on attachment 367581 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=367581&action=review > Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:569 > +static bool isAriaRoleForImmediateClick(AccessibilityRole role) feels like this might better live in AccessibilityObject. There's an existing bool AccessibilityObject::isARIAControl(AccessibilityRole ariaRole) that might be appropriate > Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:572 > + || role == AccessibilityRole::Link || role == AccessibilityRole::List || role == AccessibilityRole::ListBox || role == AccessibilityRole::ListBoxOption || role == AccessibilityRole::ListItem not sure we want to tap ListBox > Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:575 > + || role == AccessibilityRole::SearchField || role == AccessibilityRole::Slider || role == AccessibilityRole::SliderThumb || role ==AccessibilityRole::SpinButton || role == AccessibilityRole::SpinButtonPart spacing role ==AccessibilityRole::SpinButton > Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:576 > + || role == AccessibilityRole::TextArea || role == AccessibilityRole::TextField || role == AccessibilityRole::ToggleButton; do we want to tap text areas and text fields? > Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:577 > +} this might be better written as a switch statement > Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:590 > + return isAriaRoleForImmediateClick(AccessibilityObject::ariaRoleToWebCoreRole(ariaRoleString)); ariaRoleToWebCoreRole should handle null and empty strings. you can probably remove this if Created attachment 367641 [details]
Patch
(In reply to chris fleizach from comment #3) > Comment on attachment 367581 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=367581&action=review > > > Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:569 > > +static bool isAriaRoleForImmediateClick(AccessibilityRole role) > > feels like this might better live in AccessibilityObject. There's an existing > > bool AccessibilityObject::isARIAControl(AccessibilityRole ariaRole) that > might be appropriate I didn't know about isARIAControl and isARIAInput! Thanks! > > Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:590 > > + return isAriaRoleForImmediateClick(AccessibilityObject::ariaRoleToWebCoreRole(ariaRoleString)); > > ariaRoleToWebCoreRole should handle null and empty strings. you can probably > remove this if Good idea. Comment on attachment 367641 [details] Patch Clearing flags on attachment: 367641 Committed r244392: <https://trac.webkit.org/changeset/244392> All reviewed patches have been landed. Closing bug. |