Integrated: 8341514: Add reducedMotion and reducedTransparency preferences

Michael Strauß mstrauss at openjdk.org
Tue Oct 22 16:10:40 UTC 2024


On Sat, 5 Oct 2024 03:44:27 GMT, Michael Strauß <mstrauss at openjdk.org> wrote:

> This PR adds the `Platform.Preferences.reducedMotion` and `Platform.Preferences.reducedTransparency` accessibility preferences:
> 
> interface Preferences {
>     /**
>      * Specifies whether applications should minimize the amount of non-essential animations,
>      * reducing discomfort for users who experience motion sickness or vertigo.
>      * <p>
>      * If the platform does not report this preference, this property defaults to {@code false}.
>      *
>      * @return the {@code reducedMotion} property
>      * @defaultValue {@code false}
>      * @since 24
>      */
>     ReadOnlyBooleanProperty reducedMotionProperty();
> 
>     /**
>      * Specifies whether applications should minimize the amount of transparent or translucent
>      * layer effects, which can help to increase contrast and readability for some users.
>      * <p>
>      * If the platform does not report this preference, this property defaults to {@code false}.
>      *
>      * @return the {@code reducedTransparency} property
>      * @defaultValue {@code false}
>      * @since 24
>      */
>     ReadOnlyBooleanProperty reducedTransparencyProperty();
> 
>     ...
> }
> 
> 
> On Windows, these preferences correspond to "Transparency effects" and "Animation effects" in the system settings:
> <img src="https://github.com/user-attachments/assets/b286850d-ebbc-444c-9c09-5380f97d0e91" width="400" >
> 
> On macOS, these preferences correspond to "Reduce motion" and "Reduce transparency" in the system settings:
> <img src="https://github.com/user-attachments/assets/4c7b92f8-0cd9-4d1f-91df-40cb449f91ff" width="400" >
> 
> On Linux, the `reducedMotion` preference corresponds to `gtk-enable-animations`. On my Ubuntu 24.04 system, GTK3 does not pick up the "Settings / Accessibility / Reduce Animations" system setting, and therefore GTK always reports `gtk-enable-animations == true`. Changing the preference requires manually editing `etc/gtk-3.0/settings.ini`. The `reducedTransparency` preference has no corresponding GTK setting.

This pull request has now been integrated.

Changeset: 076b4018
Author:    Michael Strauß <mstrauss at openjdk.org>
URL:       https://git.openjdk.org/jfx/commit/076b4018de1a6fd659778b77d66d2478def315a3
Stats:     432 lines in 19 files changed: 323 ins; 36 del; 73 mod

8341514: Add reducedMotion and reducedTransparency preferences

Reviewed-by: kcr, angorya

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

PR: https://git.openjdk.org/jfx/pull/1592


More information about the openjfx-dev mailing list