From ade9759cae74ca262b988260250bcb202235e811 Mon Sep 17 00:00:00 2001 From: Martin Trapp <94928215+martrapp@users.noreply.github.com> Date: Mon, 26 Feb 2024 17:04:57 +0100 Subject: [PATCH] Warn when view transitions run on a prefer-reduced-motion device (#10222) * Warn when view transitions run on a prefere-reduced-motion device * ViewTransitions.astro aktualisieren Co-authored-by: Emanuele Stoppa --------- Co-authored-by: Emanuele Stoppa --- .changeset/wicked-eyes-prove.md | 5 +++++ packages/astro/components/ViewTransitions.astro | 3 +++ 2 files changed, 8 insertions(+) create mode 100644 .changeset/wicked-eyes-prove.md diff --git a/.changeset/wicked-eyes-prove.md b/.changeset/wicked-eyes-prove.md new file mode 100644 index 0000000000..4e907e00f3 --- /dev/null +++ b/.changeset/wicked-eyes-prove.md @@ -0,0 +1,5 @@ +--- +"astro": patch +--- + +Adds a warning in DEV mode when using view transitions on a device with prefer-reduced-motion enabled. diff --git a/packages/astro/components/ViewTransitions.astro b/packages/astro/components/ViewTransitions.astro index bf372f15cd..97bf62096a 100644 --- a/packages/astro/components/ViewTransitions.astro +++ b/packages/astro/components/ViewTransitions.astro @@ -51,6 +51,9 @@ const { fallback = 'animate' } = Astro.props; } if (supportsViewTransitions || getFallback() !== 'none') { + if (import.meta.env.DEV && window.matchMedia('(prefers-reduced-motion)').matches) { + console.warn(`[transitions]: all view transition animations, including fallback animation, are disabled as this device has the prefer-reduced-motion setting enabled.`); + } document.addEventListener('click', (ev) => { let link = ev.target; if (ev.composed) {