Skip to content

[iOS] VoiceOver does not correctly describe View with GestureRecognizers #34380

Description

@KillswitchPrime

Description

Taking something like a VerticalStackLayout and putting a GestureRecognizer on it, does NOT make VoiceOver say that the control is interactable. On Android, this works out of the box, with TalkBack saying: "Double tap to activate", but on iOS, VoiceOver says absolutely nothing.

This can be somewhat fixed by adding SemanticProperties.Hint. That causes VoiceOver to refer to the control as a "Button", but the downside is that all child elements will be ignored. So any labels inside the VerticalStackLayout are now completely ignored

Steps to Reproduce

  1. Turn on VoiceOver on iOS.
  2. Open repro.
  3. Verify that on the VerticalStackLayout without SemanticProperties.Hint there is no explanation that it is interactable.
  4. Verify that on the VerticalStackLayout with SemanticProperties.Hint, all child Labels are ignored.

Link to public reproduction project repository

https://github.com/KillswitchPrime/MauiGestureRecognizerIosA11y

Version with bug

9.0.80 SR8

Is this a regression from previous behavior?

Not sure, did not test other versions

Last version that worked well

Unknown/Other

Affected platforms

iOS

Affected platform versions

All iOS versions

Did you find any workaround?

Adding SemanticProperties.Hint="Some text" does make VoiceOver describe the control as a "Button".
But all child elements are now ignored, so it becomes a lot more effort to make it work.

Relevant log output

Metadata

Metadata

Assignees

No one assigned

    Labels

    partner/syncfusionIssues / PR's with Syncfusion collaborationplatform/ioss/triagedIssue has been revieweds/verifiedVerified / Reproducible Issue ready for Engineering Triaget/a11yRelates to accessibilityt/bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions