Microsoft-ui-xaml: Indeterminate ProgressBar ignores Windows animation setting

Created on 24 Oct 2019  ·  14Comments  ·  Source: microsoft/microsoft-ui-xaml

Describe the bug

Indeterminate ProgressBar continues to play its animation even when the user has turned Off "show animations in Windows"

Steps to reproduce the bug

Steps to reproduce the behavior:

  1. Go to the Settings app, Ease of Access > Display and toggle Off the "Show animations in Windows" toggle switch
  2. Open Xaml Controls Gallery and navigate to the ProgressBar page.
  3. Observe that the animation in the first sample continues to play.

Expected behavior

Animations shouldn't show when the user has opted out.

Screenshots

Additional context

There does not appear to exist a specific MAS requirement that's violated with current behavior but respecting user settings seems like the right thing to do.

Proposed fix
When animations are turned off, ProgressBar should show a static visual similar to
image

accessibility area-Progress team-Controls

Most helpful comment

@mdtauk, I hear your concern about not showing any motion, but I think we need to respect the user preference on this one. This is an accessibility setting, likely chosen by users due to specific types of disabilities. I don't think this has anything to do with performance.

I'm inclined to agree with @shaheedmalik and just show a single frame with the colored bar somewhere in the middle-ish of the grey track. I think some loss of visual affordance is acceptable given that the user has opted into this state of Windows. I'm guessing for those users, respecting their preferences is more important than conveying the "something is happening" message.

All 14 comments

How do you demonstrate indeterminate progress without an animation?

How do you demonstrate indeterminate progress without an animation?

That is a very good question! What should the ProgressBar behave like without animations? Should it just be blank (and look like a 0% progress)? Or should we render a bar in the middle, which would look a bit like a glitch?

I can't think of a way to show "indeterminate" while having no animation. However showing an animation despite the user requesting to not show one is also not a good solution.

The Progress bar itself, could still have the value change without any smoothing or transitions. This would not technically be an animated control, but the visual look of it would change over time.

Would a staggered not smooth "animation" be performant enough to satisfy the user's choice of turning animations off?

Here is a 4 frame "animation"
image

No transitions or tweening, just jumping frames.

And the same could apply to the ProgressRing indeterminate with animations off.

The Progress bar itself, could still have the value change without any smoothing or transitions. This would not technically be an animated control, but the visual look of it would change over time.

Would a staggered not smooth "animation" be performant enough to satisfy the user's choice of turning animations off?

Here is a 4 frame "animation"
image

No transitions or tweening, just jumping frames.

And the same could apply to the ProgressRing indeterminate with animations off.

I think the best way is just to display the only the third frame for those who have this setting off.

I think the best way is just to display the only the third frame for those who have this setting off.

You run the risk of the control looking glitched or broken

@mdtauk, I hear your concern about not showing any motion, but I think we need to respect the user preference on this one. This is an accessibility setting, likely chosen by users due to specific types of disabilities. I don't think this has anything to do with performance.

I'm inclined to agree with @shaheedmalik and just show a single frame with the colored bar somewhere in the middle-ish of the grey track. I think some loss of visual affordance is acceptable given that the user has opted into this state of Windows. I'm guessing for those users, respecting their preferences is more important than conveying the "something is happening" message.

I think the best way is just to display the only the third frame for those who have this setting off.

You run the risk of the control looking glitched or broken

I mean that what happens when you turn all animations off. 🤷🏾‍♀️

How does the Win32 control look with animations off?

A gradient is not being used for the indeterminate control, but perhaps it would do a better job of conveying motion on a static control?
image

On the mac, they have stripe pattern for indeterminate state, which conveys it nicely imo.

image

On the mac, they have stripe pattern for indeterminate state, which conveys it nicely imo.

image

That is nice. Maybe we can combine @mdtauk's four frames into a static "dashed-line" feel. The gradient feels a little out of place relative to the other states of the control.

The gradient feels a little out of place relative to the other states of the control.

I mean the gradient is reminiscent of Vista-era indeterminate progress bar.

image

So to me at least, it's not unfamiliar.

If not @mdtauk design, maybe something like this?

image

If not @mdtauk design, maybe something like this?

image

I get the idea behind it, but it does kind of look like a glitch

Is this something like what you were thinking?

image

Is this something like what you were thinking?

image

Yes. Or maybe
image

I guess I figured we would keep the indeterminate pill shape the same whether or not it's allowed to animate.

Was this page helpful?
0 / 5 - 0 ratings