[Webkit-unassigned] [Bug 275366] New: AX: Tables with show/hide rows report wrong counts and block access to some rows in VoiceOver

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Jun 11 12:37:42 PDT 2024


https://bugs.webkit.org/show_bug.cgi?id=275366

            Bug ID: 275366
           Summary: AX: Tables with show/hide rows report wrong counts and
                    block access to some rows in VoiceOver
           Product: WebKit
           Version: Safari 17
          Hardware: All
                OS: macOS 14
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Accessibility
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: aroselli at gmail.com
                CC: andresg_22 at apple.com,
                    webkit-bug-importer at group.apple.com

Created attachment 471650

  --> https://bugs.webkit.org/attachment.cgi?id=471650&action=review

Safari with VoiceOver on macOS attempting to navigate a table with hidden rows.

AX: Tables with show/hide rows report wrong counts and block access to rows in VoiceOver



Example URL:
https://cdpn.io/aardrian/debug/VoQbLm

Steps to reproduce the problema:
1. Open Safari.
2. Go to https://cdpn.io/aardrian/debug/VoQbLm
3. Activate VoiceOver.
4. Navigate to the first table.
5. Observe VoiceOver announces 15 rows when only 7 are visible.
6. Navigate down the "Author" column.
7. Observe VoiceOver announces rows that are not visible.
8. Activate both buttons in the first column to display more rows.
9. Activate both buttons again to hide the rows.
10. Observe the announced number of rows has changed to 7.
11. Navigate down the "Author" column again.
12. Observe that when trying to move down past row 5 the VoiceOver cursor moves to the top of the next column.
13. Observe the content in rows 6 and 7 is now inaccessible to VoiceOver.

What is the expected behavior?
- I should hear the correct number of visible rows at all times.
- I should not be able to navigate hidden rows.
- I should be able to access all rows after hiding other rows.

What went wrong?
- The wrong number of rows is conveyed.
- I can navigate hidden rows prior to displaying them.
- I cannot access the bottom rows of the table after interacting with it.

Does this work in other browsers?
Yes; confirmed to work correctly in Chrome.

More detail:
On page load, the table has 7 rows visible. 8 additional rows are in the DOM but hidden on load with `display:none` on the `<tr>` for those rows. A disclosure widget (`<button aria-expanded>`) in the first column toggles the display property for a few rows at time (2 buttons for 2 groups).

I attached a video to show this in action. I am using VoiceOver on macOS 14.5 with Safari 17.5.

Timestamps:
0:02 VoiceOver announces 15 rows when 7 are visible.
0:10 to 0:14 VoiceOver navigates hidden rows.
0:15 to 0:22 VoiceOver navigates more hidden rows.
0:31 I expand then collapse one of the disclosure triggers.
0:36 VoiceOver announces 10 rows when 7 are visible.
0:40 I expand then collapse the other disclosure trigger.
0:46 VoiceOver announces 7 rows when 7 are visible.
0:50 I attempt to navigate down the rows into row 6 but am redirected to the top of column 3.
0:58 to 1:00 I attempt to navigate to the bottom of column 3 but am redirected to the top of column 4 when I get to row 6.
1:00 to 1:05 I attempt to navigate to the bottom of column 4 but am redirected to the top of column 5 when I get to row 6.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20240611/fc6104c7/attachment.htm>


More information about the webkit-unassigned mailing list