På kornet - texter om användbarhet, interaktionsdesign, informationsarkitektur på webb och Internet
Korn av sanning
Artiklar
och essäer
Guldkorn
Böcker,
musik, sajter
Blind höna

Webblogg
Skrot & korn
Portfolio
och passioner
Väderkorn
Sakregister
och sökning

 

Varför frames är en dålig idé

Att bygga sin sajt med frames (ramar) är att krångla till det i onödan. Det är en teknik som har flera viktiga nackdelar, medan fördelarna är få och små. De flesta av fördelarna går dessutom att nå med enklare och mindre riskfyllda tekniker.

Innan jag går in på varför frames som regel ger sämre sajter ska vi backa några år.

Frames verkade vara en ganska bra idé så där 1995-6, när de gjorde entre (jag minns inte exakt när det var - om du vet, skicka mej ett mejl). De verkade i alla fall lösa eller minska flera dåtida problem.

För det första hade man börjat märka att många sidor i en sajt hade flera delar gemensamma: navigationsmeny, logotype, sidfot och liknande. Om man hade mycket stora sajter (med den tidens mått, vill säga - kanske upp till hundra sidor) blev det mycket arbetsamt att ändra något i menyn eller sidfoten. Man måste i stort sett öppna alla sidor och ändra i koden för hand (kom ihåg att detta var innan det fanns några egentliga verktyg för att hantera hela sajter).

Med frames räckte det att göra en enda fil med navigering och logotype, och koppla ihop den med alla andra sidor i ett frameset. Man ändrade loggan på ett ställe, och det slog igenom på hela sajten.

För det andra kunde webbdsignern med hjälp av frames se till att oerfarna webbredaktörer inte av misstag eller oförstånd ändrade på navigering, logotype eller design. När dessa låg i en annan frame kunde de göras oåtkomliga för klåfingriga.

En tredje fördel var att webbsidorna (i alla fall i teorin) skulle bli snabbare, när inte loggor och andra identiska delar behövde laddas om på varje sida. Det var viktigt när de flesta anslöt till nätet med 14,4-modem.

Men allt det där var länge sen. Det finns sedan länge andra sätt att bygga sidor av olika delar, och att göra vissa sådana oåtkomliga för obehöriga - utan behov av ett frameset. Nästan alla publiceringsverktyg har mallar och liknande tekniker som sköter detta. (Så kallade server-side includes kan göra samma sak, oavsett vilket verktyg du använder.)

Långsamma modem är inte heller ett så stort problem längre. Dessutom blev många framesets så komplicerade, att de i sig laddade mycket trögt. Så även om väntetiden på följande sidor blev lägre, fick man vänta längre på första sidan - vilket kunde vara ett större irritationsmoment. Om man dessutom bara tittade på någon enstaka sida på en sådan sajt, upplevde man det knappast som att man sparade tid.
   
På denna sida:
Gå till Frames ger sämre informationsdesign
Gå till Svårare att veta var man är
Gå till Problem med utskrifter och sökmotorer
Gå till Frames kan skymma delar av innehållet
Gå till Kan man undvika nackdelarna?
Gå till Att rulla sidorna är inte ett stort problem
Gå till Är frames är någonsin bra?
Gå till Relaterade länkar
Gå tillSidans topp

 

Frames ger sämre informationsdesign
Och medan de ursprungliga fördelarna försvunnit, finns nackdelarna kvar.

Framför allt är frames till skada för det som jag kallar informationsdesign: den del av ett sajtbygge som handlar om att göra det lätt för användaren att hitta information, att hitta tillbaka till den vid ett senare tillfälle, att tolka den, att spara den och att dela med sig av den till andra. (Läs mer om informationsdesign i På Kornet-artikeln "En sajt kräver tre sorters design" - se under Relaterade artiklar nedan.)

Den viktigaste nackdelen är utan tvekan att i så gott som alla sajter med frames visar alla sidor samma adress och titel för besökaren.

Vilket innehåll besökaren än tittar på är det alltid bara "www.foretaget.se" som syns i webbläsarens adressfält, och "Välkommen till Företaget AB" som syns i titelraden.

Det har flera allvarliga konsekvenser. Framför allt blir det praktiskt taget omöjligt att länka till enskilda sidor på sajten.

Den som vill dela med sig av något hon läst, kan inte skicka ett mejl till vänner eller kollegor med hälsningen "Hej, kolla den här artikeln!" och en direktlänk.

Istället blir han tvungen att beskriva hela vägen dit (och kanske förutse förändringar som kan komma att ske på sajten under tiden):
"Hej, kolla DNs recension av Nessers nya deckare. Gå till http://www.dn.se/. Klicka på "KULTUR" i navigeringsspalten till vänster. På sidan som visas då, klicka på "Populärmusik enligt Nesser" under rubriken "ARTIKLAR" i navigeringsspalten till vänster.
Om du inte ser rubriken "Populärmusik enligt Nesser" under "ARTIKLAR", klicka på "> Fler artiklar..." längst ner under "Artiklar" och rulla ner i den lista som visas tills du ser den."
Detta är ett äkta mejl som jag skickade till bekanta tidigare i år. Men man ska ju vara mycket motiverad för att orka förklara allt detta. DN gjorde om sin sajt i april - utan frames. Så vill jag idag hänvisa till en artikel, kopierar jag bara adressen från webbläsarens adressfält och klistrar in i mejlet.

Det är givetvis inte bara mejl till vänner som blir jobbigare. Det blir svårare och mindre meningsfullt för andra sajter att länka till dina sidor, om du använder frames. (Det minskar i sin tur din rankning på sökmotorn Google.)

Eftersom webbläsaren ständigt visar samma titel och webbaddress, är det också så gott som omöjligt för besökarna att använda bokmärken/favoriter för att hitta tillbaka till bestämda sidor.
    Gå tillSidans topp

 

Svårare att veta var man är
Ännu en stor nackdel med frames är att besökaren inte lika tydligt ser, var hon är i sajten.

Ett bra system ska alltid visa i vilket läge det är. På till exempel en radioapparat eller tv kan man oftast se vilken kanal man ställt in.

För en webbplats innebär det att besökaren tydligt ska kunna se var hon är; i vilken del av webben. Det är som regel viktigt både för att förstå den information man ser, och för att komma ihåg var den fanns (så man kan hitta dit igen).

I många sajter ser navigationsmenyn olika ut beroende på var man är - alltså visar den systemets läge.

mmmm


Så funkar det också här På Kornet. Om du klickar på någon av länkarna i menyn överst på sidan, kommer menyn att delvis byta utseende. (Det är ju föga poäng med att låta en sida ha en länk till sig sjäv.)

Men ligger navigationsmenyn i en egen frame, ändras den normalt inte alls, oavsett var man hamnar (kom ihåg att just det var ett av de ursprungliga skälen att använda frames: en sajt, en meny-fil). Av menyn kan man således inte utläsa vilket "läge" systemet är i - och det är illa.

    Gå tillSidans topp

 

Problem med utskrifter och sökmotorer
När innehållet delas upp i frames drabbas man också ofta av problem med utskrifter.

Olika webbläsare hanterar utskrifter av sidor med frames på olika sätt. Har man otur skrivs fel del av framesetet ut - till exempel bara navigeringsmenyn, men inte texten men var intresserad av.

Men att bara få ut "rätt" del - som innehållet utan meny - är inte bra det heller. Ofta vill man ha med någon annan del, som sajtens logotype eller sidhuvud eller meny, för att kunna se textens sammanhang.

Ibland får man ut alla delarna i framesetet, men på varsitt blad. Sammanhanget går ändå förlorat, och det är slöseri med papper.

Ett liknande problem kan uppstå med sökmotorer. En sökmotor - extern eller intern - talar om för dig, att en viss text på sajten innehåller ditt sökord. Men när du klickar på länken i träfflistan öppnas bara ramen med texten - men inte de andra delarna (detta är grundfunktionen - jag kommer till möjliga modifikationer om ett ögonblick).

När texten inte har med sig de andra ramarna, är det ofta omöjligt att se vem som publicerat sidan (logotypen ligger i en ram som inte öppnats) eller hur man går någon annan stans på samma sajt (navigeringen ligger också i en ram som inte öppnats).
    Gå tillSidans topp

 

Frames kan skymma delar av innehållet
Av design-skäl låser många sajter storleken på delarna i framesetet. Men eftersom text kan bli olika stor i olika webbläsare, och användare själva kan välja att förstora text, händer det att text försvinner bakom kanten och inte kan läsas eller kommas åt.

Globalportalen (se nedan) har till exempel sökfunktionen i en frame upptill. Men i en del webbläsare blir texten så stor, att länken till fritext-sökningen är så gott som osynlig.
    Gå tillSidans topp


När frames är låsta till storleken kan text försvinna under kanten

 

Nackdelarna kan undvikas, men...
Det är möjligt att fixa och trixa med en frames-lösning för att undanröja en del av de här problemen.

Det går att ge unika adresser, titlar och menyer för varje sida - om man bygger ett separat frameset för varje innehåll. Men det gör det mycket krångligare att skapa sidor (och förkommer därför så gott som aldrig).

Ofta ser man istället att sajter med frames tvingas ha dubbla navigationer. Förutom en gemensam navigationsmeny i en egen frame, har den enskilda sidan till exempel en så kallad kedja ( Hem > Sport > Fotboll ) som visar dess plats i sajten. Men poängen med frames var just att lagra navigationen för sig, och att dubblera den tar värdefull plats från innehållet i det ganska lilla webbläsarfönstret. Om navigationen läggs i själva dokumentdelen, har man dessutom på nytt öppnat möjligheten för klantskallar att trassla till det.

Problemet med sökmotorer kan undgås genom att man till varje sida lägger till ett extra javascript. Det kan se till att hela framesetet öppnas, när någon via en sökmotor försöker gå till en viss frame.

Man kan kanske också gardera sig för att text döljs genom att testa sajten mot många fler olika webbläsare, eller använda bilder i stället för text, eller lägga till script som känner av vilken typ av webbläsare det är som anropar sidan, och anpassar sidans style sheet därefter - eller ytterligare någon annan typ av lappande..

Men hela tiden ökar komplexiteten i sajten. Varje sådant tillägg gör den krångligare att underhålla. Det blir fler saker att testa för olika webbläsare. Även själva scripten som ska känna igen olika webbläsare måste underhållas, efterhand som nya versioner kommer ut.

Det enklaste sättet att slippa nackdelarna är därför att undvika frames helt och hållet.
    Gå tillSidans topp

 

Att rulla sidorna är inte ett stort problem
Det finns ännu ett skäl till varför många webbar byggts med frames; kanske det vanligaste. Att man helt enkelt vill att logotyp, navigation eller annonser ska vara synliga och åtkomliga, även när besökaren rullat ner en bit på en sida.

Även det motivet är förståeligt. Tidigare fanns en uppfattning om att användare har ett väldigt motstånd mot att rulla - och alltså skulle tycka det var oöverstigligt att rulla tillbaka upp till en navigation, om de rullat ner på sidan. Men nu vet vi att det inte är så.

Att ha länkar både över och under innehållet, om det är så långt att det behöver rullas, är fullt tillräckligt och ger inga biverkningar.

Att hela tiden exponera logga eller annonser är ärligt talat också både påträngande och lite fånigt.

En särskild frame överst med logga (eller meny) stjäl plats från innehållsdelen. När besökaren läser får hon sämre överblick över texten. Och annonser blir inte mer attraktiva för att man försöker tvinga dem på läsarna hela tiden.
    Gå tillSidans topp

 

Är frames någonsin bra?
Nja, njo, kanske. Nackdelarna är i alla fall inte lika allvarliga för alla typer av sajter. I "webblications" - program som används via webbläsaren - finns kanske inget behov av att kunna bokmärka eller skriva ut alla sidor. I e-handelssajter kan det vara bekvämt att låta en ram visa det man köpt (kundvagnen) och visa varukatalogen i en annan. Men det är inte heller nödvändigt; stora aktörer som till exempel Amazon.com klarar sig bra utan det.

Och när frames används som ett layoutverktyg, kan man med bättre resultat använda stilmallar istället (rekommenderas av Handikappombudsmannen och Statskontoret). Eller tabeller.

För de flesta sajter finns det alltså flera goda skäl att undvika frames. Faktum är att det finns ytterligare ett. Det kan du läsa mer om i en separat artikel På Kornet: Till sidtitelns försvar.
   
Relaterade artiklar
På Kornet:
Gå tillTill sidtitelns försvar

Gå tillEn sajt kräver tre sorters design

Gå tillRiktlinjer gör det lättare att bygga bättre sajter

Gå tillHur annonserna inte fungerar

Andra webbplatser:
Gå tillGlobalportalen

 

Jonas Söderström

26 juli 2002

   

 

Gå tillSidans topp


Jonas Söderströms porträtt På Kornet är Jonas Söderströms webbplats. Jag hjälper organisationer och företag med analyser och råd om hur deras webbplatser och tillämpningar kan bli mer användarvänliga - i vid mening. Jag håller också kurser i att skriva för webb och att bygga mer användbara webbar. Flitigt anlitad och mycket uppskattad föreläsare. (Läs mer på Kornet-sidan Skrot och korn.)

Kontakta mig på jonas@kornet.nu om du är intresserad.

     
>> Synpunkter? Skicka ett mail med länken ovan.<<
     

 


På kornet  |  Korn av sanning  |  Guldkorn  |  Blind höna  |  Skrot och korn  |  Väderkorn