[webkit-changes] [WebKit/WebKit] a31332: AX ITM: Some non-empty data tables are exposed as ...

AndresGonzalezApple noreply at github.com
Mon Sep 12 19:02:08 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a313324db71fdc82a9ecfd4071e1569b1029281a
      https://github.com/WebKit/WebKit/commit/a313324db71fdc82a9ecfd4071e1569b1029281a
  Author: Andres Gonzalez <andresg_22 at apple.com>
  Date:   2022-09-12 (Mon, 12 Sep 2022)

  Changed paths:
    A LayoutTests/accessibility/table-row-role-changes-expected.txt
    A LayoutTests/accessibility/table-row-role-changes.html
    M Source/WebCore/accessibility/AXObjectCache.cpp
    M Source/WebCore/accessibility/AXObjectCache.h
    M Source/WebCore/accessibility/AccessibilityTable.cpp
    M Source/WebCore/accessibility/AccessibilityTable.h
    M Source/WebCore/dom/Element.cpp

  Log Message:
  -----------
  AX ITM: Some non-empty data tables are exposed as 0 columns, 0 rows.
https://bugs.webkit.org/show_bug.cgi?id=244954
rdar://98886794

Reviewed by Chris Fleizach.

The cause of the problem was that AccessibilityTable::computeIsTableExposableThroughAccessibility was returning false if hasARIARole() return true. That didn't account for the case where a <table> could have the attribute role="grid" or role="table". This patch renames hasARIARole to hasNonTableARIARole and fixes its implementation.
In addition, enhanced AXObjectCache::handleRoleChanged to better account for a wider range of possible table and row role changes. This makes the update of the AXObjectCache and the AXIsolatedTree more robust to "arbitrary" roles for tables and table rows.

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




More information about the webkit-changes mailing list