ERROR Off The Road

Een professionele pagina

Ik zit te kijken naar de broncode van een pagina die een frameset opbouwt. Wat mij een beetje treurig stemt is dat er in een bestand van nog geen 4kb zoveel domme fouten zitten. Dat zou op zichzelf nog niet zo erg zijn, ware het niet dat dit een hoofdpagina is uit de site van één van de grootste universiteiten van dit land. En wat nog erger is: aan deze pagina hebben professionele web-bouwers gewerkt.

Nu kunnen er verschillende redenen zijn waarom een webpagina niet optimaal in elkaar steekt: er kan een grote tijdsdruk achter hebben gezeten, of er hebben meerdere mensen aan gewerkt. Maar eigenlijk is er geen excuus voor een dergelijke puinhoop. Het project loopt al geruime tijd, en tijdsdruk kan nooit een excuus zijn voor zoveel fouten op een zo klein oppervlak. En juist het feit dat het zo’n groot project is, zou moeten garanderen dat verschillende auteurs in het eindproduct niet meer als zodanig zijn terug te vinden. Het project is bovendien door een uitgebreide pilot-fase gegaan. Er hebben veel mensen naar gekeken, waaronder andere professionals. Toch is dat blijkbaar geen aanleiding geweest om in ieder geval deze pagina op te schonen.

Is dat nou zo erg? Ik heb ook wel eens een pagina de deur uit gedaan waarover ik mij achteraf eens op het hoofd heb gekrabd. We hebben allemaal onze maandagen (of, in mijn geval, woensdagen). Maar deze pagina is er niet zomaar één; deze pagina is een cliché dat in een content management systeem zit. Deze pagina wordt gebruikt als basis voor elke pagina die in dat systeem wordt gegenereerd. Niet alleen op de hoofdsite van de universiteit, maar ook op de pagina’s van de faculteit die als pilot diende, vind je deze fouten ongewijzigd terug.

Wat is de instelling van iemand die zoiets maakt? De professionals die verantwoordelijk zijn voor deze site verwoorden het aldus op hun eigen website:

Wij hebben uitgebreide ervaring in het toepassen van gerichte marketing- en communicatie-strategieën. Gecombineerd met onze gedegen kennis van het medium Internet, zorgt dat ervoor dat wij u deskundig kunnen adviseren hoe u dit medium optimaal voor uw bedrijf of organisatie kunt inzetten.
Uiteraard wordt dit advies gevolgd door een professionele realisatie van uw Internet website.

De professionele realisatie

Welnu, hoe is deze professionele realisatie uitgevallen voor de universiteit? Een greep uit de fouten die ik op deze pagina aantrof.

  • De doctype-definitie is die van HTML 4.01, echter niet die voor framesets maar voor ‘gewone’ pagina’s.
  • De pagina definieert een stel geneste framesets. Echter, deze framesets definiëren allemaal enkel rows, zodat er geen enkele reden is om te nesten.
  • In de frame-tags worden attributen gedefinieerd die al identiek zijn gedefinieerd in de frameset (zoals border).
  • De waarden voor de attributen staan meestal tussen dubbele quotes, zoals het hoort, maar soms tussen enkele quotes of helemaal niet tussen quotes. Ook lijkt er met knippen en plakken hier en daar iets niet helemaal goed gegaan te zijn. Een voorbeeld:
    border=0 frameborder="0"marginwidth="0"
  • Het noframes-gedeelte komt na de frameset, terwijl dat volgens de DTD van HTML 4.01 binnen de (buitenste) frameset zou moeten zijn.
  • Het noframes-gedeelte bevat zelf weer een body-tag. De DTD lijkt dat toe te staan, maar algemeen geldt de regel dat in een frameset-pagina geen body-deel voorkomt.
  • Het noframes-deel opent met het volslagen overbodige
    <div align="center"></div>
  • Het noframes-gedeelte is bedoeld voor browsers die geen frames kunnen weergeven. Dat zijn in het algemeen heel oude browsers (de zogenaamde 2-versies) en tekstgeoriënteerde browsers zoals lynx. Desondanks bevat dit deel van de pagina een plaatje en staat het bol van de font-definities; met name de laatste zijn zinloos, aangezien noch de oudere browsers, noch tekstbrowsers daar iets mee kunnen.
  • Wat dergelijke browsers allemaal wel kunnen is het afbeelden van de <hr>-tag. Maar die is in deze pagina niet te vinden; wel constructies als deze:
    <p align="center"><font face="Verdana" size="1">------------------------------</font></p>
    (Voor het overzicht heb ik aantal fontnamen weggelaten, en een kleiner lettertype gebruikt om het binnen de marges te houden.)
  • Er wordt een tabel gedefinieerd met in de enige cel een <div align="center">; in de daarop volgende tekst wordt iedere alinea begonnen met een <p align="left">

Dat de makers blijkbaar geen idee hebben van waar ze mee bezig zijn, blijkt ook wel uit de tekst in het noframes gedeelte:

U bent op deze pagina terecht gekomen omdat u voor deze Internet site een nieuwere browser nodig heeft of omdat u javascript niet aan heeft staan in uw browser.

Deze uitspraak bevat behalve een anglicisme ook een permanente onjuistheid: het kunnen weergeven van frames staat immers geheel los van javascript. Weliswaar zou een frameset opgebouwd kunnen worden vanuit een javascript, in welk geval de uitspraak wel waar zou zijn geweest, maar op deze hele pagina komt geen letter javascript voor.

De maker van deze pagina heeft ook pogingen gedaan met inspringen de samenhang van de diverse HTML-structuren weer te geven. Daarbij is gebruik gemaakt van zowel tabs als spaties. Dat bij het ‘terugspringen’ de tekst in een andere kolom eindigt dan waar zij begon was blijkbaar geen reden tot paniek. Dat de broncode er niet bepaald leesbaar op is geworden was ook geen overweging.

Na het verwijderen van foute of redundante opmaak, bleef er van dit bestand nog maar de helft over. In dit geval in absolute zin geen spectaculaire winst, want het betrof oorspronkelijk een bestand van nog geen 4kb, maar toch… Een professionele web-bouwer zou zich de oren van zijn hoofd moeten schamen voor een dergelijke janboel.

Het bewijs

Voor wie het niet wil geloven: ik heb de code van de betreffende pagina op een aparte pagina gezet.

ERROR

Deze tekst is ‘Off The Road…’, april 2001

© Roelof Ruules