[webkit-changes] [WebKit/WebKit] 5da3ca: AX: Improve accessibility for tables and table com...

Tyler Wilcock noreply at github.com
Fri Jun 23 15:40:36 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5da3ca1446784ca0ef8c55e5eb292c855b85575d
      https://github.com/WebKit/WebKit/commit/5da3ca1446784ca0ef8c55e5eb292c855b85575d
  Author: Tyler Wilcock <tyler_w at apple.com>
  Date:   2023-06-23 (Fri, 23 Jun 2023)

  Changed paths:
    M LayoutTests/accessibility/display-contents/table-expected.txt
    M LayoutTests/accessibility/list-detection-expected.txt
    M LayoutTests/accessibility/list-detection.html
    A LayoutTests/accessibility/table-display-block-expected.txt
    A LayoutTests/accessibility/table-display-block.html
    A LayoutTests/accessibility/table-display-flex-expected.txt
    A LayoutTests/accessibility/table-display-flex.html
    A LayoutTests/accessibility/table-display-grid-expected.txt
    A LayoutTests/accessibility/table-display-grid.html
    A LayoutTests/accessibility/table-display-inline-block-expected.txt
    A LayoutTests/accessibility/table-display-inline-block.html
    M LayoutTests/platform/glib/accessibility/generated-content-with-display-table-crash-expected.txt
    M LayoutTests/platform/glib/accessibility/list-detection-expected.txt
    A LayoutTests/platform/glib/accessibility/table-display-block-expected.txt
    A LayoutTests/platform/glib/accessibility/table-display-flex-expected.txt
    A LayoutTests/platform/glib/accessibility/table-display-grid-expected.txt
    A LayoutTests/platform/glib/accessibility/table-display-inline-block-expected.txt
    M LayoutTests/platform/ios/TestExpectations
    M LayoutTests/platform/ios/accessibility/display-contents/table-expected.txt
    A LayoutTests/platform/ios/accessibility/table-display-block-expected.txt
    A LayoutTests/platform/ios/accessibility/table-display-flex-expected.txt
    A LayoutTests/platform/ios/accessibility/table-display-grid-expected.txt
    A LayoutTests/platform/ios/accessibility/table-display-inline-block-expected.txt
    M LayoutTests/platform/mac/accessibility/generated-content-with-display-table-crash-expected.txt
    M Source/WebCore/accessibility/AXObjectCache.cpp
    M Source/WebCore/accessibility/AccessibilityRenderObject.cpp

  Log Message:
  -----------
  AX: Improve accessibility for tables and table components with display flex, grid, block, inline-block, and contents
https://bugs.webkit.org/show_bug.cgi?id=258439
rdar://problem/111202843

Reviewed by Chris Fleizach.

https://bugs.webkit.org/show_bug.cgi?id=258223 did the hard work of computing table structure based on the DOM rather
than the render tree. But even after that patch, tables and table components with assorted display values were often
inaccessible to VoiceOver. This is due to parent-child mismatches caused by anonymous RenderTables, RenderTableRows,
and RenderTableCells generated when these display values are used on table components.

With this patch, we properly ignore all of these anonymous table renderers, completing the transition of table
accessibility to be DOM-based. This matches author expectations and is much more simple to reason about, and fixes
the parent-child mismatches that were breaking the accessibility hierarchy.

* LayoutTests/accessibility/display-contents/table-expected.txt:
* LayoutTests/accessibility/list-detection-expected.txt:
* LayoutTests/accessibility/list-detection.html:
* LayoutTests/accessibility/table-display-block-expected.txt:
* LayoutTests/accessibility/table-display-block.html: Added.
* LayoutTests/accessibility/table-display-flex-expected.txt:
* LayoutTests/accessibility/table-display-flex.html: Added.
* LayoutTests/accessibility/table-display-grid-expected.txt:
* LayoutTests/accessibility/table-display-grid.html: Added.
* LayoutTests/accessibility/table-display-inline-block-expected.txt:
* LayoutTests/accessibility/table-display-inline-block.html: Added.
* LayoutTests/platform/glib/accessibility/list-detection-expected.txt:
* LayoutTests/platform/ios/TestExpectations:
Enable all new tests.
* LayoutTests/platform/ios/accessibility/display-contents/table-expected.txt:
* LayoutTests/platform/ios/accessibility/table-display-block-expected.txt:
* LayoutTests/platform/ios/accessibility/table-display-flex-expected.txt:
* LayoutTests/platform/ios/accessibility/table-display-grid-expected.txt:
* LayoutTests/platform/ios/accessibility/table-display-inline-block-expected.txt:
* LayoutTests/platform/mac/accessibility/generated-content-with-display-table-crash-expected.txt:
* Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::createObjectFromRenderer):
* Source/WebCore/accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):

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




More information about the webkit-changes mailing list