Bedienung & Interaktion · Zeitlimits

Zeitlimits anpassbar machen: Session-Timeouts, Countdowns und WCAG 2.2.1

Die Sitzung läuft ab, die Seite leitet automatisch weiter, der Warenkorb verfällt nach zwei Minuten: Zeitlimits setzen Menschen unter Druck, die zum Lesen, Verstehen oder Tippen mehr Zeit brauchen. Das Erfolgskriterium 2.2.1 „Zeiteinteilung anpassbar"(Stufe A) verlangt deshalb für jedes Zeitlimit einen Ausweg: abschalten, anpassen oder verlängern. Diese Seite erklärt die drei Wege, die drei Ausnahmen und zeigt, wie du Session-Timeouts und Weiterleitungen konform baust.

  • 10 Minuten Lesezeit
  • Stand: Juni 2026

Wo überall Zeitlimits stecken

Ein Zeitlimit im Sinn von WCAG ist jeder Prozess, der ohne Zutun der Nutzer:innen nach einer bestimmten Zeit oder in festen Abständen passiert: ein Logout nach Inaktivität, eine Seite, die sich selbst neu lädt, ein Eingabefenster, das sich schließt, und auch Inhalte, die schneller weiterziehen, als manche Menschen lesen können. Das Kriterium betrifft also weit mehr als den klassischen Session-Timeout.

Wichtig für die Einordnung: 2.2.1 gilt nur für Zeitlimits, die vom Inhalt selbst gesetzt werden, also von deiner Website oder deinem Server. Zeitgrenzen, die der Browser oder die Infrastruktur des Internets vorgibt, liegen außerhalb deiner Verantwortung.

Vier typische Arten von Zeitlimits auf Websites Wissens-Karte mit vier Feldern. Erstens Sitzungs-Timeout: automatischer Logout nach Inaktivität, zum Beispiel im Online-Banking oder in Formularen. Zweitens automatische Weiterleitung oder Neuladen: die Seite wechselt oder aktualisiert sich von selbst. Drittens Eingabe-Countdown: ein Zeitfenster für eine Aktion läuft sichtbar oder unsichtbar ab, zum Beispiel beim Ticketkauf. Viertens bewegte Inhalte: Ticker, Karussells und verschwindende Hinweise begrenzen die Lesezeit. Alle vier brauchen nach WCAG 2.2.1 einen Ausweg: abschalten, anpassen oder verlängern. Vier Arten von Zeitlimits Sitzungs-Timeout Automatischer Logout nach Inaktivität, z. B. Banking, Formulare Weiterleitung / Neuladen Die Seite wechselt oder aktualisiert sich von selbst Eingabe-Countdown Zeitfenster für eine Aktion, z. B. Ticketkauf, Quiz, Bezahlung Bewegte Inhalte Ticker, Karussells und Hinweise, die die Lesezeit begrenzen Für jedes dieser Limits verlangt WCAG 2.2.1 mindestens einen Ausweg: abschalten, anpassen oder verlängern
Wissens-Karte: Sitzungs-Timeouts, automatische Weiterleitungen, Eingabe-Countdowns und bewegte Inhalte sind die vier häufigsten Zeitlimits auf Websites.

Drei Wege, drei Ausnahmen: was WCAG 2.2.1 verlangt

Das Erfolgskriterium 2.2.1 „Zeiteinteilung anpassbar"(englisch Timing Adjustable , Stufe A) gehört seit WCAG 2.0 zum Standard und damit auch zu allen Regelwerken, die darauf aufbauen, von der BITV bis zur EN 301 549. Es verlangt: Für jedes vom Inhalt gesetzte Zeitlimit muss mindestens eine von sechs Bedingungen erfüllt sein, drei Lösungswege oder drei Ausnahmen.

Wissens-Karte: Die sechs Bedingungen von WCAG 2.2.1 (eine genügt)
Bedingung Was sie bedeutet
Abschalten Nutzer:innen können das Zeitlimit ausschalten, bevor sie ihm begegnen, z. B. per Checkbox am Anfang eines Formulars.
Anpassen Nutzer:innen können das Limit vorab verlängern, auf mindestens das 10-Fache der Voreinstellung.
Verlängern Vor Ablauf erscheint eine Warnung mit mindestens 20 Sekunden Reaktionszeit; eine einfache Aktion (z. B. Tastendruck oder Klick) verlängert, mindestens 10-mal möglich.
Ausnahme: Echtzeit Das Limit ist Teil eines Echtzeit-Ereignisses, etwa einer Auktion, und ohne Alternative möglich.
Ausnahme: Essenziell Eine Verlängerung würde die Aktivität entwerten, etwa bei einem zeitbasierten Test.
Ausnahme: 20 Stunden Das Limit ist länger als 20 Stunden.

Das W3C nennt die drei Lösungswege bewusst in dieser Reihenfolge: Abschalten ist besser als Anpassen, Anpassen ist besser als Verlängern. Wer das Limit gar nicht erst erlebt, kann auch nicht daran scheitern. In der Praxis ist der Verlängern-Dialog trotzdem der häufigste Weg, weil er sich mit Sicherheitsanforderungen am besten verträgt.

Warum 10-mal, 20 Sekunden, 20 Stunden?

Die Zahlen im Kriterium wirken willkürlich, sind aber laut dem Understanding-Dokument des W3C aus klinischer Erfahrung und bestehenden Richtlinien abgeleitet. Sie markieren die Schwelle, ab der fast alle Menschen eine Aufgabe schaffen:

Die drei Zahlen des Kriteriums und ihre Begründung
Wert Begründung laut W3C
10-faches Limit Wer für eine Reaktion statt 15 Sekunden 150 Sekunden bekommt, schafft sie fast immer, auch mit stark verlangsamter Motorik.
20 Sekunden Reaktionszeit 20 Sekunden für „beliebige Taste drücken" genügen fast allen Menschen, auch mit eingeschränkter Bewegung. Zugleich bleibt das Fenster kurz genug, um z. B. an Bezahl-Terminals niemanden zu gefährden, der sich nicht abmeldet.
20 Stunden Obergrenze Länger als ein voller Wachtag: Wer 20 Stunden Zeit hat, wird durch das Limit praktisch nicht mehr eingeschränkt.

Session-Timeouts richtig lösen

Der Klassiker ist die Sitzung, die nach Inaktivität abläuft, etwa zum Schutz vor fremden Blicken am offenen Rechner. Solche Timeouts sind erlaubt, brauchen aber einen der drei Lösungswege. Das bewährte Muster kombiniert die W3C-Techniken SCR16 und SCR1: rechtzeitig warnen, einfach verlängern lassen.

session-timeout.js · Warnen und verlängern (SCR16 + SCR1)

 // Sitzung: 20 Minuten. Warnung: 2 Minuten vor Ablauf. 
 // Damit bleiben weit mehr als die geforderten 20 Sekunden Reaktionszeit. 
const SITZUNG = 20 * 60 * 1000;
const VORLAUF = 2 * 60 * 1000;
let warnTimer = setTimeout(zeigeWarnung, SITZUNG - VORLAUF);
function zeigeWarnung() { // Modaler Dialog: „Deine Sitzung läuft in 2 Minuten ab." 
 // Fokus in den Dialog setzen, damit auch Screenreader ihn melden. 
dialog.showModal();
} // Eine einfache Aktion verlängert, bis zu 10-mal (Zähler führen): 
verlaengernButton.addEventListener('click', () => {
  dialog.close();
  sitzungVerlaengern(); // Server-Session erneuern, Formulardaten erhalten 
warnTimer = setTimeout(zeigeWarnung, SITZUNG - VORLAUF);
});

Drei Details entscheiden über die Konformität: Die Warnung muss vor dem Ablauf kommen, die Verlängerung muss eine einfache Aktion sein (ein Klick, ein Tastendruck, keine erneute Anmeldung), und sie muss mindestens 10-mal möglich sein. Ergänzend kannst du nach Technik G133 schon am Formularanfang eine Checkbox anbieten („Ich brauche mehr Zeit"), oder das Limit nach G198 ganz abschaltbar machen.

Meta-Refresh und automatische Weiterleitungen

Ein unterschätzter Stolperstein steckt im HTML-Kopf: das meta http-equiv="refresh" . Mit einer Verzögerung größer als null lädt es die Seite neu oder leitet weiter, ohne dass Nutzer:innen eingreifen können. Genau das dokumentiert das W3C als Fehlerfälle F41 (Neuladen) und F40 (zeitverzögerte Weiterleitung). Auch serverseitig erzwungene Weiterleitungen nach einem Timeout ohne Warnung sind ein dokumentierter Fehlerfall (F58).

head.html · Refresh und Weiterleitung im Vergleich

 <!-- ✕ Nicht konform: Seite lädt alle 5 Minuten neu (F41). 
 Screenreader beginnen von vorn, Eingaben gehen verloren. --> 
<meta http-equiv="refresh" content="300"> <!-- ✕ Nicht konform: Weiterleitung nach 20 Sekunden (F40), 
 ein Zeitlimit ohne Ausweg. --> 
<meta http-equiv="refresh" content="20; url=/neue-adresse"> <!-- ✓ Zulässig: sofortige Weiterleitung, kein Zeitlimit. 
 Noch besser: serverseitig per 301-Redirect lösen. --> 
<meta http-equiv="refresh" content="0; url=/neue-adresse">

Die Faustregel: Sofort oder gar nicht. Eine Weiterleitung ohne Verzögerung erzeugt kein Zeitlimit und ist zulässig. Sobald ein Countdown dazwischen liegt („Du wirst in 10 Sekunden weitergeleitet…"), braucht es einen konformen Ausweg, und der ist meist aufwendiger als ein schlichter Link „Weiter zur neuen Seite", den Nutzer:innen selbst anklicken.

Zeitlimits beim Lesen: Ticker, Toasts und die Abgrenzung zu 2.2.2

Auch Inhalte, die sich schneller bewegen oder aktualisieren, als Menschen lesen können, setzen ein Zeitlimit, nämlich auf das Lesen selbst. Hier arbeiten zwei Kriterien Hand in Hand: Wenn die Inhalte sich wiederholen oder über Bedienelemente erreichbar bleiben, etwa bei einem durchlaufenden Ticker oder einem Karussell mit Pause-Taste, greift das Nachbar-Kriterium 2.2.2 „Pausieren, stoppen, ausblenden". Mehr zu bewegten Inhalten findest du im Artikel Bewegung und Animation.

Diese Logik hilft bei vielen Grenzfällen: Entscheidend ist nicht, ob etwas verschwindet, sondern ob damit die einzige Möglichkeit verschwindet, eine Information zu bekommen oder eine Funktion auszuführen.

Zwei Mythen zu Zeitlimits

Mythos 1

„Unser Timeout ist eine Sicherheitsmaßnahme, also von WCAG ausgenommen."

Nein. Auch Zeitlimits aus Sicherheitsgründen werden vom Inhalt gesetzt und fallen unter das Kriterium. Sicherheit ist kein eigener Ausnahmegrund; nur echte Essenziell-Fälle wie ablaufende Einmal-Codes sind ausgenommen. Die gute Nachricht: Warnen und Verlängern verträgt sich bestens mit Sicherheit, denn wer auf die Warnung nicht reagiert, wird trotzdem abgemeldet.

Mythos 2

„Dann dürfen wir gar keine Zeitlimits mehr einsetzen."

Doch. Verlangt wird ein Ausweg, kein Verzicht. Und für Fälle, in denen ein festes Limit zum Wesen der Sache gehört, gibt es die Ausnahmen: Bei einer Auktion wäre eine individuelle Verlängerung unfair gegenüber allen anderen, beim Ticketkauf würde endloses Reservieren das System aushebeln. Selbst dort lässt sich viel entschärfen, etwa indem Name und Zahlungsdaten schon vor dem zeitkritischen Schritt erfasst werden.

Checkliste für Zeitlimits

Zeitdruck trifft nie alle gleich: Was für die einen eine Formalität ist, entscheidet für andere darüber, ob sie ein Formular überhaupt abschließen können. Ein gut gemachter „Mehr Zeit"-Dialog kostet wenig und nimmt genau diesen Druck heraus, auch für alle, die nur kurz vom Bildschirm weg mussten.