M135: [AX Mac] combobox should open on ctrl+opt+space with VO
Do not respond to action related selectors such as
accessibilityPerformDecrement because VO gets confused and fails to
process supported actions.
(cherry picked from commit I931c2934f89698cbae046ee85e09c6cae5838f00)
(cherry picked from commit acd08cbf92
)
Bug: 404815011, 403071960
Change-Id: I931c2934f89698cbae046ee85e09c6cae5838f00
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6356669
Commit-Queue: Aaron Leventhal <aleventhal@chromium.org>
Reviewed-by: Aaron Leventhal <aleventhal@chromium.org>
Reviewed-by: Jayson Adams <shrike@chromium.org>
Cr-Original-Commit-Position: refs/heads/main@{#1433617}
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6372940
Cr-Commit-Position: refs/branch-heads/7049@{#1263}
Cr-Branched-From: 2dab7846d0951a552bdc4f350dad497f986e6fed-refs/heads/main@{#1427262}
This commit is contained in:

committed by
Chromium LUCI CQ

parent
5249caeab0
commit
abf2785374
content/test/data/accessibility/mac/methods
ui/accessibility/platform
@ -2,4 +2,4 @@ slider.accessibilityValue=2
|
||||
slider.accessibilityPerformDecrement=1
|
||||
AXValueChanged on AXSlider AXValue=1
|
||||
slider.accessibilityValue=1
|
||||
text.accessibilityPerformIncrement=0
|
||||
text.accessibilityPerformIncrement=ERROR:FAILED_TO_PARSE
|
||||
|
@ -2,4 +2,4 @@ slider.accessibilityValue=1
|
||||
slider.accessibilityPerformIncrement=1
|
||||
AXValueChanged on AXSlider AXValue=2
|
||||
slider.accessibilityValue=2
|
||||
text.accessibilityPerformIncrement=0
|
||||
text.accessibilityPerformIncrement=ERROR:FAILED_TO_PARSE
|
||||
|
@ -440,7 +440,10 @@ const ui::CocoaActionList& GetCocoaActionListForTesting() {
|
||||
- (BOOL)conditionallyRespondsToSelector:(SEL)selector {
|
||||
static std::unordered_set<SEL> methodSelectorsForActions = {
|
||||
@selector(accessibilityPerformPress),
|
||||
};
|
||||
@selector(accessibilityPerformDecrement),
|
||||
@selector(accessibilityPerformIncrement),
|
||||
@selector(accessibilityPerformShowMenu),
|
||||
@selector(accessibilityPerformConfirm)};
|
||||
|
||||
static std::unordered_set<SEL> methodSelectorsForParameterizedAttributes = {
|
||||
@selector(accessibilityCellForColumn:row:),
|
||||
@ -1385,6 +1388,7 @@ const ui::CocoaActionList& GetCocoaActionListForTesting() {
|
||||
containsObject:evaluatedObject];
|
||||
}]];
|
||||
}
|
||||
|
||||
return actions;
|
||||
}
|
||||
|
||||
|
@ -432,17 +432,44 @@ TEST_P(AXPlatformNodeCocoaTest, TestRespondsToSelector) {
|
||||
}
|
||||
|
||||
// respondsToSelector for `accessibilityPerformPress`.
|
||||
TEST_P(AXPlatformNodeCocoaTest, RespondsToSelectorAccessibilityPerformPress) {
|
||||
TEST_P(AXPlatformNodeCocoaTest, RespondsToSelectorAccessibilityPerform) {
|
||||
Init(std::string(R"HTML(
|
||||
++1 kRootWebArea
|
||||
++++2 kButton
|
||||
++++3 kGenericContainer
|
||||
++++2 kGenericContainer
|
||||
++++3 kButton
|
||||
++++4 kSlider
|
||||
++++5 kComboBoxSelect
|
||||
)HTML"));
|
||||
|
||||
EXPECT_TRUE([GetCocoaNode(2)
|
||||
respondsToSelector:@selector(accessibilityPerformPress)]);
|
||||
EXPECT_FALSE([GetCocoaNode(3)
|
||||
respondsToSelector:@selector(accessibilityPerformPress)]);
|
||||
auto generic_node = GetCocoaNode(2);
|
||||
auto button = GetCocoaNode(3);
|
||||
auto slider = GetCocoaNode(4);
|
||||
auto combobox = GetCocoaNode(5);
|
||||
|
||||
// accessibilityPerformPress
|
||||
EXPECT_TRUE([button respondsToSelector:@selector(accessibilityPerformPress)]);
|
||||
EXPECT_FALSE(
|
||||
[generic_node respondsToSelector:@selector(accessibilityPerformPress)]);
|
||||
|
||||
// accessibilityPerformDecrement/accessibilityPerformIncrement
|
||||
EXPECT_TRUE(
|
||||
[slider respondsToSelector:@selector(accessibilityPerformDecrement)]);
|
||||
EXPECT_TRUE(
|
||||
[slider respondsToSelector:@selector(accessibilityPerformIncrement)]);
|
||||
EXPECT_FALSE(
|
||||
[button respondsToSelector:@selector(accessibilityPerformDecrement)]);
|
||||
EXPECT_FALSE(
|
||||
[button respondsToSelector:@selector(accessibilityPerformIncrement)]);
|
||||
|
||||
// accessibilityPerformShowMenu
|
||||
EXPECT_TRUE(
|
||||
[combobox respondsToSelector:@selector(accessibilityPerformShowMenu)]);
|
||||
EXPECT_FALSE([generic_node
|
||||
respondsToSelector:@selector(accessibilityPerformShowMenu)]);
|
||||
|
||||
// accessibilityPerformConfirm
|
||||
EXPECT_FALSE(
|
||||
[generic_node respondsToSelector:@selector(accessibilityPerformConfirm)]);
|
||||
}
|
||||
|
||||
// Tests that -addTextAnnotations:to: correctly applies attributes to the
|
||||
|
Reference in New Issue
Block a user