RESOLVED FIXED273584
AX: aria-describedby text can become stale after the targeted element changes its subtree
https://bugs.webkit.org/show_bug.cgi?id=273584
Summary AX: aria-describedby text can become stale after the targeted element changes...
Tyler Wilcock
Reported 2024-05-01 15:41:37 PDT
Failing to do so results in stale content being served to ATs.
Attachments
Patch (6.34 KB, patch)
2024-05-01 15:47 PDT, Tyler Wilcock
no flags
Patch (6.30 KB, patch)
2024-05-01 16:00 PDT, Tyler Wilcock
no flags
Patch (6.80 KB, patch)
2024-05-02 19:08 PDT, Tyler Wilcock
no flags
Radar WebKit Bug Importer
Comment 1 2024-05-01 15:41:46 PDT
Tyler Wilcock
Comment 2 2024-05-01 15:47:23 PDT
Tyler Wilcock
Comment 3 2024-05-01 16:00:39 PDT
Andres Gonzalez
Comment 4 2024-05-02 18:35:54 PDT
(In reply to Tyler Wilcock from comment #3) > Created attachment 471243 [details] > Patch diff --git a/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp b/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp index de523f8a5657..1f7d40d65b1f 100644 --- a/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp +++ b/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp @@ -772,11 +772,15 @@ void AXIsolatedTree::updateDependentProperties(AccessibilityObject& axObject) ASSERT(isMainThread()); auto updateLabeledObjects = [this] (const AccessibilityObject& label) { - auto labeledObjects = label.labelForObjects(); - for (const auto& labeledObject : labeledObjects) { + for (const auto& labeledObject : label.labelForObjects()) { if (RefPtr axObject = downcast<AccessibilityObject>(labeledObject.get())) queueNodeUpdate(axObject->objectID(), NodeUpdateOptions::nodeUpdate()); } + + for (const auto& describedByObject : label.descriptionForObjects()) { + if (RefPtr axObject = downcast<AccessibilityObject>(describedByObject.get())) + queueNodeUpdate(axObject->objectID(), { { AXPropertyName::AccessibilityText, AXPropertyName::ExtendedDescription } }); + } }; AG: looks good, just maybe rename the lambda since it is no longer for labeled objects, but also for described objects. updateLabeledObjects(axObject);
Tyler Wilcock
Comment 5 2024-05-02 19:08:06 PDT
EWS
Comment 6 2024-05-03 07:26:27 PDT
Committed 278318@main (65862d818c5d): <https://commits.webkit.org/278318@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 471264 [details].
Note You need to log in before you can comment on or make changes to this bug.