dotnet / maui

.NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
https://dot.net/maui
MIT License
21.95k stars 1.7k forks source link

Investigate IndicatorView accessibility #10404

Open rachelkang opened 1 year ago

rachelkang commented 1 year ago

Description

IndicatorView is a cross-platform control used largely to indicate which view of a carousel a user is seeing. It is represented by a series of dots, one of which is highlighted to represent the current view.

image

Beyond just the decorative indication, however, these tiny dots are also interactive - the dots can be clicked on! However, the dots are usually very tiny and hard to click on, so it's an accessibility issue. And while the size of the dots can be increased to the minimum 44x44 - it takes away from the experience.

image

So what can we do? Here are some potential ideas:

Approach 1: Make the IndicatorView noninteractive

Perhaps it would be best to make the IndicatorView noninteractive entirely, and make it purely decorative, no exceptions.

Approach 2: Add a property to make the IndicatorView noninteractive

Perhaps there is utility in the interactive quality of IndicatorView. Maybe we can introduce a property to make it noninteractive and only decorative by default. But a property can be set to make it behave as it currently does should developers have a unique scenario

Approach 3: Attempt the iOS approach

IndicatorView is only inherent to the iOS platform - we have custom code to make it exist on the other platforms. So if we're copying iOS, perhaps we should copy the full scope of their control.

On iOS, the individual dots are not interactive - the entire IndicatorView, the series of dots as a single unit, is interactive. Users hold down and drag their finger left/right to navigate views.

Open to other ideas!

Steps to Reproduce

  1. Run .NET MAUI control gallery
  2. Navigate to IndicatorView page

Link to public reproduction project repository

dotnet/maui

Version with bug

6.0.486 (current)

Last version that worked well

Unknown/Other

Affected platforms

iOS, Android, Windows, macOS

Affected platform versions

all

Did you find any workaround?

No response

Relevant log output

No response

ghost commented 1 year ago

We've moved this issue to the Backlog milestone. This means that it is not going to be worked on for the coming release. We will reassess the backlog following the current release and consider this item at that time. To learn more about our issue management process and to have better expectation regarding different types of issues you can read our Triage Process.