Speak Screen breaks the UI

Hi there,

using iPhone Xs, iOS 13.5.1 (it actually happens on any device)

Having enabled the "Speak Screen" option under "Spoken Content", whenever I active it on my app it completely messes up the UI, meaning that it reads UI elements (like sliders and cells) that are outside the screen (not currently visible) and it reads UI elements that are hidden.

Moreover if I move to another view, for example, slide to the next view on the left, it gets even worse.

Have you fellas experienced such behaviour ? if so,
  • how come Speak Screen read UI elements that are set to hidden ?

  • why does it read UI elements that are not currently on the screen ?

  • How to freeze the UI so that Speak Screen can read whatever is on the screen and the user can't change view or similar ?


Hygge

Replies

Can you file a feedback report with some sample code that demonstrates this behavior and post the ID here? Speak Screen fetches the elements from your app on the screen, and will eventually scroll to off-screen elements so that they are read as well. We will pick up whatever is seen in the accessibility tree, which is based largely on the view hierarchy for your app.

Does your app behave as expected with VoiceOver enabled? If VoiceOver is not navigating the elements in the correct order, speak screen will not either.

If a view is obscured completely, you'll want to prevent Speak Screen and VoiceOver from navigating to the elements from the previous screen. You can do this by making use of accessibility properties such as accessibilityViewIsModal.