alexrainman / CarouselView

CarouselView control for Xamarin Forms
MIT License
436 stars 178 forks source link

iOS: Elements inside carousel are not accessible #587

Open tnapes96 opened 3 years ago

tnapes96 commented 3 years ago

Description: Any list of views that are put into the ItemSource is not accessible to VoiceOver or Appium.

Reproduction: Demo code can be used.

MyItemsSource in MainViewModel.cs

MyItemsSource = new ObservableCollection<View>()
            {
                new CachedImage() { DownsampleToViewSize = true, Source = "c1.jpg", Aspect = Aspect.Fill , AutomationId = "Picture1"},
                new CachedImage() { DownsampleToViewSize = true, Source = "c2.jpg", Aspect = Aspect.Fill , AutomationId = "Picture2"},
                new CachedImage() { DownsampleToViewSize = true, Source = "c3.jpg", Aspect = Aspect.Fill , AutomationId = "Picture3"}
            };

Steps: 1) Run Project 2) See if VoiceOver can recognize any of the automation properties

VoiceOver will not be able to find any of the automation information and Appium will not be able to find any of the elements within. I have tried tweaking the iOS CarouselView Renderer, but I haven't had any luck getting the elements to be accessible.

Screen Shot 2020-12-22 at 5 00 30 PM

This is most likely a duplicate of #488

alexrainman commented 3 years ago

XForms views are converted to native views at runtime. I don’t think it will be possible to achieve this.