unoplatform / uno

Open-source platform for building cross-platform native Mobile, Web, Desktop and Embedded apps quickly. Create rich, C#/XAML, single-codebase apps from any IDE. Hot Reload included! 90m+ NuGet Downloads!!
https://platform.uno
Apache License 2.0
8.93k stars 724 forks source link

[iOS][Android] Accessibility issue in `ListViewItem` with Button children #12645

Open doum-vigeant-nventive opened 1 year ago

doum-vigeant-nventive commented 1 year ago

Current behavior

When cycling through a ListView with VoiceOver or TalkBack on, the screen reader focuses on each ListViewItem and reads what is inside (including the Buttons content) but does not focus on the items inside the ListViewItem, so the user can't interact with the Buttons.

Expected behavior

When cycling through a ListView with VoiceOver or TalkBack on, for each ListViewItem, the screen reader focuses on each items inside and reads them, letting the user interact with Buttons.

How to reproduce it (as minimally and precisely as possible)

With the UnoApplicationTemplate, go through the Posts page with VoiceOver or TalkBack on and notice how you can't focus nor interact with the "Delete" and "Edit" buttons of each post.

Workaround

It seems like this issue does not occur when using a ListBox instead of a ListView.

Works on UWP/WinUI

None

Environment

No response

NuGet package version(s)

No response

Affected platforms

No response

IDE

No response

IDE version

No response

Relevant plugins

No response

Anything else we need to know?

No response

MatFillion commented 1 year ago

if you do a two-finger-swipe-right, is the voiceover mechanism jumping into the ListViewItem? (then you would do a two-finger-swipe-right to exit). Full list of the VoiceOver gestures on iOS here: https://support.apple.com/en-ca/guide/iphone/iph3e2e2281/ios

I'm not sure if a ListViewItem should be a group or not (potentially yes?), but asking the question because I think that's relevant for the investigations !

Apple Support
Learn VoiceOver gestures on iPhone
With VoiceOver on iPhone, scan the screen with your finger and use gestures to perform actions or hear more information.
doum-vigeant-nventive commented 1 year ago

@MatFillion if you do a two-finger-swipe-right on a ListViewItem on iOS there is a distinct sound playing similar to the one when you reach the end of the accessibility tree, I would assume it's because it can't go deeper in that part of the tree, meaning it can't reach the buttons.