tvOS 15 regression: Accessibility via VoiceOver does not work with SwiftUI views on tvOS 15

Number:rdar://FB9663044 Date Originated:Sep 29, 2021
Status:Closed Resolved:Fixed
Product:SwiftUI / tvOS Product Version:15
Classification:Incorrect Behavior Reproducible:Always
Description of the problem:
Accessibility via VoiceOver does not work for SwiftUI views on tvOS 15. The accessibility label is not read and the user is completely lost without any clues about what is currently focused on screen.

This issue was initially opened during the tvOS 15 beta phase as FB9650323. Since the bug made it into the final tvOS 15 release I reopened a ticket not mentioning the beta word again. I hope this will help you better discover and address this issue, as it can affect a lot of users who require VoiceOver to use their Apple TV.

Step-by-step instructions:
I provide an extremely simple sample project attached to this feedback. This is a SwiftUI tvOS app with a minimal app delegate and content view containing two buttons. I attached accessibility labels to both buttons (also marked to be accessibility elements):

1. Open the attached sample project.
2. Run the project on a tvOS 15 device.
3. Enable VoiceOver.
4. Navigate between the buttons with the Apple TV remote. Accessibility labels are never read.

If you build and run the same project on a tvOS 14 device labels are correctly read. 

Remark: If no accessibility label is attached to the buttons (easy to reproduce by removing the accessibility view modifiers in the same sample code) VoiceOver will read the button label on tvOS 14, but nothing on tvOS 15.

Expected result:
VoiceOver reads accessibility labels attached to SwiftUI views correctly on tvOS 15.

Actual result:
VoiceOver does not read accessibility labels attached to SwiftUI views correctly on tvOS 15.



Fixed in tvOS 15.2

Sample code

Available on GitHub:

Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!