I have an app which requires the user to have direct interaction with a view when VoiceOver is enabled. In iOS 12 and 13 my code worked as expected. However, in iOS 14, whenever the user tries to interact with the view requiring direct interaction, the view responds with the audible message:
"Direct touch area. Use the rotor to enable direct touch for this app."
This is a bit of an awkward user experience for a visually impaired user. The user now has to enable something which was working just fine in previous versions. In addition, anytime the user navigates away from the app and then returns, they must re-enable direct touch again.
In my code I was able to enable direct interactions with the following code:
However, this no loner seems to be enough. How do I tell my app: "Yes, please use direct interaction all the time and don't bother the user?"
"Direct touch area. Use the rotor to enable direct touch for this app."
This is a bit of an awkward user experience for a visually impaired user. The user now has to enable something which was working just fine in previous versions. In addition, anytime the user navigates away from the app and then returns, they must re-enable direct touch again.
In my code I was able to enable direct interactions with the following code:
Code Block Swift view.isUserInteractionEnabled = true view.isAccessibilityElement = true view.accessibilityTraits = UIAccessibilityTraits.allowsDirectInteraction
However, this no loner seems to be enough. How do I tell my app: "Yes, please use direct interaction all the time and don't bother the user?"
I have a similar problem. My app made with Unity uses direct touch to help visually impaired users use the app. When iOS says "Direct touch area. Use the rotor to enable direct touch for this app.", the rotor often is not coming up. And everytime you suspend the app, the setting is forgotten by iOS. This is not correct behaviour.