Bug(iOS): Escape-gesture doesn't work as expected for VoiceOver users.
#6,123 建立於 2018年7月26日
描述
Tell us about the problem
Accessibility users can't dismiss dialogs and go back with the z-gesture*.
*) Z-Gesture also known as the escape-gesture
Which platform(s) does your issue occur on?
iOS only.
Please provide the following version numbers that your issue occurs with:
- CLI: 4.1.x, 4.0.x, 3,x etc.
- Cross-platform modules: 4.1.0
- Runtime(s): tns-ios@4.1.0
- Plugin(s): none
Please tell us how to recreate the issue in as much detail as possible.
The problem is in two parts, both requires VoiceOver to be enabled to demonstrate.
Dialogs
Any dialog created from tns-core-modules/ui/dialogs cannot be dismissed with the z/escape-gesture. NativeScript doesn't implement the accessibiliityPerformEscape()-function on UIAlertController.
Modal pages without a NavigationButton.
Create a new page and hide the NavigationButton. This disables the z-gesture for this page.
Our accessibility users expects the z-gesture working in both these cases.
Is there code involved? If so, please share the minimal amount of code needed to recreate the problem.
I've create a simple example here: https://play.nativescript.org/?template=play-ng&id=vuchBL&v=10
You need to enable VoiceOver to see the problem.
-
Start by tapping "Show Alert", this will create an alert. Try to dismiss it by drawing a Z on the screen with two fingers. The device will make a noise but nothing else will happen. Our accessibility users expects the alert to be dismissed and complains about it.
-
Close the alert manually.
-
Tap the "Show modal page without the NavigationButton" This page will not have the
NavigationButtonto the left but will have a "done"-button to the right. (This is a common design for settings pages in our app). Once again try to dismiss the page with the z-gesture. This won't work. -
Go back to the home component again.
-
Now tap the last button: "Show modal page with the NavigationButton" This is the same page as before, but with the
NavigationButton. Once again try to dismiss the page with the z-gesture. This time you end up on the previous page, as expected.
I've previous submitted #4349 but back when I didn't understand the cause and ended up closing the issue, because it looked like an error in our end.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.