Normen · WCAG 2.2

SC 2.2.5 Niveau AAA WCAG 2.0

Opnieuw authenticeren

Wanneer een geverifieerde sessie verloopt, moet de gebruiker verder kunnen gaan zonder verlies van reeds ingevoerde gegevens. De sessie eindigt, maar het lopende werk niet.

Wat het vereist

Als een geverifieerde sessie midden in een taak verloopt, moet de gebruiker opnieuw kunnen authenticeren en de activiteit hervatten zonder verlies van ingevoerde gegevens. Formuliervelden blijven ingevuld, de winkelwagen blijft gevuld, de halfgeschreven reactie blijft staan.

Hoe hieraan te voldoen

  • Sla de toestand van het formulier bij elke betekenisvolle wijziging op de server op (of in lokale opslag met een herstelprompt), niet uitsluitend bij het verzenden.
  • Stuur bij het verlopen van een sessie een 401 terug naar de API-aanroep maar houd de gebruiker op dezelfde pagina; toon een inlog­prompt op de pagina zelf in plaats van een volledige omleiding.
  • Herspeel na succesvolle her­authenticatie de oorspronkelijke actie met de oorspronkelijke payload. De gebruiker dient het te ervaren alsof er geen onderbreking heeft plaatsgevonden.
  • Registreer de voortgang van meerstappenflows op de server, gekoppeld aan het gebruikersaccount, niet aan het sessietoken.

Veelvoorkomende fouten

  • Overboeking­flows bij banken waarbij het verlopen van de sessie de gebruiker terugstuurt naar het inlogscherm en het deels ingevulde overboekingsformulier verdwenen is.
  • Reactiesystemen waarbij een lange reactie verloren gaat bij een her-auth-omleiding — gangbaar op Reddit, nieuwssites en forums.
  • Meerstappige overheidsformulieren die alle ingevoerde gegevens verliezen bij het verlopen van de sessie, waardoor opnieuw moet worden begonnen vanaf pagina één.
  • Checkout­flows waarbij de winkelwagen bewaard blijft maar verzend- en betaalgegevens opnieuw moeten worden ingevoerd.

Waarom het belangrijk is

Dit criterium gaat over het respecteren van het werk van de gebruiker. Een lang formulier opnieuw invullen is hinderlijk voor elke gebruiker; voor iemand die een schermlezer, spraakbediening of een schakelaar­apparaat gebruikt, kan dit nog eens twintig tot veertig minuten extra werk betekenen — en is dit vaak de reden om op te geven. De meeste commerciële sites voldoen hier nog niet aan, maar cloud­productiviteits­toepassingen (Google Docs, Office 365, moderne bankiersapps) hebben dit grotendeels opgelost via automatisch opslaan gecombineerd met her­authenticatie op de achtergrond.