microsoft-ui-xaml icon indicating copy to clipboard operation
microsoft-ui-xaml copied to clipboard

Narrator reads incorrect value for Slider control

Open g0g8rz opened this issue 6 months ago • 4 comments

Describe the bug

When running the Windows Narrator for accessibility, the slider control reports a value from 0% to 100% regardless of the value or AutomationProperties.Name set for this control. For example the very simple slider:

When the narrator reads this it says "My Automation name, Slider, 50%".

Steps to reproduce the bug

Add slider to XAML and run application Start windows Narrator (ctrl-win-enter) Tab to the slider and listen to the audio narration

Expected behavior

It should at the very least read "My Automation name, Slider, 0" but more importantly, the developer should be able to override the AutomationProperties with their own content, including a converter. For example, I really want my slider to say something like "Balance 50% left" when the value is -0.5.

Screenshots

No response

NuGet package version

WinUI 3 - Windows App SDK 1.7.2: 1.7.250513003

Windows version

Windows 11 (23H2): Build 22631

Additional context

No response

g0g8rz avatar Jun 03 '25 17:06 g0g8rz

@g0g8rz As checked with WinUI3 gallery on latest Windows builds (Windows 11 24H2) - winui3gallery://item/Slider

Narrator reads narrator as "Simple slider, slider, 0%", which is correct for Automation Property name as well as value.

Whether the ask here is just about having a configurable format on how narrator announce it?

cc: @Hemantxk

godlytalias avatar Jun 05 '25 21:06 godlytalias

@godlytalias Thanks for checking this out. This simple slider works correctly because the range is set from 0 to 100, so percentage is correct. If you look even at the next slider in this Gallery page ("A Slider with range and steps specified") and set the value to (for example) 700, the Narrator says "Control Header, Slider, 40%" but this percentage is not valuable in this situation. The narrator should at the very least announce the ACTUAL value, and not some arbitrary percentage. But even more preferred would be to allow customization.

g0g8rz avatar Jun 06 '25 20:06 g0g8rz

@g0g8rz So if I understand correctly, the percentage that narrator announces seems to be correct based on the min & max values which is as per design, but you want narrator to announce the 'Actual value' and moreover you want customizations to be possible as well. If so we will convert this as discussion and take up for further discussion with narrator team

godlytalias avatar Jun 10 '25 05:06 godlytalias

Sure, It's technically a correct percentage, but the percentage makes absolutely no sense in some scenarios. The current implementation limits the use of ProgressBar only for things that represent a percentage. Sometimes progress can be "Step 1, step 2, step 3" or "Order received", "Order processed", "Shipped", etc. The value read to a visually impaired user should match the value that a sighted person can see. The "percentage" value that is read does not reflect the "value" of the progress bar, and therefore should be customizable at the very least, or fixed to simply read the value like every other control does.

g0g8rz avatar Jun 16 '25 18:06 g0g8rz

The current behavior of slider is as per design which is intended to convey the percentage of the slider. Marked this as feature proposal

sabareesanms avatar Jul 01 '25 09:07 sabareesanms