From adf14795071c7ecdecd91c99e3c1015782fad8cd Mon Sep 17 00:00:00 2001 From: BrunooMoniz Date: Sat, 18 Jul 2026 03:24:04 +0000 Subject: [PATCH] fix(a11y): honour reduced-motion on the thinking timer + name the send button The live "Thinking..." elapsed timer drove itself with a self-perpetuating requestAnimationFrame that rewrote the header text ~60x/second for the whole thinking duration and ignored prefers-reduced-motion. Replace it with a matchMedia-gated setInterval (reduced-motion => 1Hz whole seconds; coarse pointer => 250ms; fine pointer => 100ms). The tick self-clears when the timer element is gone, and the explicit teardown sites clear the interval instead of cancelling an animation frame. No visual change at the default motion setting. The icon-only send/stop button keeps its accessible name in `title`, synced per mode (Send message / Stop generation / Queue message), but `title` alone is not reliably announced by iOS VoiceOver on a