Dårlige vaner i webdesign

Webdesignere bruger stadig komponenter fra webbets barndom som TABLES og FRAMES. Er det dårlig vane, manglende videreuddannelse eller blot at spille på det sikre og kendte?

At bruge tabeller til layout er et trick
Oprindeligt var HTML-tabeller blot beregnet til at vise tal og andre data på skematisk form. Tekst var i princippet en-spaltet på websider, hvilket var for kedeligt i længden.

Man fandt ud af at tabellernes kolonner kunne bruges til at lave tekst-kolonner på siderne med. Slog man rammefarven fra og lavede hele siden som en kæmpetabel, havde man pludselig mange flere muligheder for at lave spændende sider.

Tabeller er ikke nemme at styre, så der blev hurtigt behov for at have tabeller inde i tabeller, at slå celler og rækker sammen og at bruge »usynlig« grafik til at justere afstande med. Et rent helvede at overskue og vedligeholde i HTML kode.

Eksempel på tabelstruktur
En simpel side opbygget med fire tabeller viklet ind i hinanden. Det ser overkommeligt ud som figur. Men kildekoden, der i sagens natur er liniær tekst er grufuld at arbejde med.

Hastighed og markedsføring
Tabeller har to andre ulemper. Den ene er knap så generende på moderne og dermed hurtigere computere. Inviklede tabeller er nemlig lidt langsommere for browseren at regne ud og tegne på skærmen end alternativet.

Ser vi på de vigtige søgemaskiner, så læser de en side som ren HTML tekst oppefra og ned. På en typisk tabel-side betyder det, at den globale menu og den første kolonne bliver læst først. I den første kolonne ligger typisk en lokal menu. Tager man ikke sine forholdregler vil disse menuers indhold blive vist i søgeresultatet. Hvilket ikke er særligt informativt eller sælgende.

Vi har design-software og CMS'er til at klare ærterne
Grafisk webdesignsoftware som for eksempel GoLive eller DreamWeaver er bygget til at tage pinen væk omkring kildekoden. »Hvad du ser, er hvad du får«. Desværre ikke altid, for der vælger mange typisk også at arbejde med tabel-layout. Disse programmer har også svært ved selv at finde rundt i tabellerne og laver ofte en kode, der er alt for stor og har elementer, der ikke er blevet slettet ordentligt under omflytninger af komponenter osv.

Content Management systemer eller CMS'er, skulle være det ideelle. Her skal man ikke bekymre sig om koden overhovedet, men bare hælde sin information på. Desværre kræver nogle af dem, at man selv kan kode lidt HTML, hvis man vil lave lidt ud over det ordinære. Hovedparten af dem bruger også layouttabeller. Det er dog ofte på en renere form, så her er det mere tabellernes generelle begrænsning og ulempe ved søgemaskineoptimering, der spiller ind.

Er der ikke noget godt at sige om tabellerne?
Tabeller er en meget gennemprøvet teknik og de (få) mennesker, der virkeligt behersker dem, kan udrette mirakler. Tabeller er gode at bruge, hvis websiden skal kunne følge brugerens ønsker tæt i forhold til at skifte størrelse på elementer og selve skærmen. Den slags foretrækkes ved sider til synshandicappede osv. Tabeller er altså gode at have i baghånden til ekstremt brugervenlige sider.

Afløseren er klar: Cascading Style Sheets, CSS
Tabeller er bøvlede at arbejde med som designer. Ud over det, så blander man let data og layout sammen, når man bruger tabeller. Det har igen betydning for vedligeholdelsen af informationen og kan være et kæmpeproblem ved redesigns eller blot små ændringer, når man har mere end fem seks sider.

Med stylesheets smider man information ind på siden i navngivne blokke. I et document ved siden af beskriver man, hvor de enkelte blokke skal placeres og hvordan de skal fremtræde grafisk. Det kan ske med pixels nøjagtighed.

Informationen kan nu frit opdateres uden at forstyrre designet og designet kan ændres på tusindvis af sider i et snuptag. Enkelt, effektivt og dermed billigere.

Gode gamle <FRAMESET> er ikke længere velkommen
Jeg har selv brug frames og elsket dem i mange år. Men desværre, tiden er løbet skrigende fra dem - og det bør du eller din designer også gøre.

Frames var gode den gang modems var langsomme. Ved at dele en webside ind i rammer, som kunne opdaters hver for sig, sparede man en del båndbredde. Man sparede også at gentage visse elementer som menuer på hver eneste side. Oven i det kunne frames aflaste tabel-layoutet i visse situationer.

frameset består af flere dokumenter samlet på skærmen HTML-rammer samler flere dokumenter på serveren til en enkelt skærmside. Derved behøver hele siden ikke blive opdateret på en gang.

Men rammer er svære at styre. Hvis du ikke er lidt ferm til JavaScript, så dukker andres sites op inde i dit eget - hvilket du kan blive slæbt i retten for (copyright problemer). Dit eget site kan også dukke op i andres rammer og ødelægge dit dejlige design. At afstemme udskiftningen af rammernes indhold efter brugervalg eller eksterne klik, kan også blive langhåret. Rigtigt sjov og indbringende for programmørtyperne og megen lidelse for andre.

Men disse ulemper har mange designere fået styr på med tiden. Og det hele kan læses i billigbøgerne og læres på aftenskole. Alvorligere er det at :

Ja, det er rigtigt nok: Brugernes problemer er vægtes alvorligere end designerens i min liste.

Alternativer til rammerne
Hvis du vil arbejde med statiske sider, så må du tage indholdet ud af rammerne og anbringe det på selve siden. Det giver noget meget træls ekstraarbejde, når menuer skal opdateres. Du vil da være nødt til at gå ind på alle siderne og opdatere hver enkelt kopi af menuen. Surt show.

Det kan betale sig at undersøge om din udbyder støtter Server Side Includes (SSI). Med denne teknik laver du kun en kopi af menuen eller et andet hyppigt element på dine sider. Når serveren henter siden frem fra harddisken, smækker den lige den ønskede stump ind i filen, inden brugerens browser får den udleveret. Det er en ældgammel, men noget forsømt teknik.

Du kan også få en lignende effekt ved at skrive en smule kode i PHP. PHP er et sprog, der efterhånden tilbydes af de fleste servere.

Fra PHP er der imidlertid ikke lang til et egentligt CMS. Et sådant system danner siderne lige før, de sendes til brugeren. Siderne eksisterer simpelthen ikke før nogen spørger efter dem. Det er derfor ikke noget ekstra arbejde for et CMS at vedligeholde menuer på tusindvis af sider.

Er du med på et solidt design?

Det er jeg og mine partnere.

Ole klintebæk
Rev.: Marts 2006

 

Læs også artiklen:
Er det dit problem, hvordan bureauet koder dine websider?
i denne serie.

     ARTIKEL

BEQ Logo
BEQ-WEB • info@beq-web.dk   • 28 90 69 69   • v. Ole Klintebæk   • Holmegårdvej 2   • 8270 Højbjerg