Bug 233645

Summary: VoiceOver does not announce custom element focused with delegatesFocus
Product: WebKit Reporter: Liam DeBeasi <ldebeasi>
Component: AccessibilityAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: andresg_22, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Safari 15   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Code reproduction none

Description Liam DeBeasi 2021-11-30 10:41:51 PST
Created attachment 445439 [details]
Code reproduction

When focusing a custom element that uses `delegatesFocus`, VoiceOver does not announce the element despite it being focused.

Steps to reproduce:

1. Open attached code reproduction on an iOS device.
2. Enable VoiceOver.
3. Inspect this page in Safari Developer Tools.
4. Run "document.querySelector('app-button').focus()". Observe that VoiceOver does not read the button component even though focus is shifted to it.
5. Run "document.querySelector('button').focus()". Observe that VoiceOver does read the button.
6. Run "document.querySelector('app-button').focus()" again. Observe that VoiceOver reads the button component this time.

Expected Behavior:

I would expect VoiceOver to announce the text of the custom element every time focus moves to it.

Actual Behavior:

VoiceOver only announces the text of the custom element after first focusing something in the light DOM such as a button.

Other Information:

- I can reproduce this on iOS 15.1 as well as the iOS 15.2 developer beta.
- This issue does not reproduce on Safari for macOS.
- This issue does not reproduce in Chrome.
Comment 1 Radar WebKit Bug Importer 2021-11-30 10:42:15 PST
<rdar://problem/85873650>