Priručnik "Veb pristupačnost" - Čitači ekrana

 

Čitači ekrana

Korisnička strana

Da bi bilo ko mogao da razvija pristupačna veb rješenja, mora imati spoznaju  o korisničkom iskustvu koje će slijepi doživjeti i biti upoznat sa načinom i tehnologijama pomoću kojih oni koriste računare i veb. Te tehnologije su konkretno - čitač ekrana, sintetizator glasa i brajev redak (koji u ovom slučaju nije praktičan jer je hardverska komponenta i zahtjeva poznavanje brajevog pisma).

Ako je sajt zadovoljio sve testove i smjernice pristupačnosti, ne znači da će biti optimalan za korištenje. To je slučaj kao i sa sajtovima koji se oslanjaju na vizuelnu komponentu - na nekima se videći korisnik može lako snaći, dok će se na nekima za kratko vrijeme isfrustrirati i izgubiti želju za korištenjem. Ako nema kontakt sa slijepim korisnicima od kojih može dobiti povratnu informaciju o nivou pristupačnosti veb sajta, onaj ko ga razvija mora sam da ga testira upravo pomoću tih tehnologija. 

Pojam čitača ekrana

Čitač ekrana je aplikacija koja pokušava da identifikuje i interpretira u vidu tekstualnih informacija ono što je prikazano na ekranu (ili tačnije rečeno ono što se šalje na standardni izlaz, bilo da je monitor prisutan ili ne). Ova interpretacija se onda ponovo prezentuje korisniku npr. pomoću sintetizatora govora ili brajevog retka. Čitači ekrana su osnovni alat pomoću kojeg slijepe osobe mogu koristiti računar. Dakle slijepe osobe ne koriste specijalizovane aplikacije za svakodnevno korištenje računara, već standardne, ali uz pomoć čitača ekrana. Tako da mjera koliko će neka aplikacija odgovarati slijepim osobama zavisi od toga koliko dobro ta aplikacija funkcioniše sa čitačem ekrana i da li on može pročitati sadržaj koji ona prikazuje. Od popularnih veb čitača najbolju podršku za čitače ekrana pružaju Internet Explorer i Mozilla Firefox, dok u radu sa Google Chrome postoje određeni problemi.

Izbor čitača ekrana zavisi od mnogih faktora uključujući platformu i cijenu jer su neki vrlo skupi. Vodeći operativni sistemi uključuju neke jednostavnije čitače ekrana kao što je Microsoft Narrator koji trenutno ne podržava jezike iz naše okoline, tako da nema neku praktičnu primjenu.

Sintetizator govora

Sintetizator govora je dio računarskog sistema zadužen za vještačku produkciju ljudskog glasa. Može biti realizovan kao hardverska ili češće softverska komponenta. Termin TTS (Text To Speach) označava mogućnost prevođenja teksta običnog jezika u govor. Јoš jedan bitan pojam za korisnike Windows operativnih sistema je SAPI (Speech Application Programming Interface). To je API koji omogućava sintetizaciju i prepoznavanje ljudskog glasa u sklopu Windows aplikacija. Namjena ovog API-ja je da omogući programerima da pišu aplikacije koje mogu da vrše prepoznavanje i sintetizaciju govora koristeći standardan skup interfejsa dostupnih iz različitih programskih jezika. Tako je moguće drugim proizvođačima da proizvode svoje TTS mašine (uprošteni naziv za sintetizator) i mašine za prepoznavanje govora (Speech Recognition i Text To Speach Engine). Ovo je bitno u smislu da ako je TTS sintetizator govora napravljen da podržava  SAPI interfejse, on se onda može koristiti umjesto onih koje nudi Microsoft ili neki drugi proizvođač, tako da se može koristiti sintetizator prilagođen jezicima sa naših prostora. Konkretno ako čitač ekrana podržava SAPI umjesto TTS sintetizatora govora koji je došao sa njim, može se koristiti sintetizator prilagođen za naše područje.

API-ji pristupačnosti

U ranijim operativnim sistemima poput MS-DOS-a, koji su koristili interfejs komandne linije, prikaz na ekran se sastojao od karaktera koji su mapirani direktno na bafer ekrana u memoriji. Tako da su čitači mogli lako pristupiti sadržaju. Sa dolaskom GUI-ja (Graphics User Interface) situacija je postala komplikovanija. Pošto se sadržaj sastoji i od iscrtane grafike, čitači moraju presretati poruke operativnog sistema i koristiti ih da bi izgradili “off-screen” model. Presretanje poruka i pravljenje modela su komplikovani zadaci.

Dizajneri operativnih sistema i aplikacija su pokušavali da riješe ove probleme dajući mogućnost čitačima da pristupe sadržaju ekrana na standardizovan i organizovan način putem API-ja pristupačnosti. Postojeći API-ji uključuju:

  • Apple Accessibility API
  • AT-SPI
  • IAaccessible2
  • Microsoft Active Accessibility (MSAA)
  • Microsoft UI Automation
  • Java Access Bridge

Sada čitači ekrana mogu da vrše upite nad operativnim sistemom ili aplikacijama za onim što je trenutno prikazano. Ovaj pristup je znatno lakši, ali ne zadovoljava kada aplikacije nisu kreirane u skladu sa API-jem pristupačnosti, npr. ako aplikacija nije u skladu sa MSAA API-jem, onda čitači ekrana moraju održavati off-screen model za nju.

Od navedenih Microsoft-ovih API-ja MSAA je starija tehnologija, dok je trenutna Microsoft UI Automation.

NAPOMENA: Razlika između API-ja pristupačnosti i SAPI-ja je u tome što je namjena API-ja pristupačnosti da čitač ekrana na standardizovan način komunicira sa operativnim sistemom, dok je namjena SAPI-ja da čitač ekrana komunicira sa sintetizatorom govora. Ako neka aplikacija zadovoljava API pristupačnosti, onda će čitač ekrana moći lako da pročita sadržaj koji ona prikazuje; ako sintetizator govora zadovoljava SAPI, onda će čitač ekrana pomoću njega moći prezentovati korisniku u vidu glasa ono što aplikacija trenutno prikazuje.

Podržanost za srpski i ostale srodne jezike

Većina najšire korištenih komercijalnih čitača ekrana kao što su JAWS proizvođača Freedom Scientific, Windows-Eyes firme GW Micro napravljeni su za tržište engleskog govornog područja i sintetizatori govora koji dolaze sa njima, kao i TTS mašina koja dolazi uz Windows operativni sistem, ne podržavaju jezike našeg područja.  Na sreću postoje komercijalna rješenja i projekti otvorenog koda koji omogućavaju korištenje na srpskom i srodnim jezicima.

Kao komercijalni eksterni (SAPI 4 i SAPI 5) sintetizatori za srpski jezik najčešće se koriste AnReader i WinTalker Voice. Proizvođač AnReadera je preduzeće AlfaNum iz Novog Sada. Aktuelna verzija u toku pisanja ovog teksta je 4. Kao besplatno rješenje može se koristiti sintetizator otvorenog koda eSpeak koji podržava veći broj jezika iz regiona i takođe podržava SAPI tako da se može koristiti uz sve navedene komercijalne i besplatne čitače ekrana.

Јoš jedan projekat za naše prostore koji je možda vrijedan pomena je MBROLA koja nije samostalan produkt već se može koristiti pomoću eSpeaka. U sklopu tog projekta postoji baza za hrvatski jezik koja se besplatno može preuzeti sa njihovog sajta.

JAWS

JAWS (Job Access With Speech) je komercijalni čitač ekrana kompanije Freedom Scientific namijenjen za omogućavanje pristupačno korištenje Microsoft Windows operativnog sistema slijepim i slabovidim korisnicima. Aktuelna verzija u toku pisanja ovog teksta je 12. JAWS dolazi sa ugrađenim sintetizatorima za više svjetskih jezika (Eloquence i RealSpeak),  ali nijedan od ovih sintetizatora ne podržava srpski jezik. JAWS podržava SAPI 5 sintetizatore, tako da se uz njega mogu koristiti navedeni sintetizatori za jezike regiona.

Zastupnik i distributer JAWS-a za Srbiju je preduzeće “Glorria Ferrari”.

Postoje tri dostupna načina rada koja su u vezi sa radom JAWS-a na vebu. To su: PC Cursor, JAWS Cursor i Virtual PC Cursor. Za HTML okruženje tj. veb stranice koristi se Virtual PC Cursor. Virtual PC Cursor je uveden u verziji 3.31 i njegova namjena je da oponaša PC kursor i omogući korisniku da upravlja kroz HTML dokumente koristeći iste tastere i komande koje bi koristio za rad u omiljenom programu za obradu teksta. Kada se sa JAWS-om koristi neki veb čitač, radi se u načinu Virtual PC cursor mode. JAWS naglašava postojanje okvira, linkova i formi na stranici i njihove brojčane vrijednosti. Kada se virtualni kursor pozicionira na polje forme, moguće je ući u Forms Mode u kom je moguće editovati kontrole i kretati se po poljima forme (pritiskanje dugmeta, unos teksta).

Window-Eyes

Window-Eyes je komercijalni čitač ekrana kompanije GW Micro koji se odnedavno pojavio na lokalnom tržištu. U potpunosti je lokalizovan na jezike regiona. Radi pod operativnim sistemom Microsoft Windows. Isporučuje se u dvije verzije: standard i professional. Isporučuje se sa softverskom govornom jedinicom Eloquents sa šest jezičnih podrški. Radi sa velikim brojem brajevih redaka i sa navedenim sintetizatorima glasa. Zastupništvo GW Micro Inc. za Hrvatsku ima Udruženje za unapređenje obrazovanja slijepih i slabovidih osoba, Zagreb.

NVDA

NVDA (NonVisual Desktop Access) je besplatan portabilni (prenosni) čitač ekrana otvorenog koda za Microsoft Windows. Projekat je pokrenuo Majkl Karan (Michael Curran) u 2006. NVDA je programiran u Pyton-u. Trenutno izbjegava tehnike presretanja poruka operativnog sistema (koje koristi JAWS) i koristi API-je pristupačnosti kao što su Microsoft Active Accessibility, Iaccessible2 i Java Access Bridge. NVDA koristi eSpeak kao integrisani sintetizator govora koji podržava mnoge jezika (između ostaloga i srpski), ali dodatno podržava SAPI sintetizatore (što bi značilo da može koristiti i AnReader i WinTalker Voice, ali ovi sintetizatori nisu besplatni).

Pored opšte Windows funkcionalnosti NVDA radi sa WordPadom, Notepadom i Internet Explorerom. Takođe podržava osnovne funkcio-nalnosti Outlook Express-a, Microsoft Word-a 2000/XP/2003 i Microsoft Excel-a 2000/XP/2003. Besplatni skup alata za kancelarijske potrebe OpenOffice je podržan do određene mjere. NVDA takođe podržava Mozillu Firefox (verzije 3 ili više). NVDA programeri preporučuju Firefox kao veb čitač za maksimalno iskustvo veb pretraživanja bez prepreka.

Od početka 2009. NVDA podržava WAI-ARIA tako da buduće veb aplikacije mogu bolje koristiti slijepim osobama.

Podrška za i-mejl je pružena pomoću Mozilla Thunderbird verzije 3 ili više.

U najnovijem izdanju 2010.1 NVDA podržava 64-bitni Windows i ekran za prijavljivanje u sistem, takođe ima i noviju verziju eSpeak sintetizatora govora i punu podršku za Internet Explorer.

Kompleksni dokumenti koji se mogu samo čitati (poput HTML stranica) su reprezentovani u NVDA unutar virtuelnih bafera. Virtuelni bafer je definisana i jasna prezentacija sadržaja kao što je veb stranica, kroz koju se može kretati pomoću tastera za navigaciju. Informacije poput onih da li je tekst link, zaglavlje itd. se naglašavaju zajedno sa tekstom u toku kretanja kroz njega. Sa virtuelnim baferom postoje dva načina interakcije. Prvi način je pretraživanje u kom se može kretati unaokolo kroz tekst koristeći virtualni kursor, a drugi način je fokus u kom se može direktno intereagovati sa kontrolom (izmjena tekstualnog polja, padajućeg okvira, radio dugmeta). Trenutno NVDA koristi virtualni bafer za čitanje dokumenata u Mozilla Firefox-u, Microsoft Internet Explorer-u i Adobe Reader-u.

U 2010. god. Specijalna biblioteka za slijepa i slabovida lica Republike Srpske je obavila lokalizaciju interfejsa programa i propratne pomoćne dokumentacije.

Govorni Linux za slijepe

Јoš jedan projekat koji zaslužuje da bude spomenut, jer je vezan za naše prostore i srodne jezike je „Govorni Linux za slijepe“, programski paket namijenjen slijepim i slabovidim osobama. Radi se o Mandrake operativnom sistemu i nekoliko aplikacija: pretraživač datoteka, audio plejer s podrškom za mp3 i WAV, tekst procesor, kalkulator i Internet pretraživač. Paket dolazi na jednom CD-u, sa kojeg se pokreće, tako da ne postoji nikakvo zauzeće računara na kojem se radi. To omogućava slijepima i slabovidima da rade na bilo kojem računaru. Isto tako, pošto projekat spada u otvoreni kod, potpuno je besplatan za korisnike. Osnova GLS-a je zvučni interfejs, odnosno, korisnik informacije s računara prima zvučnim putem. Za sintezu govora GLS koristi vlastiti zvučni sintetizator koji je posebno razvijen za hrvatski jezik, a osnova je baza difona razvijena na Odsjeku za fonetiku Filozofskog fakulteta u Zagrebu. Projekt se razvija od 2001. godine, a u njemu su učestvovali uglavnom vojni regruti na civilnom odsluženju vojnog roka, te volonteri i vanjski saradnici. GLS je dio projekta IPSIS - Internet pomoć slijepim Internet surferima.

Testiranje veb strane pomoću čitača ekrana

Za testiranje pristupačnosti veb strane pomoću čitača ekrana potrebno je poznavati osnovne komande i koncepte korištenja čitača ekrana. Čitači ekrana se za samo čitanje koriste isključivo pomoću komandi na tastaturi, tj. kombinovanjem tastera. Najčešće je to kombinacija kontrolnog tastera, obično INSERT i nekog drugog. Ovdje će biti naveden jedan kratak scenario testiranja pristupačnosti stranice sa nekim osnovnim potrebnim komandama.

Ako je data situacija da je dizajner tek završio sa pravljenjem nove veb strane i želi pomoću čitača ekrana testirati pristupačnost te strane, tj. provjeriti da li je osobi koja će tu stranu koristiti pomoću čitača ekrana i tastature dostupan svaki element koji je dostupan i videćim korisnicima i da li je sadržaj i dalje logičan i shvatljiv kada se čita sekvencijalno, scenario i komande koje bi on koristio bi mogle biti slijedeće.

U polje za adrese veb čitača je unesena adresa veb strane koja se testira. Veb čitač počinje sa procesom učitavanja strane, za vrijeme učitavanja čitač ekrana će izgovoriti postotak učitavanja strane. Po završetku učitavanja strane u veb čitaču, čitač ekrana će izgovoriti neke inicijalne podatke o strani kao što su broj naslova (heading), okvira (frame) i linkova na strani.

Slijedeći korak je da se pomoću komandi za čitanje i kretanje prođe kroz čitav sadržaj strane od vrha do dna i na taj način prateći pogledom sadržaj u veb čitaču i slušajući ono što čitač ekrana pročita provjeri da li je sav sadržaj veb strane dostupan čitaču ekrana. Stranica u veb čitaču bi trebalo da se pomjera na dole u skladu sa sadržajem koji čitač ekrana pročita. Slijedi spisak osnovnih komandi prečica.

Kratak pregled komandi prečica

Uputstvo za korištenje čitača ekrana veba namijenjeno je dizajnerima ili programerima koji će ih koristiti da bi testirali pristupačnost veb stranica.

NAPOMENA: Većina funkcija čitača ekrana je dostupna putem numeričke tastature, zato je za vrijeme rada čitača ekrana automatski ugašena opcija Num Lock, tj. tasteri nemaju funkciju brojeva.  Taster INSERT u lijevom donjem uglu se koristi u kombinaciji sa ostalim tasterima da bi se kontrolisalo šta će čitač ekrana izgovoriti.

Čitanje

Prva i osnovna funkcija čitača ekrana je da čita sadržaj strane. Postoje na desetine skraćenica na tastaturi pomoću kojih se može pročitati sadržaj po redovima, rečenicama, riječima, slovu itd. Slijedi lista osnovnih skraćenica za čitanje. Sa ovim skraćenicama se može proći kroz većinu sadržaja:

INSERT + Strelica dole

Pročitaj sve

Page Up/Page Down

Povećava/Smanjuje brzinu govora dok se koristi „Pročitaj sve“

Ctrl

Zaustavi čitanje

INSERT + Strelica gore

Trenutni red

INSERT + Strelica lijevo/desno

Prethodna/Slijedeća riječ

Strelica gore

Prethodni red

Strelica dole

Slijedeći red

Strelica lijevo/desno

Prethodno/Slijedeće slovo, dok se koristi „Pročitaj sve“  unazad/unaprijed

F5/Shift + F5

Osvježavanje stranice/Potpuno osvježavanje stranice. Dobar način da se krene iz početka pri zbunjivanju.

Navigacija

Videći korisnici vizuelno upravljaju kroz veb sadržaj na više načina. Letimično prelazeći pogledom preko strane traže naslove, liste, tabele itd. Većina ovih metoda je dostupna korisnicima čitača ekrana ako je sajt ispravno struktuiran i dobro organizovan. Da bi se upravljalo naprijed i nazad  kroz linkove i elemente formi na strani, koristi se Tab i Shift + Tab. Ostale skraćenice su navedene ispod.

Tasteri za brzi pristup

Slijedeći tasteri pomažu pri navigaciji kroz uobičajene elemente strane. Funkcionišu tako što se svakim novim pritiskom određenog tastera čitač  pozicionira na slijedeći element tog tipa na strani.

H

Naslovi

F

Forme

T

Tabele

N

Tekst koji nije link (tj. skoči na prvu stvar koja nije link - korisno za preskakanje sadržaja)

B

Dugmad. Dugme za pretragu je obično prvo dugme na strani. Može se doći do dugmeta za pretragu pomoću B a poslije toga pomoću Shift + Tab  vratiti do prethodnog elementa - tekst polja za pretraživanje

L

Liste

I

Stavke liste

1-6

Naslovi nivo 1-6

Shift + Taster za brzi pristup

Kretanje kroz elemente u obrnutom redoslijedu (funkcioniše sa većinom tastera za brzi pristup)

Ctrl + Insert + Taster za brzi pristup

Za većinu tastera za brzi pristup ova prečica prikazuje listu elemenata sa kojima je taj taster povezan (npr. Ctrl + Insert + T za listu tabela)

Ostale skraćenice za upravljanje

Insert + F1

Pomoć sa trenutnim elementom

Insert + F2

Lista formi

Insert + F6

Lista naslova

Insert + F7

Lista linkova

Ctrl + Home

Vrh stranice

Ctrl + End

Dno stranice (Kada je čitač pozicioniran na vrhu strane, Shift + Tab će fokus prenijeti na posljednji link ili posljednji element forme na strani)

Alt + D ili F6

Polje za adresu veb čitača

Slike

Svaka slika na strani treba imati alternativni tekst. Ako ga neka slika nema, čitač ekrana će je obično ignorisati, ali ponašanje može biti različito zavisno od njene funkcije

Tabele podataka

Da se preskoči tabela, koristi se taster T. Za kretanje kroz ćelije koristi se kombinacija Ctrl + Alt sa strelicom gore/dole/lijevo/desno. Ctrl + Alt + 5 (na numeričkoj tastaturi) će pročitati zaglavlja reda i kolone za trenutnu ćeliju.

Forme

Enter

Kada čitač pristupi elementu forme, pomoću tastera Enter se ulazi u forms mode. Nakon toga se može unositi tekst. Taste-ri za brzi pristup su onemogućeni dok se unosi tekst u forms modu.

Tab i Shift+Tab

kretanje kroz elemente forme u  forms modu.

Spacebar

Za odabir polja za potvrdu

Strelica gore/dole

Za izbor iz grupe radio dugmadi. Takođe za izbor stavke u padajućoj listi, može se koristiti i prvo slovo stavke.

+ na numeričkoj tastaturi

Za napuštanje forms moda. JAWS automatski napušta forms mod nakon slanja forme pritiskom na ta-ster Enter, prelaska na drugu stranicu ili oda-bira dugmeta.

Brzi tasteri

U veb čitaču brzi tasteri (Access key) omogućavaju korisniku da direktno „skoči“ na određen dio veb strane pomoću tastature. Oni su uvedeni 1999. i ubrzo su dobili univerzalnu podršku među svim veb čitačima.

Brzi tasteri se navode u HTML-u pomoću accesskey atributa. Vrijednost atributa je taster koji korisnik treba pritisnuti, u kombinaciji sa jednim tasterom ili više njih u zavisnosti od veb čitača koji je u pitanju, da bi aktivirao ili prebacio fokus na element sa tim atributom. Slijedi kratka lista tastera koje treba pritisnuti u kombinaciji sa brzim tasterom za popularne veb čitače pod Windows operativnim sistemom:

Internet Explorer

Alt

Firefox 2, 3, 4 i 5

Alt + Shift

Opera

Shift+Esc

Google Chrome 3 i više

Alt

U narednom primjeru poslije pritiska na taster “h” u kombinaciji sa odgovarajućim tasterima, veb čitač će otići na stranu koju link pokazuje tj. na početnu stranu.

<a href="/index.html" accesskey="h">Početna</a>

Nakon nekog vremena pokazalo se da je većina kombinacija koje brzi tasteri koriste u konfliktu sa tastaturnim komandama čitača ekrana i da stvaraju probleme njihovim korisnicima. Tome je uslijedila preporuka da se brzi tasteri uopšte ne koriste.

U HTML 2, revidiranoj verziji, HTML radna grupa W3C konzorcijuma je proglasila upotrebu accesskey atributa zastarjelom u korist HTML Role Access Modula. Ovaj modul se zasniva na korištenju access elementa i role atributa. Nakon HTML 2 zvanični standard HTML 5 koji je uspostavljen avgusta 2009.  ponovo dopušta korištenje accesskey atributa bez razlike u odnosu na verziju HTML 4.01. 

Zaključak ovog konfuznog toka odluka je taj da su osobe sa invaliditetom stekle naviku na koji način koriste asistativne tehnologije. Ovdje je konkretno riječ o slijepim i slabovidim osobama i načinu na koji one koriste veb sajtove pomoću čitača ekrana. One za to koriste strategije brze navigacije. Veb sadržaj ne bi trebalo da dolazi u konflikt sa njihovim navikama i nameće način na koji ga koriste, već da obezbijedi standardne mogućnosti na koje bi se one mogle osloniti.