0

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:
Valerie Young
2021-11-13 01:52:25 +00:00
committed by Chromium LUCI CQ
parent 6e5b25137b
commit cbbcba8721
4 changed files with 9 additions and 20 deletions
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];