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

Issue 1488893002: Stops using SYSTEM_STATE_INDETERMINATE as it makes radio buttons appear to have a mixed state. (Closed)

Created:
5 years ago by nektarios
Modified:
5 years ago
Reviewers:
dmazzoni
CC:
chromium-reviews, plundblad+watch_chromium.org, aboxhall+watch_chromium.org, nektar+watch_chromium.org, jam, yuzo+watch_chromium.org, je_julie, darin-cc_chromium.org, dmazzoni+watch_chromium.org, dtseng+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Stops using SYSTEM_STATE_INDETERMINATE as it makes radio buttons appear to have a mixed state. On Windows, we set SYSTEM_STATE_INDETERMINATE on an accessibility object whenever it represents an input control in an indeterminate state. However, the official documentation at https://msdn.microsoft.com/en-us/library/windows/desktop/dd373609(v=vs.85).aspx doesn't list SYSTEM_STATE_INDETERMINATE and if you look into the header file for IAccessible you observe that SYSTEM_STATE_INDETERMINATE has the same value as SYSTEM_STATE_MIXED. I found some discussion on an IA2 mailing list for adding this state to IA2, but the discussion didn't lead to anywhere as far as I can tell. BUG=521875 TESTED=browser tests,manually using Jaws R=dmazzoni@chromium.org TBR=mkwst Committed: https://crrev.com/f5ebe8c02f6a79691503fa48614b566a75bcbd0c Cr-Commit-Position: refs/heads/master@{#362631}

Patch Set 1 #

Patch Set 2 : Added support for HTML5 check boxes with mixed state. #

Patch Set 3 : Added test for menu checkboxes and removed indeterminate state. #

Total comments: 1

Patch Set 4 : Renamed AX_ATTR_CHECKBOX_MIXED to AX_ATTR_STATE_MIXED in anticipation for ARIA toggle button suppor… #

Patch Set 5 : Made aria-check state supersede the actual HTML checkbox state. #

Patch Set 6 : Fixed tests. #

Patch Set 7 : ARIA states should not override native states when they are not semantically important. #

Patch Set 8 : Fixed a few test expectations. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+88 lines, -83 lines) Patch
M chrome/common/extensions/api/automation.idl View 1 2 2 chunks +1 line, -2 lines 0 comments Download
M content/browser/accessibility/browser_accessibility_cocoa.mm View 1 2 3 4 1 chunk +1 line, -2 lines 0 comments Download
M content/browser/accessibility/browser_accessibility_win.cc View 1 2 3 2 chunks +1 line, -3 lines 0 comments Download
M content/renderer/accessibility/blink_ax_enum_conversion.cc View 1 2 1 chunk +0 lines, -3 lines 0 comments Download
M content/renderer/accessibility/blink_ax_tree_source.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M content/test/data/accessibility/html/input-checkbox.html View 1 2 1 chunk +10 lines, -3 lines 0 comments Download
M content/test/data/accessibility/html/input-checkbox-expected-android.txt View 1 2 5 6 7 1 chunk +4 lines, -3 lines 0 comments Download
M content/test/data/accessibility/html/input-checkbox-expected-mac.txt View 1 2 3 5 6 1 chunk +4 lines, -3 lines 0 comments Download
M content/test/data/accessibility/html/input-checkbox-expected-win.txt View 1 2 3 4 5 6 1 chunk +5 lines, -4 lines 0 comments Download
M content/test/data/accessibility/html/input-checkbox-in-menu.html View 1 2 3 4 1 chunk +15 lines, -6 lines 0 comments Download
M content/test/data/accessibility/html/input-checkbox-in-menu-expected-android.txt View 1 2 1 chunk +4 lines, -2 lines 0 comments Download
M content/test/data/accessibility/html/input-checkbox-in-menu-expected-mac.txt View 1 2 3 1 chunk +4 lines, -2 lines 0 comments Download
M content/test/data/accessibility/html/input-checkbox-in-menu-expected-win.txt View 1 2 5 6 7 1 chunk +6 lines, -4 lines 0 comments Download
M content/test/data/accessibility/html/input-radio-expected-win.txt View 1 1 chunk +3 lines, -3 lines 0 comments Download
M content/test/data/accessibility/html/input-radio-in-menu-expected-win.txt View 1 1 chunk +4 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/modules/accessibility/AXNodeObject.h View 1 2 2 chunks +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/modules/accessibility/AXNodeObject.cpp View 1 2 5 6 3 chunks +13 lines, -9 lines 0 comments Download
M third_party/WebKit/Source/modules/accessibility/AXObject.h View 1 2 5 6 2 chunks +0 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/modules/accessibility/AXObject.cpp View 1 2 3 4 5 6 1 chunk +7 lines, -9 lines 0 comments Download
M third_party/WebKit/Source/web/AssertMatchingEnums.cpp View 1 2 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/web/WebAXObject.cpp View 1 2 1 chunk +0 lines, -8 lines 0 comments Download
M third_party/WebKit/public/web/WebAXEnums.h View 1 2 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/public/web/WebAXObject.h View 1 2 1 chunk +0 lines, -1 line 0 comments Download
M ui/accessibility/ax_enums.idl View 1 2 3 2 chunks +3 lines, -3 lines 0 comments Download
M ui/accessibility/ax_node_data.cc View 1 2 3 2 chunks +1 line, -3 lines 0 comments Download

Messages

Total messages: 18 (5 generated)
nektarios
5 years ago (2015-12-01 01:10:22 UTC) #1
dmazzoni
The spec says that INDETERMINATE is correct, see here: http://www.w3.org/TR/html-aapi/ Could you check what Firefox ...
5 years ago (2015-12-01 16:54:00 UTC) #2
dmazzoni
I suspect the bug may be that internally we treat unselected radio buttons in an ...
5 years ago (2015-12-01 16:54:54 UTC) #3
chromium-reviews
On 12/1/2015 11:54 AM, dmazzoni@chromium.org wrote: > I suspect the bug may be that internally ...
5 years ago (2015-12-01 19:24:56 UTC) #4
dmazzoni
OK, got it. I checked the docs and it looks like indeterminate really does only ...
5 years ago (2015-12-01 19:37:25 UTC) #5
chromium-reviews
Indeterminate removed from everywhere. Tests added for menu check boxes. -- You received this message ...
5 years ago (2015-12-01 21:06:01 UTC) #6
dmazzoni
https://codereview.chromium.org/1488893002/diff/40001/content/browser/accessibility/browser_accessibility_win.cc File content/browser/accessibility/browser_accessibility_win.cc (right): https://codereview.chromium.org/1488893002/diff/40001/content/browser/accessibility/browser_accessibility_win.cc#newcode4211 content/browser/accessibility/browser_accessibility_win.cc:4211: if (GetBoolAttribute(ui::AX_ATTR_CHECKBOX_MIXED)) Hmmm, by changing BUTTON_MIXED to CHECKBOX_MIXED, what ...
5 years ago (2015-12-01 21:57:32 UTC) #7
chromium-reviews
> https://codereview.chromium.org/1488893002/diff/40001/content/browser/accessibility/browser_accessibility_win.cc#newcode4211 > > content/browser/accessibility/browser_accessibility_win.cc:4211: if > (GetBoolAttribute(ui::AX_ATTR_CHECKBOX_MIXED)) > Hmmm, by changing BUTTON_MIXED to CHECKBOX_MIXED, ...
5 years ago (2015-12-01 22:19:58 UTC) #8
dmazzoni
lgtm You're right, it didn't seem to be supported before. Thanks.
5 years ago (2015-12-01 23:13:54 UTC) #10
chromium-reviews
I renamed AX_ATTR_CHECKBOX_MIXED to AX_ATTR_STATE_MIXED and I'll use it to expose ARIA toggle buttons too ...
5 years ago (2015-12-01 23:15:48 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1488893002/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1488893002/140001
5 years ago (2015-12-02 02:59:48 UTC) #14
commit-bot: I haz the power
Committed patchset #8 (id:140001)
5 years ago (2015-12-02 04:30:49 UTC) #16
commit-bot: I haz the power
5 years ago (2015-12-02 04:31:51 UTC) #18
Message was sent while issue was closed.
Patchset 8 (id:??) landed as
https://crrev.com/f5ebe8c02f6a79691503fa48614b566a75bcbd0c
Cr-Commit-Position: refs/heads/master@{#362631}

Powered by Google App Engine
This is Rietveld 408576698