Mobil

Swipe-handlinger

Swipe-handlinger er handlinger som slet, arkivér eller markér, der ligger skjult på en liste-række i en mobilapp og først vises, når brugeren swiper rækken til siden. Mønstret sparer skærmplads og fremskynder rutineopgaver, men gesten er usynlig, og det er dér, de fleste problemer opstår.

5 min læsning

Definition

Et mobilmønster, hvor en horisontal swipe på et element i en liste afslører en eller flere kontekstuelle handlinger. Gesten er en accelerator for øvede brugere; de samme handlinger bør altid også findes i den synlige brugerflade.

Hvorfor det virker

Fordelen er plads og tempo: handlingerne ligger gemt, indtil de skal bruges, så listen kan vise mere indhold, og en øvet bruger kan slette eller arkivere med én bevægelse. Swipe er her en accelerator, altså en genvej oven på den almindelige brugerflade og ikke en erstatning for den.1

Kernen i problemet er opdagelighed. Nielsen Norman Group finder, at manglende signaler gør det uklart, hvor en kontekstuel swipe overhovedet virker; gesten er ikke brugt konsistent på tværs af apps, og selv brugere, der kender den, husker den ikke af sig selv. Handlinger, der kun er tilgængelige via swipe, bliver derfor aldrig opdaget af mange.1

Der findes én stærk konvention at læne sig op ad. Fordi swipe oprindeligt slettede et element, forventer de fleste, der har lært gesten, at den afslører en destruktiv handling. Bruger man swipe til noget andet, bryder man den forventning og gør handlingen sværere at gætte og at huske.13

Feltet bygger mere på vejledning end på hård statistik. Litteraturen består mest af usability-anbefalinger og tilgængelighedskrav og har få store, offentlige effekt-tal. Begrund derfor mønstret i retningslinjer og test på egne brugere frem for i lånte konverteringstal.

Hvornår du bruger det, og hvornår ikke

Hvornår du bruger det

  • Lange lister med gentagne rutinehandlinger (slet, arkivér, markér som læst), hvor en genvej sparer tid for øvede brugere.
  • Når den primære swipe-handling er destruktiv. Det matcher den udbredte forventning fra "swipe-to-delete".
  • Når du kan tilbyde nøjagtig de samme handlinger et synligt sted, f.eks. i et kontekstmenu-ikon eller på detaljesiden.

Hvornår du bør undgå det

  • Når handlingen er den eneste vej til funktionen. En swipe uden et alternativ, der kan betjenes med et enkelt tryk, fejler WCAG 2.5.1, og brugere, der aldrig opdager gesten, kan ikke bruge funktionen.
  • Til ikke-destruktive eller app-specifikke handlinger, som brugerne ikke gætter sig til, og som konflikter med systemets standard-swipe.

Best practices

  1. Giv altid en synlig vej til de samme handlinger

    Swipe er en genvej for øvede brugere; handlingerne bag den skal også findes i den synlige brugerflade, f.eks. via et kontekstmenu-ikon på rækken eller på detaljesiden. Ellers findes funktionen i praksis ikke for dem, der ikke kender gesten.1

  2. Sørg for et enkelt-peger-alternativ

    WCAG 2.5.1 kræver, at funktioner, der bruger en sti-baseret geste som swipe, også kan betjenes med en enkelt peger uden sti, altså et almindeligt tryk på en knap eller et menupunkt. Uden det er handlingen utilgængelig for brugere, der ikke kan udføre præcise gestus.2

  3. Reservér swipe til destruktive handlinger

    NN/g anbefaler at begrænse kontekstuel swipe til destruktive handlinger, fordi det matcher brugernes indlærte forventning fra swipe-to-delete. Ikke-standard handlinger bliver ikke opdaget.1

  4. Bekræft eller tilbyd fortryd før noget slettes

    Bed om bekræftelse før en destruktiv handling gennemføres, eller udfør den og tilbyd en tydelig fortryd. En swipe er let at udløse ved et uheld, så handlingen må ikke være uigenkaldelig i samme bevægelse.1

  5. Hold indholdet synligt, så brugeren kan se, hvad de rammer

    Når en swipe dækker rækken helt, kan brugeren ikke bekræfte, at de handler på det rigtige element. Vis nok af rækken til, at man kan se, hvad man er ved at slette eller arkivere.1

  6. Vær konsistent og undlad at overbruge gesten

    Lad swipe betyde det samme overalt i appen, og undgå at lægge for mange forskellige swipe-betydninger ind. Det belaster hukommelsen og kan kollidere med systemets navigations- og tilbage-gestus.1

  7. Følg platformens standard-geste frem for at opfinde din egen

    Apples retningslinjer fraråder at bruge standardgestus til ikke-standard handlinger, og både Apple og Material Design beskriver swipe på en liste-række som standardmåden at afsløre handlinger på. Byg oven på den forventning i stedet for en egen, ukendt geste.34

Typiske fejl

  • Swipe som eneste vej til handlingen

    Ligger slet eller arkivér kun bag en swipe, bliver funktionen usynlig for mange og utilgængelig for brugere, der ikke kan udføre gesten. WCAG 2.5.1 kræver en anden vej med et enkelt tryk eller klik, og den bør være let at finde, fx en knap i elementets menu.

  • Swipe til uventede, ikke-destruktive handlinger

    Brugerne forventer, at swipe sletter eller fjerner. Bruger du gesten til noget app-specifikt, gætter de den ikke, og handlingen bliver ikke brugt.

  • Øjeblikkelig, uigenkaldelig sletning

    En fuld swipe, der sletter uden bekræftelse eller fortryd, straffer det hyppige uheld hårdt. Byg en pause ind: bekræftelse eller en fortryd-mulighed.

  • Modstridende swipe-betydninger i samme app

    Skifter swipe betydning fra liste til liste eller efter rækkens tilstand, mister brugeren tilliden til gesten og holder op med at bruge den.

Eksempler i praksis

E-mail-apps (ofte fremhævet)

Indbakker er det klassiske eksempel, der ofte fremhæves: en swipe på en mail afslører typisk arkivér eller slet. Mønstret virker her, fordi handlingerne er hyppige og destruktive, men de bedste udgaver dublerer dem i en synlig menu og tilbyder fortryd.

System-lister på iOS og Android (illustrativt)

Både Apples og Googles retningslinjer beskriver swipe på en liste-række som en standardmåde at afsløre handlinger på. Fordi det er systemadfærd, kender mange brugere den, og derfor giver det mening at følge konventionen frem for at opfinde en egen.

Ofte stillede spørgsmål

Hvad er swipe-handlinger?

Det er handlinger, der er skjult bag en horisontal swipe på et element i en liste, typisk slet, arkivér eller markér. De vises først, når brugeren swiper rækken til siden.

Hvad er swipe-to-delete?

Swipe-to-delete er konventionen, hvor en swipe på en liste-række afslører en sletning. Fordi swipe oprindeligt slettede et element, forventer de fleste, der kender gesten, en destruktiv handling. Bekræft sletningen eller tilbyd fortryd, fordi en swipe er let at udløse ved et uheld.

Hvorfor er swipe-handlinger et problem?

Gesten er usynlig. NN/g finder, at kontekstuel swipe mangler signaler, ikke bruges konsistent på tværs af apps og let glemmes. Handlinger, der kun findes via swipe, bliver derfor aldrig opdaget af mange brugere.

Er swipe-handlinger tilgængelige?

Kun hvis der findes et alternativ. WCAG 2.5.1 kræver, at en sti-baseret geste som swipe også kan udføres med en enkelt peger uden sti, altså et almindeligt tryk på en knap eller et menupunkt.

Hvilken retning og hvilke handlinger bør swipe bruges til?

Læn dig op ad konventionen: brugerne forventer, at swipe afslører en destruktiv handling som slet. NN/g anbefaler at reservere kontekstuel swipe til destruktive handlinger og holde betydningen konsistent i hele appen.

Hvordan undgår jeg utilsigtede sletninger?

Bed om bekræftelse før en destruktiv handling, eller udfør den og tilbyd en tydelig fortryd. Hold samtidig nok af rækken synlig, så brugeren kan se, hvad de rammer.

Kilder

  1. Using Swipe to Trigger Contextual ActionsNielsen Norman Group · lav opdagelighed; begræns til destruktive handlinger; bekræft; hold indhold synligt; vær konsistent
  2. Understanding SC 2.5.1: Pointer Gestures (Level A)W3C Web Accessibility Initiative (WCAG 2.1/2.2) · sti-baseret geste (swipe) kræver enkelt-peger-alternativ uden sti
  3. Gestures — Human Interface GuidelinesApple Developer · swipe afslører slet/handlinger i liste-række; undgå standardgestus til ikke-standard handlinger
  4. Lists — Material Design 3 GuidelinesGoogle Material Design · swipe på et liste-element afslører et ikon for handlingen