3.3.7 Gör inte webbplatsen beroende av javaskript

Prioritet: 1

WCAG 1: 6.3, 6.4, 8.1, 9.3

Javaskript kan göra väldigt mycket för användbarheten hos en webbplats. Det kan göra den snabbare, interaktivare, enklare att hitta i och navigera och lättare att hantera.

Det finns dock ett grundläggande krav för all sådan utökad funktionalitet: det måste fungera även för dem som inte har javaskript! För de personer som använder skärmläsare eller surfar med mobiltelefonen kan javaskript ställa till problem. Börja därför med att bygga webbplatsen så den fungerar bra utan javaskript. Därefter kan mer avancerad funktionalitet läggas till för dem som har javaskript.

För att inte utestänga användare från din webbplats bör du använda javaskript på rätt sätt. Detta kan kräva större insats vid testning.

Saker att ta hänsyn till när du använder skript i din webbplats/applikation

Tänk på att göra det möjligt att använda funktioner utan tillgång till skript. Det bör gå att använda funktionerna, men kanske på ett mer grundläggande sätt, även utan skript. Användare som inte har stöd för skript i sin utrustning kan behöva information om att webbplatsen/funktionen fungerar sämre utan skript. Den presenteras lämpligtvis i anslutning till funktionen eller under avdelningen "Om webbplatsen".

  • Undvik att använda skript för funktioner som redan finns i webbläsare eller fungerar lika bra utan skript. Några exempel:
    • Navigationslänkar (görs enklast som vanliga länkar).
    • Utskriftsfunktion (använd webbläsarens inbyggda funktioner för utskrift i kombination med en stilmall för utskrift).
  • Om du använder skript för visuella effekter som förmedlar information till användarna bör du tänka på att samma information måste förmedlas till användare som inte kan se innehållet.
  • Undvik att göra funktioner som kräver en viss typ av inmatningsenhet. Ett exempel är funktioner som kräver att användaren med musen drar och släpper objekt. Funktioner ska utformas så att de fungerar att använda med flera typer av inmatningsenheter.
  • Förlita dig inte enbart på skriptbaserade valideringsfunktioner i formulär. Det måste gå att skicka in ett formulär utan skript. Information inlämnad av användare som av olika anledningar inte kan använda skript måste valideras på serversidan. Validering av informationen på serversidan bidrar också till skydd från attacker mot databaser.
  • Undvik webbläsarspecifik funktionalitet. Använd etablerade standarder såsom W3C:s dokumentobjektmodell (DOM). Ett bra sätt att undvika problem är att använda något av de färdiga bibliotek som finns. Många av dessa är öppen källkod och är redan testade på ett stort antal webbläsare.
  • Gör det möjligt att skapa länkar till information på din webbplats. Om du använder skript för att dynamiskt uppdatera sidan med information bör det vara möjligt att referera till den i andra sammanhang genom t.ex. vanliga länkar.

Under förutsättning att ovanstående är uppfyllt kan dock javaskript göra mycket för att förbättra användarupplevelsen. Inte minst gäller detta den nya teknik som kallas Ajax, och där javaskript ingår som en del. Ajax står för Asynchronous JavaScript and XML och är ett samlingsnamn för ett antal olika tekniker som kan användas för att bygga webbapplikationer med mycket bättre interaktivitet än traditionella webbapplikationer.

Några kännetecken för Ajax:

  • Snabbare webbsidor, där bara den information som visas för ögonblicket behöver laddas ner.
  • Formulär som föreslår fortsättningar på det användaren börjar skriva, och som reagerar direkt när något blivit fel (istället för att användaren skall behöva skicka in hela formuläret för att sedan få tillbaka det med felmeddelanden).
  • Inzoomning från överblicksbild till detaljer – användbart för kartor och för att göra statistik pedagogisk.

Uppdatering

Javaskript och tillgänglighet

Beroende på hur javaskript används kan tillgängligheten på en webbplats påverkas. Många javaskriptbibliotek innehåller funktioner som gör det enkelt att skapa nya typer av gränssnittselement som t.ex. sliders eller ytor som uppdateras dynamiskt. Då dessa inte är en del av HTML-specifikationen utan är uppbyggda av andra typer av element finns det inget standardiserat sätt för hjälpmedel att tolka dem.

Därför kan sådan funktionalitet ställa till problem för vissa användare. En synskadad kanske missar att information uppdaterats dynamiskt och en rörelsehindrad kanske inte kan använda slidern om den inte går att påverka med tangentbordet.

W3C arbetar med ett ramverk, WAI-ARIA (Accessible Rich Internet Applications Suite), i vilket man skapat en  specifikation för hur dessa gränssnittselement skall tolkas och utformas. Detta kräver dock att användarna är utrustade med de allra senaste versionerna av både webbläsare och hjälpmedel för att det skall fungera. Hjälpmedel som t.ex. programvara för talstöd kan vara dyra att uppgradera och därför saknar många användare möjligheten att arbeta i gränssnitt som är baserade på javaskript, även om de följer riktlinjerna i WAI-ARIA.

Om du ändå bestämmer dig för att basera ditt gränssnitt på javaskript bör du säkerställa att det går att använda för så många som möjligt genom att testa med användare och olika typer av hjälpmedel.

För mer information se:

Slut på uppdatering

Mätbarhet

Testa funktionalitet efter att du stängt av javaskript i webbläsaren. Med tilläggsprogram i webbläsaren är det enkelt att slå av och på javaskript.

Senast uppdaterad 2009-05-20