New issue
Advanced search Search tips

Issue 679247 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 1
Type: Bug
Team-Accessibility

Blocked on:
issue 717846
issue 663536

Blocking:
issue 462133


Participants' hotlists:
MacViews-Task-Queue


Sign in to add a comment

MacViews a11y: Plumb through NSAccessibilityActions to Views

Project Member Reported by patricia...@chromium.org, Jan 9 2017

Issue description

Currently, NSAccessibilityActions are not supported in MacViews. AXActionData and Views::HandleAccessibleAction() is pretty much already implemented, so all that needs to be done is to add some plumbing in AXPlatformNodeCocoa to make it work.

What steps will reproduce the problem?
1. Turn on #secondary-ui-md flag.
2. Open the Accessibility Inspector.
3. Open the bookmarks bubble (click the star on the right of the omnibox) and inspect the "Edit" LabelButton.
4. Observe the 'actions' listed for the button in the accessibility inspector.

What is the expected result?
Should list a 'Press' action. With the latest Accessibility Inspector (Xcode 8), it should have a button saying 'Press'. Clicking the 'Press' button should bring up the edit dialog.

What happens instead of that?
No actions are listed.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Feb 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e8f8ea9d2076848d998001dea1e7b90d7beb83a8

commit e8f8ea9d2076848d998001dea1e7b90d7beb83a8
Author: patricialor <patricialor@chromium.org>
Date: Fri Feb 10 02:21:06 2017

MacViews: Implement NSAccessibilityPressAction for Views with clickable roles.

Currently, no NSAccessibilityActions are supported for MacViews. Refactor out
code supporting this for clickable controls inside Blink and re-use the code for
clickable Views.

BUG= 679247 

Review-Url: https://codereview.chromium.org/2671563002
Cr-Commit-Position: refs/heads/master@{#449519}

[modify] https://crrev.com/e8f8ea9d2076848d998001dea1e7b90d7beb83a8/content/browser/accessibility/browser_accessibility.cc
[modify] https://crrev.com/e8f8ea9d2076848d998001dea1e7b90d7beb83a8/content/browser/accessibility/browser_accessibility.h
[modify] https://crrev.com/e8f8ea9d2076848d998001dea1e7b90d7beb83a8/content/browser/accessibility/browser_accessibility_android.cc
[modify] https://crrev.com/e8f8ea9d2076848d998001dea1e7b90d7beb83a8/ui/accessibility/BUILD.gn
[add] https://crrev.com/e8f8ea9d2076848d998001dea1e7b90d7beb83a8/ui/accessibility/ax_role_properties.cc
[add] https://crrev.com/e8f8ea9d2076848d998001dea1e7b90d7beb83a8/ui/accessibility/ax_role_properties.h
[modify] https://crrev.com/e8f8ea9d2076848d998001dea1e7b90d7beb83a8/ui/accessibility/platform/ax_platform_node_mac.mm
[modify] https://crrev.com/e8f8ea9d2076848d998001dea1e7b90d7beb83a8/ui/views/widget/native_widget_mac_accessibility_unittest.mm

Labels: NewComponent-Accessibility NewComponent-Accessibility-Compatibility
Cc: ellyjo...@chromium.org
Labels: -Pri-3 MacViews-Dialogs Pri-1
patricialor: is this done? It seems important so Pri-3 -> Pri-1.
Status: Started (was: Assigned)
No, there are a bunch of other actions we need to support (e.g. show context menu, confirm, etc), #c1 only implemented it for "press" :( I've got a in-progress CL at the moment that will allow us to expose which actions are actually supported on controls from Views; so am definitely working on it.

Comment 5 by tapted@chromium.org, Apr 13 2017

Blocking: 462133
This will probably fix one of the missing expectations in  Issue 657900  too (VO+space on a Combobox)

Comment 6 by tapted@chromium.org, Apr 13 2017

Blockedon: 663536
Components: UI>Accessibility>Compatibility
Components: -UI>Accessibility
Labels: -newcomponent-accessibility-compatibility -newcomponent-accessibility
Blockedon: 717846
Cc: patricia...@chromium.org
Owner: tapted@chromium.org
https://codereview.chromium.org/2944083004
Project Member

Comment 11 by bugdroid1@chromium.org, Jul 3 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/926329391ace2c7470f55b275988a09f4f1fd06b

commit 926329391ace2c7470f55b275988a09f4f1fd06b
Author: tapted <tapted@chromium.org>
Date: Mon Jul 03 04:16:16 2017

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}

[modify] https://crrev.com/926329391ace2c7470f55b275988a09f4f1fd06b/ui/accessibility/platform/ax_platform_node_mac.h
[modify] https://crrev.com/926329391ace2c7470f55b275988a09f4f1fd06b/ui/accessibility/platform/ax_platform_node_mac.mm
[modify] https://crrev.com/926329391ace2c7470f55b275988a09f4f1fd06b/ui/views/accessibility/native_view_accessibility_base.cc
[modify] https://crrev.com/926329391ace2c7470f55b275988a09f4f1fd06b/ui/views/controls/combobox/combobox.cc
[modify] https://crrev.com/926329391ace2c7470f55b275988a09f4f1fd06b/ui/views/controls/combobox/combobox.h
[modify] https://crrev.com/926329391ace2c7470f55b275988a09f4f1fd06b/ui/views/controls/combobox/combobox_unittest.cc
[modify] https://crrev.com/926329391ace2c7470f55b275988a09f4f1fd06b/ui/views/controls/menu/menu_runner_impl_cocoa.mm
[modify] https://crrev.com/926329391ace2c7470f55b275988a09f4f1fd06b/ui/views/widget/native_widget_mac_accessibility_unittest.mm

mac a11y triage: how is this going? 
heh I've contemplated just closing this a few times already. I don't know of any remaining actions that we are missing, but I haven't researched it thoroughly either. It's likely there is stuff missing. E.g. there is views/slider.cc, which is probably missing actions, but I don't know of any dialogs in Desktop Chrome that use it (it's used for the volume control on ChromeOS..).

So I'd be happy to close this and just deal with missing stuff as it comes up. But also maybe it's helpful to have so we know we're still thinking about it in an "Auditing" sense. But we have "audit" bugs already - maybe we just ensure they include audits for missing actions, and file separate bugs for any actions we discover that we're missing.
Status: Fixed (was: Started)
#13: let's close this, then. If we find a specific control that doesn't work, or an a11y action that doesn't work (either ourselves or during a11y audits), we'll open specific bugs. This bug as-is is uncloseable and unactionable.

Sign in to add a comment