mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-14 22:50:51 +00:00
fix(a11y): keyboard-reachable admin log rows, range-bar marker, heatmap cells
Admin app-log rows opened their JSON detail dialog through a click-only <tr> with no keyboard path; the Action cell now wraps a real <button> that carries the same handler plus a descriptive aria-label, leaving the row onClick as a pointer convenience. The target range-bar's current-value marker showed value + band only in a hover-only tooltip on a non-focusable div. It is now focusable (tabIndex, role=img) with an aria-label that reuses the same value / range / delta copy the tooltip already renders, so focus opens the tooltip and a screen reader gets the text alternative either way. Mood and medication-compliance heatmap day cells were pointer-only SVG rects. Each cell is now focusable with its own per-day aria-label (reusing the existing tooltip copy), and Escape dismisses any open tooltip — pinned (touch) or focus-shown. Reference: 2026-07-17 a11y audit, H1 + M1 + M2.
This commit is contained in:
1 parent
247bc4f33c
commit
4c436d7dfc
15 files changed
+243
-27
No files matched your search
@@ -6056,6 +6056,7 @@
|
||||
"colAction": "Aktion",
|
||||
"colDuration": "Dauer",
|
||||
"colTraceId": "Trace",
|
||||
"viewDetails": "Details anzeigen für {action} um {timestamp}",
|
||||
"showing": "{count} von bis zu {bufferMax} gepufferten Events angezeigt",
|
||||
"empty": "Puffer ist leer",
|
||||
"emptyDescription": "Es passen noch keine Events zu den Filtern. Nach etwas Traffic auf Aktualisieren tippen.",
|
||||
|
||||
@@ -6056,6 +6056,7 @@
|
||||
"colAction": "Action",
|
||||
"colDuration": "Duration",
|
||||
"colTraceId": "Trace",
|
||||
"viewDetails": "View details for {action} at {timestamp}",
|
||||
"showing": "Showing {count} of up to {bufferMax} buffered events",
|
||||
"empty": "Buffer is empty",
|
||||
"emptyDescription": "No events match the current filters yet. Hit refresh after triggering some traffic.",
|
||||
|
||||
@@ -6056,6 +6056,7 @@
|
||||
"colAction": "Acción",
|
||||
"colDuration": "Duración",
|
||||
"colTraceId": "Trace",
|
||||
"viewDetails": "Ver detalles de {action} a las {timestamp}",
|
||||
"showing": "Mostrando {count} de hasta {bufferMax} eventos en búfer",
|
||||
"empty": "El búfer está vacío",
|
||||
"emptyDescription": "Aún no hay eventos que coincidan con los filtros actuales. Pulsa actualizar tras generar algo de tráfico.",
|
||||
|
||||
@@ -6056,6 +6056,7 @@
|
||||
"colAction": "Action",
|
||||
"colDuration": "Durée",
|
||||
"colTraceId": "Trace",
|
||||
"viewDetails": "Voir les détails de {action} à {timestamp}",
|
||||
"showing": "Affichage de {count} sur jusqu'à {bufferMax} événements en mémoire tampon",
|
||||
"empty": "Le tampon est vide",
|
||||
"emptyDescription": "Aucun événement ne correspond encore aux filtres actuels. Cliquez sur Actualiser après avoir généré du trafic.",
|
||||
|
||||
@@ -6056,6 +6056,7 @@
|
||||
"colAction": "Azione",
|
||||
"colDuration": "Durata",
|
||||
"colTraceId": "Trace",
|
||||
"viewDetails": "Visualizza i dettagli di {action} alle {timestamp}",
|
||||
"showing": "Visualizzati {count} di un massimo di {bufferMax} eventi nel buffer",
|
||||
"empty": "Il buffer è vuoto",
|
||||
"emptyDescription": "Nessun evento corrisponde ancora ai filtri attuali. Premi Aggiorna dopo aver generato un po' di traffico.",
|
||||
|
||||
@@ -6056,6 +6056,7 @@
|
||||
"colAction": "Akcja",
|
||||
"colDuration": "Czas trwania",
|
||||
"colTraceId": "Trace",
|
||||
"viewDetails": "Zobacz szczegóły dla {action} o {timestamp}",
|
||||
"showing": "Wyświetlono {count} z maksymalnie {bufferMax} buforowanych zdarzeń",
|
||||
"empty": "Bufor jest pusty",
|
||||
"emptyDescription": "Żadne zdarzenie nie pasuje jeszcze do bieżących filtrów. Kliknij Odśwież po wygenerowaniu ruchu.",
|
||||
|
||||
Reference in new issue
Block a user