Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(304)

Issue 2944083004: MacViews a11y: Support the "Show menu" action in Textfield and Combobox. (Closed)

Created:
3 years, 6 months ago by tapted
Modified:
3 years, 5 months ago
Reviewers:
msw, dmazzoni
CC:
chromium-reviews, aboxhall+watch_chromium.org, tfarina, nektar+watch_chromium.org, yuzo+watch_chromium.org, je_julie, dougt+watch_chromium.org, aleventhal+watch_chromium.org, dtseng+watch_chromium.org, mac-reviews_chromium.org, dmazzoni+watch_chromium.org, chrome-apps-syd-reviews_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

MacViews a11y: Support the "Show menu" action in Textfield and Combobox. Currently Combobox and Textfield show no actions available to accessibility. For Mac, fix by mapping the default action (a click) to NSAccessibilityPressAction and map AX_ACTION_SHOW_CONTEXT_MENU to NSAccessibilityShowMenuAction. For comboboxes, both NSAccessibilityPressAction and NSAccessibilityShowMenuAction show a menu. For textfields, just the latter. On Mac, automatically add and handle NSAccessibilityShowMenuAction for controls that show a menu on press and don't have a separate context menu. For Textfields (and other controls using context menus), automatically add ui::AX_ACTION_SHOW_CONTEXT_MENU for views that have a context menu controller. Comboboxes are trickier since the View that usually handles clicks is a "TransparentButton". So handle these actions explicitly. For menus triggered by a11y actions, there may be no mouse event. Cocoa needs one to position the menu, so generate a dummy event for this. BUG=679247, 663536, 732655 Review-Url: https://codereview.chromium.org/2944083004 Cr-Commit-Position: refs/heads/master@{#483939} Committed: https://chromium.googlesource.com/chromium/src/+/926329391ace2c7470f55b275988a09f4f1fd06b

Patch Set 1 #

Patch Set 2 : AXRaise? #

Patch Set 3 : Fix menu location #

Patch Set 4 : More coverage #

Patch Set 5 : base off crrev/2946783003 #

Total comments: 5

Patch Set 6 : rebase to master #

Patch Set 7 : Map -> Vector.. #

Patch Set 8 : rebase #

Patch Set 9 : Mac-specific #

Total comments: 14

Patch Set 10 : respond to comments #

Total comments: 2

Patch Set 11 : more interesting test #

Unified diffs Side-by-side diffs Delta from patch set Stats (+201 lines, -42 lines) Patch
M ui/accessibility/platform/ax_platform_node_mac.h View 1 2 3 1 chunk +6 lines, -0 lines 0 comments Download
M ui/accessibility/platform/ax_platform_node_mac.mm View 1 2 3 4 5 6 7 8 9 8 chunks +69 lines, -40 lines 0 comments Download
M ui/views/accessibility/native_view_accessibility_base.cc View 1 chunk +3 lines, -0 lines 0 comments Download
M ui/views/controls/combobox/combobox.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M ui/views/controls/combobox/combobox.cc View 1 2 3 4 5 6 7 8 9 2 chunks +15 lines, -0 lines 0 comments Download
M ui/views/controls/combobox/combobox_unittest.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +31 lines, -0 lines 0 comments Download
M ui/views/controls/menu/menu_runner_impl_cocoa.mm View 1 2 3 chunks +34 lines, -2 lines 0 comments Download
M ui/views/widget/native_widget_mac_accessibility_unittest.mm View 1 2 3 4 5 6 7 8 9 3 chunks +42 lines, -0 lines 0 comments Download

Messages

Total messages: 58 (41 generated)
tapted
Hi Dominic, could you take a first look? I'll run this by another ui/views OWNER ...
3 years, 6 months ago (2017-06-20 08:35:00 UTC) #17
dmazzoni
Should the default action for a text field maybe be focus instead of click?
3 years, 6 months ago (2017-06-21 05:59:27 UTC) #20
dmazzoni
https://codereview.chromium.org/2944083004/diff/80001/ui/accessibility/platform/ax_platform_node_mac.mm File ui/accessibility/platform/ax_platform_node_mac.mm (right): https://codereview.chromium.org/2944083004/diff/80001/ui/accessibility/platform/ax_platform_node_mac.mm#newcode345 ui/accessibility/platform/ax_platform_node_mac.mm:345: for (const ActionMap::value_type& entry : GetActionMap()) { It doesn't ...
3 years, 6 months ago (2017-06-21 06:09:36 UTC) #21
tapted
On 2017/06/21 05:59:27, dmazzoni wrote: > Should the default action for a text field maybe ...
3 years, 6 months ago (2017-06-21 06:52:55 UTC) #22
tapted
https://codereview.chromium.org/2944083004/diff/80001/ui/accessibility/platform/ax_platform_node_mac.mm File ui/accessibility/platform/ax_platform_node_mac.mm (right): https://codereview.chromium.org/2944083004/diff/80001/ui/accessibility/platform/ax_platform_node_mac.mm#newcode345 ui/accessibility/platform/ax_platform_node_mac.mm:345: for (const ActionMap::value_type& entry : GetActionMap()) { On 2017/06/21 ...
3 years, 6 months ago (2017-06-21 11:13:11 UTC) #23
tapted
dmazzoni: ping? The main question is around whether SHOW_CONTEXT_MENU should show the Combobox menu. On ...
3 years, 6 months ago (2017-06-23 01:03:18 UTC) #24
dmazzoni
On 2017/06/23 01:03:18, tapted wrote: > dmazzoni: ping? > > The main question is around ...
3 years, 6 months ago (2017-06-23 19:17:24 UTC) #25
tapted
On 2017/06/23 19:17:24, dmazzoni wrote: > On 2017/06/23 01:03:18, tapted wrote: > > dmazzoni: ping? ...
3 years, 5 months ago (2017-06-28 07:24:41 UTC) #34
chromium-reviews
Please note that in Voiceover, to get the list of actions that an item supports ...
3 years, 5 months ago (2017-06-28 15:05:28 UTC) #37
dmazzoni
lgtm
3 years, 5 months ago (2017-06-28 21:32:22 UTC) #38
tapted
+msw - mainly to check whether it looks as though I'm holding ui/views/controls/combobox right - ...
3 years, 5 months ago (2017-06-29 00:54:11 UTC) #40
msw
Mostly lg with some minor nits/qs https://codereview.chromium.org/2944083004/diff/180001/ui/accessibility/platform/ax_platform_node_mac.mm File ui/accessibility/platform/ax_platform_node_mac.mm (right): https://codereview.chromium.org/2944083004/diff/180001/ui/accessibility/platform/ax_platform_node_mac.mm#newcode342 ui/accessibility/platform/ax_platform_node_mac.mm:342: for (size_t i ...
3 years, 5 months ago (2017-06-29 19:26:12 UTC) #41
tapted
https://codereview.chromium.org/2944083004/diff/180001/ui/accessibility/platform/ax_platform_node_mac.mm File ui/accessibility/platform/ax_platform_node_mac.mm (right): https://codereview.chromium.org/2944083004/diff/180001/ui/accessibility/platform/ax_platform_node_mac.mm#newcode342 ui/accessibility/platform/ax_platform_node_mac.mm:342: for (size_t i = 0; i < action_list.size(); ++i) ...
3 years, 5 months ago (2017-06-30 06:04:48 UTC) #46
msw
lgtm with a test comment https://codereview.chromium.org/2944083004/diff/200001/ui/views/controls/combobox/combobox_unittest.cc File ui/views/controls/combobox/combobox_unittest.cc (right): https://codereview.chromium.org/2944083004/diff/200001/ui/views/controls/combobox/combobox_unittest.cc#newcode671 ui/views/controls/combobox/combobox_unittest.cc:671: data.action = ui::AX_ACTION_BLUR; Change ...
3 years, 5 months ago (2017-06-30 15:40:07 UTC) #47
tapted
Thanks all! https://codereview.chromium.org/2944083004/diff/200001/ui/views/controls/combobox/combobox_unittest.cc File ui/views/controls/combobox/combobox_unittest.cc (right): https://codereview.chromium.org/2944083004/diff/200001/ui/views/controls/combobox/combobox_unittest.cc#newcode671 ui/views/controls/combobox/combobox_unittest.cc:671: data.action = ui::AX_ACTION_BLUR; On 2017/06/30 15:40:07, msw ...
3 years, 5 months ago (2017-07-03 04:12:23 UTC) #52
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2944083004/220001
3 years, 5 months ago (2017-07-03 04:13:03 UTC) #55
commit-bot: I haz the power
3 years, 5 months ago (2017-07-03 04:16:37 UTC) #58
Message was sent while issue was closed.
Committed patchset #11 (id:220001) as
https://chromium.googlesource.com/chromium/src/+/926329391ace2c7470f55b275988...

Powered by Google App Engine
This is Rietveld 408576698