RESOLVED FIXED 275366
AX: Tables with show/hide rows report wrong counts and block access to some rows in VoiceOver
https://bugs.webkit.org/show_bug.cgi?id=275366
Summary AX: Tables with show/hide rows report wrong counts and block access to some r...
Adrian Roselli
Reported 2024-06-11 12:37:42 PDT
Created attachment 471650 [details] 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.
Attachments
Safari with VoiceOver on macOS attempting to navigate a table with hidden rows. (3.06 MB, video/mp4)
2024-06-11 12:37 PDT, Adrian Roselli
no flags
Radar WebKit Bug Importer
Comment 1 2024-06-11 12:37:51 PDT
Tyler Wilcock
Comment 2 2024-08-12 15:55:34 PDT
EWS
Comment 3 2024-08-13 07:52:46 PDT
Committed 282165@main (d7e2051a1f93): <https://commits.webkit.org/282165@main> Reviewed commits have been landed. Closing PR #32071 and removing active labels.
Tyler Wilcock
Comment 4 2024-08-13 07:54:41 PDT
Thanks for the great bug report!
Adrian Roselli
Comment 5 2024-08-13 16:45:28 PDT
Sweet, thanks! I appreciate the quick turnaround too. I cannot tell from here or GitHub — in what version will this fix land?
EWS
Comment 6 2024-08-15 12:38:50 PDT
Committed 280938.232@safari-7619-branch (4dc6284245b8): <https://commits.webkit.org/280938.232@safari-7619-branch> Reviewed commits have been landed. Closing PR #1595 and removing active labels.
Tyler Wilcock
Comment 7 2024-08-26 07:40:30 PDT
(In reply to Adrian Roselli from comment #5) > Sweet, thanks! I appreciate the quick turnaround too. > > I cannot tell from here or GitHub — in what version will this fix land? Very sorry for the delayed reply, and further sorry that I can't say when this fix will ship. However, I'll make sure to post a reply here when this fix ships in a release so you don't need to keep checking back.
Tyler Wilcock
Comment 8 2024-10-28 08:54:32 PDT
This is fixed in macOS 15.1, which released today!
Note You need to log in before you can comment on or make changes to this bug.