Barrierefreiheit und mobile Darstellung
- Kontrast: gedämpfter Text war mit 3,1:1 unter WCAG AA, jetzt 4,9:1 (hell) bzw. 6,4:1 (dunkel) - Sprungmarke „Zum Inhalt springen" in Admin-Shell und Voucher-Seite - aria-label für alle reinen Icon-Schaltflächen (Theme, Menü, Abmelden, Zeilenaktionen), aria-current auf dem aktiven Navigationspunkt, role="group" für den Sprachumschalter - 194 dekorative Icons mit aria-hidden versehen, damit Screenreader sie nicht vorlesen - Toast-Container als aria-live-Bereich ausgezeichnet - prefers-reduced-motion schaltet Animationen und Übergänge ab Tabellen (Benutzer, Vouchers, Profile, Audit-Log, Dashboard, API-Keys) werden unter 720 px zu Karten: die Spaltenüberschrift steht per data-label vor dem Wert, statt horizontal zu scrollen. Datums- und Zeitformat in der Voucher-Liste folgen jetzt der gewählten Sprache statt fest de-DE. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
850a04d628
commit
7f1d93debd
21 changed files with 716 additions and 632 deletions
|
|
@ -27,7 +27,7 @@
|
|||
/* Text */
|
||||
--text-primary: #101625;
|
||||
--text-secondary: #525c6e;
|
||||
--text-muted: #8a93a3;
|
||||
--text-muted: #6b7280;
|
||||
--text-inverse: #ffffff;
|
||||
|
||||
/* Linien */
|
||||
|
|
@ -107,7 +107,7 @@
|
|||
|
||||
--text-primary: #e9ecf3;
|
||||
--text-secondary: #a2abbd;
|
||||
--text-muted: #6f7889;
|
||||
--text-muted: #8a93a6;
|
||||
--text-inverse: #0a0c11;
|
||||
|
||||
--border-color: #232838;
|
||||
|
|
@ -1531,6 +1531,67 @@ input.search-bar, .site-selector .search-bar { min-width: 240px; width: auto; fl
|
|||
.row3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
|
||||
@media (max-width: 720px) { .row, .row3 { grid-template-columns: 1fr; } }
|
||||
|
||||
/* Sprungmarke zum Inhalt (nur bei Tastaturfokus sichtbar) */
|
||||
.skip-link {
|
||||
position: absolute;
|
||||
left: 12px;
|
||||
top: -60px;
|
||||
z-index: 999;
|
||||
padding: 10px 16px;
|
||||
background: var(--bg-card);
|
||||
border: 1px solid var(--accent);
|
||||
border-radius: var(--r-md);
|
||||
box-shadow: var(--shadow-md);
|
||||
color: var(--accent);
|
||||
font-size: 13.5px;
|
||||
font-weight: 600;
|
||||
transition: top .15s;
|
||||
}
|
||||
.skip-link:focus { top: 12px; }
|
||||
|
||||
/* Tabellen, die auf schmalen Geräten zu Karten werden.
|
||||
Die Spaltenüberschrift steht dann als data-label vor dem Wert. */
|
||||
@media (max-width: 720px) {
|
||||
.table-stack thead { display: none; }
|
||||
.table-stack, .table-stack tbody, .table-stack tr, .table-stack td { display: block; width: 100%; }
|
||||
.table-stack tr {
|
||||
margin-bottom: 10px;
|
||||
padding: 6px 14px;
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: var(--r-md);
|
||||
background: var(--bg-card);
|
||||
}
|
||||
.table-stack td {
|
||||
display: flex; align-items: center; justify-content: space-between; gap: 14px;
|
||||
padding: 8px 0;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
text-align: right;
|
||||
}
|
||||
.table-stack tr td:last-child { border-bottom: none; }
|
||||
.table-stack td::before {
|
||||
content: attr(data-label);
|
||||
flex-shrink: 0;
|
||||
color: var(--text-muted);
|
||||
font-size: 11.5px;
|
||||
font-weight: 620;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: .04em;
|
||||
text-align: left;
|
||||
}
|
||||
.table-stack td:not([data-label])::before { content: ''; }
|
||||
.table-stack .details-cell, .table-stack .voucher-note { max-width: none; white-space: normal; }
|
||||
}
|
||||
|
||||
/* Nutzer, die Bewegung reduzieren möchten, bekommen keine Animationen. */
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
*, *::before, *::after {
|
||||
animation-duration: .001ms !important;
|
||||
animation-iteration-count: 1 !important;
|
||||
transition-duration: .001ms !important;
|
||||
scroll-behavior: auto !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* =========================================================================
|
||||
13. RESPONSIVE
|
||||
========================================================================= */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue