Foto af Jesper Tverskov

Klapmusen.dk

 Jesper Tverskov, 21. august 2002

Design for mange browsere

Sommeren 2002 er browseren Internet Explorer så godt som enerådende med markedsandele på mellem 95 og 99 procent. Det er derfor fristende kun at designe for Internet Explorer. Glem alt om alle andre browsere eller hvad?

  1. Der vil altid være flere versioner
  2. Flere browsere bidrager til indsigt
  3. Fejlfinding med flere browsere
  4. Browser-sniffing som beredskab
  5. At teste på faciliteter tilrådighed

1. Der vil altid være flere versioner

Lad os slå fast, at selv hvis den situation skulle opstå, at ét browserfabrikat sad på 99,9 procent af markedet, så vil det stadig være nødvendigt at sniffe browsere. Med kun ét browserfabrikat er det stadig relevant at sniffe versionsnummer.

Selv den altdominerende browser vil til stadighed komme i nye udgaver med mere avanceret teknik. Det betyder f.eks. bedre understøttelse af CSS2 og det kommende CSS3, måske en bedre BOM (Browser Object Model), bedre understøttelse af XML og XSLT direkte i browseren, bedre understøttelse af Unicode, osv.

Hvis du ønsker at drage nytte af mulighederne i de nyeste versioner, har du til evig tid det problem, at den nyeste version i begyndelsen vil være i mindretal. Brugerne skal have tid til at opgradere. Selv en dominans på 99,9 procent for et browserfabrikat vil altid dække over 2-3 eller flere versioner af browseren.

En altdominerende browser må også formodes at køre på flere platforme, f.eks. Windows, Mac og Linux. Det vil betyde nuancer, der kan være kritiske for design af websider. F.eks. vises absolutte angivelser af skriftstørrelse meget mindre på en Mac end på en Windows-maskine.

Selv i en situation, hvor der kun var ét styresystem, kunne det være relevant at teste for udgaver af dette styresystem. F.eks. er det i ASP.NET muligt for en webside at udnytte de lokale indstillinger i Windows' Kontrolpanel, f.eks. formater for dato, tid, kalender, valuta, tal og sortering. Det gælder alle nyere udgaver af Windows fra og med Windows 98 men altså ikke Windows 95.

2. Flere browsere bidrager til indsigt

Selv om IE for tiden er så dominerende, at det afhængigt af situationen, og hvem man er, kan være ok at give fanden i andre browsere, når der designes, så bør man altid teste sine websider med flere browser-fabrikater for at lære noget.

Som programmør og designer er det vigtigt at have stor indsigt i den transformationsmekanisme fra "standard" til virkelighed, som en browser altid vil være. Når W3C's standarder åbner op for tvivl bidrager browserfabrikaters alternative implementeringer med indsigt.

Lad mig komme med et eksempel. Når du bruger interne link til forskellige steder på den samme side, opfatter IE det som det samme link. Det betyder at alle link til forskellige overskrifter på den samme side, skifter farve som besøgt, når blot en enkelt har været besøgt. Er det dén funktionalitet, vi ønsker?

Netscape opfatter interne links til forskellige overskrifter på samme side som selvstændige links med hvert sit farveskift. Det er måske den rigtige løsning, selv om Microsoft kan have ret i, at selv om kun ét link har været aktiveret til siden, så er det jo ret sandsynligt, at du har bevæget dig rundt på siden, når du har besøgt bare ét af linkene. Derfor bør alle link til forskellige steder på samme side skifte farve som besøgt, når blot ét har været besøgt.

Pointen er, at fordi vi tester med andet en IE, blev vi klar over, at en tilsyneladende tvivlsom implementering i IE, faktisk er blevet implementeret anderledes i andre browsere og derfor er dobbelt tvivlsom. Den anden implementering er befordrende for indsigt i, hvordan den dominerende browser, der betyder noget, rent faktisk fungerer.

3. Fejlfinding med flere browsere

Det er som bekendt vanskeligt at finde de fejl, du laver i HTML og CSS, fordi browserne med Internet Explorer i spidsen også konkurrerer om at være mest muligt tolerante over for fejl. Hvis du som eksperiment prøver at lave en tabel i HTML, er det chokerende at opleve, hvor mange af taggene, der kan slettes, uden at det får indflydelse på browsernes visning af tabellen!

Jeg har ofte ved at teste websider med flere browsere fundet dumme fejl, der på længere sigt kunne have givet problemer i kommende versioner af f.eks. Internet Explorer. Eller som ville have voldt problemer, hvis jeg en dag fik brug for at paste HTML'en ind i et XML-dokument, hvor HTML'en jo skal opfylde kravene til XML, dvs. være XHTML.

Jeg var f.eks. faldet i søvn med albuen på mellemrumstasten. Det betyd, at et link på en af mine websider havde et mellemrum i URL'en på flere kilometer for lige at overdrive lidt. Både Internet Explorer og Opera godkendte linket ud fra den vurdering, at jeg nok bare var faldet i søvn med en albue på tastaturet. Men derfor kan man jo godt være flink og acceptere linket, sådan som det nok havde været min hensigt at lave det. Netscape, derimod, mente jeg var bedre tjent med at få at vide, at der var et problem på siden.

Min pointe er, at selv om jeg måske ender op med kun at kode for Internet Explorer, så bidrog testningen af siden med flere browsere til, at jeg fandt en fejl, der en dag kunne have voldt problemer.

4. Browser-sniffing som beredskab

Selv om man kan vælge kun at designe til de sidste 3-4 versioner af IE, dvs. til mere end 95 procent af brugernes browsere, så er der dumt ikke yderligere at få et par procentpoint med, hvis det kan gøres uden for mange ressourcer. Her er argumenterne:

  1. Design for og test med flere browsere bidrager ikke bare til en større målgruppe, om så blot på ét procentpoint, men også til indsigt i browsernes virkemåde og til fejlfinding som nævnt ovenfor.
  2. Et website har måske en vigtig kunde eller samarbejdspartner, der tilfældigvis anvender en anden browser end Internet Explorer. Så er det smart at understøtte denne browser, i stedet for at komme med dårlige undskyldninger.
  3. Det firma, der har købt websitet, har måske i IT-afdelingen eller blandt indflydelsesrige enkeltpersoner et par fanatikere, der ikke kan døje "Microsoft only"-arrogancen. Hvorfor skabe unødig modvilje for website og webbureau, om så blot hos en enkelt, hvis du med få ressourcer kan lave et website, hvor andet end Internet Explorer har adgang?
  4. Vi ønsker alle, at minoriteter skal behandles pænt, og at de skal have en fair chance. Så lad os dog give andre end Internet Explorer adgang til vort website. Så er den del af etikken i orden. Vi kan alle miste det meste af synet eller blive blinde, så selvfølgelig skal skærmlæsere også fungere ordentligt.
  5. Ingen kender fremtiden. WebTV lurer i kulissen. Der kan kommer nye browsere eller andre devices med andre browsertyper, der atter gør det livsnødvendigt for et websites overlevelse præcist at kunne detekte browsertypen, og at tilpasse indholdet derefter. Den udfordring klares lettere, hvis du allerede nu har "browser-sniffing på plads", også selv om du i dag kun bruger det til småting.

5. At teste på faciliteter tilrådighed

Den traditionelle browser-sniffing testede for fabrikat og version. De besøgende blev dirrigeret ad forskellige veje ud fra hvad deres browser på papiret var i stand til. Det var så besværligt, at de fleste i praksis kun skelnede mellem Netscape og Internet Explorer og til nødt mellem platformene Windows og Mac. Alle andre browsere og styresystemer, der sammenlagt udgjorde få procent af de besøgende, fik enten ikke adgang eller blev dirrigeret over til en forenklet udgave af websitet.

Den traditionelle browser-sniffing er problematisk og er mere og mere blevet erstattet af testning af faciliteter tilrådighed i brugerens browser. Når der skal anvendes cookies, testes der først om websiden rent faktisk kan sætte og læse en cookie. Er det tilfældet, ja så bruges der cookies, osv. Hvad browseren kan eller ikke kan på papiret, fabrikat og versionsnummer er ligegyldigt.

Ved at teste for faciliteter tilrådighed, sætter du dig også ud over det klassiske problem ved traditionel browser-sniffing, at nogle browsere giver sig ud for andet end de er. Oprindeligt identificerede Opera sig f.eks. som Netscape og den dag i dag kan Opera 6.0 indstilles til at identificere sig som Internet Explorer.

Copyright © 2002 Klapmusen.dk

N

The document is made to be a resource. Use it. Link to it. The document will be maintained, the URL is stable.

Opdateret: 05-10-2002 15:36

Status: 

Revision: 

Tip en ven - Email et link

Debat

Debatten er lukket. Send mig en mail.

  • Design for mange browsere [Jesper Tverskov, 21. august 2002]