Vad är skillnaden mellan snabbtangenter och acceleratorer?


Snabbtangenter (kallas även “hotkeys”) har till syfte att gör det lättare att navigera runt i användargränssnittet med tangentbordet. Detta är viktigt för användare som inte kan eller vill använda musen.


Snabbtangenter definieras i enskilda kontroller, och att trycka ner en snabbtangent är jämförbart med att ge fokus till eller klicka på den kontroll där snabbtangenten är definierad. Exakt vad som sker beror på vilken slags kontroll det rör sig om.


Snabbtangenter kan nås genom att man trycker ner Alt-tangenten följt av den tangent som motsvarar den kontroll man vill aktivera. Alt+A brukar öppna menyn Arkiv, för Arkiv har snabbtangenten A. Alt+N kan ta dig till nästa sida i en guide, för knappen Nästa har snabbtangenten N. Dock, om det fönster som har fokus inte har någon aktiverad och synlig kontroll med t.ex. Alt+A, då sker ingenting när man trycker ner den tangentkombinationen.


Snabbtangenter inkodas i kontrollernas text genom att utvecklaren eller lokaliseraren använder ett &-tecken före den bokstav som ska fungera som snabbtangent. Menyalternativet “Arkiv” har alltså texten “&Arkiv” och knappen “Verkställ” har texten “&Verkställ”. Snabbtangenter för ett givet alternativ brukar skilja sig markant mellan olika språkversioner, eftersom det inte finns någon garanti för att min översättning ens innehåller samma bokstav som används som snabbtangent i källtexten. “&Verkställ” är på engelska “&Apply”, “&Arkiv” är “&File”.


Som standard visas inte vilken snabbtangent som har definierats för olika kontroller, för tydligen har forskning visat att användare blir förvirrade när de ser att vissa bokstäver är understrukna. Den som vill kan dock ändra en inställning i Windows så att snabbtangenten alltid visas – Michael Kaplan förklarar hur på http://blogs.msdn.com/michkap/archive/2006/09/28/774885.aspx.


Acceleratorer å andra sidan har till syfte att låta användare direkt nå vanliga eller viktiga funktioner utan att alls behöva navigera runt i användargränssnittet.


Acceleratorer brukar inte vara direkt bundna till enskilda kontroller och de definieras i Win32-filer genom en acceleratortabell som är helt separat från användargränssnittet. Acceleratorer brukar nås genom att man trycker ner någon F-tangent eller en kombination av Ctrl och någon eller några andra tangenter. 


Acceleratorer är inte direkt bundna till en viss översättning så de har inte samma behov av att skilja sig mellan olika språkversioner. Ctrl+O brukar betyda “Öppna” oavsett språkversion. Vissa undantag finns dock. Ett svenskspecifikt exempel är att man för länge sedan beslutade sig för att “översätta” Ctrl+B (bold) till Ctrl+F (fet) och Ctrl+I (italic) till Ctrl+K (kursiv). Personligen tycker jag att det var ett misstag, men nu är det som det är…


Acceleratorer är inte direkt bundna till några kontroller, men givetvis är det käckt om det finns någon text som låter användaren upptäcka vilka acceleratorer som är tillgängliga. Det är därför vanligt att någon annan kontroll – t.ex. ett alternativ i en meny – visar vilken accelerator som kan användas för ett visst kommando. I menyer görs detta genom att menyns text och acceleratorn avgränsas med en tabb. Menykommandot kan givetvis även ha en snabbtangent, så det här är en vanlig syn: “&Öppna…\tCtrl+O” (\t betyder tabb)


Användning


De vanligaste funktionerna kan oftast nås på flera sätt. I Anteckningar kan man öppna en fil genom att:
1) Klicka på menyn Arkiv och sedan på alternativet Öppna
2) Trycka ner snabbtangenten Alt+A för att öppna &Arkiv-menyn och sedan trycka ner Ö för att välja alternativet &Öppna
3) Trycka ner acceleratorn Ctrl+O


Detta är bara en kortfattad förklaring av normalfallen. Mycket kan skilja sig i specialfall – man kan t.ex. använda en accelerator så att användaren uppfattar den som en snabbtangent; Winforms-program implementerar acceleratorer annorlunda än Win32-program; jag vill inte ens tänka på HTML… Syftet här är bara att ge bakgrund inför nästa bloggpost.

Comments (6)

  1. "Ett svenskspecifikt exempel är att man för länge sedan beslutade sig för att "översätta" Ctrl+B (bold) till Ctrl+F (fet)"

    Är det därför sökfunktionen i svenska Word istället för Ctrl+F har den väldigt svårförklarade Ctrl+B som accelerator? Bytte man plats på Ctrl+F och Ctrl+B bara sådär? Någon tanke fanns säkert bakom, men för mig har det tagit ungefär 10 år att lära mig Ctrl+B för Sök i Word…

    (jag antar att det inte var aktuellt att låta Sök få Ctrl+S) =)

  2. Jajamen. När man "översatte" Ctrl+B(old) till Ctrl+F(et), blev man samtidigt tvungen att ändra Ctrl+F(ind). Ctrl+S(ave) var redan taget(tack och lov! annars hade man säkert gått igenom hela alfabetet!), så man bytte bara Ctrl+F(ind) till Ctrl+B(….böka fram?)

    Så har det varit sedan slutet av åttiotalet/början av nittiotalet nån gång. Synd bara att det orsakar så mycket problem.

    Den som växlar flitigt mellan svenska och icke-svenska program (för mig är det Office <-> Visual Studio) är konstant förvirrade. Den som lokaliserar program vet inte om och när man bör växla acceleratorerna. Om en funktion inte har nåt att göra med kursivering eller fetstil, ska man ändå ändra? Antagligen inte, eftersom det förvirrar folk.

    Men hur vet man var acceleratorn används? Ta t.ex. funktionen Kontrollera namn i Outlook. Om man skriver ett mail i Outlook och trycker ner Ctrl+K när ett av adressfälten har fokus, då anropar man funktionen Kontrollera namn. Men om man skriver ett mail i HTML-format och trycker ner Ctrl+K när meddelandefältet har fokus, då växlar man givetvis till/från kursiv stil.

    Ctrl+K har alltså olika effekt inom samma dialogruta beroende på i vilket fält man befinner sig. Hur förvirrande som helst.

    Jag tycker att det var ett misstag att "översätta" acceleratorerna, men jag tror inte att det skulle vara schysst mot användarna att ändra tillbaka nu.

  3. Förresten, här är ett annat exempel på hur översatta acceleratorer orsakar problem:

    http://blogs.msdn.com/jesperh/archive/2006/02/24/538969.aspx

  4. Svensk IE7 nådde massorna strax före jul och svensk Windows Vista är på väg ut till butikerna – vissa

  5. anders says:

    accelerator? Heter det inte kortkommando längre?

  6. Ja jäsiken, du har helt rätt. Jag dubbelkollade i språkavdelningens terminologiverktyg, men var lite för kvick -"accelerator" ska det bara heta om man snackar om maskinvara. I det här fallet ska det minsann heta "kortkommando" på svenska.