ax_mac_merge: expose AXInvalid on only control elements
Follow up work from: 3257273: ax_mac_merge: move NSAccessibilityInvalidAttribute https://chromium-review.googlesource.com/c/chromium/src/+/3257273 Change-Id: If53c4410d53c44ba790ceeee37e618c4c18ae925 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3272835 Commit-Queue: Valerie Young <spectranaut@igalia.com> Reviewed-by: Nektarios Paisios <nektar@chromium.org> Cr-Commit-Position: refs/heads/main@{#941418}
This commit is contained in:

committed by
Chromium LUCI CQ

parent
6e5b25137b
commit
cbbcba8721
content/test/data/accessibility
ui/accessibility/platform
@ -1,23 +1,23 @@
|
||||
AXWebArea AXInvalid='false'
|
||||
++AXGroup AXInvalid='true'
|
||||
AXWebArea
|
||||
++AXGroup
|
||||
++++AXStaticText AXValue='invalid=true'
|
||||
++AXTextArea AXInvalid='false' AXValue='An error via invalid=spelling'
|
||||
++++AXStaticText AXValue='An '
|
||||
++++AXGroup AXInvalid='true'
|
||||
++++AXGroup
|
||||
++++++AXStaticText AXValue='error'
|
||||
++++AXStaticText AXValue=' via invalid=spelling'
|
||||
++AXTextArea AXInvalid='false' AXValue='An error via invalid=grammar'
|
||||
++++AXStaticText AXValue='An '
|
||||
++++AXGroup AXInvalid='true'
|
||||
++++AXGroup
|
||||
++++++AXStaticText AXValue='error'
|
||||
++++AXStaticText AXValue=' via invalid=grammar'
|
||||
++AXGroup AXInvalid='false'
|
||||
++AXGroup
|
||||
++++AXStaticText AXValue='invalid=false'
|
||||
++AXGroup
|
||||
++++AXStaticText AXValue='invalid=<empty>'
|
||||
++AXGroup
|
||||
++++AXStaticText AXValue='invalid=<default>'
|
||||
++AXGroup AXInvalid='true'
|
||||
++AXGroup
|
||||
++++AXStaticText AXValue='invalid=unknown'
|
||||
++AXGroup
|
||||
++++AXTextField AXInvalid='true' AXValue='1234'
|
||||
|
@ -2,6 +2,5 @@ focusable.AXInvalid='false'
|
||||
focusable_invalid.AXInvalid='false'
|
||||
focusable_invalid_true.AXInvalid='true'
|
||||
focusable_invalid_false.AXInvalid='false'
|
||||
restriction.AXInvalid='false'
|
||||
div_invalid_true.AXInvalid='true'
|
||||
div_invalid_true.AXInvalid=n/a
|
||||
not_applicable.AXInvalid=n/a
|
||||
|
@ -4,7 +4,6 @@
|
||||
focusable_invalid.AXInvalid
|
||||
focusable_invalid_true.AXInvalid
|
||||
focusable_invalid_false.AXInvalid
|
||||
restriction.AXInvalid
|
||||
div_invalid_true.AXInvalid
|
||||
not_applicable.AXInvalid
|
||||
-->
|
||||
@ -13,8 +12,5 @@
|
||||
<input id="focusable_invalid" aria-invalid="">
|
||||
<input id="focusable_invalid_true" aria-invalid="true">
|
||||
<input id="focusable_invalid_false" aria-invalid="false">
|
||||
<input id="focusable_invalid_spelling" aria-invalid="spelling">
|
||||
<input id="focusable_invalid_grammar" aria-invalid="grammar">
|
||||
<input id="restriction" readonly>
|
||||
<div id="div_invalid_true" aria-invalid="true">
|
||||
<div id="not_applicable">
|
||||
|
@ -773,10 +773,11 @@ bool IsAXSetter(SEL selector) {
|
||||
if (_node->HasIntAttribute(ax::mojom::IntAttribute::kAriaCurrentState))
|
||||
[axAttributes addObject:NSAccessibilityARIACurrentAttribute];
|
||||
|
||||
// Focusable element or a control element.
|
||||
// Control element.
|
||||
if (ui::IsControl(role)) {
|
||||
[axAttributes addObjectsFromArray:@[
|
||||
NSAccessibilityAccessKeyAttribute,
|
||||
NSAccessibilityInvalidAttribute,
|
||||
]];
|
||||
}
|
||||
|
||||
@ -789,13 +790,6 @@ bool IsAXSetter(SEL selector) {
|
||||
[axAttributes addObject:NSAccessibilityDetailsElementsAttribute];
|
||||
}
|
||||
|
||||
// Anything focusable or any control
|
||||
if (_node->HasIntAttribute(ax::mojom::IntAttribute::kRestriction) ||
|
||||
_node->HasIntAttribute(ax::mojom::IntAttribute::kInvalidState) ||
|
||||
_node->HasState(ax::mojom::State::kFocusable)) {
|
||||
[axAttributes addObject:NSAccessibilityInvalidAttribute];
|
||||
}
|
||||
|
||||
// Table and grid.
|
||||
if (ui::IsTableLike(role)) {
|
||||
[axAttributes addObject:NSAccessibilityColumnHeaderUIElementsAttribute];
|
||||
|
Reference in New Issue
Block a user