People are so easily deluded into thinking they’ve instrumented choice, where in reality they’re nothing but passive observers.—CRASS, Yes Sir I Will
The Passive Observer

De correcte code

Het Web steunt op het idee dat de achterliggende code van iedere Webpagina voldoet aan dezelfde regels, zodat ze identiek wordt afgebeeld of uitgevoerd ongeacht het type browser of OS van de client. Het gebruik van standaarden heeft expliciete voordelen. Toch zijn Web-pagina’s zelden standards-compliant.

Het Web steunt op het idee dat de achterliggende code van iedere Webpagina (geschreven in HTML, XML, CSS,…) voldoet aan dezelfde regels, zodat ze identiek wordt afgebeeld of uitgevoerd ongeacht het type browser of OS van de client. Een set van dergelijke regels voor een mark-up taal of instructieset wordt een standaard genoemd. We noemen code die volledig aan de regels voldoet standards-compliant.

Het World Wide Web Consortium (W3C) wordt algemeen beschouwd als dé autoriteit voor het ontwikkelen, publiceren en onderhouden van deze standaarden. Het is een onafhankelijke, internationale organisatie die de steun heeft van alle grote spelers uit de software-industrie.

Het gebruik van deze standaarden heeft expliciete voordelen. Goedgeschreven code is makkelijker te onderhouden en maakt de pagina’s lichter, wat resulteert in sneller ladende pagina’s voor de gebruiker, en minder workload voor de server.

Standaarden vergroten ook de toegankelijkheid. Zowat iedereen gebruikt ondertussen Internet Explorer, maar er zijn nog verschillende andere browsers. Het is quasi onmogelijk om na te gaan of je pas ontworpen pagina’s op al die browsers identiek zullen werken. Maar als al deze browsers aan standaarden voldoen weten we dat bij voorbaat.

Er is de laatste jaren ook enorm veel werk gestoken in nieuwe standaarden zo op te stellen dat Web-pagina’s ook toegankelijk worden voor minder-valide gebruikers, vooral blinden en slechtzienden, met enkele voorzieningen voor motorisch gestoorden. Deze mensen surfen vaak via aangepaste browsers, die tekst of voice gebaseerd zijn. Al te vaak wordt deze groep over het hoofd gezien, en wordt bij het ontwerpen van Web-sites enkel rekening gehouden met de twee grootste commerci�le browsers, Internet Explorer en Netscape Navigator, en steeds vaker enkel met de eerste.

De wetgevende machten worden zich stilaan bewust van deze discriminatie. België is zoals gewoonlijk laat, maar in de VS werd het Federal IT Accessibility Initiative (FITAI) goedgekeurd, met daarin de reeds beruchte Section 508. Deze sectie verplicht alle Web-sites van gelijk welke federale overheid te voldoen aan een hele reeks voorschriften omtrent accessibility voor gehandicapten, en dit vanaf 21 juni 2001. Als je bedenkt hoe gemakkelijk Amerikanen naar de rechtsmiddelen grijpen mag je er zeker van zijn dat deze wet serieus genomen zal worden.

De browsers draaien bij…

Enkele jaren geleden werden Netscape en Microsoft zwaar op de korrel genomen omdat ze eigen tags toevoegden aan de standaard tags, die enkel op hun versie van browser werkten. Daarnaast waren er verschillen in de manier waarop bestaande tags werden geïmplementeerd. Op deze manier trachtten ze elkaars marktaandeel af te snoepen. Maar deze trend had zeer nadelige gevolgen. De verschillen die ontstonden maakten het voor web-designers zeer moeilijk om pagina’s te coderen die werkten op alle versies, wat uiteindelijk ten nadele ging van de eindgebruiker.

Designers en gebruikers gelijk begonnen te klagen. Organisaties zoals het WASP werden opgericht om te ijveren voor het toepassen van de standaarden zoals ze bedoeld zijn. Met de komst van nieuwe en betere standaarden, op XML gebaseerd, werd de aanklacht luider en ontvankelijker. Uiteindelijk zagen ook beide producenten het voordeel van standaarden in (en niet alleen om humanitaire redenen), en begonnen browsers te ontwikkelen die in meer of mindere mate standards-compliant waren. Momenteel zijn er browsers op de markt van behoorlijke kwaliteit, alhoewel er nog heel wat ruimte voor verbetering is.

… nu de editors nog!

Maar nu de belangrijkste browsers voldoen aan de eisen, wordt een ander, misschien wel ontzettend veel groter, probleem duidelijk. De meeste Web-pagina’s zijn óók niet standards-compliant. Om verschillende redenen.

Goede code schrijven is best moeilijk, en vraagt een grote inspanning en betrokkenheid van de programmeur (we noemen dit gewoon professionalisme).

Bovendien was deze inspanning tot nog toe niet nodig. Gewone HTML pagina’s maken is gemakkelijk. Het is trouwens één van de redenen waarom het Internet zo snel kon groeien, omdat iedereen het kan. En browsers zijn zeer tolerant tegenover fouten in de code. Dus weinig ontwerpers hebben ooit de moeite genomen om de standaarden tot in de puntjes te leren.

De nieuwe standaarden, zoals XML en XHTML, zijn complexer, en weinig vergevingsgezind. Ze vereisen dat de code syntactisch correct wordt geschreven. Veel ontwerpers menen het wel goed, maar ze weten niet hoe goede code er uit ziet. Met alle respect.

Dit kun je testen. Neem een willekeurige pagina en valideer de code met de W3C validator. De lijst kleine en grote fouten is eindeloos. Je loopt vaak tegen regels aan waarvan je niet eens wist dat ze bestonden. Deze site beroept er zich op enkel correcte code te publiceren, maar de layout is zeer eenvoudig, en er is een paar avonden werk in gekropen. Grote commerci�le sites zijn veel complexer.

Tijdsgebrek wordt dan ook al te vaak als reden opgegeven om zich geen zorgen te moeten maken over standaarden. Ontwerpers menen geen tijd te hebben om aan alle standaarden te voldoen. Er moeten alsmaar complexere sites worden gemaakt, en de deadlines zijn steeds scherper.

Klanten geven er eigenlijk ook niet om als de code goed geschreven is. Zolang hun pagina’s er maar goed uitzien in IE 4+, wat meer dan 90% van hun publiek vertegenwoordigt. Nochtans is goede code schrijven niet moeilijker dan de vaak ingewikkelde workarounds die nu worden toegepast, als er maar van bij het begin rekening wordt mee gehouden. En laat ons eindelijk eens beseffen dat een Web-pagina er niet identiek moet uitzien op elke browser, zolang inhoud en functie maar dezelfde blijven.

Maar de tijd dat een site rustig handgecodeerd kon worden is definitief voorbij. Daarom wordt er naar tools gegrepen die dit automatisch doen, de zogenaamde WYSIWYG editors. WYSIWYG staat voor what you see is what you get. Geen enkele van de meest gebruikte WYSIWYG editors echter produceert correcte code. Voor Web-designers die de moeite wensen te doen om standards-compliant code te schrijven zit er niks anders op dan alles zelf te coderen, of deze editors uitgebreid te gaan customiseren, wat dus meestal niet gebeurt.

Je kunt je afvragen of het economisch verantwoord is om alle bestaande sites te gaan herschrijven. Het zou een titanenwerk zijn, en teveel geld en tijd kosten. Toch moet de bewustmaking van het belang van deze standaarden verder aangewakkerd worden. Het is jammer dat nog elke dag sites live worden geplaatst die geen enkele neiging tot compliancy vertonen. Als Web-designers en editor-producenten zich niet onmiddellijk dit soort dingen beginnen aantrekken wordt de chaos alleen groter.

13.07.2001 8:37 am : Code :

Leave a Comment

Thoughts have wings. Support freedom.

Creative Commons License