Bug 171164 - [ATK] Implement support for new ARIA 1.1 values of aria-haspopup
Summary: [ATK] Implement support for new ARIA 1.1 values of aria-haspopup
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Accessibility (show other bugs)
Version: WebKit Nightly Build
Hardware: All Linux
: P2 Normal
Assignee: Joanmarie Diggs (irc: joanie)
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2017-04-22 10:42 PDT by Joanmarie Diggs (irc: joanie)
Modified: 2017-04-26 12:30 PDT (History)
9 users (show)

See Also:


Attachments
Patch (16.10 KB, patch)
2017-04-26 06:22 PDT, Joanmarie Diggs (irc: joanie)
no flags Details | Formatted Diff | Diff
Patch (15.85 KB, patch)
2017-04-26 11:04 PDT, Joanmarie Diggs (irc: joanie)
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Joanmarie Diggs (irc: joanie) 2017-04-22 10:42:44 PDT
For ATK, support for aria-haspopup requires:

1. Add STATE_HAS_POPUP to the state set
2. Expose the value of aria-haspopup via the "haspopup" object attribute
Comment 1 Radar WebKit Bug Importer 2017-04-22 10:43:10 PDT
<rdar://problem/31774638>
Comment 2 Radar WebKit Bug Importer 2017-04-22 10:49:37 PDT
<rdar://problem/31774659>
Comment 3 Joanmarie Diggs (irc: joanie) 2017-04-26 06:22:38 PDT
Created attachment 308239 [details]
Patch
Comment 4 Joanmarie Diggs (irc: joanie) 2017-04-26 07:52:56 PDT
Comment on attachment 308239 [details]
Patch

Chris: Please review when you have a chance. Thanks!
Comment 5 chris fleizach 2017-04-26 10:02:21 PDT
Comment on attachment 308239 [details]
Patch

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

> Source/WebCore/accessibility/AccessibilityRenderObject.cpp:1013
> +    const AtomicString& haspopup = getAttribute(aria_haspopupAttr);

I think this can probably all move into AXObject.cpp and then this won't have to be virtual

> Source/WebCore/accessibility/AccessibilityRenderObject.cpp:1014
> +    if (equalLettersIgnoringASCIICase(haspopup, "true")

should probably be hasPopup

> Source/WebCore/accessibility/AccessibilityRenderObject.cpp:1032
> +    return String();

should this also return "false"?

> Source/WebCore/accessibility/AccessibilityRenderObject.cpp:1038
> +    return !haspopup.isEmpty() && !equalLettersIgnoringASCIICase(haspopup, "false");

if ariaPopupValue() returned false instead of empty string we wouldn't also need the isEmpty check here
Comment 6 Joanmarie Diggs (irc: joanie) 2017-04-26 11:04:05 PDT
Created attachment 308269 [details]
Patch
Comment 7 WebKit Commit Bot 2017-04-26 12:30:11 PDT
Comment on attachment 308269 [details]
Patch

Clearing flags on attachment: 308269

Committed r215821: <http://trac.webkit.org/changeset/215821>
Comment 8 WebKit Commit Bot 2017-04-26 12:30:13 PDT
All reviewed patches have been landed.  Closing bug.