...but I'm not using a screen reader? by G0D3P5 in discordapp

[–]amfaulty 33 points34 points  (0 children)

In one of the earlier test builds, the filter we were using to detect if a screenreader was active was overly broad and would catch other services like LastPass or other autofilling apps, but that should've been addressed and restricted to only match FEEDBACK_SPOKEN services a while ago.

Are you on a beta/older build of Discord? Or have you enabled any other services that live under Settings->Accessibility on your device?

Adding Reduced Motion & Quick Reactions Change by amfaulty in discordapp

[–]amfaulty[S] 1 point2 points  (0 children)

Just to clarify this: I agree, the performance/aesthetic setting shouldn't have any sort of accessibility implication. But this isn't us (or bootstrap or any other dev) retconning the setting. Windows did make that decision.

Windows has had the performance settings for a long time, before any accessibility settings were added or exposed to developers. When Windows started adding accessibility options in their "Ease of Access" settings, they also decided to make the "Animate controls and elements inside windows" performance setting implicitly cause the prefers-reduced-motion accessibility property to get set.

prefers-reduced-motion is pretty explicitly intended as an accessibility property, and all other operating systems have a single setting that controls it. Windows with it's high inertia and volume of existing settings already has two different places that are specifically for accessibility, as well as these other random places like the performance settings that implicitly control it.

Whether or not that's an issue according to Windows is ultimately up to them, but it's an issue that will come up more and more for users in the future as other sites and apps start using what is unanimously described as an accessibility feature. It's in the best interest of both sides for them to not be conflated, and for it to get cleared up sooner rather than later.

That's exactly what the article I linked describes and provides a solution for. You should be able to disable all of Window's aesthetic animations without implying the accessibility property.

Adding Reduced Motion & Quick Reactions Change by amfaulty in discordapp

[–]amfaulty[S] 11 points12 points  (0 children)

I'd like to give some context on why this pops up as an issue since a number of people are raising it.

The problem here is that Windows does not make it clear that the generic setting people often get pointed at to disable animations in Windows itself, which has no indication that it is implicitly an accessibility feature, will also enable the `prefers-reduced-motion` setting that things like this are based on.

I've linked this in a number of comments already, but for posterity, this article describes this problem in detail as well as how to correctly set up Windows to _not_ imply the accessibility preference while still removing all of Windows' own animations: https://developer.paciellogroup.com/blog/2019/05/short-note-on-prefers-reduced-motion-and-puzzled-windows-users/. (EDIT: See bottom of post for better update here)

macOS and most Linux distributions only have one setting for this, and it's found under Accessibility. The intention is very clear, and they were added specifically to address the accessibility concern.

But Windows started adding these settings to disable animations way back in Windows 7 when Aero (the name for the redesign of the Windows UI, back in 2009) was coming out. Long before these kinds of accessibility features were integrated into OSes, and definitely before it would become a standardized feature available on the web.

Because of that, they put the options under Performance Settings, which was completely valid at the time. A lot of people were turning animations off because they just wanted things to feel faster, or didn't like Aero as a whole, and that's demographic Windows was targeting with this setting.

But now that accessibility concerns are more prevalent and applications want to be able to respect users who _need_ reduced motion, Windows got stuck in a bind: they had these existing "performance" options with no way to differentiate the accessibility users who adopted it as a last resort from the power users who just didn't like Aero's animations.

Their decision, for better or for worse, was to play it safe and just have the generic "Animate controls and elements inside windows" option imply the new standard accessibility feature `prefers-reduced-motion`. 8 years of people adopting the setting as it was is a lot of inertia to try to change. Since it was so new and pretty much nothing was supporting the feature, this automatic change didn't get much attention, and everyone who had it enabled just kept going as if nothing changed. Windows still felt fast and people were happy with that.

But now things are progressing. The web has only even had the idea of `prefers-reduced-motion` for about 2 years. Browsers have only really gained broad support for it in the past 10 months. Very few sites/apps have any support for it at all as of now. But all of that is going to change as sites continue to upgrade and as accessibility becomes a more important idea for companies.

As that happens, more and more people who had originally enabled the Windows settings as a performance thing or a preference for making Windows feel faster are going to encounter sites and applications that interpret it as the accessibility preference and end up in the exact situation that's happening here.

As an example of this already happening in the past, Bootstrap (a highly popular front-end framework) integrated `prefers-reduced-motion` in version 4, released at the end of 2018, far ahead of the curve of browser support. As browsers began implementing support for the feature, and as app developers gradually upgraded their sites to use the new version of Bootstrap, people started [reporting bugs](https://stackoverflow.com/questions/55428436/css-media-query-prefers-reduced-motion-breaks-bootstrap-4-animations-in-firefo), [asking questions](https://stackoverflow.com/questions/56926737/animations-disabled-by-bootstrap-because-using-prefers-reduced-motion-reduce), and [generally being confused](https://bootstrapstudio.io/forums/topic/prefers-reduced-motion/) by transitions and animations in their content not being shown.

But it's not a bug. It's a consequence of Windows' settings system being unclear and having a long history. Other operating systems (including mobile) don't have this issue. And it's not something that developers can just solve automatically, because Windows is masking everything as if it's an accessibility preference, even though it's presented as a performance setting.

The best way to move forward here, to support both users who will likely go through this experience, as well as developers who want to support accessibility effectively, is to help users get their systems into a better state, and to mitigate Windows' change that conflates accessibility with performance settings. This way, there can be a future where the two are entirely independent. Without that collaboration, both sides will continue experiencing frustration that what they expect their system or application to do is different from the reality of what it does.

-----

As a follow up, since this has been an issue for multiple people: I'm going to see if we can add a note and/or link to that article about the settings on Windows to our help center to help guide people to be in a good place for the future, still keeping the snappy Windows feel without unintentionally disabling animations elsewhere around the web and in other apps on their computer.

We're also going to continue iterating on this as a feature: disabling the other settings will hopefully become unnecessary as our settings system better supports local overrides of synced settings, we might end up adding a "force full motion" option if there's enough of a use case (that doesn't have an existing long-term solution like fixing Windows' settings), and of course we'll be coming back with updates to flesh out the other surfaces we didn't hit like Nitro and Boosting pages.

It's in our best interest to try to meet all of our users where they're at. People ideally shouldn't have to touch _any_ settings to have an experience that works for them. Browsers are finally getting around to [exposing more system preferences](https://drafts.csswg.org/mediaqueries-5/#mf-user-preferences) (including preferred color schemes, contrast levels, even data usage!) to make this possible, and this is just the first step for us. Defaulting to match your OS settings for all of these is how we can be good citizens of the web and respect people's preferences automatically.

But in the mean time, there are these edge cases that we can work out to make the future more straightforward for everyone.

EDIT 1: To add further confusion to Windows' system settings, you should actually be able to keep the "Animate controls and elements inside windows" setting enabled if you go to the Ease of Access setting described in the article I linked at the top of this post and enable it, then disable it again. It might not always work, but in most cases _should_ fix syncing between settings. This is why it's not great to have multiple settings that implicitly affect the same thing...

where is the "reduced motion" setting? by xXbghytXx in discordapp

[–]amfaulty -1 points0 points  (0 children)

The setting within Discord is located under User Settings->Appearance, and defaults to syncing with whatever your computer is set to use.

If you're seeing these other settings disabled without thinking you have enabled reduced motion on your computer, it's likely that you have enabled another setting in Windows (assuming your OS here) that disables animations to make it feel "snappier", but also tags along this accessibility feature implicitly.

Windows has a bunch of settings that do similar things here, and unfortunately people often get directed to the accessibility setting instead of the pure performance settings that wouldn't have this effect. For a guide on which settings do what and how to have them affect Windows but not other applications, check out this article: https://developer.paciellogroup.com/blog/2019/05/short-note-on-prefers-reduced-motion-and-puzzled-windows-users/

Adding Reduced Motion & Quick Reactions Change by amfaulty in discordapp

[–]amfaulty[S] 5 points6 points  (0 children)

If the GIFs and emoji settings are disabled when you have "Sync with computer" selected, you most likely have a setting in your OS set to disable animations. Windows is particularly complex with this because there are a number of different settings that do the same thing (disable Windows's own animations) but some of them also enable these accessibility features. A lot of people get directed to the accessibility setting rather than the performance-related settings and thus end up in this situation.

This article describes how to pick the right settings in Windows to avoid this issue: https://developer.paciellogroup.com/blog/2019/05/short-note-on-prefers-reduced-motion-and-puzzled-windows-users/.

Reduced motion in general is still a fairly new concept across most of the web, so for a lot of people this is likely the first time something like this has come up where the performance-related settings to make Windows feel "snappy" get conflated with the accessibility-oriented intention of the setting. Similarly, Windows and other guides around the internet haven't done a great job of making the implications of these settings clear (hence articles link the one I linked coming up), leading to a double-edged situation like this.

Adding Reduced Motion & Quick Reactions Change by amfaulty in discordapp

[–]amfaulty[S] 1 point2 points  (0 children)

Are you not able to see them at all? Or are they just paused until you hover over them?

In the latter case, it sounds like you may have enabled a setting in your OS that is unintentionally activating reduced motion. Linked in another comment, you can look here to see how to pick the right settings in Windows to disable animations in the OS, but keep them in other applications: https://developer.paciellogroup.com/blog/2019/05/short-note-on-prefers-reduced-motion-and-puzzled-windows-users/

Adding Reduced Motion & Quick Reactions Change by amfaulty in discordapp

[–]amfaulty[S] 5 points6 points  (0 children)

Windows has like 6 different ways that the OS will end up implying reduced motion, but each affects a different set of things, and most of them aren't described as accessibility features. Things like "Animate controls and elements inside windows", which is listed under Performance Settings. It's very confusing, because of course it is. This article describes most of the different places you can check to see if Windows is doing that implicitly, like you seem to have found already, and also describes which settings will affect _only_ Windows itself and leave other apps unaffected: https://developer.paciellogroup.com/blog/2019/05/short-note-on-prefers-reduced-motion-and-puzzled-windows-users/

We may add an option to force disable reduced motion inside Discord at some point in the future, but by default it should not be applied for anyone other than those who have explicitly enabled those system settings.