I want to support VoiceOver. I have an UIButton
inside of an UITableViewCell
. According to a best practice I have disabled the button for accessibility (.isAccessibilityElement = false
) and implemented a custom accessibility action for the cell (accessibilityCustomActions, NSAccessibilityCustomAction
).
This way VoiceOver would not find and read the button as an own element. To make the feature behind the button accessible, I have added a custom accessibility action to the cell. With the custom action the user can select the action with swipe up and down. And then perform it with double-tap.
Now I want to test this action with an UITest. It's not possible to access the button inside of an UITest, because its disabled for accessibility.
How can I perform a custom accessibility action inside of an UITest?
How can I perform a custom accessibility action inside of an UITest?
Actually, you can't with {Xcode 11, iOS 13} and even if you can get an array of actions in UITest, it's nil and you can't fire the selectors from XCUITEST (UI tests don't get code-level access to the app as unit tests do).
Testing manually is currently the only way to test accessibility custom actions with VoiceOver.
Take a look at this answer given by an Apple engineer during the WWDC 2019.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With