Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 320c6e56b4dfe6e7b5a59864d1ca1399c83bb60f
      
https://github.com/WebKit/WebKit/commit/320c6e56b4dfe6e7b5a59864d1ca1399c83bb60f
  Author: Tyler Wilcock <[email protected]>
  Date:   2026-06-10 (Wed, 10 Jun 2026)

  Changed paths:
    A 
LayoutTests/accessibility/aria-grid-with-presentational-sections-expected.txt
    A LayoutTests/accessibility/aria-grid-with-presentational-sections.html
    M Source/WebCore/accessibility/AccessibilityNodeObject.cpp

  Log Message:
  -----------
  AX: Recent Events table on https://parks.wa.gov is reported as empty by 
VoiceOver but works fine in other browsers
https://bugs.webkit.org/show_bug.cgi?id=316702
rdar://179156593

Reviewed by Chris Fleizach.

When a native <table role="grid"> uses native <thead>/<tbody> rowgroups whose
direct <tr> children are role="presentation", with the real role="row" rows
wrapped in a nested presentational <table>, VoiceOver would report the grid
as empty. This is the structure the FullCalendar JS library generates.

This happened because AccessibilityNodeObject::computeCellSlots()'s 
processRowGroup
had two strategies:

  1. A strict path that only iterates a native section's direct <tr> children
  2. A forgiving path that descends the accessibility tree (flattening 
presentational
     scaffolding) for role="rowgroup" elements. Native elements always took the 
strict
     path, so presentational <tr> rows were skipped and the real nested rows 
were never
     found.

With this commit, we route ARIA tables (grid, treegrid, table) through the 
descent path
even when the rowgroup is a native element, consistent with the forgiving 
ARIA-grid handling in
processTableDescendant. Native (non-ARIA) data tables keep the strict path.

* 
LayoutTests/accessibility/aria-grid-with-presentational-sections-expected.txt: 
Added.
* LayoutTests/accessibility/aria-grid-with-presentational-sections.html: Added.
* Source/WebCore/accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::computeCellSlots):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to