Repository navigation
AX: aria-hidden=false should be a synonym of undefined - #32044
Conversation
|
EWS run on previous version of this PR (hash a6312ba) Details |
|
// Some elements don't have an associated render object, meaning they won't be picked up by a walk of the render tree.
// For example, nodes that are `aria-hidden="false"` and `hidden`, or elements with `display: contents`.
// This function will find and add these elements to the AX tree.
void AccessibilityRenderObject::addNodeOnlyChildren() |
a6312ba to
0ca0121
Compare
|
EWS run on previous version of this PR (hash 0ca0121) Details |
0ca0121 to
b3432d6
Compare
|
EWS run on previous version of this PR (hash b3432d6) Details
|
b3432d6 to
60d612e
Compare
|
EWS run on previous version of this PR (hash 60d612e) Details |
|
The reason #if USE(ATSPI)
// When using ATSPI, an accessibility object with 'StaticText' role is ignored.
// Its content is exposed by its parent.
// Treat such elements as having accessible content.
if (axObject->roleValue() == AccessibilityRole::StaticText)
return true;
#endifThis unconditionally returns true for any static text object, even if it is if (axObject->roleValue() == AccessibilityRole::StaticText && !axObject->isAXHidden())
return true;And update the comment to mention that despite wanting to include static text on ATSPI, we still don't want Ideally we could use So I think we should also add another line to this comment with a |
60d612e to
510e937
Compare
|
EWS run on previous version of this PR (hash 510e937) Details |
510e937 to
812643b
Compare
|
EWS run on previous version of this PR (hash 812643b) Details
|
812643b to
1a99342
Compare
|
EWS run on previous version of this PR (hash 1a99342) Details |
1a99342 to
53b1903
Compare
|
EWS run on current version of this PR (hash 53b1903) Details |
https://bugs.webkit.org/show_bug.cgi?id=267150 rdar://120557669 Reviewed by Tyler Wilcock. Per spec changes (see w3c/aria#2090), we should treat `aria-hidden=false` as undefined. This patch removes support for aria-hidden=false, updating places where we relied on the behaviors of isNodeARIAVisible with the new behavior. For example, we need to check if a child node is focused before deciding whether to skip it if it is aria-hidden (tested by accessibility/datetime/input-date-field-labels-and-value-changes.html). Tests that explicitly validate aria-hidden false were removed, and a new test to check that we are ignoring this property has been added. * LayoutTests/accessibility/aria-hidden-false-ignored-expected.txt: Added. * LayoutTests/accessibility/aria-hidden-false-ignored.html: Added. * LayoutTests/accessibility/aria-hidden-false-works-in-subtrees.html: Removed. * LayoutTests/accessibility/aria-hidden-negates-no-visibility.html: Removed. * LayoutTests/accessibility/aria-hidden-subtree-expected.txt: Added. * LayoutTests/accessibility/aria-hidden-subtree.html: Added. * LayoutTests/accessibility/aria-modal-expected.txt: * LayoutTests/accessibility/aria-modal.html: * LayoutTests/accessibility/aria-visible-element-roles.html: Removed. * LayoutTests/accessibility/datetime/input-date-field-labels-and-value-changes.html: * Source/WebCore/accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::modalElementHasAccessibleContent): (WebCore::AXObjectCache::isNodeVisible const): (WebCore::AXObjectCache::getOrCreate): (WebCore::isNodeFocused): (WebCore::isNodeAriaVisible): Deleted. * Source/WebCore/accessibility/AXObjectCache.h: * Source/WebCore/accessibility/AccessibilityNodeObject.cpp: (WebCore::AccessibilityNodeObject::textUnderElement const): * Source/WebCore/accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::defaultObjectInclusion const): * Source/WebCore/accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::addNodeOnlyChildren): Canonical link: https://commits.webkit.org/284905@main
53b1903 to
b365574
Compare
|
Committed 284905@main (b365574): https://commits.webkit.org/284905@main Reviewed commits have been landed. Closing PR #32044 and removing active labels. |
🛠 tv
b365574
53b1903
🧪 wpe-wk2🧪 gtk-wk2