RFR: 8341514: Add reducedMotion and reducedTransparency preferences
Michael Strauß
mstrauss at openjdk.org
Sat Oct 5 03:50:19 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.
-------------
Commit messages:
- change javadoc
- added reducedMotion and reducedTransparency
Changes: https://git.openjdk.org/jfx/pull/1592/files
Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=1592&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8341514
Stats: 403 lines in 19 files changed: 325 ins; 3 del; 75 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