Web: gzip, 44-px-Tippflächen mobil, Fokusring, Landmarks, größeres Inhaltsverzeichnis

GZipMiddleware (Buchdaten 1–2 MB → ~400 kB), Werkzeugleiste und
Inhaltsverzeichnis mobil mindestens 44 px, :focus-visible, header/main,
Sprunglink, prefers-reduced-motion, Inhaltsverzeichnis 14 px.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
team3
2026-10-05 16:37:56 +02:00
parent 09908b69c6
commit bbae194554
3 changed files with 19 additions and 8 deletions

View File

@@ -102,6 +102,7 @@ function tokens(n) { return n >= 1e6 ? (n / 1e6).toFixed(1) + 'M' : n >= 1e3 ? M
<template>
<div class="app" :class="{ 'tab-buch': tab === 'buch' }">
<a class="skip" href="#inhalt">Zum Inhalt springen</a>
<div v-if="navAuf" class="backdrop" @click="navAuf = false"></div>
<aside class="sidebar" :class="{ offen: navAuf }">
<button class="schliessen sekundaer klein" @click="navAuf = false">✕ Schließen</button>
@@ -122,7 +123,7 @@ function tokens(n) { return n >= 1e6 ? (n / 1e6).toFixed(1) + 'M' : n >= 1e3 ? M
</aside>
<div class="haupt">
<div class="topbar">
<header class="topbar">
<button class="burger sekundaer klein" title="Themen" @click="navAuf = !navAuf">☰</button>
<span class="titel">{{ aktuell?.titel || '' }}</span>
<div class="tabs">
@@ -138,16 +139,16 @@ function tokens(n) { return n >= 1e6 ? (n / 1e6).toFixed(1) + 'M' : n >= 1e3 ? M
<option value="hell">hell</option>
<option value="auto">auto</option>
</select>
</div>
</header>
<div v-if="fehler" class="fehler" @click="fehler = ''">{{ fehler }} — klicken zum Schließen</div>
<div class="inhalt">
<main class="inhalt" id="inhalt" tabindex="-1">
<Lauf v-if="tab === 'lauf' && state" :state="state"
@start="aktion(() => api.start(topic))"
@pause="aktion(() => api.pause(topic))"
@reset="aktion(() => api.reset(topic))" />
<Guide v-else-if="tab === 'buch' && topic" :topic="topic" :laeuft="laeuft" :fortschritt="fortschritt" />
<div v-else style="padding: 24px; color: var(--dim)">Thema links anlegen oder wählen.</div>
</div>
</main>
</div>
</div>
</template>