You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on May 1, 2024. It is now read-only.
In code intended to run on Windows (UWP) as well as Android and iOS, it is likely that TabIndex will be used on controls in order to get the tab order wanted for Windows exactly correct. However, adding TabIndex on a View prevents a ScrollView containing that View from scrolling on iOS when using a three-fingered swipe with VoiceOver (accessibility).
On XF 4.8, the ScrollView in the following XAML does not scroll using a three-fingered swipe with VoiceOver on iOS:
The ScrollView should scroll when a three-fingered swipe is used with VoiceOver on iOS
Actual Behavior
The ScrollView does not scroll
Basic Information
Version with issue: XF 4.8
iOS: 14.0.1
Workaround
If defining UI in C# (rather than XAML), use an extension method rather than specify the TabIndex property. Have the extension method check the runtime platform and only set the TabIndex if the platform is not iOS (that way, TabIndex will work for UWP, WPF etc)
The text was updated successfully, but these errors were encountered:
This may be related to #11793 , but it's not clear that fixing #11793 would also fix this. I'd be tempted to leave this issue open as well, just in case...
Ideally, your app should not manipulate content ordering whatsoever - should you really need to, however, we recommend checking out SemanticOrderView from the XamarinCommunityToolkit, which has already proven to be a more accessible alternative.
If you haven't already, I also recommend updating to the latest version Xamarin.Forms or at least to Xamarin.Forms 5.0.0.2083, which has many accessibility improvements. These improvements include an experimental accessibility flag that addresses a lot of improvements in Android accessibility.
To leverage this flag on the latest versions of Xamarin Forms, the following code can be inserted in the App.xaml.cs file, following the InitializeComponent call and before the MainPage is set: Xamarin.Forms.Device.SetFlags(new List<string> { "Accessibility_Experimental"});
In code intended to run on Windows (UWP) as well as Android and iOS, it is likely that TabIndex will be used on controls in order to get the tab order wanted for Windows exactly correct. However, adding TabIndex on a View prevents a ScrollView containing that View from scrolling on iOS when using a three-fingered swipe with VoiceOver (accessibility).
On XF 4.8, the ScrollView in the following XAML does not scroll using a three-fingered swipe with VoiceOver on iOS:
Expected Behavior
The ScrollView should scroll when a three-fingered swipe is used with VoiceOver on iOS
Actual Behavior
The ScrollView does not scroll
Basic Information
Workaround
If defining UI in C# (rather than XAML), use an extension method rather than specify the TabIndex property. Have the extension method check the runtime platform and only set the TabIndex if the platform is not iOS (that way, TabIndex will work for UWP, WPF etc)
The text was updated successfully, but these errors were encountered: