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
- Turn on VoiceOver on iOS.
- Open repro.
- Verify that on the
VerticalStackLayout without SemanticProperties.Hint there is no explanation that it is interactable.
- 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
Description
Taking something like a
VerticalStackLayoutand putting aGestureRecognizeron 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 theVerticalStackLayoutare now completely ignoredSteps to Reproduce
VerticalStackLayoutwithoutSemanticProperties.Hintthere is no explanation that it is interactable.VerticalStackLayoutwithSemanticProperties.Hint, all childLabelsare 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