U bent hier:

  1. Handleiding
  2. Ontwikkeling
  3. Client-side script en DOM
  4. Optionele karakter

Client-side script en DOM: Het optionele karakter van client-side scripts

Gebruik geen client-side script voor onmisbare functionaliteit op webpagina’s, tenzij het gebrek aan ondersteuning voor deze scripts voldoende wordt afgevangen door HTML alternatieven en/of server-side script.

Richtlijn R-pd.14.1

Sommige bezoekers gebruiken browsers die geen of beperkt client-side script ondersteunen, of hebben ondersteuning voor client-side script uitgeschakeld. Het kan gaan om een oude browserversie, of juist om een heel nieuwe, zoals browsers op mobiele telefoons en PDA’s. Bezoekers hebben ook zo hun redenen om ondersteuning uit te schakelen, bijvoorbeeld uit veiligheidsoverwegingen.

“Ensure that pages are usable when scripts, applets, or other programmatic objects are turned off or not supported. If this is not possible, provide equivalent information on an alternative accessible page.”

Hoewel het percentage potentiële bezoekers dat client-side scripts moet missen laag is, mogen webontwikkelaars dit niet negeren. De volgende adviezen kunnen webontwikkelaars helpen hier rekening mee te houden.

Gelaagd bouwen van functionaliteit

Onmisbare functionaliteit (bijvoorbeeld formuliervalidatie) kan worden gestuurd via client-side scripting, maar zal falen als ondersteuning hiervoor ontbreekt. Webontwikkelaars kunnen deze situatie ondervangen door gelaagd te bouwen.

Wanneer ondersteuning voor client-side scripts ontbreekt, wordt teruggevallen op HTML alternatieven of server-side scripts.

Een alternatief voor een client-side script hoeft niet per se dynamische of visuele effecten te realiseren als het script zelf. Er is sprake van een alternatief wanneer de bezoeker in staat is het doel van het client-side script te bereiken zonder de ondersteuning voor dit script. Zo’n doel is bijvoorbeeld het controleren en valideren van de invoer van een contactformulier of het navigeren van de website. Het ontbreken van client-side scripts betekent hooguit dat het bereiken van deze doelen voor de bezoeker minder eenvoudig is.

HTML alternatieven voor client-side scripts

In het noscript element kan inhoud worden opgenomen die wordt getoond als alternatief voor client-side scripts. Vaak is het echter beter om uit te gaan van client-side scripts als uitbreiding op HTML-basisfunctionaliteit in plaats van als alternatief. Lees verder

Server-side scripts als alternatief

Client-side scripts als aanvulling op basisfunctionaliteit, gecreëerd door server-side scripts.

Geen alternatieven voor client-side scripts nodig

Niet alle toepassingen van client-side scripts hebben een scriptloos alternatief nodig; veel toepassingen kunnen door de bezoeker gemist worden, zolang deze de pagina maar kan gebruiken.

Een voorbeeld is een menu op de pagina om de bezoeker de lettergrootte te laten regelen. Het is mogelijk om dit op te vangen met een server-side script. De webontwikkelaar kan er echter ook van uitgaan dat browsers zelf een functie bevatten om de lettergrootte op pagina’s te schalen naar de voorkeur van de gebruiker. Bezoekers die client-side scripts missen, zijn dan op deze standaardfunctie aangewezen.

Unobtrusive JavaScript

De techniek om het gebruik van client-side scripts (in dit geval JavaScript) volledig te scheiden van ” bijvoorbeeld ” de HTML wordt ‘unobtrusive JavaScripts’ genoemd. Gaat het bij het gebruik van CSS om het scheiden van (visuele) vormgeving en inhoud/structuur, bij unobtrusive JavaScript worden gedrag en inhoud/structuur gescheiden. Op deze manier is het mogelijk om inhoud/structuur, vormgeving of gedrag afzonderlijk te creëren, aan te passen of te verwijderen. Unobtrusive JavaScript kan dan ook worden gezien als een van de bouwstenen van het principe van gelaagd bouwen.

Links en referenties

Inhoudsopgave: Client-side script en DOM

  1. Introductie
  2. Het optionele karakter van client-side scripts
    1. HTML alternatieven voor client-side scripts
    2. Server-side scripts als alternatief
  3. Document Object Model


 Webrichtlijnen versie 1.3, november 2007.