Mies käyttää ruudunlukijaa
15.05.2024
Simo Hellsten

Korjaa saavutettavuuden ongelmat niiden (avoimessa) lähteessä

Saavutettavuus on keskeinen aihe niille, jotka ovat vastuussa tuotoista ja kustannuksista verkossa – toimijan luonteesta riippuen. Useat verkkokaupat hyötyisivät saavutettavuuden parantamisesta, sillä se houkuttelisi asiakkaita, jotka tarvitsevat parempaa saavutettavuutta. Julkista sektoria, jolla ei ole varsinaisia tuloja, puolestaan laki vaatii tarjoamaan saavutettavia palveluita. Alati kiristyvien budjettivaatimusten paineessa päätöksentekijä voi pohtia, mikä olisi kaikkein tehokkain tapa parantaa saavutettavuutta. Helppo vastaus kysymykseen on: anna jonkun toisen tehdä se – ja vieläpä ilmaiseksi.

Internetin sisältö koostuu nykypäivänä monista eri palveluista, alustoista ja frameworkeistä. Vaikka osa sisällöstä on julkaistu menestyneiden kaupallisten yritysten tuotteilla, suurin osa internetistä perustuu avoimen lähdekoodin ohjelmistoihin. Noin kaksi kolmasosaa verkkosivustoista on rakennettu avoimen lähdekoodin julkaisujärjestelmillä, joista ylivoimaisesti suurin on WordPress ja monimutkaisissa sivustoissa Drupal on vahva kakkonen.

Avointa lähdekoodia saa jakaa ja muokata vapaasti sen lisenssin puitteissa. Tämä on johtanut siihen, että ohjelmistoja kehitetään ja ylläpidetään verkkoyhteisöissä. Nämä yhteisöt ottavat tuotteidensa saavutettavuuden vakavasti.

Viime vuosina olen puhunut sekä WordPressin että Drupalin kehittäjäyhteisöjen tapahtumissa. Drupalin kohdalla käytän säännöllisesti aikaa sen käytettävyyden ja saavutettavuuden parantamiseen. Drupalin chat-alustan saavutettavuuskanavalla on tällä hetkellä 1560 jäsentä, joiden osaaminen vaihtelee saavutettavuudesta kiinnostuneista web-kehittäjistä kovan luokan saavutettavuusasiantuntijoihin. Jotkut heistä kehittävät parhaillaan seuraavan sukupolven kansainvälisiä saavutettavuusvaatimuksia, WCAG 3:a. Drupalilla on myös kuukausittaiset online-tapaamiset, joissa voi nostaa esiin saavutettavuuskysymyksiä tai kysyä neuvoja. Tämä on yksi tapa jakaa saavutettavuustietoutta yhteisön sisällä.

Tyypillisellä verkkosivustolla, riippuen sen monimutkaisuudesta, on vain muutaman hengen kehitystiimi. Vaikka monella kehittäjällä on nykyään saavutettavuusosaamista, kaikissa tiimeissä ei ole varsinaista saavutettavuusasiantuntijaa. Tässä tilanteessa yhteisö näyttää voimansa. Saavutettavuus on aina helpompi huomioida ajoissa, kuin korjata puutteita vasta muuten valmiin tuotteen testauksen perusteella. Kun valitun julkaisujärjestelmän saavutettavuus on testattu ennen asennettavan version julkaisua, yhteisö on tehnyt jo ison osan työstä. Ja jos (tai oikeastaan kun) uusia puutteita nousee esiin sivuston kehitystyön aikana, yhteisö tarjoaa neuvoja parhaista käytännöistä ja auttaa havaittujen puutteiden korjaamisessa

Yhteisö auttaa sinua korjaamaan saavutettavuutta, mutta se on kaksisuuntainen tie. Omassa sivustoprojektissasi kohtaat toisinaan saavutettavuuspuutteita, jotka voisi korjata alkuperäisessä lähdekoodissa. Tällaisia voi olla esimerkiksi ylläpitoteemassa tai jopa julkaisujärjestelmän ytimen JavaScriptissä. Kun korjaatte puutteen tuotantosivustolla, pidä huoli että tarjoat korjauksen takaisin julkaisujärjestelmän lähdekoodiin – tai jos puute on jossain lisäosassa, sen koodiin. Näin puutteen korjaaminen vaikuttaa paljon laajemmin koko internetissä.

Tämän kevään aikana tiimini, jossa kehitämme ja ylläpidämme muutamia yliopistopalveluita, tunnisti kolme pientä saavutettavuuspuutetta, jotka olivat osa Drupalin ydintä. Kun korjasimme puutteet omilla sivustoillamme, tein niistä samalla merge requestit Drupalin ytimeen. Näin emme ainoastaan osallistuneet Drupalin kehittämiseen, vaan saimme koodille ylimääräisen katselmoinnin sekä neuvoja miten parhaiten toteuttaa saavutettavuusasiantuntijamme suositukset Drupalin kontekstissa. Itse jopa opin kirjoittamaan ominaisuudelle ensimmäisen Nightwatch.js-testini – jotain mitä en varmaankaan olisi tehnyt, jos olisimme korjanneet puutteen vain omassa projektissamme.

Nyt kun kolme saavutettavuuskorjaustamme on yhdistetty Drupalin ytimeen, ja kun muut sivustot ovat päivittäneet itsensä viimeisimpään Drupal-versioon, olemme parantaneet joka kahdeksannen suuren verkkosivuston saavutettavuutta ympäri maailman. Voimme parantaa maailmaa pienin askelin. Tämä on avointa lähdekoodia parhaimmillaan.


Simo toimii jäsenenä W3C:n kognitiivisen saavutettavuuden työryhmässä sekä W3C:n pohjoismaisessa saavutettavuustyöryhmässä että IAAP:ssa.

Kirjoittaja

Simo Hellsten

Full Stack Developer