A Microsoft open-source framework for building native device applications spanning mobile, tablet, and desktop.
Hi @Raghavender Yelisetty (ext) ,
Thanks for your question.
There is a known issue with Indicator does not update when swiping through CarouselView with Voiceover on iOS. This is slightly different from your case, where the indicator does update, but to an incorrect position.
While this is a non-Microsoft link, it’s official github link and is safe to visit.
This issue has been resolved with the new CarouselView implementation. Please check that you are using the latest version of .NET MAUI and try again.
Note: in case you are using the old version, it may not work.
If you are already on the latest version, I recommend testing on a physical device. Also, instead of navigating through slides using a single‑finger swipe, VoiceOver now requires a three‑finger swipe.
In case it does not work, you can try the following workarounds:
- Try forcing the new handler in
MauiProgram.cs:
#if IOS || MACCATALYST
builder.ConfigureMauiHandlers(handlers =>
{
handlers.AddHandler<CarouselView, Microsoft.Maui.Controls.Handlers.Items2.CarouselViewHandler2>();
});
#endif
- Use this manual sync workaround as a quick fix.
<CarouselView x:Name="carousel"
ItemsSource="{Binding Items}"
CurrentItem="{Binding SelectedItem, Mode=TwoWay}"
Position="{Binding CurrentPosition, Mode=TwoWay}" />
In code-behind:
carousel.CurrentItemChanged += (s, e) =>
{
carousel.Position = carousel.Position;
};
I hope this addresses your question. If this response was helpful, please consider following the guidance to provide feedback.