Aðgengi (eða stafrænt aðgengi) og aðgengismál (e. accessibility eða a11y, 11 stafir eru milli fyrsta og seinasta stafs) er oft tengt við það að „fatlað fólk“ geti notað vefina okkar en það er frekar takmörkuð sýn á aðgengi. Aðgengi snýst um að fólk geti notað vefina okkar. Við getum öll orðið „fötluð“ tímabundið, hvort sem það er vegna slyss sem setur okkur í gips á annarri hönd eða þreytu sem veldur því að erfitt sé að rýna í texta.
Í gegnum tíðina hefur það oft verið þannig að barátta fyrir auknu aðgengi skilar sér í betri heim fyrir okkur öll. Fyrir raunheima er þetta tekið saman í hugtakinu „algild hönnun“ eða „Universal Design“ sem stefnir að því að öll hönnun sé aðgengileg öllu fólki, alltaf. Gott dæmi um þetta eru niðurtektir (e. curb cuts) á gangstéttum, lækkun sem upphaflega var ætluð hjólastólum en í dag hentar mun fleiri aðilum, t.d.: fólki með barnavagna, sendlum, og fólki sem dregur ferðatöskur.
Sem fagaðilar ættum við auk þess ekki að mismuna fólki og það mun aðeins aukast að lög verði sett sem banna mismun, hvort sem hún er viljandi eða ekki eða að þessum lögum verði framfylgt með sektum. Því er það að segja „en fólk með fötlun mun ekki nota vefinn okkar“ lítið annað en afsökun fyrir því að huga ekki að virkni sem bætir vefinn fyrir alla.
P has Multiple Sclerosis, which affects both her vision and her ability to control a mouse. She often gets tingling in her hands that makes using a standard computer mouse for a long period of time painful and difficult.
7.1 WCAG
Að útfæra vef með grunn aðgengi í huga er ekki erfitt en getur verið dýrt að gera eftir á. W3C heldur úti staðli, Web Content Accessibility Guidelines 2.1. WCAG byggir á fjórum prinsippum um aðgengi á vefnum:
- Perceivable: Upplýsingar og notendaviðmót verða að vera sett upp þannig að notendur geti skynjað þau.
- Operable: Notendaviðmót og leiðsögukerfi (e. navigation) verða að vera nothæf.
- Understandable: Upplýsingar og notkun á notendaviðmóti verða að vera skiljanleg.
- Robust: Efni verður að vera nógu traust þannig að það geti verið túlkað áreiðanlega af breiðum hóp tækja, þar með talið hjálpartækjum.
Útfrá hverju prinsippi eru leiðbeiningar um hvernig stuðla megi að aðgengi, 13 í heildina. Fyrir hverja leiðbeiningu eru skilgreind árangursviðmið (e. success criteria) sem falla í einn af þrem flokkum:
- A, minnsta stig, grunn aðgengi.
- AA, það stig sem við ættum að stefna að.
- AAA, öll skilyrði uppfyllt.
Til að aðstoða okkur við að útfæra vefi sem standast tilmæli WCAG er hægt að fylgja Techniques for WCAG 2.1, sem útlistar aðferðir til að uppfylla WCAG með lýsingu og prófanalýsingum, t.d. Using alt attributes on img elements.
7.1.1 Aðgengi á Íslandi
Engin lög eru til staðar um aðgengi að vefjum á Íslandi, en stjórnvöld hafa beint þeim tilmælum til opinberra aðila að ná WCAG2.0 AA:
Íslensk stjórnvöld hafa beint þeim tilmælum til opinberra aðila að leiðbeiningum alþjóðlegu staðlasamtakanna Worldwide Web Consortium (W3C) sé fylgt hér á land. WCAG 2.0 AA leiðbeinir um hvernig ganga skuli frá vefefni þannig að það sé aðgengilegt öllum.
Birkir Rúnar sérfræðingur í aðgengismálum á vef, birti árið 2013 nokkrar greinar á vef Advania þar sem hann fór yfir stöðu aðgengismála á Íslandi:
- Gott aðgengi gerir kraftaverk – þess vegna er ég rafviti
- Gott aðgengi er góður bissness
- Ísland er eftirbátur í aðgengi að upplýsingatækni
- Öflugt og einfalt regluverk tryggir aðgengi að upplýsingatækni
Ástæðurnar fyrir því að gera aðgengisumbætur á vefjum eru margvíslegar en mikilvægasta grunnástæðan fyrir góðu aðgengi er ætíð sú sama. Hún er einfaldlega sú að með góðu aðgengi er verið að gera kraftaverk í lífi einhvers hvort sem það er einhver sem þið hafið aldrei hitt, einhver sem er ykkur kær, eða jafnvel framtíðarútgáfa af sjálfum ykkur.
7.1.2 Að smíða vef með aðgengi í huga
Þegar við smíðum vef eru nokkur atriði sem við getum sérstaklega haft í huga og eru þau sett hér fram í engri sérstakri röð. Þetta er ekki tæmandi listi, heldur einföld ráð til að útbúa aðgengilegri vefi.
Skilgreina lang
attribute á
<html>
til að skilgreina á hvaða máli vefurinn er
og er það notað t.d. af lesvöfrum til að velja tungumál.
Ef við höfum vef með fleiri en einu tungumáli getum við sett
lang
á þau element sem innihalda texta á öðru máli en
rest af vefnum:
<html lang="is">
|
|
<body>
|
|
<p>Halló, heimur!</p>
|
|
<p lang="en">Hello, world!</p>
|
|
</body>
|
|
</html>
|
-
<html>
skilgreinir rót HTML vefs og er það fyrsta í hverri vefsíðu, fyrir utan DocType. Á þetta element viljum við alltaf setjalang
attribute sem tiltekur megin tungumál vefsins með IETF language tag, t.d.is
fyrir íslensku,en-us
fyrir ameríska ensku
Oftast eru þetta einföld gildi, t.d. is
fyrir íslensku
eða en
fyrir ensku. Þar sem tungumál eru flókin,
getur þetta gildi verið flókið. Eftirfarandi er löglegt:
<html lang="en-GB-Cyrl-u-kn-true-x-unproof-t-jp-032-Zxxx-x-matsu">
|
Titill vefs, <title>
er það fyrsta sem
skjálesarar lesa og skal því vera lýsandi. Ekki ætti að nota sama
titil á allar síður og ekki nota óljós eða of almenn orð.
<title>Lærum vefforritun – forsíða</title>
frekar en <title>Forsíða</title>
.
Takmarka skal notkun á efni sem birtist aðeins þegar mús er haldið yfir (hover, sveimað) elementi, þar sem það felur almennt efni fyrir notendum, getur valdið rugling þegar smellt er og er ekki nothæft á snjalltækjum. Að láta hluti birtast þegar sveimað er yfir getur oft verið ódýr og fljótleg lausn þegar birta þarf mikið af upplýsingum, t.d. í valmynd, en það getur líka verið löt lausn.
Fyrir vídeó með töluðu máli getur verið mjög dýrmætt að bæta við
texta. Fólk með slaka heyrn, fólk sem talar ekki málið eða þau sem
ekki geta einhverra hluta vegna kveikt á hljóði græða öll. Hægt er
að nýta <video>
element með
<track>
elementi sem barni til að bæta við
vtt
skjali með texta. Þó að það sé ekki tæknilega
flókið getur það verið afskaplega tímafrekt.
<video controls>
|
|
<source src="video.mp4" type="video/mp4">
|
|
<track label="English" kind="subtitles" srclang="en" src="subs.vtt" default>
|
|
</video>
|
Skrifa ekki of flókinn texta, í of löngum línum eða með of smáu letri, þarsem texti er í eðli sínu það sem við notum til að miðla upplýsingum okkar. Því er mikilvægt að vanda frágang og birtingu hans.
Passa að nota ekki liti og litasamsetningar sem geta reynst erfiðar, þá bæði að litamótstaða (contrast) sé góð (hægt að nota tól eins og Color Contrast Checker) og að nota ekki litasamsetningar sem geta reynst litblindum erfiðar (Color Oracle er tól sem hermir eftir litblindu)
Skilgreina alt texta á myndir með
<img alt="lýsandi texti fyrir mynd">
og ef mynd
er aðeins til skrauts, skilja eftir tómt. Alt textinn er birtur ef
mynd nær ekki að hlaðast, eða lesinn af lesvöfrum í samhengi við
efni. Forðast í lengstu lög að hafa myndir af texta. Skjálesarar
taka fram þegar alt texti er lesinn svo það er óþarfi að byrja
textan á „mynd af…“ eða álíka.
Stundum er title
atttibute ruglað saman við
alt
, og þá sérstaklega þegar óskað er eftir að fá
tooltip, eða texta sem birtist þegar mús stoppar
yfir elementi.
Nota fyrirsagnir rétt og í röð, frá <h1>
til
<h6>
eins og farið var í að ofan <- burt með
seinasta. outline og ekki mörg h1
Skrifa lýsandi texta þegar við búum til tengla, ekki
smella hér. Oft á tíðum er texti tengils lesin
sérstaklega í lesvöfrum og ætti því að innihalda eins mikið samræmi
og hægt er.
<p>Hægt er að eyða öllu með því að <a href="…">smella
hér.</a>
.
Fyrir vefi með stórar valmyndir sem koma á undan efni (í HTML kemur valmynd á undan, óháð birtingu), ætti að útbúa tengil alveg efst sem vísar beint í efni (svokallaður „skip navigation link“). Þennan tengil má fela með CSS þannig að skjálesarar finni hann aðeins og bjóði notendum upp á að sleppa við að fara í gegnum alla valmyndina og beint í efnið.
Breyta sem minnst af grunnhegðun vafra, t.d.
- Ekki banna að zooma vefi því okkur finnst það ekki koma vel út
- Banna að pastea í lykilorða reiti
-
Útfæra nýja virkni fyrir virkni sem innbyggð er, t.d. búa til
sérstaka valmynd í staðinn fyrir að nota
<select>
Nota sjálfvirk tól til að hjálpa til en ekki treysta í blindni, t.d.
- WAVE - Web Accessibility Evaluation Tool
- axe: the Accessibility Engine
- aXe Chrome Extension
- Accessibility Developer Tools
- tota11y - an accessibility visualization toolkit
Þessi tól keyra „static analysis“ og bera saman við vel skilgreind viðmið, öll blæbrigði í útfærslu okkar týnast, þó þau séu aðgengileg, jafnvel aðgengilegri.
Góð leið til að prófa aðgengi vefs er að sleppa því að nota mús og
sjá hvort við getum gert allt sem hægt er á vefnum. Margir nota ekki
mús eða álíka og reiða sig að miklu leyti á lyklaborðið. Í þessu
samhengi viljum við ekki fjarlægja sjónræn merki um
hvar fókus er, þegar farið er í gegnum vef með því að nota
Tab
lykil á lyklaborðinu ætti alltaf að sjást hvaða
gagnvirka elementi er valið.
tabindex
7.1.3 ARIA
Annar staðall frá W3C sem kemur að aðgengi er
Accessible Rich Internet Applications. Þessi staðall skilgreinir auknar merkingar á element sem
skjálesarar geta nýtt til að bæta upplifun. Hann gefur til kynna til
hvers ákveðin svæði eru og hvert hlutverk þeirra er með
role
attribute. T.d. að innan einhvers elements sé
leiðarkerfi með role="navigation"
eða að það innihaldi
leit með role="search"
.
Með ARIA getum við einnig skilgreint auka upplýsingar um element, t.d.:
-
aria-expanded="true"
— element er opið eða lokað, t.d. trjávalmynd -
aria-describedby="label"
— element er útskýrt af því sem er í element meðid="label"
, þetta gæti t.d. átt við villuskilaboð í<input>
-
aria-hidden="true"
— element er falið fyrir notanda og ætti ekki að vera sýnt notanda, getur verið notað til að fela „skraut“ á síðum sem lesvefrar ættu að sleppa
Yfirleitt er þó betra að nýta rétt element (t.d.
<nav>
) og attribute (t.d. required
)
í staðinn fyrir að setja ARIA merkingar á allt. Sjá nánar í
On HTML belts and ARIA braces.
Í öllum eftirfarandi dæmum eru ARIA merkingar óþarfar:
<button role="button">press me</button>
|
|
<h1 role="heading" aria-level="1">heading text</h1>
|
|
<input type="text" required aria-required="true">
|
Noktun á ARIA merkingum á mest við þegar verið er að skrifa flóknari vefforrit sem nýta JavaScript virkni til hins ítrasta. Í W3C skjalinu Using ARIA er farið yfir hvernig nýta megi ARIA en þá eru líka tilteknar fimm reglur fyrir notkun:
- Ef þú getur notað staðlað HTML element eða attribute með hegðun og merkingu sem þú þarftnast skal leitast við að nota það
-
Í lengstu lög skal forðast að breyta merkingu staðlaðra HTML
elementa, t.d. með
<h1 role="button">
- Allar stýringar verða að vera nothæfar með lyklaborði
-
Fyrir sýnilega hluti sem er hægt að fókusa, skal ekki láta sem þeir
séu það ekki með
role="presentation"
eðaaria-hidden="true"
-
Öll gagnvirk element þurfa aðgengileg nöfn, sem eru annað hvort
texti innan þeirra eða
<label>
sem vísar á element
7.1.4 Form & töflur
Til að gera form aðgengileg þurfum við helst að merkja reiti á
aðgengilegan hátt með því að nota <label>
. Ef
fleiri upplýsingar eru tengdar við reitinn, t.d. frekari upplýsingar
um hvernig fylla skuli út, er hægt að nota
aria-describedby="id-a-reit"
til að tengja þá saman,
sjá dæmi. Ef form er langt getur verið nytsamlegt að skipta því upp
með <fieldset>
.
<label for="password">Lykilorð</label>
|
|
<input type="password" id="password" aria-describedby="password-help">
|
|
<span id="password-help">Lykilorð verður að innihalda 8 stafi.</span>
|
Fyrir flóknari töflur þarf að skilgreina fyrir hvaða reiti
fyrirsagnir eiga við með því að nota scope
. Ef ekki, þá
heyrir sá sem skoðar töfluna ekki samhengið, nánar
um að smíða aðgengilegar töflur má lesa á
WebAIM: Creating Accessible Tables
7.1.5 Skjálesarar
Helsta tólið, fyrir utan vafra, sem notað er til að lesa vefi eru skjálesarar. Tól sem sækja vefsíður, vinna úr þeim og lesa innihaldið upp. Hvernig virkar þinn uppáhaldsvefur ef þú þarft að hlusta á hann?
Hægt er að fá skjálesara fyrir flest stýrikerfi, t.d.:
- JAWS, vinsæll skjálesari fyrir Windows
- NVDA Screen Reader, ókeypis, open source skjálesari fyrir Windows
- VoiceOver, skjálesari frá Apple byggður inn í OS X, iOS og Apple TV, dæmi um notkun má sjá á Using VoiceOver to Evaluate Web Accessibility
- TalkBack, skjálesari innbyggður í Android
Að prófa vef í skjálesara er í dag tiltölulega auðvelt, þá sérstaklega með VoiceOver og TalkBack. Með því að læra nokkrar skipanir er hægt að finna mörg aðgengisvandamál og fá betri sýn á hvernig vefurinn okkar er „lesinn“.