Skip to content
This repository was archived by the owner on Sep 5, 2024. It is now read-only.
This repository was archived by the owner on Sep 5, 2024. It is now read-only.

gesture: infinite recursion in GestureHandler.end() with Android TalkBack #11768

@vbraun

Description

@vbraun

Bug

Clicking on a button with android talkback causes an infinite recusion when dispatching the event. Moreover, this ends up delivering the native event again after the exception.

The duplicate click event causes major breakage with talkback. For example, you can't open the sidebar menu dropdowns on https://material.angularjs.org as they open and then immediately close.

Detailed Reproduction Steps:

  1. Open https://material.angularjs.org/latest/demo/button on android with talkback enabled
  2. Attach remote debugger
  3. Click button

What is the expected behavior?

Button should be clicked once without js error

What is the current behavior?

Uncaught RangeError: Maximum call stack size exceeded.
    at GestureHandler.nativeDispatchEvent [as dispatchEvent] (angular-material.js:4131)
    at GestureHandler.onEnd (angular-material.js:3730)
    at GestureHandler.end (angular-material.js:4000)
    at runHandlers (angular-material.js:4241)
    at HTMLDocument.gestureEnd (angular-material.js:4292)
    at defaultHandlerWrapper (angular.js:3802)
    at HTMLDocument.eventHandler (angular.js:3790)
    at GestureHandler.nativeDispatchEvent [as dispatchEvent] (angular-material.js:4131)
    at GestureHandler.onEnd (angular-material.js:3730)
    at GestureHandler.end (angular-material.js:4000)

(note: this is the non-minified stacktrace for clarity)

Which versions of AngularJS, Material, OS, and browsers are affected?

Angularjs material 1.1.19
Android 9 (Pixel 3 XL)

Metadata

Metadata

Assignees

Labels

P1: urgentUrgent issues that should be addressed in the next minor or patch release.a11yThis issue is related to accessibilityhas: Pull RequestA PR has been created to address this issueos: AndroidThe issue is specific to the Android OS.resolution: fixedtype: bug

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions