Feedback
Fortryd-handling
Fortryd-mønstret lader en handling ske med det samme og tilbyder et kort vindue til at rulle den tilbage — i stedet for at afbryde brugeren med en »Er du sikker?«-dialog. Det er en konkret udmøntning af Nielsens heuristik om brugerkontrol og frihed. Her er, hvornår undo slår bekræftelse, og hvordan det gøres tilgængeligt.
Definition
Fortryd-mønstret udfører handlingen straks og giver et tidsvindue til at rulle den tilbage, fremfor en “er du sikker?”-dialog.
Hvorfor det virker
En tydeligt markeret nødudgang giver kontrol og reducerer angst. Nielsens heuristik #3 kræver netop, at brugere, der vælger noget ved en fejl, har en klar »emergency exit« — og at systemet understøtter undo og redo.1
Advarsler holder ikke i længden på grund af tilvænning: jo mere påtrængende en advarsel er, jo hurtigere vil vi klikke den væk — og desto flere fejl laver vi. Undo accepterer, at fejl sker, i stedet for at prøve at forhindre dem med dialoger.2
Bekræftelsesdialoger mister effekt ved overforbrug: råber man ulven for tit, holder folk op med at lytte, og en indholdsløs »Er du sikker?« giver ingen reel beskyttelse — kun irritation.3
Undo er sikkerhedsnettet, der fanger de fejl, selv den bedste bekræftelsesdialog ikke fanger — derfor anbefaler NN/g at gøre meget for at tilbyde fortryd.3
Hvornår du bruger det — og hvornår ikke
Hvornår du bruger det
- Handlingen er nem at rulle tilbage (slet, arkivér).
- Bekræftelses-dialoger ville afbryde et hurtigt flow.
- Et kort undo-vindue er nok til at fange fejl.
Hvornår du bør undgå det
- Handlingen er uigenkaldelig eller sikkerhedskritisk.
- Konsekvensen er så stor, at bevidst bekræftelse er bedre.
Best practices
Foretræk undo frem for bekræftelse ved reversible handlinger
Kan handlingen let omgøres — fx gendanne et slettet element fra papirkurven — er en simpel »Fortryd«-toast som regel nok.3
Behold bekræftelse kun til reelt destruktive handlinger
Brug en bekræftelsesdialog før handlinger med alvorlige konsekvenser — særligt dem, der ikke kan fortrydes.3
Giv brugeren tilstrækkelig tid til at reagere
Fortryd-vinduet skal være langt nok til at nå at læse og handle. WCAG 2.2.1 (niveau A) kræver, at tidsgrænser kan slås fra, justeres eller forlænges.5
Gør undo synligt OG annonceret for hjælpeteknologi
Læg toasten i et live-område (fx role="status"), så skærmlæsere annoncerer den. Vær opmærksom på, at en flygtig toast kan være svær at nå i tide.6
Lad fortryd også findes uden for toasten
Er en handling vigtig, bør den ikke kun ligge i en forsvindende toast — gør undo tilgængelig et blivende sted (papirkurv, Ctrl+Z, handlingshistorik).6
Understøt Ctrl+Z, hvor det giver mening
I redigerings- og indtastningsflows forventer brugere at kunne fortryde og gentage — gerne i flere trin efter hinanden.1
Tilbyd et passende, gerne konfigurerbart tidsvindue
Gmails »Fortryd send« lader brugeren vælge en annulleringsperiode på 5, 10, 20 eller 30 sekunder — et konkret eksempel på at give nok tid.4
Typiske fejl
Bekræftelses-overforbrug
»Er du sikker?« på alt fører til refleksmæssig afvisning og fjerner reel beskyttelse.
For kort fortryd-vindue
Toasten forsvinder, før langsomme læsere eller skærmlæser-brugere når at finde og aktivere »Fortryd«.
Toast-kun undo uden alternativ
Vigtige handlinger placeret udelukkende i en flygtig toast er utilgængelige for mange — de bør også findes i dokumentet.
Toast uden live-område
Annonceres toasten ikke programmatisk, opdager skærmlæser-brugere den aldrig.
Uklar fokushåndtering på undo-knappen
Brugeren skal gætte, at »Fortryd« er handlingsbar, og nå den før den forsvinder.
Eksempler i praksis
Gmail »Fortryd send«
Efter afsendelse vises »Message sent« med »Undo«; brugeren kan indstille annulleringsperioden til 5, 10, 20 eller 30 sekunder. Startede som en Labs-funktion og er nu standard.
Kladde ved fortrudt lukning
NN/g fremhæver mønstret, hvor et påbegyndt opslag ved lukning tilbyder at slette eller gemme som kladde, så arbejde ikke tabes utilsigtet.
Ofte stillede spørgsmål
Hvornår skal jeg bruge fortryd frem for en bekræftelsesdialog?
Brug fortryd, når handlingen er let at omgøre — fx sletning, der kan gendannes fra en papirkurv. En simpel »Fortryd«-toast er som regel nok, og du undgår at afbryde brugeren unødigt.
Hvornår er en bekræftelsesdialog stadig det rigtige?
Ved alvorlige eller uigenkaldelige konsekvenser — når arbejde ødelægges permanent eller store beløb er på spil, og handlingen ikke kan fortrydes.
Hvor længe skal fortryd-vinduet være?
Langt nok til, at brugeren kan nå at læse beskeden og reagere. Der er ikke ét universelt tal, men tilgængelighedskrav (WCAG 2.2.1) peger på, at tidsgrænser bør kunne forlænges eller slås fra, og Gmail tilbyder fx op til 30 sekunder.
Er en toast med »Fortryd« tilgængelig for skærmlæser-brugere?
Ikke automatisk. Toasten bør lægges i et live-område (fx role="status"), og fordi den forsvinder af sig selv, kan det være svært at nå knappen i tide. Derfor bør fortryd også findes et blivende sted, fx en papirkurv eller Ctrl+Z.
Er advarsler ikke sikrere end fortryd?
Ofte nej. Bruges de for tit, klikker folk dem refleksmæssigt væk, og så yder de ingen reel beskyttelse. Fortryd fanger de fejl, der alligevel slipper igennem.
Bør jeg understøtte Ctrl+Z?
Ja, hvor det giver mening — især i redigerings- og indtastningsflows forventer brugere at kunne fortryde og gentage handlinger, gerne i flere trin.