RFR: 8341514: Add reducedMotion and reducedTransparency preferences [v4]
Michael Strauß
mstrauss at openjdk.org
Wed Oct 9 05:38:36 UTC 2024
> 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.
Michael Strauß has updated the pull request incrementally with one additional commit since the last revision:
fix deferred property notification
-------------
Changes:
- all: https://git.openjdk.org/jfx/pull/1592/files
- new: https://git.openjdk.org/jfx/pull/1592/files/8b178268..2b545aaf
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jfx&pr=1592&range=03
- incr: https://webrevs.openjdk.org/?repo=jfx&pr=1592&range=02-03
Stats: 70 lines in 2 files changed: 9 ins; 43 del; 18 mod
Patch: https://git.openjdk.org/jfx/pull/1592.diff
Fetch: git fetch https://git.openjdk.org/jfx.git pull/1592/head:pull/1592
PR: https://git.openjdk.org/jfx/pull/1592
More information about the openjfx-dev
mailing list