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

Issue 2426193003: Re-land: Create AXAction and AXActionData as a way to simplify accessibility actions (Closed)

Created:
4 years, 2 months ago by dmazzoni
Modified:
4 years, 2 months ago
Reviewers:
Tom Sepez, David Tseng, jam
CC:
chromium-reviews, extensions-reviews_chromium.org, nasko+codewatch_chromium.org, sadrul, mlamouri+watch-content_chromium.org, aboxhall+watch_chromium.org, jam, creis+watch_chromium.org, mac-reviews_chromium.org, nektar+watch_chromium.org, yuzo+watch_chromium.org, je_julie, darin-cc_chromium.org, dmazzoni+watch_chromium.org, dtseng+watch_chromium.org, kalyank, chromium-apps-reviews_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Re-land: Create AXAction and AXActionData as a way to simplify accessibility actions Original review: https://codereview.chromium.org/2410333005/ Landed in r425980, reverted in r425984 due to a conflict that landed after the try runs finished but before this change was committed. Previously we had a collection of 10 accessibility actions that were implemented on every accessibility object - all of them implemented for the web, and about half implemented for aura views and for the automation extension API. This resulted in a lot of boilerplate code because of the many layers of indirection between the various parts of the codebase. Adding a new accessibility action meant adding a new IPC and adding a new method to around a dozen files just to plumb it through. In comparison, we have dozens of accessibility events but we handle them all with a single flexible data structure, so adding a new event doesn't require so much plumbing. This change streamlines accessibility actions too. There's an enum AXAction with all of the possible accessibility actions, and a serializable data structure AXActionData that encapsulates the parameters needed by an accessibility action. This cuts down on some duplicate code and reduces the amount of new code that needs to be written to add support for a new accessibility action in the future. For example, macOS has "increment" and "decrement" actions for range controls that we ought to support, and there are some additional arguments to setAccessibilityFocus that we're contemplating. BUG=655272, 655273 TESTED=Manually triggered each of the supported accessibility actions from ChromeVox, and from at least one native screen reader. TBR=dtseng@chromium.org,tsepez@chromium.org,jam@chromium.org CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation Committed: https://crrev.com/e6f29fcd6e289b6724b8812cf2be8b1c74774fa2 Cr-Commit-Position: refs/heads/master@{#426221}

Patch Set 1 #

Patch Set 2 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+462 lines, -496 lines) Patch
M chrome/browser/extensions/api/automation_internal/automation_action_adapter.h View 1 chunk +7 lines, -19 lines 0 comments Download
M chrome/browser/extensions/api/automation_internal/automation_internal_api.cc View 3 chunks +24 lines, -28 lines 0 comments Download
M chrome/browser/ui/aura/accessibility/automation_manager_aura.h View 1 chunk +1 line, -8 lines 0 comments Download
M chrome/browser/ui/aura/accessibility/automation_manager_aura.cc View 2 chunks +38 lines, -27 lines 0 comments Download
M chrome/common/extensions/api/automation.idl View 1 chunk +14 lines, -0 lines 0 comments Download
M chrome/common/extensions/api/automation_internal.idl View 1 chunk +1 line, -0 lines 0 comments Download
M content/browser/accessibility/android_granularity_movement_browsertest.cc View 1 chunk +1 line, -2 lines 0 comments Download
M content/browser/accessibility/browser_accessibility_cocoa.mm View 2 chunks +7 lines, -8 lines 0 comments Download
M content/browser/accessibility/browser_accessibility_manager.h View 4 chunks +13 lines, -18 lines 0 comments Download
M content/browser/accessibility/browser_accessibility_manager.cc View 4 chunks +93 lines, -22 lines 0 comments Download
M content/browser/accessibility/browser_accessibility_manager_android.cc View 3 chunks +4 lines, -8 lines 0 comments Download
M content/browser/accessibility/browser_accessibility_manager_unittest.cc View 1 chunk +1 line, -17 lines 0 comments Download
M content/browser/accessibility/dump_accessibility_events_browsertest.cc View 2 chunks +1 line, -2 lines 0 comments Download
M content/browser/accessibility/hit_testing_browsertest.cc View 1 chunk +1 line, -1 line 0 comments Download
M content/browser/frame_host/render_frame_host_impl.h View 1 chunk +1 line, -17 lines 0 comments Download
M content/browser/frame_host/render_frame_host_impl.cc View 2 chunks +3 lines, -52 lines 0 comments Download
M content/common/accessibility_messages.h View 3 chunks +19 lines, -49 lines 0 comments Download
M content/public/browser/render_frame_host.h View 2 chunks +7 lines, -11 lines 0 comments Download
M content/renderer/accessibility/render_accessibility_impl.h View 2 chunks +7 lines, -13 lines 0 comments Download
M content/renderer/accessibility/render_accessibility_impl.cc View 5 chunks +60 lines, -193 lines 0 comments Download
M ui/accessibility/BUILD.gn View 1 chunk +2 lines, -0 lines 0 comments Download
M ui/accessibility/PRESUBMIT.py View 1 chunk +2 lines, -0 lines 0 comments Download
A ui/accessibility/ax_action_data.h View 1 chunk +60 lines, -0 lines 0 comments Download
A ui/accessibility/ax_action_data.cc View 1 chunk +62 lines, -0 lines 0 comments Download
M ui/accessibility/ax_enums.idl View 2 chunks +33 lines, -1 line 0 comments Download

Messages

Total messages: 14 (7 generated)
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/2426193003/1
4 years, 2 months ago (2016-10-18 22:52:32 UTC) #3
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_chromeos_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng/builds/298025)
4 years, 2 months ago (2016-10-19 00:18:25 UTC) #5
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/2426193003/20001
4 years, 2 months ago (2016-10-19 05:03:51 UTC) #7
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/319322)
4 years, 2 months ago (2016-10-19 09:59:48 UTC) #9
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/2426193003/20001
4 years, 2 months ago (2016-10-19 15:35:00 UTC) #11
commit-bot: I haz the power
Committed patchset #2 (id:20001)
4 years, 2 months ago (2016-10-19 16:35:07 UTC) #12
commit-bot: I haz the power
4 years, 2 months ago (2016-10-21 13:09:23 UTC) #14
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/e6f29fcd6e289b6724b8812cf2be8b1c74774fa2
Cr-Commit-Position: refs/heads/master@{#426221}

Powered by Google App Engine
This is Rietveld 408576698