On Sun, 14 Jun 2026 16:58:05 GMT, Marius Hanl <[email protected]> wrote:

>>> The question whether reducedMotion should override animated or if it should 
>>> be the other way around is indeed a very good question
>> 
>> I was also wondering how we want to handle or retrofit that. But ...
>> 
>>> I'd interpret it differently: Chart.setAnimated(true) doesn't necessarily 
>>> mean that the animation must be forced to run, no matter what. For me, 
>>> another interpretation makes more sense: that the author intended for the 
>>> animation to run, but not if the user clearly expressed that they don't 
>>> want animations. Mind you: the author still has full control to ignore the 
>>> users's wish by just setting Scene.Preferences.setReducedMotion(false).
>> 
>> This convinced me and makes sense.
>> 
>> When I wrote JavaFX applications, I would, for example, enable animations 
>> for `TitledPane`s if I thought they looked good, and disable them if I did 
>> not think they fit (like in an `Accordion` with many panes - it just took to 
>> long to navigate through them). Same for for `Chart`s or `Tab`-closing 
>> animations.
>> 
>> I often did things the way I thought was best for usablity and style.
>> This does not mean every single User may likes that. It is always hard to 
>> get that right.
>> 
>> So IMHO, it makes sense that we treat `setAnimated` as the developer choice. 
>> And `reducedMotion` as the user choice:
>> They can decide if they want to see the animations I enabled.
>> 
>>> In addition to the language used in the javadoc of the reducedMotion 
>>> property, some users also choose to reduce motion because they perceive it 
>>> to be 
>>> [faster](https://www.reddit.com/r/LifeProTips/comments/1expslr/lpt_if_you_want_your_windows_11_pc_to_feel_a)
>>>  and [snappier](https://news.ycombinator.com/item?id=33222434), so they 
>>> don't have to wait a few hundred milliseconds for the animation to 
>>> complete. This is a legitimate use case that we shouldn't dismiss.
>> 
>> This is correct and I disabled Animations in Windows 11 for a long time 
>> because they took to long - it feels snappier without them.
>> 
>> All that brings me to the same conclusion: We as a developer decide what we 
>> want to get animated and what we do not want to. The user can disable that 
>> completely with the `reducedMotion` preference and I think we should honor 
>> that.
>
>> For me, another interpretation makes more sense: that the author intended 
>> for the animation to run, but not if the user clearly expressed that they 
>> don't want animations. 
> 
> I'd just like to add that modern browsers work exactly this way. For example, 
> website developers often set smooth scrolling via CSS. However, your browser 
> will not use/honor it if `reducedMotion` is enabled (automatically). This 
> should leave no doubt that this PR is the right way forward.

> @Maran23 perhaps we should add these checks to the test suite?

Sure, can create a ticket when I have some time. (Also had some ideas regarding 
`ComboBoxTest` in the PR from Christopher - maybe a ticket to add or improve 
some tests even?).

-------------

PR Comment: https://git.openjdk.org/jfx/pull/2177#issuecomment-4711370524

Reply via email to