Skip to content

ensureSemantics() breaks onTap callback on Web platform #2176

@ChemoCosmo

Description

@ChemoCosmo

What is the bug?

For enabling advanced accessibility for Web Screen Readers Flutter offers to set:

SemanticsBinding.instance.ensureSemantics();

See: https://blog.flutter.dev/accessibility-in-flutter-on-the-web-51bfc558b7d3

When enabled however, the onTap callback of FlutterMap is not handling the correct coordinates of the tap. Rather the displayed map center.

However LongTap is not affected.

I created a small demo project for the bug: https://gitlab.com/kybernetik/flutter-web-map-tap-test

You can clone and build it for web (see README).

onTap creates a marker at the wrong position. onLongTap at the right position.

This bug only affects the web version. onTap works fine in the Android Emulator, even with activated Semantics.

Since FlutterMap is the only Widget I encountered a problem with Semantics so far, I believe the bug report belongs here.

How can we reproduce it?

Activate SemanticsBinding.instance.ensureSemantics(); in main.dart main method and watch LatLng coordinates of FlutterMaps onTap callback.

Try demo project.

Do you have a potential solution?

No clue.

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions