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
|
|
@ -61,13 +61,13 @@ $channels = \Updater\UpdateManager::CHANNELS;
|
|||
<div class="wrap">
|
||||
<div class="update-head">
|
||||
<div class="title">
|
||||
<span class="focus-icon"><i class="fas fa-rotate"></i></span>
|
||||
<span class="focus-icon"><i class="fas fa-rotate" aria-hidden="true"></i></span>
|
||||
<div>
|
||||
<h1 style="font-size:20px;">System-Update</h1>
|
||||
<p class="sub">Aktualisierung aus dem gewählten Release-Channel</p>
|
||||
</div>
|
||||
</div>
|
||||
<a href="/admin/" class="btn btn-secondary"><i class="fas fa-arrow-left"></i> Administration</a>
|
||||
<a href="/admin/" class="btn btn-secondary"><i class="fas fa-arrow-left" aria-hidden="true"></i> Administration</a>
|
||||
</div>
|
||||
|
||||
<div class="tabs">
|
||||
|
|
@ -93,8 +93,8 @@ $channels = \Updater\UpdateManager::CHANNELS;
|
|||
|
||||
<div class="card">
|
||||
<h2>Updates</h2>
|
||||
<button class="btn btn-primary" id="btnCheck"><i class="fas fa-magnifying-glass"></i> Auf Updates prüfen</button>
|
||||
<button class="btn btn-success" id="btnInstall" style="display:none;margin-left:8px;"><i class="fas fa-download"></i> Update installieren</button>
|
||||
<button class="btn btn-primary" id="btnCheck"><i class="fas fa-magnifying-glass" aria-hidden="true"></i> Auf Updates prüfen</button>
|
||||
<button class="btn btn-success" id="btnInstall" style="display:none;margin-left:8px;"><i class="fas fa-download" aria-hidden="true"></i> Update installieren</button>
|
||||
|
||||
<div class="changelog" id="changelog"></div>
|
||||
|
||||
|
|
@ -150,7 +150,7 @@ $('channel').addEventListener('change', async (e) => {
|
|||
// Auf Updates pruefen
|
||||
$('btnCheck').addEventListener('click', async () => {
|
||||
clearAlerts();
|
||||
$('btnCheck').disabled = true; $('btnCheck').innerHTML = '<i class="fas fa-circle-notch fa-spin"></i> Prüfe …';
|
||||
$('btnCheck').disabled = true; $('btnCheck').innerHTML = '<i class="fas fa-circle-notch fa-spin" aria-hidden="true"></i> Prüfe …';
|
||||
try {
|
||||
const r = await fetch('update.php?action=check');
|
||||
const d = await r.json();
|
||||
|
|
@ -172,7 +172,7 @@ $('btnCheck').addEventListener('click', async () => {
|
|||
} catch (e) {
|
||||
showAlert('error', 'Prüfung fehlgeschlagen: ' + e.message);
|
||||
} finally {
|
||||
$('btnCheck').disabled = false; $('btnCheck').innerHTML = '<i class="fas fa-magnifying-glass"></i> Auf Updates prüfen';
|
||||
$('btnCheck').disabled = false; $('btnCheck').innerHTML = '<i class="fas fa-magnifying-glass" aria-hidden="true"></i> Auf Updates prüfen';
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue