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

Issue 2694903010: AX checked state changes (Closed)

Created:
3 years, 10 months ago by aleventhal
Modified:
3 years, 8 months ago
CC:
aboxhall, aboxhall+watch_chromium.org, alemate+watch_chromium.org, arv+watch_chromium.org, blink-reviews, chromium-reviews, darin-cc_chromium.org, dmazzoni+watch_chromium.org, dmazzoni, dtseng+watch_chromium.org, haraken, jam, je_julie, kinuko+watch, nektar+watch_chromium.org, nektarios, oshima+watch_chromium.org, yuzo+watch_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

AX checked state work 1. Blink should let aria-checked override an input element's native semantics 2. We should support HTML radio/checkbox indeterminate states as mixed, even though this is an oversight in the specs 3. We should support aria-checked="mixed" on any kind of radio or checkbox 4. We should support aria-checked on <option> when used for role="menuitemcheckbox" or "menuitemradio" Note: found and fixed at least some additional bugs while working on it: - The action names for checked/unchecked where reversed - Android didn't consider role="switch" checkable unless it was already checked BUG=659835 R=dmazzoni CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation Review-Url: https://codereview.chromium.org/2694903010 Cr-Commit-Position: refs/heads/master@{#465079} Committed: https://chromium.googlesource.com/chromium/src/+/ae91e9c848e802335b5c424e62346b950b49cf31

Patch Set 1 #

Patch Set 2 : Remove whitespace change #

Total comments: 16

Patch Set 3 : WIP #

Patch Set 4 : Fix incorrect unit tests for check/uncheck actions #

Patch Set 5 : Expose checkedState on automation node #

Patch Set 6 : Fix more compiler errors #

Patch Set 7 : Fix compiler errors #

Patch Set 8 : Fix compiler errors #

Patch Set 9 : Try to expose checked state via automationNode.checked string field -- not working yet, still undef… #

Patch Set 10 : Fix compiler error #

Total comments: 6

Patch Set 11 : Another attempt at binding the checked field for automation, but still not working #

Patch Set 12 : rebase #

Patch Set 13 : Fix failing tests -- MIXED should not also be CHECKED #

Patch Set 14 : For now, these tests should show that radio buttons in groups with nothing checked are MIXED. In th… #

Patch Set 15 : Work on tests #

Patch Set 16 : Windows tests #

Total comments: 2

Patch Set 17 : git cl try #

Patch Set 18 : All tests should pass #

Patch Set 19 : Fix android tests. Don't expose mixed as checked on Android #

Patch Set 20 : Fix Windows tests -- need to set state at 0 (non-zero by default) #

Patch Set 21 : Fix android test #

Total comments: 3

Patch Set 22 : Fix errors after self-review changes #

Patch Set 23 : After fixing checkable logic in android, test also needed to be fixed #

Total comments: 1

Patch Set 24 : Test checkbox attribute in automation API, fix whitespace, remove change to third party code #

Total comments: 17

Patch Set 25 : Address review nits #

Patch Set 26 : Fix compiler error #

Total comments: 3

Patch Set 27 : Clean version of tristate checkbox work after merging in recently refactored blink code #

Patch Set 28 : Fix tests #

Patch Set 29 : Fix tests #

Patch Set 30 : Fix tests #

Patch Set 31 : Fix mac input-radio test results #

Patch Set 32 : Corrected test (ran before but was written incorrectly) #

Patch Set 33 : git cl try #

Unified diffs Side-by-side diffs Delta from patch set Stats (+538 lines, -223 lines) Patch
M ash/system/ime_menu/ime_list_view.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +3 lines, -2 lines 0 comments Download
M ash/system/ime_menu/ime_menu_tray_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +3 lines, -1 line 0 comments Download
M ash/system/tray/hover_highlight_view.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +10 lines, -5 lines 0 comments Download
M chrome/browser/chromeos/arc/accessibility/ax_tree_source_arc.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2 chunks +8 lines, -1 line 0 comments Download
M chrome/browser/resources/chromeos/chromevox/common/aria_util.js View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +3 lines, -3 lines 0 comments Download
M chrome/browser/resources/chromeos/chromevox/common/msgs.js View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +6 lines, -6 lines 0 comments Download
M chrome/browser/resources/chromeos/chromevox/cvox2/background/output.js View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 3 chunks +21 lines, -10 lines 0 comments Download
M chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings.grd View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +3 lines, -3 lines 0 comments Download
M chrome/common/extensions/api/automation.idl View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2 chunks +3 lines, -3 lines 0 comments Download
M chrome/renderer/extensions/automation_internal_custom_bindings.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 1 chunk +10 lines, -0 lines 0 comments Download
M chrome/renderer/resources/extensions/automation/automation_node.js View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 4 chunks +12 lines, -1 line 0 comments Download
M chrome/test/data/extensions/api_test/automation/sites/attributes.html View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +5 lines, -1 line 0 comments Download
M chrome/test/data/extensions/api_test/automation/tests/tabs/attributes.js View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +22 lines, -0 lines 0 comments Download
M content/browser/accessibility/browser_accessibility_android.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +6 lines, -2 lines 0 comments Download
M content/browser/accessibility/browser_accessibility_cocoa.mm View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +13 lines, -10 lines 0 comments Download
M content/browser/accessibility/browser_accessibility_win.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2 chunks +14 lines, -5 lines 0 comments Download
M content/browser/accessibility/browser_accessibility_win_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2 chunks +6 lines, -2 lines 0 comments Download
M content/renderer/accessibility/blink_ax_enum_conversion.h View 1 2 3 1 chunk +3 lines, -0 lines 0 comments Download
M content/renderer/accessibility/blink_ax_enum_conversion.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2 chunks +14 lines, -2 lines 0 comments Download
M content/renderer/accessibility/blink_ax_tree_source.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2 chunks +6 lines, -3 lines 0 comments Download
M content/shell/test_runner/web_ax_object_proxy.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2 chunks +2 lines, -2 lines 0 comments Download
M content/test/data/accessibility/aom/aom-checked.html View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 chunk +1 line, -2 lines 0 comments Download
M content/test/data/accessibility/aom/aom-checked-expected-blink.txt View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 chunk +4 lines, -4 lines 0 comments Download
M content/test/data/accessibility/aria/aria-menuitemradio-expected-mac.txt View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -1 line 0 comments Download
M content/test/data/accessibility/aria/aria-menuitemradio-expected-win.txt View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -1 line 0 comments Download
M content/test/data/accessibility/aria/aria-posinset-expected-mac.txt View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +5 lines, -5 lines 0 comments Download
M content/test/data/accessibility/aria/aria-switch-expected-android.txt View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +2 lines, -2 lines 0 comments Download
M content/test/data/accessibility/html/action-verbs-expected-blink.txt View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download
M content/test/data/accessibility/html/input-checkbox.html View 1 chunk +1 line, -0 lines 0 comments Download
M content/test/data/accessibility/html/input-checkbox-expected-android.txt View 1 chunk +4 lines, -3 lines 0 comments Download
M content/test/data/accessibility/html/input-checkbox-expected-mac.txt View 1 chunk +3 lines, -2 lines 0 comments Download
M content/test/data/accessibility/html/input-checkbox-expected-win.txt View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +4 lines, -3 lines 0 comments Download
M content/test/data/accessibility/html/input-radio.html View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 chunk +4 lines, -0 lines 0 comments Download
M content/test/data/accessibility/html/input-radio-expected-android.txt View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +3 lines, -0 lines 0 comments Download
M content/test/data/accessibility/html/input-radio-expected-blink.txt View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 chunk +3 lines, -0 lines 0 comments Download
M content/test/data/accessibility/html/input-radio-expected-mac.txt View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 chunk +5 lines, -2 lines 0 comments Download
M content/test/data/accessibility/html/input-radio-expected-win.txt View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +7 lines, -4 lines 0 comments Download
M content/test/data/accessibility/html/input-radio-in-menu.html View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2 chunks +7 lines, -5 lines 0 comments Download
M content/test/data/accessibility/html/input-radio-in-menu-expected-android.txt View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +4 lines, -1 line 0 comments Download
M content/test/data/accessibility/html/input-radio-in-menu-expected-win.txt View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +5 lines, -2 lines 0 comments Download
M third_party/WebKit/LayoutTests/accessibility/aom-string-properties.html View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 chunk +5 lines, -5 lines 0 comments Download
M third_party/WebKit/LayoutTests/accessibility/aria-checkbox-checked.html View 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/LayoutTests/accessibility/aria-checkbox-checked-expected.txt View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/accessibility/aria-checkbox-checked-mixed.html View 1 chunk +12 lines, -4 lines 0 comments Download
M third_party/WebKit/LayoutTests/accessibility/aria-checkbox-checked-mixed-expected.txt View 2 chunks +15 lines, -2 lines 0 comments Download
A third_party/WebKit/LayoutTests/accessibility/input-mixed.html View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +58 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/accessibility/option-aria-checked.html View 1 2 3 1 chunk +45 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/accessibility/AXNodeObject.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2 chunks +0 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/modules/accessibility/AXNodeObject.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 3 chunks +0 lines, -49 lines 0 comments Download
M third_party/WebKit/Source/modules/accessibility/AXObject.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 4 chunks +3 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/modules/accessibility/AXObject.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 5 chunks +69 lines, -18 lines 0 comments Download
M third_party/WebKit/Source/modules/accessibility/InspectorAccessibilityAgent.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/web/WebAXObject.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +5 lines, -5 lines 0 comments Download
M third_party/WebKit/public/web/WebAXEnums.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +6 lines, -0 lines 0 comments Download
M third_party/WebKit/public/web/WebAXObject.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +2 lines, -2 lines 0 comments Download
M ui/accessibility/ax_enums.idl View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 4 chunks +9 lines, -5 lines 0 comments Download
M ui/accessibility/ax_node_data.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 4 chunks +14 lines, -5 lines 0 comments Download
M ui/accessibility/ax_node_position_unittest.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +2 lines, -1 line 0 comments Download
M ui/accessibility/ax_tree_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 3 chunks +6 lines, -3 lines 0 comments Download
M ui/accessibility/platform/ax_platform_node_auralinux.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2 chunks +15 lines, -3 lines 0 comments Download
M ui/accessibility/platform/ax_platform_node_win.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 3 chunks +17 lines, -4 lines 0 comments Download
M ui/views/controls/button/checkbox.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +3 lines, -2 lines 0 comments Download
M ui/views/controls/button/toggle_button.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +3 lines, -2 lines 0 comments Download
M ui/views/controls/menu/menu_item_view.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +6 lines, -4 lines 0 comments Download

Messages

Total messages: 137 (119 generated)
dmazzoni
On the right track https://codereview.chromium.org/2694903010/diff/20001/third_party/WebKit/LayoutTests/accessibility/html-input-mixed.html File third_party/WebKit/LayoutTests/accessibility/html-input-mixed.html (right): https://codereview.chromium.org/2694903010/diff/20001/third_party/WebKit/LayoutTests/accessibility/html-input-mixed.html#newcode8 third_party/WebKit/LayoutTests/accessibility/html-input-mixed.html:8: <input id="element1" type="checkbox" /> <!-- ...
3 years, 10 months ago (2017-02-16 20:56:05 UTC) #4
dmazzoni
As a general rule, please reply to all of the code review comments indicating you've ...
3 years, 10 months ago (2017-02-22 05:19:20 UTC) #5
aleventhal
Dominic, it's ready for another look. https://codereview.chromium.org/2694903010/diff/20001/third_party/WebKit/LayoutTests/accessibility/html-input-mixed.html File third_party/WebKit/LayoutTests/accessibility/html-input-mixed.html (right): https://codereview.chromium.org/2694903010/diff/20001/third_party/WebKit/LayoutTests/accessibility/html-input-mixed.html#newcode8 third_party/WebKit/LayoutTests/accessibility/html-input-mixed.html:8: <input id="element1" type="checkbox" ...
3 years, 10 months ago (2017-02-24 21:44:02 UTC) #10
dmazzoni
Will update this shortly, haven't forgotten
3 years, 9 months ago (2017-02-27 19:54:55 UTC) #19
dmazzoni
Coming along! For automation API support you'll need to add something to: chrome/renderer/extensions/automation_internal_custom_bindings.cc Do something ...
3 years, 9 months ago (2017-02-28 00:10:50 UTC) #28
dmazzoni
https://codereview.chromium.org/2694903010/diff/300001/chrome/renderer/resources/extensions/automation/automation_node.js File chrome/renderer/resources/extensions/automation/automation_node.js (right): https://codereview.chromium.org/2694903010/diff/300001/chrome/renderer/resources/extensions/automation/automation_node.js#newcode289 chrome/renderer/resources/extensions/automation/automation_node.js:289: get role() { You need to implement checked() here, ...
3 years, 9 months ago (2017-03-07 17:35:36 UTC) #51
aleventhal
Ready for review https://codereview.chromium.org/2694903010/diff/400001/content/browser/accessibility/browser_accessibility_android.cc File content/browser/accessibility/browser_accessibility_android.cc (right): https://codereview.chromium.org/2694903010/diff/400001/content/browser/accessibility/browser_accessibility_android.cc#newcode147 content/browser/accessibility/browser_accessibility_android.cc:147: // TODO(aleventhal) does this ever happen ...
3 years, 9 months ago (2017-03-09 17:10:51 UTC) #76
dmazzoni
lgtm Excellent job, just some minor nits! +dglazkov for third_party/WebKit/public since that code looks good. ...
3 years, 9 months ago (2017-03-09 19:33:41 UTC) #84
aleventhal
https://codereview.chromium.org/2694903010/diff/460001/ash/common/system/chromeos/ime_menu/ime_list_view.cc File ash/common/system/chromeos/ime_menu/ime_list_view.cc (right): https://codereview.chromium.org/2694903010/diff/460001/ash/common/system/chromeos/ime_menu/ime_list_view.cc#newcode65 ash/common/system/chromeos/ime_menu/ime_list_view.cc:65: const int checkedState = On 2017/03/09 19:33:41, dmazzoni wrote: ...
3 years, 9 months ago (2017-03-09 21:40:49 UTC) #88
David Tseng
https://codereview.chromium.org/2694903010/diff/500001/chrome/browser/resources/chromeos/chromevox/cvox2/background/output.js File chrome/browser/resources/chromeos/chromevox/cvox2/background/output.js (right): https://codereview.chromium.org/2694903010/diff/500001/chrome/browser/resources/chromeos/chromevox/cvox2/background/output.js#newcode727 chrome/browser/resources/chromeos/chromevox/cvox2/background/output.js:727: * For a given automation property, return true if ...
3 years, 9 months ago (2017-03-13 18:10:54 UTC) #96
David Tseng
lgtm with comments addressed. Thanks.
3 years, 9 months ago (2017-03-17 16:10:18 UTC) #97
dglazkov
lgtm
3 years, 9 months ago (2017-03-18 23:29:42 UTC) #98
sky
LGTM
3 years, 8 months ago (2017-04-17 23:34:38 UTC) #126
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/2694903010/640001
3 years, 8 months ago (2017-04-18 00:29:21 UTC) #131
commit-bot: I haz the power
Committed patchset #33 (id:640001) as https://chromium.googlesource.com/chromium/src/+/ae91e9c848e802335b5c424e62346b950b49cf31
3 years, 8 months ago (2017-04-18 00:37:43 UTC) #134
aleventhal
https://codereview.chromium.org/2694903010/diff/500001/chrome/browser/resources/chromeos/chromevox/cvox2/background/output.js File chrome/browser/resources/chromeos/chromevox/cvox2/background/output.js (right): https://codereview.chromium.org/2694903010/diff/500001/chrome/browser/resources/chromeos/chromevox/cvox2/background/output.js#newcode727 chrome/browser/resources/chromeos/chromevox/cvox2/background/output.js:727: * For a given automation property, return true if ...
3 years, 8 months ago (2017-04-19 19:29:32 UTC) #135
aleventhal
3 years, 8 months ago (2017-04-19 19:29:37 UTC) #136
aleventhal
3 years, 8 months ago (2017-04-19 19:29:38 UTC) #137
Message was sent while issue was closed.

          

Powered by Google App Engine
This is Rietveld 408576698