From c2a5b8f0abd2fb5d20efff10dba3a9c39bcb3acc Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Mon, 24 Aug 2026 17:19:32 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20Palette:=20[UX=20improvement]=20?= =?UTF-8?q?Ajouter=20des=20libell=C3=A9s=20ARIA=20et=20des=20styles=20de?= =?UTF-8?q?=20focus=20aux=20boutons=20du=20traceur=20de=20session?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 💡 What: Ajout de `aria-label` et de styles `focus-visible` au bouton de pause et au lien de déconnexion du composant DashForgeTracker. 🎯 Why: Améliorer l'accessibilité pour les lecteurs d'écran (boutons avec icône uniquement) et pour la navigation au clavier. 📸 Before/After: Les boutons n'avaient pas de nom accessible ni d'indicateur visuel clair lors du focus clavier. Maintenant, ils annoncent leur fonction et affichent un anneau de focus. ♿ Accessibility: Ajout de labels ARIA descriptifs en français et de styles de focus compatibles avec le fond sombre. Co-authored-by: bobdivx <6737167+bobdivx@users.noreply.github.com> --- src/components/dashboard/DashForgeTracker.tsx | 145 ++++++++++-------- 1 file changed, 85 insertions(+), 60 deletions(-) diff --git a/src/components/dashboard/DashForgeTracker.tsx b/src/components/dashboard/DashForgeTracker.tsx index 41b021a1..46a70526 100644 --- a/src/components/dashboard/DashForgeTracker.tsx +++ b/src/components/dashboard/DashForgeTracker.tsx @@ -1,60 +1,85 @@ -import { useState, useEffect } from 'preact/hooks'; - -export default function DashForgeTracker() { - const [now, setNow] = useState(new Date()); - const [startTime] = useState(new Date()); - - useEffect(() => { - const t = setInterval(() => setNow(new Date()), 1000); - return () => clearInterval(t); - }, []); - - const elapsed = Math.floor((now.getTime() - startTime.getTime()) / 1000); - const pad = (n: number) => String(n).padStart(2, '0'); - const hh = pad(Math.floor(elapsed / 3600)); - const mm = pad(Math.floor((elapsed % 3600) / 60)); - const ss = pad(elapsed % 60); - - return ( -