Javaskriptittömien tukeminen ja saavutettavuus

Otathan huomioon, että tämä artikkeli on yli 7 vuotta vanha, joten sisältö ja linkit eivät ole välttämättä ihan ajan tasalla. Tuoreempana lukemisena sinua voisi kiinnostaa vaikkapa jokin näistä artikkeleista:

Vielä 2000-luvun alussa oli aika tavallista, että internetiä käytettiin julkisilta yhteiskäyttöisiltä koneilta oppilaitoksissa, kirjastoissa, työvoimatoimistoissa jne. Tuolloin oli ihan vakava riski se, että koneissa oli ”javascript disabloituna” (tietoturvasyistä tai ylläpidon helpottamiseksi), tai konekanta oli niin vanhaa, että selainversiot eivät tukeneet selaimessa suoritettavia skriptejä. Esteettömyyden kannalta oli siis tärkeää ajatella, mitä tapahtuu niille tavallisille käyttäjille, joiden selaimet eivät tue skriptejä.

North Patrol on suunnitteluun erikoistunut konsulttitoimisto. Suunnittelemme, autamme teknologiavalinnoissa, kilpailutamme. Emme myy toteutusprojekteja, emmekä lisenssejä, olemme aidosti asiakkaan puolella.

1.3.2017

Virpi Blom

Sittemmin kuitenkin selaimessa suoritettavat ”javaskriptit” ovat käyneet miltei pääsääntöiseksi tavaksi toteuttaa käyttöliittymän dynaamiset toiminnallisuudet (”puhtaan” HTML-koodin sijaan), ja tästä syystä nykyisin kaikki selaimet joutuvat tukemaan javaskriptiä. Saavutettavuuden kannalta ei siis keskeinen ongelma enää ole ne vähäiset käyttäjät, joilla ei ole skriptitukea, vaan se, millaista javascriptiä verkkopalveluun tuotetaan esim. näkövammaisten ruudunlukuohjelmien tai muiden ’avustavien teknologioiden’ ymmärrettäväksi.

Takavuosilta on kuitenkin jäänyt monen verkkopalvelukehittäjän mieleen sellainen saavutettavuuden laatukriteeri, että verkkopalvelun pitäisi toimia täysin yhtäläisesti myös niille graafisten selainten käyttäjille, joilla on javaskriptit pois päältä. Tämä käsitys on kuitenkin aika lailla vanhentunut.

Kenellä ei ole javaskriptiä?

Kun kaikki selaimet nykyisin pystyvät tukemaan javaskriptiä, on se käytännössä poissa päältä vain sellaisilta käyttäjiltä, jotka ovat valinneet ottaa sen pois päältä. Nämä käyttäjät ovat tyypillisesti jonkin puhdasoppisuuden tai paranoian ajamia tehokäyttäjiä, jotka kaihtavat mainoksia, kansainvälisten korporaatioiden seurantamekanismeja, jäljen jättämistä seurantaan tai liiallisen grafiikan/animaatioiden tuottamaa latausaikojen hidastumista. Joka tapauksessa tämä rajaus on heiltä tietoinen valinta, ja he ovat ottaneet aktiivisesti riskin siitä, että verkkopalvelujen kaikki toiminnallisuus ei ole heidän käytössään.

Jos haluat saada statistiikkaa siitä, paljonko omaa verkkopalveluasi käytetään ilman javaskriptiä, pitää muistaa asettaa sivuille javaskriptatun seurantaelementin rinnalle myös tapa seurata ”noscript”-käyttäjiä. Blockmetry-palvelun (aiemmin Adblock Analytics) mittausten mukaan loppuvuodesta 2016 oli maailmanlaajuisesti vain 0,2 prosenttia kaikista sivulatauksista ”javascript disabled” -käyttäjien tekemiä.

Tuossa Blockmetryn mittauksessa oli muuten jännittävä huomio: Suomessa on tavanomaista enemmän työpöytäkäyttäjiä (1,3 %) ”javaskriptit-pois-päältä” -tilassa. Kiinassa, Taiwanissa ja Etelä-Koreassa tuntuu järkeenkäyvältä, etteivät käyttäjät halua jättää itsestään tunnistettavia jälkiä seurantaan, mutta miksi Suomessa? Näkyykö tässä meidän tarpeemme ”yksityiseen tilaan”? Vai allergisuus mainonnalle?

Skriptatut sisältöosuudet ovat arkipäivää

Suurin osa navigaatiovalikoista ja kätevistä laskeutumissivuista, joihin verkkopalveluissa törmäät, on nykyisin toteutettu Javaskripteillä. Skriptattujen nykyratkaisujen joukossa ovat mm. ”sisältöhaitarit”, ”tooltipit” ja ”välilehdet”, joilla jokin verkkosivun sisältöosuus on ”näkymättömissä”, kunnes käyttäjä aktiivisessa klikkauksella avaa sisällön näkyviin. Käyttöliittymäratkaisun ideana on helpottaa sivun silmäilyä ja sisältöjen hahmottamista, kun kaikki tekstit ja kuvat eivät ole suoraan näkyvissä, vaan käyttäjän hallitsemalla tavalla avattavissa. Käyttökokemuksen kannalta on olennaista, että käyttäjä ei siirry toiselle sivulle tai tee uutta sivulatausta, vaan tarkentava sisältö aukeaa näkyvästi juuri siihen kontekstiin, joka on käsillä.

Jos tällaista tyypillisesti skriptattua ”sisältöhaitaria” lähestyy käyttäjä, jolla on Javascript pois päältä, hän ei saa avattua haitaria ollenkaan. Jos pidetään kiinni siitä vanhasta periaatteesta, että myös näitä käyttäjiä palvellaan, on yleisin tekninen ratkaisu hätäinen fiksi, josta kärsivät kaikki muut käyttäjät. Hätäratkaisuna käytetään sitä, että sivulla olevat haitarit näkyvätkin oletusarvoisesti auki, ja skriptillä suljetaan ne sivulatauksessa välittömästi niiltä, joilla Javascriptit ovat käytössä. Graafisessa, skriptejä tukevassa selaimessa tämä näkyy käyttäjälle siten, että sivu ikään kuin ”räpsyy” tai ”heijaa” tekstien asettelun osalta.

Kun ”javaskriptittömien” käyttäjien ongelma on ”itseaiheutettu”, tuntuu väärältä laittaa muita käyttäjiä kärsimään sen vuoksi. Itse en pitäisi ongelmana sitä, että ratkaisu toteutetaan suuremman käyttäjäryhmän ehdoilla eli räpsymättä, haitarit oletuksena valmiiksi kiinni. Käyttäjien tasapuolisen kohtelun periaate toteutuu kyllä: palveluntarjoajan hyötytiedot ovat käyttäjän saatavilla, kunhan vain laittaa skriptit päälle.

Vaihtoehtoisen sisällön tarjoaminen

Jos javaskriptittömiä käyttäjiä halutaan tukea, on toinen tekninen ratkaisu suureellisempi: sivun sisällöstä luodaan ”vaihtoehtoinen” versio, joka on luotu skriptittömiä päätelaitteita varten. Vähän samaan tapaan kuin kuvista tai animaatioista voidaan antaa vaihtoehtoinen tekstiselite, luodaan javaskriptatusta sivusta rinnakkaisversio, jossa skriptiä ei käytetä. Tässä ratkaisussa esimerkiksi sisältöhaitarisivua lataava käyttäjä tunnistetaan skriptittömäksi ja hänelle näytetään vaihtoehtosivu, jonka sisällöt ovat suoraan esillä, ilman haitaria.

”Skriptitön vastine” on tyypillisesti jokin palvelinpäässä muodostettu peilikuva sivusta, jolloin molempien sivujen tuottamisen ja ylläpitämisen tekniset ratkaisut ovat aika kaukana tyypillisistä julkaisujärjestelmän ominaisuuksista.

Näitä ratkaisuja käytetään tyypillisesti silloin, kun on kyse vakavasta, olennaisesta asiointipalvelusta (kuten tärkeästä asiointilomakkeesta), jolle on pakko pystyä esittämään toimiva skriptitön vaihtoehto, vaikka skriptitön sivu ei sitten olisi yhtä älykäs, näppärästi käyteltävä ja näyttävä. Ratkaisu ei siis oikein sovellu tavanomaisen sisällöntuotannon tarpeeseen, jossa skriptattuja elementtejä luodaan sisällöntuottajien toimesta säännöllisesti WYSIWYG-periaatteella sadoille sivulle.

Tässäkin asiassa – kuten kaikissa käytettävyyden ja saavutettavuuden kysymyksissä – on palveluntarjoajan tehtävä oma linjaus siitä, mille käyttäjäryhmille kumarretaan, ja kenelle pyllistetään.

Saavutettavat skriptit

Saavutettavuuden kannalta ollaan ihan toisenlaisessa ongelmakentässä, kun ryhdytään pohtimaan niitä käyttäjiä, jotka lähestyvät skriptattuja verkkopalveluja muutoin kuin graafisina, silmin katsottavina käyttöliittyminä, joita käytellään hiiren avulla klikkaillen. Kokeilepa vaikka itsetyytyväisyyden hetkellä, miltä tuntuu etsiä verkkosivustoltanne laskutustiedot pelkästään näppäimistöä käyttäen!

Saavutettavuusperiaatteiden mukaan on huolehdittava siitä, että kaikki käyttäjät – päätelaitteesta huolimatta – voivat käytellä palveluntarjoajan verkkopalvelua, saavat käyttöönsä saman informaation ja pystyvät suorittamaan samat toiminnot.

Javaskriptiä saa siis olla verkkopalvelussa mielin määrin, mutta sen täytyy toimia erilaisissa päätelaitteissa ja erilaisilla avustavilla teknologioilla (kuten ruudunlukuohjelmat, tekstiselaimet, pistenäytöt, näppäinkomennot jne.).

Javaskriptillä (tai Ajaxilla tai muilla dynaamisilla web-teknologioilla) toteutettujen sovellusten saavutettavuuden takaamiseksi suosituksia ja standardeja niin sovellussuunnittelijoille kuin selainteknologioiden kehittäjille luo W3C-konsortion WAI-toiminnan (Web Accessibility Initiative) työryhmä, jonka tuloksena on synnytetty WAI-ARIA-määrittelyt: Accessible Rich Internet Applications Suite.

Verkkopalvelujen saavutettavuudesta (tai esteellisyyksien purkamisesta) on viime aikoina puhuttu paljon, kun joulukuussa 2016 tuli voimaan julkishallinnollisia palveluja koskeva EU:n saavutettavuusdirektiivi. Verkkopalvelujen esteettömyyden tavoittelussa on kuitenkin paljon ajankohtaisempaa tarkastella ja soveltaa noita ARIA-määrittelyjä skriptauksille kuin HTML-koodin WCAG-standardia, joka on ollut sovelluskehittäjien työkaluna jo pitkään.

Mutta tästä olenkin ajatellut kirjoittaa kuluvan kevään aikana ihan erillisen jutun.

Muita käyttöliittymäsuunnittelun perusasioita:

PS. Sinua voisi kiinnostaa tulossa oleva ilmainen webinaarimme: Parhaat muotoiluratkaisut tuote- ja palvelusivuille (15.5.2024 klo 10:00). Ilmoittaudu webinaariin

Lue palveluistamme Pyydä tarjous

Virpi Blom

FM Virpi Blom on verkkopalvelustrategioiden, käyttökokemuksen ja palvelukonseptien asiantuntija. Virpi konsultoi asiakkaitaan strategisten linjausten, konseptoinnin, määrittelyn ja suunnittelun kysymyksissä. Hänen erityisosaamistaan on verkkopalvelujen hyötyodotusten kirkastaminen, positiivisen käyttäjäkokemuksen varmistaminen sekä hankittavien ratkaisujen konseptointi ja määrittely siten, että niin loppukäyttäjien kuin ylläpitäjienkin tarpeet täyttyvät.

Virpin 25-vuotinen kokemus verkkopalvelujen suunnittelusta sisältää satojen internet-, intranet- ja extranet-palvelujen määrittelyä, suunnittelua, toteutusta, käytettävyystestausta ja kehittämistä. Aiemmissa työpaikoissaan hän on mm. toiminut johtavana konsulttina, konsultoinut verkkopalvelujen suunnittelua ja toteutusta lukuisissa eri rooleissa ja vetänyt User Experience -tiimiä.

Tietosivustot

Autamme laajojen tietosivustojen suunnittelussa, määrittelyssä ja kilpailuttamisessa. Muotoilemme konseptin, tietorakenteet, käyttökokemuksen ja toiminnot hyötypalveluksi, jota on miellyttävä käyttää, helppoa ylläpitää ja kustannustehokasta kehittää koko elinkaarensa ajan.

Lue palveluistamme

Pyydä tarjous

North Patrol auttaa onnistumaan

Meitä on kymmenen konsulttia, kaikki kokeneita suunnittelijoita tai teknologia-asiantuntijoita. Joka vuosi viemme läpi yli 50 projektia, joissa autamme hankkeensa eri vaiheissa olevia asiakkaitamme luomaan uusia digipalveluja ja tietojärjestelmiä. Asiakkaamme ovat olleet erittäin tyytyväisiä työhömme (arvosana 9,5/10), ja monet heistä palaavat asiakkaiksi yhä uudestaan.

Olemme apunasi, kun kaipaat puolueetonta näkemystä teknologiavalintoihin, kirkastusta palvelukonseptin ideaan, tarkennusta vaatimusten määrittelyyn, konkreettista tukea tarjouskilpailuun tai ohjausta toteutusprojektin läpivientiin.

Ota selvää firmastamme

Miten erotumme kilpailijoistamme?

  • Digipalveluiden suunnitteluun erikoistuminen

    Olemme erikoistuneet digipalveluiden laadukkaaseen suunnittelutyöhön ja vaatimusmäärittelyyn. Missiomme on auttaa asiakkaita onnistumaan hankkeissaan luomalla mahdollisimman hyvät lähtökohdat toteutusvaiheelle – oli sitten kyse ketterästä toteutuksesta omalla tiimillä tai kumppanin kanssa tehtävästä hankkeesta tai julkisesti kilpailutettavasta urakasta.

  • Emme myy koodausta emmekä lisenssejä

    Moni teknologiakonsultti suosittelee asiakkailleen teknisiä ratkaisuja, joita sama talo myös toteuttaa. Meillä tätä vinoumaa ei ole, koska meiltä ei voi ostaa koodausta tai lisenssejä eikä meillä ole riippuvuuksia teknologiatoimittajiin. Näkökulmamme ohjelmistomarkkinaan on laaja-alainen. Tavoitteena on aina löytää asiakkaalle parhaiten soveltuva ohjelmistoratkaisu, oli se sitten räätälöity ratkaisu, saas-palvelu, avoimen lähdekoodin alusta tai näiden yhdistelmä.

  • Tehokkuus, tavoitteellisuus ja tuloksellisuus

    Toimeksiannoillemme sovitaan aina konkreettinen lopputuotos, jonka avulla asiakas pääsee hankkeessaan eteenpäin. Hioutuneiden menetelmiemme ja kokeneiden konsulttiemme ansiosta pystymme tuottamaan sen tehokkaasti, yllättävän vähäisillä työmäärillä, ja rahallesi syntyy vastinetta.

Siirry takaisin sivun alkuun