4️⃣ 3.2.5 - Änderung auf Anfrage
AAA 2.1
Umsetzung, Design
Ziel
Benutzern vollständige Kontrolle über wesentliche Inhaltsänderungen bieten, sodass Kontextänderungen nur auf deren Anforderung hin oder über deaktivierbare Mechanismen erfolgen.
Beschreibung
- Kontextänderungen dürfen nur initiiert werden, wenn der Benutzer dies wünscht.
- Vermeidung automatischer Umleitungen, unerwarteter Pop-ups oder automatischer Formularübermittlungen ohne Benutzeraktion.
- Bereitstellung eines Mechanismus, um automatische Kontextänderungen zu deaktivieren.
- Unterstützung barrierefreier Interaktionen, insbesondere für Personen mit motorischen, kognitiven oder visuellen Einschränkungen.
Anforderungen
- Klar erkennbare Schaltflächen für Updates oder Navigation anbieten.
- Hinweise bereitstellen, wenn ein Link ein neues Fenster oder Tab öffnet.
- Benutzerfreundliche Steuerungen für die (De-)Aktivierung von automatischen Funktionen integrieren.
- Keine automatischen Weiterleitungen ohne serverseitige Lösung.
- Vermeidung von JavaScript-Ereignissen wie
onchange, die automatische Kontextwechsel auslösen. - Nutzung von
target-Attributen nur mit entsprechender Benutzerkennzeichnung. - Einsatz serverseitiger Weiterleitungen (z. B. HTTP 301/302) statt clientseitiger
meta refresh.
- Klare Hinweise im Linktext, wenn Aktionen wie das Öffnen eines neuen Fensters erfolgen.
- Bereitstellung verständlicher Formulierungen für Benutzersteuerungen.
- Kontextbezogene Hilfetexte zu möglichen Auswirkungen bei Inhaltsänderungen anbieten.
- Überprüfung auf unerwünschte automatische Weiterleitungen oder Kontextwechsel.
- Test auf Funktionsfähigkeit der bereitgestellten Steuermechanismen zur Deaktivierung von Änderungen.
- Sicherstellen, dass alle interaktiven Elemente ohne Kontextwechsel durch Tastaturnavigation erreichbar sind.
Code-Beispiele
Deaktivierbare automatische Aktualisierung:
<button id="refresh-btn">Jetzt aktualisieren</button><div id="content">Inhalt wird hier angezeigt.</div>
<script> document.getElementById('refresh-btn').addEventListener('click', function() { // Beispiel für manuell ausgelöste Inhaltsaktualisierung document.getElementById('content').innerHTML = 'Aktualisierter Inhalt am ' + new Date().toLocaleTimeString(); });</script>Serverseitige Weiterleitung:
<?php// Serverseitige Weiterleitung (ohne JavaScript oder Meta-Refresh)header("Location: https://example.com/neue-seite.php", true, 302);exit();?>Link mit Hinweis auf neues Fenster:
<a href="https://example.com" target="_blank" rel="noopener noreferrer"> Externer Link (öffnet in neuem Fenster)</a>