UR ANVÄNDBARHETSBOKEN

22 Oct 2011

53.3 Hjul

En mycket vanlig topologi för webbapplikationer är hjulet (ibland även kallad en stjärna). I mitten finns en central sida - navet – som ger överblick. Från denna kan man nå sidor för att detaljgranska eller göra ändringar – ekrarna.

Medan guiden har sitt fokus på att skapa något nytt, är hjulet bra på att administrera det som redan finns (vilket inte betyder att det inte kan användas för att skapa nytt, bara att tyngdpunkten ligger på överblicken).

Bild 109. Hjultopologi, med ett nav där man kan se information och inställningar, och ekrarna där man kan ändra dem.

Hjulet kan till exempel vara en lämplig topologi för en webbaserad e-post eller internetbankens lista över de transaktioner som skett på kontot det senaste året.

Bild 110. Administrationsgränssnittet för Yahoo groups består av nav-sidor som denna, som ger en sammanställning av inställningarna. Vill man ändra något klickar man på en ”edit”-län, till exempel den vid Œ, och kommer då till…

Hjulets stora pedagogiska fördel är att varje ekersida koncentrerar sig på en sak och därmed kan hållas enkel. Det blir också mycket tydligt för användaren när hon kan ändra något och när hon är klar med det.

Om det inte finns sidor i guiden som är beroende av vad som matats in tidigare, kan man låta användaren gå direkt från sammanställningen till rätt ändringsformulär istället för att backa.

Detta görs ofta genom att dela in sammanställningen på samma sätt som inmatningen av uppgifterna delats på olika sidor. Till varje område hör en ”Ändra”-knapp som tar användaren till ett formulär för det aktuella området, förifyllt med de uppgifter hon tidigare matat in, där hon kan göra sina ändringar.

Observera att det inte är fråga om att hoppa tillbaka i flödet, även om formuläret mycket väl kan vara en kopia av det som redan fyllts i på ett tidigare steg. skicka-knappen skall ta henne tillbaka till översiktssidan, inte vandra framåt till nästa steg.

Topologin blir densamma som hos hjulet (sid 293), med sammanställningen som nav och formulären som ekrar.

Det skall alltid vara möjligt för användaren att gå tillbaka och ändra inmatningar hon gjort, åtminstone fram tills hon gjort sitt godkännande.

Detta kan hanteras på flera olika sätt:

Webbläsarens bakåtknapp

Att klicka webbläsarens bakåtknapp är en instinkt hos många användare och bör vara möjligt också i en guide. Se Låt bakåtknappen fungera, sid 202 .

”Föregående”

Guiden kan också ha sin egen bakåtknapp.

Framstegsindikatorn

Om guiden har en framstegsindikator får gärna passerade steg vara klickbara och föra användaren direkt tillbaka till respektive sida. (Detta är ett alternativ som kan vara tekniskt svårgenomförbart på en del system.)

När användaren är klar med sin ändring skall skicka-knappen föra henne samma väg framåt igen (försök alltså inte underlätta genom att hoppa över oförändrade mellansidor).

Bistå om möjligt användaren genom att komma ihåg och fylla i så många uppgifter som möjligt (det vill säga alla som inte påverkats av det som hon gick tillbaka och ändrade) på vägen framåt.

Utan återvändo

Om användaren passerat en punkt utan återvändo skall det inte vara möjligt att backa tillbaka förbi denna – se Utan återvändo , sid 298 .

UR ANVÄNDBARHETSBOKEN

17 Oct 2011

53.2.3 Låt användaren avbryta

Det måste alltid vara möjligt för användaren att lämna guiden. Ofta ges denna möjlighet i form av en avbryt-knapp. När användaren klickar på den skall hon föras till sidan hon var på innan hon gick in i guiden (det vill säga till den senaste sida hon varit på som inte var omgiven av en tunnel eller ett skyddsnät).

Om användaren passerat en punkt utan återvändo (se sid 298 ) skall det inte längre finnas någon möjlighet att avbryta, eller så måste det vara tydligt att det som skett innan denna punkt inte påverkas.

24-timmarswebben

För den som följer 24-timmarswebben gäller inte detta råd. Den rekommenderar att det skall finnas en tillbaka-knapp (se nästa råd), men att det inte bör finnas någon möjlighet att avbryta helt.

Jag har inte lyckats utröna bakgrunden till dess rekommendation, men gissar att den ligger i att medan guider här förutsätts vara inneslutna i tunnlar eller skyddsnät (se Skydda användaren mot att av misstag lämna guiden, ovan) så förutsätts det i 24-timmarswebben att det alltid finns andra sätt att lämna dem.

Guider har ett stort pedagogiskt värde både för nybörjaren och för den som inte använder funktionen så ofta, men kan vara frustrerande långsam för den vane användaren, speciellt om hon tvingas gå igenom den många gånger. I dessa fall kan det vara uppskattat att ge ett avancerat alternativ, där alla uppgifter samlats i en betydligt kompaktare form.

Samla – granska – godkänn - bekräftelse

Ofta består guiden av tre eller fyra distinkta delar:

Först ett antal sidor där information samlas in från användaren.

Därefter en sida där användaren kan granska det hon matat in.

När användaren är nöjd godkänner hon genom att klickar på sammanställningens skicka-knapp (ibland döpt till ”Slutför”, ”OK” eller ”Jag har granskat och vill skriva under”). Det är inte alltid sammanställningen är ett formulär, men den brukar ändå ha en knapp för att vara konsekvent med de andra guide-sidorna. Det är först i och med godkännandet som användarens inmatning får konsekvenser. Innan dess har det bara varit en insamling av information.

I och med godkännandet passerar användaren i en del applikationer en punkt bortom vilken hon inte längre kan gå tillbaka och ändra. Se Utan återvändo , sid 298 .

Till slut får hon i många webbapplikationer också en bekräftelse , till exempel genom att komma till den sida som skapats eller ändrats av hennes inmatningar eller i form av ett kvitto.

Det skall dock betonas att det finns gott om mindre guider där en eller flera av dessa delar inte finns med och där till exempel användarens val får effekt direkt, utan att vänta på en sammanställningssida och ett godkännande.

Det finns också speciella rekommendationer om hur dessa steg bör utformas för myndigheters e-tjänster, se Myndigheters e-tjänster, sid 299 .

UR ANVÄNDBARHETSBOKEN

15 Oct 2011

53.2 Guide

Har du någon gång installerat ett program har du nästan säkert erfarenhet av en guide (eller wizard som de kallas på engelska). Användaren tas steg för steg genom en serie av sidor (eller dialogrutor), var och en koncentrerad på en viss fråga, med gott om utrymme för förklarande text och få kontroller att hantera.

Bild 105. I sin grundform har guiden samma enkla topologi som boken.

En sådan topologi kommer även väl till pass på webben, speciellt för de webb­appli­ka­tion­er som behöver få in mycket uppgifter för användaren.

Den är också bra när användarens val tidigt i processen påverkar vad som skall visas senare. Sidor kan anpassas till vad hon svarat, och om det behövs kan hela processen växla in på olika spår.

Topologin liknar i mycket boktopologin (sid 198 ). Eftersom det är i webbapplikationssammanhang är det dock inte en länk utan skicka-knappen som för framåt. (Observera att skicka-knappen ofta är döpt till något annat – i det här fallet till exempel till ”Nästa”. Se Skicka-knapp , sid 261 .

Bild 106. De val användaren gör på en sida kan påverka vilka alternativ som finns på senare sidor, eller vilken väg processen tar.

Det finns stora pedagogiska fördelar i att kunna dela upp interaktionen med användaren över flera sidor och låta henne koncentrera sig på en sak i taget, och olika varianter av guider är ganska vanliga i webbapplikationssammanhang.

Stil

Datorstil

Guider används ofta på datorer för att till exempel leda användaren genom en installation eller en krånglig konfiguration.

Guider som görs för webben kan mycket väl härma dessa. Utseende och funktion signalerar då att det man gör är datornära, till exempel ställer in hur något skall fungera. Likheten ger fördelen att igen­kännings­effekt­en är stor och att användaren vanligen redan vet hur den fungerar.

Eftersom de flesta användare är vana vid Windows är det därifrån konventionerna skall hämtas (se Bild 107).

Knapparna har fasta positioner, och inaktiveras när de inte går att använda.

På svenska blir namnen: ”< Föregående”, ”Nästa >” och ”Avbryt”. När informationen är insamlad och det är dags att avsluta heter knappen ”Slutför”.

Användningen av ”<” och ”>” som pilar står visserligen i motsättning till Använd inte HTML-text som symboler, pilar eller bilder, sid 421 , men i detta fall lutar jag åt att det är viktigare att följa den konvention som finns för guider.

Om man följer 24-timmarswebben bör avbryt-knappen inte vara med – se Låt användaren avbryta, sid 291 .

Mer om konventioner för guider kan hittas via www.anvandbart.se/ab/guide

Bild 107. En typisk Windows-guide.

Fristil

Guider kan också användas för att leda användare genom processer där en datorinspirerad utformning skulle kännas helt fel – till exempel kassan på en e-handelsplats.

Några starka alternativa konventioner finns inte, utan dessa sidor kan utformas tämligen fritt. Saker som kan vara bra att tänka på är:

Knappen som för framåt (det vill säga skicka-knappen) skall vara ordentligt synlig. Att använda aktionsknappar (se sid 264 ) är ofta en god idé.

Det behöver inte nödvändigtvis finnas en ”Föregående”-knapp, förutsatt att webbläsarens bakåtknapp fungerar.

Det måste finnas något sätt att avbryta. Det behöver dock inte nödvändigtvis vara en ”Avbryt”-knapp utan kan till exempel vara en länk som ”Tillbaka till butiken”.

Det bör finnas en framstegsindikator som berättar hur långt användaren kommit och hur mycket hon har kvar. Se Framstegsindikator , sid 155 .

24-timmarswebben

24-timmarswebben ger delvis andra rekommendationer för detta. Den avråder från att ha en knapp för att avbryta helt. Däremot bör det finnas en för att gå bakåt i processen (alltså samma som ”< Föregående” gör i den datorhärmande guiden); denna bör vara en tillbaka- eller avbrytknapp.

24-timmarswebben går här punkt mot konventionen för vad en avbryt-knapp gör. Lyckligtvis ger den möjligheten att istället döpa knappen till en tillbaka-knapp, vilket minskar risken för missförstånd och starkt rekommenderas. Se även Låt användaren avbryta, sid 291 .

UR ANVÄNDBARHETSBOKEN

13 Oct 2011

53 Webbapplikationer

Formulär var från början ett sätt att få in information från användaren. Men redan tidigt började formulären också användas till att styra datorprogram – som i det här sammanhanget brukar kallas webbapplikationer 12.

Ett mycket enkelt exempel på en sådan applikation är sökningen på en webbplats. Den styrs via ett miniformulär, som består av ett textfält och en skicka-knapp. Mer avancerade exempel på webbapplikationer är söktjänster som Google, biljettbeställning på SJ, e-post via Hotmail, webbaserade tidsredovisning och internetbanker.

Gränsen mellan formulär som samlar in information från användaren och formulär som styr applikationer är ganska diffus. Vill man vara petig så kör alla sorters formulär (med några sällsynta undantag) program på servern och att få in information från användaren brukar vara en viktig del av alla sorters applikationer.

Skapar något

Det särdrag som ändå brukar få oss att tala om applikationer är att de låter användaren ta kontroll och åstadkomma något – till skillnad från ”vanliga” formulär där användaren tämligen passivt lämnar ifrån sig information. Det kan vara något enkelt, som när sökningen resulterar i en sida specialanpassad för användaren med länkar till sidor som innehåller ett visst ord. Det kan också vara mer komplicerade saker, som att reservera en biostol, lägga in en faktura i ekonomisystemet, skapa en webbsida med hjälp av publiceringssystemet eller göra sin självdeklaration.

Webbapplikationen är ett verktyg för användaren att göra något, och ger upphov till ett påtagligt resultat som i någon mening är knutet till eller unikt för den enskilde användaren.

Skillnader mot traditionella applikationer

Det finns naturligtvis många likheter mellan traditionella applikationer som fungerar som fristående program och applikationer som används genom webbläsaren. Men det finns också ett par viktiga skillnader:

Användaren är inte tvungen att antingen göra klar eller uttryckligen avbryta en inmatning hon påbörjat. Tvärtom är det väldigt enkelt att oavsiktligt råka lämna den oavslutad.

Informationen på en sida fryser när sidan laddas. Förändringar i den syns inte innan nästa sidladdning. Det som står på sidan och som var sant när sidan laddades är inte nödvändigtvis sant när användaren läser det. Sidan kan vara inaktuell sedan lång tid tillbaka, utan att på något synligt sätt skilja sig från en som är helt färsk.

Ingen av dessa skillnader är absolut. Det finns sätt att helt eller delvis lösa problemen. Men de är fallgropar man måste hålla ett öga på när man gör webbapplikationer.

Skillnader mot informationswebbar

Även jämfört med traditionella webbsidor skiljer sig ofta webbapplikationerna. Saker som är viktiga för en informationswebb kanske inte alls är lämpliga i en viss webbapplikation, till exempel:

Att sätta ut datum och ansvarig på sidan (däremot kanske det behövs kontaktinfo till teknisk support, om något skulle krångla)

Olika färg för länkar till besökta och obesökta sidor

Begriplig länkbar webbadress

Att alla sidor lätt hittas av söktjänster

Sidor som går lätt att skriva ut

Det kan till exempel innebära att en del (men alls inte alla) webbapplikationer kan använda ramar (sid 83 ) utan att störas av de problem som de brukar ge en normal webb.

Konsekvens viktigt när webbapplikationerna blir många

På många arbetsplatser får webbapplikationer en allt viktigare roll, och det är inte längre ovanligt att ha en webbapplikation uppe på skärmen hela sin arbetsdag och gör sitt huvudsakliga arbete med hjälp av den. Det gör naturligtvis kraven på snabbhet, ergonomi etc. mycket högre än för webbplatser användaren tillfälligt passerar i sökande efter information.

Ännu vanligare är att en mängd kringfunktioner webbifieras. Det kan till exempel röra sig om tidsrapportering, ekonomisystemet, projektverktyg, lokalbokning, telefonprogrammering, visit­korts­beställ­ning och rese­räknings­rapport­er­ing.

Några av dessa hanterar användaren dagligen, andra, som semester­pla­ne­ring­en, kanske det var ett år sedan hon såg senast.

Det växande antalet gör det viktigt att applikationerna ser ut och fungerar så likt varandra som möjligt. Om varje webbapplikation på intranätet är utformad för sig, med ett eget utseende, egna termer, eget gränssnitt, så måste användaren ägna mycket tid och energi till att lära sig hantera dem. Är det en applikation som hon använder sällan, hinner hon glömma och måste börja från början nästa gång.

Om applikationerna däremot fått så många gemensamma drag som möjligt, kan hon använda sina tidigare erfarenheter för att hantera även nya applikationer.

Även för applikationer som används dagligen är konsekvens viktigt – men då framför allt att samma handling på olika webbapplikationer måste få samma sorts resultat. Det får inte vara så att tider i en applikation skrivs in med punkt mellan timmar och minuter, medan en annan applikation kräver kolon. Eller att en applikation har en knapp för att spara, medan en annan har en knapp placerad på samma ställe som avbryter och slänger bort det arbete som gjorts.

Därför har webbprofilen (sid 42 ) stor betydelse vid utvecklingen av webb­applika­ti­on­er. Den är ett verktyg för att upprätthålla konsekvens mellan olika utvecklingsprojekt.

E-handel

För att få ytterligare en vy på webbapplikationer se avdelningen om E-handel, sid 376 , där mycket av det som tas upp här kan ses i ett konkretare perspektiv.

12 En applikation är ett program som som har ett gränssnitt och kan användas av en människa direkt, till skillnad från de otaliga ansiktslösa program som finns på en dator och som användaren bara indirekt kommer i kontakt med.

Ibland ser man ”valmöjligheter” där det bara finns en sak att välja. Eller inget alls.

Nästan undantagslöst är detta resultatet av att kontrollen fylls på från en databas. Den är utformad för att hantera många alternativ, men ibland finns det bara ett eller inget alternativ i databasen och kontrollen blir som en enpartistat – man får välja, men det finns inget att välja mellan.

Bild 104. Med kryssrutorna i vänsterkanten väljer man vilka rader man vill jobba med, och med knapparna samt alternativen i ”More Actions…” vad som skall hända dem. En sådan kontroll kan bestå av bara en rad. (www.gmail.com)

Om det finns bara ett alternativ eller inget alls, är det systemets ansvar att presentera detta på ett vettigt sätt. Antingen som underförstått och något som inte syns alls. Eller som en informationstext om vad som gäller.

Systemet får inte av lättja presenterar detta i samma form som när det finns flera alternativ och därigenom lasta på användaren att försöka gissa vad som menas.

Det finns dock kontroller som fungerar även när det bara finns en sak att välja.

UR ANVÄNDBARHETSBOKEN

16 Jun 2011

52.23 Välj rätt flervalskontroll

Valbox, vallista, kryssrutor och radioknappar är de kontroller som låter användaren välja mellan flera alternativ. Som nämnts tidigare är vallistan en sällsynt kontroll, så det kan vara klokt att i första hand välja någon av de andra.

Hur många alternativ finns det?

Om det är få alternativ – fyra eller färre – är det bättre med radioknappar eller kryssrutor än att välja från en valbox eller vallista.

Även med fler alternativ är ofta radioknappar och kryssrutor att föredra – men måste vägas mot layoutens krav. Alltför många knappar och rutor gör formuläret i sin helhet svåröverblickat och klumpigt. I sådana fall kan det vara bättre med en valbox att välja från.

Ibland kan en kompromiss vara vallistan, där man kan se flera av alternativen utan att platsbehovet för den skull blir alltför stort.

Om det är många alternativ är även valboxar svåra att använda. Mer om detta i Undvik långa valboxar , sid 255.

Får man välja mer än ett alternativ?

Om användaren kan välja mer än ett alternativ är kryssrutor nästan det enda alternativet.

Rent tekniskt är det möjligt att välja flera alternativ ur en valbox eller vallista. Detta kräver dock handgrepp som få användare känner till och som inte är helt enkla att förklara, så de rekommenderas inte. Se Be inte användaren välja flera alternativ ur en valbox , sid 255.

Får man välja maximalt ett alternativ?

Om man är begränsad till ett alternativ, skall radioknappar eller valboxar användas.

Om valboxar används, finns det en risk att användaren väljer flera alternativ ur denna. Den är inte stor, men måste fångas när formuläret kontrolleras.

Måste man välja minst ett alternativ men får gärna välja flera?

Det finns ingen kontroll som direkt klarar av detta. Bästa alternativet är kryssrutor i kombination med instruktioner och en kontroll att minst en ruta är ikryssad.

Är det inte nödvändigt att välja någonting alls?

Om inget av alternativen behöver väljas är kryssrutor lämpligare än radioknappar och listor.

Om radioknappar används, se Radioknappar bör ha ett förval, sid 253. Om valbox används, se Valboxar där inget alternativ skall vara förvalt kan inledas med en instruktion , sid 255.

Sträva efter att låta användaren skriva in uppgifter som hänger samman i ett svep. Ibland kräver dock databehandlingen att uppgifterna delas upp, och då får du bortse från detta råd.

Låt helst användaren skriva in hela sitt namn i ett fält.

Om det är nödvändigt för databehandlingen att få efternamnet separat, dela in det i två fält ordnade så att förnamnet skrivs först.

Gatunamn och -nummer hänger samman

I en adress är det inte så bra att ha ett särskilt fält för gatunumret.

Däremot är det ok att postnummer och postort har olika fält.

Adresser

Om inte uppdelning är nödvändig för databehandling, låt adressfältet vara ett flerradigt textfält, som gjorts lagom högt för tre rader. (Räkna dock med möjligheten att du får in svar på fler än tre rader, t.ex. för utländska adresser.)

Om du ber att få adressen i mindre delar, tänk på att många länder har ett annat adressformat än Sverige. Om du frågar efter adress och det inte är säkert att den är svensk, bör formuläret anpassas så att den ändå går att mata in korrekt.

(Detta är ett exempel på när ett underformulär kan vara användbart, se Flersidiga formulär , sid 280.)

UR ANVÄNDBARHETSBOKEN

8 Jun 2011

52.22 Välj rätt kontroller

Ofta finns flera olika kontroller att välja mellan för att få en uppgift från användaren, och det kan vara svårt att veta vilken man skall välja.

Nedan finns frågor som kan hjälpa dig att välja rätt.

Vet du vilka alternativ som finns?

Om du inte har en komplett bild av vilka alternativ som finns, så är det enda alternativet att låta användaren skriva in svaret i ett textfält.

Underskatta inte problemet att i förväg förutse vilka alternativ användaren kan behöva. Det brukar vara lätt att se regeln, men svårt att se alla undantagen. En fördel med textfält är att användaren kan fylla i det även om hennes svar inte stämmer med det som webbmakaren trodde var de möjliga alternativen. (Detta kan vara både en för- och en nackdel. Det kan leda till att du får svar som är svåra att bearbeta. Men det kan också leda till att du inte får in felaktigt svar som användaren tvingats lämna eftersom inga korrekta alternativ fanns.)

Vilket är naturligast för användaren: att skriva svaret eller att välja det?

Ofta är det bättre för användaren att skriva i ett textfält än att välja. Speciellt att välja ur valboxar bryter lätt användarens arbetsrytm.

Exempel på sådant som är naturligare att skriva än att välja kan vara antal, ålder och datum.

Är svaret lätt att skriva fel?

Om svaret är långt, svårstavat eller användaren är osäker på hur det bör formuleras, är det bättre att ha färdiga svarsalternativ (det vill säga valbox, kryssrutor eller radioknappar).

Bild 103. De färdiga alternativen gör det mycket enklare att svara, än om man skall komma ihåg vilka bokstäver det var och skriva in dem. (portal.ams.se)

Behöver användaren se alternativen för att förstå frågan?

Ibland är de möjliga svarsalternativen den bästa förklaringen av vad som egentligen menas med frågan. I sådana fall är det bäst att ha färdiga svarsalternativ.

Är det viktigt att svaren blir i rätt form?

Om en människa skall läsa det inmatade spelar det sällan någon roll, vi har stor förmåga att tolka och då fungerar ett textfält alldeles utmärkt.

Om svaret skall databehandlas blir det litet mer komplicerat. Är det avgörande för den fortsatta behandlingen att svaret är i rätt form är färdiga svarsalternativ bäst.

Ibland är ett alternativ att låta användaren skriva sitt svar i ett textfält, men att sedan kontrollera det (se Kontroll av inmatade uppgifter, sid 275) och återkomma med en fråga om vad användaren menar, om detta inte är helt klart (helst tillsammans med en lista över tänkbara alternativ).

Överväg också om det är möjligt att ändra databehandlingen så att den blir mer förlåtande.

UR ANVÄNDBARHETSBOKEN

28 May 2011

52.21.1 Undvik att dela upp formulär

Att dela upp ett formulär över flera sidor öppnar för en mängd användbarhetsproblem. Sträva därför i första hand efter att låta det rymmas på en sida.

Detta sagt finns det naturligtvis tillfällen då formuläret måste delas.

Det är till exempel fallet om man vill anpassa senare delar av formuläret utifrån de svar användaren ger.

Långa formulär (mer än tre skärmhöjder på en 1024 x 768-skärm) kan behöva delas upp för att göra dem överskådliga. Ta dock inte måttet alltför bokstavligt – det är viktigare att dela formuläret i naturliga avdelningar, så att användaren känner att hon avslutat ett sammanhang innan hon går vidare, än att hålla sig till ett bestämt mått.

I Guide , sid 288, finns en modell för hur denna uppdelning kan göras.

En annan strategi är att skapa ett skyddsnät som fångar upp användaren om hon är på väg att lämna formuläret. För detta krävs javascript. Om användaren börjat fylla i ett formulär och klickar på en länk innan hon avslutat det, visar skriptet en dialogruta som berättar att hon inte fyllt i formuläret färdigt och artigt frågar om hon vill avbryta arbetet med formuläret eller stanna.

Skyddsnätet bör helst aktiveras först när användaren börjat fylla i formuläret och det alltså finns ansträngning nedlagd som riskerar att gå förlorad. Ett tekniskt enklare alternativ är att fråga användaren så snart hon försöker lämna sidan, vare sig hon börjat fylla i eller ej.

Eftersom skriptet i detta fall bara är en säkerhetsåtgärd, inte något som behövs för själva funktionen, är lösningen inget hinder för de användare som inte har javascript.

En metod för att hindra att användaren lämnar formuläret är tunneln. Grundidén är att formuläret skall fungera som en biltunnel – när man väl kört in i den finns det ingen möjlighet att lämna vägen, man måste följa den tills man kommer ut i andra änden.

En mer komplicerad tunnel kan grena sig så att det finns flera vägar att köra och flera ställen att komma ut på – men även i det fallet är det webbmakaren som har precis kontroll över hur användaren kan röra sig.

På den sida (eller de sidor) som ingår i tunneln skall det inte finnas några länkar som leder bort från sidan. Det enda sättet att lämna den är att antingen köra till slutet – skicka-knappen - eller att uttryckligen klicka på avbryt-knapp­en.

Denna nödutgång är viktig, meningen med tunneln är naturligtvis inte att stänga in användaren, bara att skydda henne mot att oavsiktligt förlora det hon gjort.

Tunneln är tydligt inspirerad av vanliga programs dialogrutor. Vill man driva denna likhet längre kan man öppna formuläret i ett separat modalt fönster. Modalt betyder att det inte uppför sig som ett vanligt webbläsarfönster utan alltid ligger kvar överst, tills man uttryckligen stänger det. Se sid 331.

Tunneln är inget idiotsäkert skydd. I en webbläsare finns alltid sätt att avbryta som ligger utanför webbplatsens kontroll. Användaren kan till exempel skriva in en ny adress, välja ett bokmärke eller stänga fönstret. Det är möjligt att fånga även sådant med hjälp av javascript, men personligen tror jag det är bättre att acceptera att detta är det sätt webben fungerar på och trösta sig med att risken för dessa handlingar är betydligt mindre än för att användaren obetänksamt klickar på en länk.

Skyddsnät

UR ANVÄNDBARHETSBOKEN

22 May 2011

52.20 Formulär trivs inte med navigation

Formulär och navigation går inte särskilt bra ihop. För små formulär är det sällan något problem, men så snart de börjar bli litet större eller komplexa finns alltid risken att användaren av misstag lämnar sidan utan att ha fyllt i dem klart och klickat på skicka-knappen.

I ett normalt datorprogram, alltså ett som inte är webbaserat, finns ett skydd kring inmatningen av information. Ofta använder det dialogrutor. Dessa låser användaren så att hon inte kan lämna dem på annat sätt än att uttryckligen klicka på antingen ”OK” eller ”Avbryt” – formuleringen på knapparna kan variera, men i grunden finns bara två varianter: ”spara och använd det jag gjort här” eller ”jag har ångrat mig, släng bort det jag gjort”.

Även när större mängder information matas in finns skyddet på plats. Har man skrivit in text i ett ordbehandlingsdokument men inte sparat, går det inte att stänga dokumentet utan att få en dialogruta som kräver att man antingen sparar eller uttryckligen avbryter.

På webben är det inte så. Användaren matar in information i ett formulär, men kan när som helst göra något annat. Hon kan klicka på en länk på sidan, eller använda bokmärkesfunktionen i webbläsaren, och lämnar då formuläret. Till skillnad från ett vanligt program frågar webbläsaren inte om hon vill spara det inmatade. Den slänger bara bort det, utan att säga något.

Detta är olyckligt på två sätt. Dels går det arbete användaren lagt ner förlorat, bara för att hon missade att klicka på skicka-knappen. Men än värre kan vara att användaren inte görs medveten om detta, utan tror att något är gjort som datorn i själva verket i tysthet slängt bort.

Två lösningar

Det finns i princip två sätt att skydda sig mot att användaren av misstag lämnar formuläret: tunneln och skyddsnätet.

De formulärfunktioner som finns i HTML är ganska primitiva. Därför är ofta möjligheten att bättra på funktionerna med hjälp av javascript mycket välkomna, inte minst för att göra formulären lättare att använda och för att omedelbart kontrollera inmatningar och säga till när det blivit fel.

Observera att löpande kontroll måste ske på ett sätt som fungerar för alla användare. Se Ändra inte innehåll på sidan utan att ge användaren en möjlighet att bli uppmärksammad på detta, sid 431, och Flytta inte fokus , sid 431.

Ett enklare alternativ är att låta javascript kontrollera formuläret när användaren klickat skicka-knappen. Vinsten med detta är inte så stor eftersom samma kontroll ändå måste göras på webbservern, men det minskar serverbelastningen och ger användaren svar litet snabbare.

Även om javascript används för kontrollen måste motsvarande kontroll även göras på webbservern när den tar emot formuläret. På detta sätt kan även användare utan javascript använda det (även om de inte får samma omedelbara reaktion), och felaktigheter får svårare att smita in.

UR ANVÄNDBARHETSBOKEN

20 May 2011

52.19.5 Hjälp användaren rätta felet

Bevara den inmatade informationen så att bara det som blivit fel behöver matas in igen. Ett undantag är lösenordsfält, som alltid skall tömmas (om inte användaren uttryckligen bett webbplatsen komma ihåg hennes lösenord, se Gör det lätt att bli glömd, sid 318).

Om du tror det underlättar för användaren, låt även det som blivit fel stå kvar, så att användaren kan ändra det istället för att bli tvungen att mata in det på nytt.

Om felet består i att inmatningen inte kan tolkas entydigt, överväg att låta användaren välja i en lista över de olika möjliga tolkningarna.

UR ANVÄNDBARHETSBOKEN

14 May 2011

52.19.4 Koppla samman kontroll och felmeddelande

För att vanliga användare men framförallt för att synskadade skall kunna begripa vilket fält felmeddelandet hör till, måste de kopplas samman. Samma metoder kan användas som i Koppla samman kontroll och instruktioner, sid 271 - men felmeddelandetexten skall inte göras diskret.

Felmeddelandet får inte ersätta instruktionstexten, om det inte i sig innehåller instruktionerna.

Underlätta för användaren när något blivit fel – till exempel när hon inte fyllt i alla obligatoriska uppgifter eller när hon matat in fel:

Visa formuläret igen, men med en väl synlig text som förklarar att inte alla uppgifter är korrekt inmatade och en innehållsförteckning över felen (även när det bara är ett) med länkar till respektive kontroll. Sätt ett ankare på den och gå direkt dit när sidan laddas; detta gör det lättare för synskadade.

Kontrollera hela formuläret och visa alla fel med en gång.

Markera tydligt var det blivit fel, till exempel genom att ge de kontroller som fallerar en 2 punkter tjock röd ram kring sig.

Sätt en framträdande text nära kontrollen som berättar vilket sorts fel det blivit och hur det kan rättas till. Ge gärna exempel på korrekta svar.

Se även Ge artiga och begripliga felmeddelanden, sid 327.

Människor kan skriva nummer på många olika sätt och många nummer innehåller inte bara siffror.

Ett telefonnummer kan till exempel innehålla plustecken, teser, snedstreck, parenteser, bindestreck och mellanslag.

Ett personnummer kan innehålla mellanslag och bindestreck.

En summa pengar kan innehålla mellanslag, och sätten att avskilja ören är flera: kolon, punkt och komma.

Tal kan innehålla mellanslag.

Bild 101. Maskinen har alltid rätt: istället för att datorn lär sig förstå postnummer med mellanslag, förväntas användarna lära om. (www.villariks.se)

Bild 102. Markera tydligt de kontroller där det blivit fel, berätta vad felet är och hur det kan rättas till. (www.kalsey.com)

Exakt var som tillåts beror naturligtvis på vad det är för sorts tal och vad du har för avsikt att göra med det. Men om det är ett nummer (som telefon- eller kontokortsnummer) där det finns flera vanliga sätt att skriva dem skall du tillåta dessa sätt, inte tvinga användaren att ge sig in på en gissningslek om hur just din webbplats vill ha dem.

Fältet som numret skrivs in i måste tillåta så många tecken som varianterna kräver. Se Begränsa inte hur mycket text som kan skrivas in, sid 257.

Det är lätt att göra upp regler men svårt att förutse undantagen. Användaren kan ha goda anledningar att mata in på ett sätt du inte förutsett, och du bör så långt möjligt tillåta detta. Till exempel kan man tänka sig att en användare skriver ”Maila hellre än ring” i telefonnummerfältet (ett stycke information som kan vara ytterst betydelsefull, eftersom relationen med användaren kan byggas eller rivas av hur väl du klarar att ta hänsyn till hennes önskemål).

Detta måste naturligtvis balanseras mot behovet av datakvalité och konsekvenserna av att felaktiga uppgifter lagras.

UR ANVÄNDBARHETSBOKEN

9 May 2011

52.19 Kontroll av inmatade uppgifter

När användaren skickar formuläret, kan det vara lämpligt att kontrollera det och undersöka att alla obligatoriska fält är ifyllda. Ibland är det också lämpligt att kontrollera rimligheten i uppgifterna.

Om en uppgift görs obligatorisk måste det vara tydligt för användaren varför den är nödvändig och vilken nytta hon har av att lämna den. Om inte detta är helt klart bör det finnas alternativ typ ”vet inte”, ”ännu ej bestämt” eller ”vill inte uppge”, annars leder det lätt till att användare fyller i vad som helst som systemet godtar, för att komma vidare.

Om man inte kan kontrollera att användarens svar är korrekt (och det kan man praktiskt taget aldrig) är risken stor att obligatoriet gör att man istället för ingen uppgift får en felaktig uppgift. Det är därför som amerikanska sajter som kräver att man fyller i en adress har en stor andel av sina användare från postnummerområdet 90 210 - Beverly Hills, eftersom en populär TV-serie gjort att detta är ett postnummer icke-amerikaner känner till.

För att markera vilka uppgifter användaren måste fylla i (till skillnad från dem som är frivilliga) skall etiketterna markeras med en röd fet asterisk. Det skall också finnas en tydlig instruktion typ ”Uppgifter markerade med * måste fyllas i.”

Ännu bättre blir det om formuläret delas i två delar, där den första halvan är obligatorisk och den andra frivillig. Observera att de röda asteriskerna är en så pass stark konvention att de ändå bör sättas ut vid varje etikett i den obligatoriska delen.

En uppdelning gör formuläret enklare för användaren – men ökar naturligtvis risken att hon helt hoppar över de icke-obligatoriska fälten.

UR ANVÄNDBARHETSBOKEN

6 May 2011

52.17.6 Högerjustera och avrunda numeriska fält

Textfält för siffror bör normalt högerjusteras. Speciellt viktigt är detta när flera fält ligger över varandra, eftersom det underlättar att jämföra olika tal.

Om en kontroll för tillfället inte är meningsfull, bör den visas som inaktiv. Det får gärna också finnas instruktionstext som förklarar varför kontrollen är inaktiv. Instruktionstexten kan läggas i kontrollens title, så att den syns bara när man för muspekaren över kontrollen (detta är en kompromiss mellan två principer, den att man inte skall behöva leta runt efter osynliga instruktioner, och den att inte fylla användargränssnittet med alltför många detaljer).

UR ANVÄNDBARHETSBOKEN

26 Apr 2011

52.17.4 Gruppera och namnge formulärets delar

Ofta finns det i ett formulär kontroller som hör samman. Dessa bör grupperas och få en etikett som berättar deras gemensamma tema. På så sätt får kontrollerna ett sammanhang och användaren kan fundera över en aspekt i taget.

För en seende användare räcker det med en klok användning av luft eller linjer för att göra formulärets struktur uppenbar. Det är viktigt att vara konsekvent med hur luften används. Använd samma avstånd mellan kontrollerna inom en grupp, och på motsvarande sätt mellan grupperna, annars kan ögat lätt luras att se grupperingar där det inte finns några.

Bild 100. Genom att formuläret delas in i tydliga delar får användaren bättre överblick och behöver inte tveka över vilka kontroller som hör samman. (www.google.com)

För den som hör webben via en skärmläsare säger inte luften något. Därför finns HTML-elementet <fieldset>, som uttryckligen skapar dessa grupper. Det finns även <legend>, som ger ett <fieldset> en etikett.

Om det finns grupper och undergrupper kan <fieldset> läggas inuti varandra.

Se Gruppera formulär för tips om kodning.

<legend> kan vara ett bra ställe att berätta om den aktuella delen av formuläret inte är obligatorisk, eftersom användaren då vet att det är möjligt att hoppa över hela den gruppen utan att behöva undersöka varje fält för sig.

När <fieldset> används i sin råa version, utan formatmall, lägger den en ram runt sin grupp. Det gör formulärets struktur väldigt tydlig, men layouten blir lådig.

Möjligheten att påverka utseendet med formatmallar varierar från webbläsare till webbläsare. Framförallt hanterar de placeringen av <legend> olika.

Se även WCAG 12.3 (prioritet 2), sid 367.

UR ANVÄNDBARHETSBOKEN

25 Apr 2011

52.17.3 Håll raka vänsterkanter

Råden i Välj rätt kontroller, sid 280 , måste vägas mot formgivningens behov. Det kan bli alltför rörigt att blanda många olika sorters kontroller på samma formulär.

Sträva efter att göra det enklare för ögat genom att hålla raka vänsterkanter på både etiketterna och kontrollerna.

Alternativet att istället ge etiketterna rak högerkant och kontrollerna rak vänster – så kallad julgranslayout – är möjligt, men mindre lyckat. Det ger visserligen en tydlig koppling mellan etikett och kontroll, men den ojämna vänsterkanten gör det svårare för ögat när det försöker hitta början på nästa etikett.

Betona hellre sambandet mellan etikett och kontroll med hjälp av luft eller linjer.

Räkna inte med att användaren har överblick över hela formuläret. Lägg upp det så att man kan fylla i det från vänster till höger och uppifrån ner. skicka-knappen bör finnas längst ner, och till höger i formuläret (om det finns en rensa- eller avbryt-knapp skall den dock ligga till höger om skicka-knappen).

Låt även tabbordningen följa detta mönster. (Se Gör tabbordningen logisk och förutsebar, sid 230.)

UR ANVÄNDBARHETSBOKEN

22 Apr 2011

52.17 Grafisk design av formulär

Även om formulär handlar om interaktion så har utseendet i allra högsta grad en viktig roll för att göra formuläret enkelt att överblicka och trevligt att jobba med.

Det är en stor fördel för användaren om formulären i hela webbplatsen är konsekventa inte bara i hur de fungerar utan även i hur de är upplagda och var knappar, etiketter, instruktioner och hjälptexter placeras.