Bug 263499 - AX: details/summary not included in VoiceOver Form Controls menu or list
Summary: AX: details/summary not included in VoiceOver Form Controls menu or list
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Accessibility (show other bugs)
Version: Safari 17
Hardware: All All
: P2 Normal
Assignee: Tyler Wilcock
URL: https://cdpn.io/pen/debug/LYqYRMx
Keywords: InRadar
: 211284 (view as bug list)
Depends on:
Blocks:
 
Reported: 2023-10-21 12:52 PDT by Curtis Wilcox
Modified: 2024-01-29 08:50 PST (History)
13 users (show)

See Also:


Attachments
Patch (14.45 KB, patch)
2023-10-22 11:43 PDT, Tyler Wilcock
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Curtis Wilcox 2023-10-21 12:52:56 PDT
<summary> elements within <details> elements are not included in VoiceOver's Form Controls web rotor. VoiceOver's "Find the next control" command, VO-Command-J, also doesn't find <summary> elements.

Example:
https://cdpn.io/pen/debug/LYqYRMx

I can reproduce the problem in Safari 17.0 and Technology Preview 181, on macOS 14.0 and 13.6. I can also reproduce the problem in Safari 16.5 on macOS 12.6 and in Safari on iOS 17.0.3 (if Form Controls is chosen in its web rotor, swiping down doesn't focus <summary> elements).
Comment 1 Radar WebKit Bug Importer 2023-10-21 12:53:04 PDT
<rdar://problem/117308226>
Comment 2 Tyler Wilcock 2023-10-22 11:43:44 PDT
Created attachment 468299 [details]
Patch
Comment 3 EWS 2023-10-22 23:14:06 PDT
Committed 269643@main (c69c97c046fd): <https://commits.webkit.org/269643@main>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 468299 [details].
Comment 4 Curtis Wilcox 2023-10-23 07:14:44 PDT
I can still reproduce this problem in 269643@main. 

However, I can't reproduce the other bug I filed (https://bugs.webkit.org/show_bug.cgi?id=263498) using 269643@main.
Comment 5 Tyler Wilcock 2023-10-24 11:06:12 PDT
(In reply to Curtis Wilcox from comment #4)
> I can still reproduce this problem in 269643@main. 
> 
> However, I can't reproduce the other bug I filed
> (https://bugs.webkit.org/show_bug.cgi?id=263498) using 269643@main.
Hey Curtis. What about after https://commits.webkit.org/269688@main / https://bugs.webkit.org/show_bug.cgi?id=263534?

With that change, I see summary elements in the Form Controls rotor, and can navigate between them with VO-Command-J.

Regarding https://bugs.webkit.org/show_bug.cgi?id=263498. I need to investigate some more, but I think what's happening is that when the open attribute is toggled, the summary (and / or details) is rapidly removed and re-added from the WebKit AX tree due to some equivalent change in the DOM, which interrupts VoiceOver's announcement. WebKit might need to be smarter and try to prevent the platform AX object from being destroyed and re-created, instead swapping out the underlying core accessibility object. But again, would need to dig deeper to be sure. In any case, I think the behavior will be flakey depending on timing until we do something to address it.
Comment 6 Curtis Wilcox 2023-10-25 15:23:57 PDT
I tried builds 269688@main and 269781@main and could reproduce the problem in both.
Comment 7 Curtis Wilcox 2023-10-25 15:34:45 PDT
BTW, this is actually a dup of https://bugs.webkit.org/show_bug.cgi?id=211284
Comment 8 Tyler Wilcock 2023-10-31 11:53:06 PDT
*** Bug 211284 has been marked as a duplicate of this bug. ***