[webkit-changes] [WebKit/WebKit] c6e7fc: AX: Dynamic changes to subtrees of AccessibilityNo...

Tyler Wilcock noreply at github.com
Thu Sep 15 15:39:41 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c6e7fc8ecc943975c21b9b9a078da2f8e4ad5d19
      https://github.com/WebKit/WebKit/commit/c6e7fc8ecc943975c21b9b9a078da2f8e4ad5d19
  Author: Tyler Wilcock <tyler_w at apple.com>
  Date:   2022-09-15 (Thu, 15 Sep 2022)

  Changed paths:
    A LayoutTests/accessibility/display-contents-dynamically-added-children-expected.txt
    A LayoutTests/accessibility/display-contents-dynamically-added-children.html
    M LayoutTests/platform/glib/TestExpectations
    M LayoutTests/platform/ios/TestExpectations
    A LayoutTests/platform/ios/accessibility/display-contents-dynamically-added-children-expected.txt
    M LayoutTests/platform/mac-wk1/TestExpectations
    M LayoutTests/platform/win/TestExpectations
    M Source/WebCore/accessibility/AccessibilityNodeObject.cpp
    M Source/WebCore/accessibility/AccessibilityNodeObject.h
    M Source/WebCore/accessibility/AccessibilityRenderObject.cpp
    M Source/WebCore/accessibility/AccessibilityRenderObject.h

  Log Message:
  -----------
  AX: Dynamic changes to subtrees of AccessibilityNodeObjects can cause missing or stale content
https://bugs.webkit.org/show_bug.cgi?id=245212
rdar://problem/99956378

Reviewed by Andres Gonzalez.

AccessibilityNodeObject is missing a few key method implementations that can cause incorrect AX
tree construction (either missing or stale content) after dynamic page updates. These methods are:
  - updateChildrenIfNecessary
  - setNeedsToUpdateChildren
  - needsToUpdateChildren
  - setNeedsToUpdateSubtree

In this patch, we move these method implementations from AccessibilityRenderObject to AccessibilityNodeObject,
ensuring both types of objects share this logic.

* LayoutTests/accessibility/display-contents-dynamically-added-children-expected.txt: Added.
* LayoutTests/accessibility/display-contents-dynamically-added-children.html: Added.
* LayoutTests/platform/glib/TestExpectations: Skip new test.
* LayoutTests/platform/ios/TestExpectations:
* LayoutTests/platform/ios/accessibility/display-contents-dynamically-added-children-expected.txt: Added.
* LayoutTests/platform/mac-wk1/TestExpectations: Skip new test.
* LayoutTests/platform/win/TestExpectations: Skip new test.
* Source/WebCore/accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::updateChildrenIfNecessary):
* Source/WebCore/accessibility/AccessibilityNodeObject.h:
* Source/WebCore/accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::updateChildrenIfNecessary):
Moved to AccessibilityNodeObject.
* Source/WebCore/accessibility/AccessibilityRenderObject.h:

Canonical link: https://commits.webkit.org/254534@main




More information about the webkit-changes mailing list