Skip to content

Bug(iOS): Escape-gesture doesn't work as expected for VoiceOver users. #6123

@m-abs

Description

@m-abs

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.

  1. 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.

  2. Close the alert manually.

  3. Tap the "Show modal page without the NavigationButton"
    This page will not have the NavigationButton to 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.

  4. Go back to the home component again.

  5. 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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions