‘Contingency’ betekent onvoorziene gebeurtenis. ‘Contingency design’ is het ondervangen en voorkomen van foutscenario’s. Dit zijn situaties waar bezoekers op de website in de problemen komen, bijvoorbeeld op een “404 - Not Found”-pagina.

De gedachte achter ‘contingency design’ is dat er geen ‘perfecte’ site bestaat - hoe zorgvuldig er ook wordt getest. Bezoekers zullen altijd problemen tegenkomen, hetzij door hun eigen handelen, hetzij door een fout in de site. ‘Contingency design’ biedt bezoekers hulp om de problemen op te lossen.

Inhoudsopgave

  • De voordelen van aandacht voor contingency design
  • Behulpzame foutpagina’s
  • Foutmeldingen
  • Behulpzame formulieren
  • Zoekmachines en zoektermen
  • Richtlijnen over contingency design

De voordelen van aandacht voor contingency design

Aandacht voor ‘contingency design’ vermindert de frustraties van bezoekers. Een site die bezoekers hulp biedt op het moment dat ze een probleem tegenkomen, kan rekenen op een grotere tevredenheid en loyaliteit van bezoekers.

Behulpzame foutpagina’s

“404: Not Found” is een van de meest voorkomende foutmeldingen waar bezoekers van websites mee worden geconfronteerd. Deze foutmelding doet zich voor wanneer een bezoeker een doodlopende link volgt. Webservers produceren standaard pagina’s voor het melden van een fout aan de bezoeker, maar webontwikkelaars kunnen ook afwijkende pagina’s creëren. De meestgemaakte fouten vinden plaats wanneer bezoekers zoektermen invoeren.

Besteed zorgvuldig aandacht aan het opzetten van eigen foutpagina’s: de standaard foutmelding die een webserver een bezoeker voorschotelt, biedt de bezoeker weinig inzicht in wat er precies misgaat en helpt hem niet opnieuw op weg in de site.

Soorten foutmeldingen

Er zijn vele soorten foutmeldingen vergelijkbaar met “404: Not Found” melding. Het zijn zogenaamde HTTP statuscodes. HTTP is een serie regels die verantwoordelijk is voor de uitwisseling van informatie tussen de webbrowser en de webserver; wanneer de browser een document bij de webserver opvraagt, reageert de server met een HTTP statuscode. Wanneer het document beschikbaar is – en meestal is dat zo – dan volgt de code “200: OK”.

Als het document niet beschikbaar is of als de browser de toegang ertoe wordt geweigerd, volgt een andere statuscode. Hier volgen enkele codes voor regelmatig voorkomende situaties. Een webserver toont – net als voor “404: Not Found” – een standaard foutpagina voor deze situaties.

401: Authorization Required
Toegang vereist authenticatie door de browser. De browser zal bij het ontvangen van deze code de gebruiker verzoeken om het invoeren van een gebruikersnaam en wachtwoord. Deze melding wijst meestal op een gefaalde poging tot het inloggen op een afgeschermd gedeelte van de site.
403: Forbidden
De webserver weigert toegang te geven tot de opgevraagde bron. Meestal geeft de webserver in een resulterende foutpagina een verklaring mee van het waarom van de weigering. Deze foutmelding doet zich vaak voor wanneer om een overzicht van de inhoud van een directory wordt verzocht; veel webservers zijn hiertegen beveiligd.
500: Internal Server Error
De webserver kan het verzoek van de browser niet uitvoeren vanwege een onverwachte fout op de server. Dit is een vrij ongenuanceerde foutmelding; deze kan zich voordoen wanneer de server bijvoorbeeld het bezoekersaantal niet kan verwerken.

Wel of geen unieke foutpagina's voor verschillende foutmeldingen

Of een webontwikkelaar een eigen, unieke foutpagina voor dergelijke situaties ontwikkelt, is afhankelijk van de mate waarin ze zich voordoen op een website. Aan de hand van de serverstatistieken kan een webontwikkelaar achterhalen hoe vaak een bepaalde statuscode door de server wordt gegenereerd en op basis daarvan een besluit nemen.

Uiteraard kan een webontwikkelaar ook – in plaats van unieke foutpagina’s – een algemene foutpagina ontwikkelen voor bovengenoemde situaties.

Tips voor het creëren van behulpzame foutpagina’s

  • Stuur bezoekers die met een foutmelding geconfronteerd worden niet automatisch door naar de voorpagina (home).
  • Breng de boodschap vriendelijk. Het gebruik van woorden als ‘Foutmelding’ of ‘Error’ kan bezoekers afschrikken. Geef hen de indruk dat het niet hun schuld is.
  • Geef bezoekers uitleg van wat er fout is gegaan en reik suggesties aan voor een oplossing van het probleem. Bezoekers zullen dit waarderen en kunnen proberen het probleem op te lossen, bijvoorbeeld door typfouten die ze hebben gemaakt in een URL te corrigeren. Zie ook Foutmeldingen.
  • Bied een link naar een sitemap of toon de (gedeeltelijke) sitemap op de foutpagina. Dit helpt bezoekers die op zoek waren naar een specifiek onderdeel op de site weer snel op weg.
  • Bied een link naar de zoekmachine op de site, indien aanwezig. Of voorzie in een invoerveld voor zoektermen op de foutpagina zelf.
  • Plaats op de foutpagina een contactformulier, een link daarnaartoe of andere contactmogelijkheden. Een bezoeker kan met het formulier melding maken van de fout en om uitleg vragen.

Links en referenties

  • R-pd.22.: Maak aangepaste foutpagina’s – voor fouten als doodlopende links (404 Not Found) – waarop de bezoeker mogelijkheden krijgt aangereikt om zijn weg te vervolgen binnen de site.

Foutmeldingen

“Established wisdom holds that good error messages are polite, precise, and constructive. The Web brings a few new guidelines: Make error messages clearly visible, reduce the work required to fix the problem, and educate users along the way.”

Een goede foutmelding laat de bezoeker het volgende weten.

  • Dat er een fout heeft plaatsgevonden.
  • Wat deze fout precies is.
  • Hoe deze fout kan worden verholpen.

Houd een foutmelding beleefd van toon, concreet en begrijpelijk. Een foutmelding als “Er heeft zich een fout (type 2) voorgedaan.” geeft bezoekers geen inzicht in de fout laat staan in hoe deze kan worden verholpen.

Geef bezoekers advies over hoe ze de fout kunnen verhelpen. Een inlogpagina kan bijvoorbeeld uitleggen dat de bezoeker moet denken aan de hoofdlettergevoeligheid van zijn gebruikersnaam of wachtwoord. Ook kan een e-mail-link worden geplaatst voor bezoekers die hun wachtwoord kwijt zijn en deze opnieuw willen opvragen.

Behulpzame formulieren

Hier volgen enkele tips voor het opstellen van formulieren die het de bezoeker gemakkelijk maken deze in te vullen en enkele regelmatig terugekerende foutsituaties voorkomen. Voor meer informatie over het creëren van formulieren, zie het hoofdstuk Formulieren.

  • Geef duidelijk aan welke velden in het formulier verplicht of optioneel zijn om in te vullen.

    Houd het aantal verplichte velden beperkt tot een minimum.
  • Houd er rekening mee dat bezoekers gegevens als een datum, postcode of telefoonnummer zullen invoeren in verschillende vormen.

    Bijvoorbeeld 09/05/1973, 09-05-1973 of 9 mei 1973. Indien de bezoeker deze gegevens in een bepaalde vorm moet schrijven, vermeld die vorm dan of geef een voorbeeld. De vorm van dergelijke gegevens kan overigens sterk gestuurd worden door de bezoeker te confronteren met opgesplitste invoervelden: een apart veld voor dag, maand en jaar. Let er in dat geval op dat de hoeveelheid velden niet ten koste gaat van het gebruiksgemak. Accepteer liefst de verschillende invoervormen en zorg aan de server-side voor een goede vertaling van deze invoer.
  • Controleer de ingevoerde gegevens automatisch alvorens het formulier naar de webserver te laten sturen.

    Dit vereist client-side scripts; deze controleren het formulier op volledigheid en correctheid en laten de bezoeker onmiddellijk weten of het formulier onvolledig of foutief is ingevuld. Dit scheelt de bezoeker tijd. Uiteraard mogen deze client-side scripts niet de enige manier zijn waarop een formulier gecontroleerd wordt; zie Het optionele karakter van client-side scripts.
  • Wees zeer voorzichtig met het gebruik van de herstel (reset) knop.

    Niet alle bezoekers begrijpen de functie van de knop. Bovendien zijn ze zelden nuttig. Bezoekers kunnen een herstel knop aanzien voor een verzend (submit) knop en daardoor alle informatie in een net ingevuld formulier verliezen! Doorgaans is het weglaten van een herstel knop daarom de beste oplossing.

Links en referenties

Zoekmachines en zoektermen

“Search is one of the most important user interface elements in any large website. As a rule of thumb, sites with more than about 200 pages should offer search.”

Search and You May Find, Jakob Nielsen
  • Geef de bezoeker heldere uitleg en tips wanneer een ingevoerde zoekterm geen resultaten oplevert.

    Bijvoorbeeld: “Er zijn geen resultaten gevonden voor planten kas. Probeer een zoekopdracht die uit één enkele term bestaat.”.
  • Geef bezoekers de mogelijkheid om hun zoekcriteria uit te breiden wanneer een ingevoerde zoekterm geen resultaten oplevert.

    De pagina met (of zonder) zoekresultaten mag geen doodlopende weg zijn. Herhaal voor de bezoeker bijvoorbeeld het zoekveld met de eerder ingevulde zoekterm, zodat deze eenvoudig door hem kan worden aangepast. Zoekt een bezoeker bijvoorbeeld de titel van een boek en levert de zoekactie geen resultaten op, dan kan hem worden gevraagd of hij op auteur of ISBN/nummer verder wil zoeken.
  • Houd zoekformulieren klein in omvang en eenvoudig in het gebruik.

    Bied functies met uitgebreide formulieren – zoals ‘geavanceerd zoeken’ – aan als een alternatieve methode.
  • Anticipeer op veelgemaakte ‘fouten’ door bezoekers.

    Bijvoorbeeld spelfouten, punctuatiekarakters (streepjes, punten, enzovoort), synoniemen, afkortingen, en meervouds- en enkelvoudsvorm van begrippen.
  • Geef bezoekers de mogelijkheid om zoekresultaten te sorteren, filteren en verfijnen.

    Bij een groot aantal resultaten is het handig voor een bezoeker als hij mogelijkheden krijgt aangereikt voor het sorteren of filteren van de zoekresultaten op bron, relevantie of context. Men zou in staat moeten zijn om binnen de getoonde resultaten een nieuwe zoekopdracht op te geven en daarmee de zoekresultaten nog meer te verfijnen.

Richtlijnen voor contingency design

Hier volgen enkele richtlijnen waarmee webontwikkelaars het oplossen van problemen met de site voor bezoekers kunnen vergemakkelijken.

  • R-pd.22.1: Gebruik taal die de bezoeker begrijpt: beperk het gebruik van jargon, moeilijke termen en afkortingen.
  • R-pd.22.2: Geef bezoekers een ‘vluchtroute’: mogelijkheden om verder te kunnen gaan als ze vastlopen. Vluchtroutes zijn onder andere behulpzame links, het kunnen gebruiken van de terug (back) knop, een zoekfunctie, of het onmiddellijk kunnen corrigeren van invoerfouten.
  • R-pd.22.3: Laat bezoekers niet raden: geef informatie over hoe ze een gemaakte fout kunnen herstellen. Houd rekening met veelgemaakte fouten.
  • R-pd.22.4: Maak aangepaste foutpagina’s – voor fouten als doodlopende links (404 Not Found) – waarop de bezoeker mogelijkheden krijgt aangereikt om zijn weg te vervolgen binnen de site.
  • R-pd.22.5: Bij een foutmelding als gevolg van het versturen van een formulier, geef de bezoeker de mogelijkheid om onmiddellijk de fout in het formulier te herstellen en laat hem niet afhankelijk zijn van het gebruik van de terug (back) knop.
  • R-pd.22.6: Bij het implementeren van een zoekmachine op de website: gebruik ‘slimme’ zoektechnologie die rekening houdt met bijvoorbeeld spelfouten, soortgelijke zoektermen, en termen in meervoud en enkelvoud.
  • R-pd.22.7: Geef een overzichtelijke lijst van de meest relevante zoekresultaten. Teveel zoekresultaten kosten bezoekers veel tijd om de gewenste informatie te vinden. Geef bezoekers mogelijkheden om zoekcriteria in te stellen, of zoekresultaten te ordenen.
  • R-pd.22.8: Geef bezoekers de mogelijkheid om fouten in de site te rapporteren.
  • R-pd.22.9: Maak gebruik van kleuren, iconen en tekstuele uitleg om de aandacht van de bezoeker voor een foutmelding te trekken en het probleem toe te lichten.
  • R-pd.22.10: Geef bezoekers mogelijkheden om informatie op alternatieve manieren te vinden. Bijvoorbeeld door het geven van een sitemap, zoekfuncties, of via een verzoek per e-mail, brief of telefoon.