Rückgängig-Aktion: Barrierefreiheitsvertrag
Definiert eine Rückgängig-Funktion, die wahrnehmbar ist, ohne den Fokus zu stehlen, per Tastatur und unterstützender Technologie bedienbar ist und wahrheitsgemäß über die rückgängig zu machende Aktion und deren Ablauf informiert.
Paketstatus: Referenzkontext bereit zur menschlichen Überprüfung. Der Vertrag und die Testszenarien sind abgeschlossen, es wird jedoch nicht behauptet, dass eine übernehmende Implementierung diese bestanden hat.
Entscheidung
Die Änderung sofort anwenden und dann eine Statusmeldung für eine einzelne Rückgängig-Aktion für ein konfigurierbares Zeitfenster anzeigen. Fokus erhalten, prägnanten Statustext ansagen und einen nicht zeitlich begrenzten Wiederherstellungspfad bereitstellen, wenn ein Verlust schwerwiegend wäre.
Umfang
- Fokus, Tastaturaktivierung, Live-Region-Ansagen, Ablauf, wiederholte Aktionen und Wiederherstellung.
- Rückgängig für eine abgeschlossene Benutzeraktion mit dauerhafter Operations-ID.
- Visuelles und assistive-Technologie-Verhalten der Statusmeldung.
Außerhalb dieses Blocks
- Bestätigung bei irreversiblen, hochwirksamen Aktionen ersetzen.
- Eine allgemeine Befehlsverlauf-Architektur oder kollaboratives Zurückrollen.
Vertrag
- Das Abschließen der Aktion verschiebt den Tastaturfokus nicht zur Statusmeldung.
- Eine höfliche Statusansage nennt einmalig das Ergebnis und die verfügbare Rückgängig-Aktion; Countdown-Ticks werden nicht angesagt.
- Rückgängig ist ein nativer Button in der Tab-Reihenfolge und hat einen zugänglichen Namen, der die Aktion bei Mehrdeutigkeit identifiziert.
- Die Aktivierung ist idempotent und zielt auf die exakte Operations-ID, nicht einfach auf den zuletzt passenden Eintrag.
- Ablauf entfernt oder deaktiviert die Aktion konsistent; assistive Technologie erhält eine prägnante Ablauf-/Ergebnisaktualisierung.
- Wiederholte Aktionen bleiben einzeln zuordenbar oder werden bewusst mit einer dokumentierten Regel zusammengefasst.
Implementierungshinweise
- Verwenden Sie eine persistente Operations-ID, die von der Mutation zurückgegeben wird, und senden Sie diese mit Rückgängig.
- Halten Sie die Live-Region montiert, damit Ansagen zuverlässig sind; aktualisieren Sie ihren Text, anstatt den Knoten neu zu erstellen.
- Pausieren Sie den visuellen Ablauf, wenn es die Produktpolitik erfordert, oder bieten Sie eine Aktivitäts-/Verlauf-Wiederherstellungsroute für folgenschwere Änderungen an.
- Testen Sie ausschließlich mit Tastatur, gängigen Screenreadern, reduziertem Bewegungseffekt und hoher Zoomstufe.
Fehlerbehandlung und Schutzmaßnahmen
- Wenn Rückgängig mit einer späteren Bearbeitung in Konflikt steht, überschreiben Sie den späteren Zustand nicht; geben Sie einen erklärenden Konflikt und eine Wiederherstellungsroute zurück.
- Wenn die Rückgängig-Anfrage abläuft, bleibt der Status unsicher, bis die Operationsermittlung dies auflöst.
- Wenn die Aktion bereits rückgängig gemacht wurde, geben Sie denselben erfolgreichen Endzustand zurück.
Verifikation und Betrieb
- Verfolgen Sie Rückgängig-Versuche, Erfolg, Ablauf, Konflikte und doppelte Aktivierung.
- Überprüfen Sie Fokusposition und Live-Region-Ausgabe in automatisierten Barrierefreiheitstests sowie manueller assistiver Technologie-Überprüfung.
- Überprüfen Sie das Zeitfenster anhand beobachteter Abschluss- und Wiederherstellungsbedarfe, nicht anhand eines fest kodierten universellen Werts.
Die ausführbar aussehenden Beispiele in diesem Paket sind Fixtures und Akzeptanzverträge. Führen Sie
python tools/validate.py aus dem Wurzelverzeichnis der Sammlung aus, um Paketstruktur und Metadaten zu prüfen; implementieren und führen Sie dann die Szenarien im Ziel-Repository aus.
Annahmen zur Übernahme
- Namen und numerische Werte in
example.yamlsind ein Übernahmeprofil, keine universellen Standardwerte. - Das übernehmende Team muss Akteure, Datenklassen, Fehlervokabular und Eigentum auf sein System abbilden.