Navigatieformulieren voor scriptlozen en zoek-spiders

Als een website uitsluitend te navigeren is via client-side script of formulieren wordt de website volledig ontoegankelijk voor bezoekers van wie de browser geen client-side scripts ondersteunt, en voor zoek-spiders..

Uitleg van deze richtlijn

Nadelen van client-side scripts

Meestal beroept de functionaliteit van een navigatieformulier zich op client-side scripts. Dit kent twee nadelen.

  • Een bezoeker wiens browser geen client-side scripts ondersteunt zal geconfronteerd worden met een onwerkzaam formulier.
    De links in het menu zijn ontoegankelijk voor deze ‘scriptloze’ bezoekers, als gebruik van het formulier de enige manier is om deze links te kunnen volgen.
  • Zoek-spiders zullen het navigatieformulier negeren.
    Zoek-spiders ondersteunen geen client-side scripts en maken sowieso geen gebruik van functionaliteit die in formulieren is verwerkt. De links in het menu zijn ontoegankelijk voor zoek-spiders als gebruik van het formulier de enige manier is om deze links te kunnen volgen.

Als een website uitsluitend te navigeren is via dergelijke navigatieformulieren wordt de website volledig ontoegankelijk voor de twee bovengenoemde groepen. Bij andere groepen bezoekers kan het irritatie en ongemak oproepen.

Oplossingen

Als een navigatieformulier niet de enige manier is om bij informatie op de site te komen, is het probleem voor zoek-spiders in principe opgelost. Zij zullen de alternatieve vormen van navigatie gebruiken om bij de informatie te komen.

Server-side script

Als webontwikkelaars het formulier laten verwijzen naar een server-side script, kunnen ook bezoekers met browsers zonder ondersteuning voor client-side scripts het formulier gebruiken. Een server-side script is niet gevoelig voor de beperkingen van browsers en kan de doorverwijzing voor de bezoeker uitvoeren. Wel vereist deze methode toegang tot en ervaring met server-side scripts. Zie ook Server-side scripts als alternatief.

Het noscript element

Ook het gebruik van een lijst met tekstlinks binnen een noscript element is voor zowel scriptloze bezoekers als voor zoek-spiders gunstig. Deze (voor zoek-spiders toegankelijke) lijst kan worden getoond als client-side scripts niet ondersteund worden en dient als alternatief voor het (onbruikbare) formulier.

Gerelateerde richtlijnen

  • R-pd.1.2: Bouw websites volgens het principe van gelaagd bouwen.
  • R-pd.1.3: Maak de functie van de website niet afhankelijk van optionele technologie, zoals CSS en client-side script: optionele technologie dient de informatie op de site en het gebruik ervan te complementeren en niet de toegang ertoe te belemmeren wanneer deze technologie niet ondersteund wordt.
  • R-pd.8.5: Bij het gebruik van client-side script in combinatie met een link: maak de scriptfunctionaliteit een uitbreiding op de basisfunctionaliteit van de link.
  • R-pd.13.1: Gebruik het label element om tekst expliciet met een invoerveld in een formulier te associëren.
  • R-pd.13.2: Gebruik het tabindex attribuut om van de standaard tab-volgorde op formuliervelden af te wijken wanneer deze volgorde niet toereikend is voor correct gebruik van het formulier door toetsenbordgebruikers.
  • R-pd.13.3: Breng groepering van invoervelden aan door middel van het fieldset element.
  • R-pd.13.4: Vermijd automatische doorverwijzing bij interactie met formulieren.
  • R-pd.13.6: Confronteer een bezoeker niet met een onwerkzaam formulier als optionele technologieën - zoals CSS of client-side script - niet door de browser ondersteund worden.
  • R-pd.13.7: Wees terughoudend met het gebruik van CSS voor invoervelden en formulierknoppen.
  • R-pd.14.1: 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.

Bijbehorende ijkpunten normdocument

  • IJkpunt 6.3: Zorg ervoor dat pagina's bruikbaar zijn, als scripts, applets of andere programma-objecten uitstaan of niet worden ondersteund. Als dit niet mogelijk is, lever dan equivalente informatie op een alternatieve toegankelijke pagina.