Bug 305343

Summary: AX: VoiceOver sometimes does not announce newly revealed, programmatically focused button
Product: WebKit Reporter: jesse.greenberg
Component: AccessibilityAssignee: Nobody <webkit-unassigned>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: andresg_22, tyler_w, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Safari 26   
Hardware: Mac (Apple Silicon)   
OS: macOS 26   

jesse.greenberg
Reported 2026-01-12 14:30:28 PST
Summary: When a hidden button is made visible and immediately focused via script, VoiceOver in Safari often does not announce the newly focused button’s accessible name. Steps to Reproduce: 1. Turn on VoiceOver. 2. Open this minimal page in Safari: ```html <!doctype html> <html lang="en"> <body> <div> <button id="a">Button A</button> <button id="b" hidden>Button B</button> <button id="c" hidden>Button C</button> </div> <script> const buttonA = document.getElementById('a'); const buttonB = document.getElementById('b'); const buttonC = document.getElementById('c'); buttonA.addEventListener('click', () => { buttonB.hidden = false; buttonB.focus(); }); buttonB.addEventListener('click', () => { buttonC.hidden = false; buttonC.focus(); }); </script> </body> </html> ``` 3. Move VoiceOver focus to "Button A". 4. Activate "Button A" (Space or VO+Space). 5. Then activate "Button B". Expected Results: Each time a button is revealed and focused, VoiceOver announces the newly focused button’s name ("Button B", then "Button C") consistently. Actual Results: Often, after activating "Button A" or "Button B", VoiceOver moves focus but does not speak the newly focused button’s name. Notes: - This appears timing-related: adding a small delay before calling focus (for example, setTimeout(() => buttonB.focus(), 50)) makes the announcement more reliable. - Reproducible intermittently but frequently. - Tested on: macOS 26.2, Safari 26.2.
Attachments
Radar WebKit Bug Importer
Comment 1 2026-01-12 14:30:38 PST
Tyler Wilcock
Comment 2 2026-05-21 13:30:39 PDT
Thanks for the bug report! Based on my testing, this was fixed with https://bugs.webkit.org/show_bug.cgi?id=314893, but please let me know if you find otherwise.
Tyler Wilcock
Comment 3 2026-05-21 13:30:48 PDT
*** This bug has been marked as a duplicate of bug 314893 ***
Note You need to log in before you can comment on or make changes to this bug.