Skip to content

[Enhancement] Expose AccessibilityValue on iOS (and equivalents on other platforms) #4032

Open

Description

From @johnshardman on Wed, 18 Nov 2020 11:35:32 GMT

The AutomationProperties.NameProperty and AutomationProperties.HelpTextProperty are useful for naming controls and adding help text. Using them to expose a control's value results in accessibility guidelines being breached on target platforms, and result in a poor user experience for those using accessibility options/devices (such as Braille readers). For example, if using VoiceOver on iOS, the default behavior for a Slider is that the position of the Slider is read out as a percentage. In most situations (in my experience at least), that's not what the user wants. The user wants the value read out, not the percentage. So, if the Slider runs from 1 to 365 for days in the year, the user might want to hear 180 rather than 50%. Using AutomationProperties.NameProperty to read out the 180 has multiple drawbacks (for a start, it doesn't stop the 50% being read out first).

To solve this, it's necessary to somehow expose the value (in the case of iOS, AccessibilityValue). I suggest adding AutomationProperties.ValueProperty as a bindable property - that would be consistent with the other properties, although there are other ways of exposing it. This should be done for all controls, not just Sliders.

Copied from original issue xamarin/Xamarin.Forms#12889

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions