Prieš metus gavau užduotį - pritaikyti banko aplikaciją regėjimo negalią turintiems vartotojams. "Tiesiog pridėk VoiceOver palaikymą" - pasakė klientas. Po savaitės supratau, kad accessibility nėra "tiesiog pridėti" - tai visiškai kitoks požiūris į kūrimą.
Tas projektas pakeitė mano supratimą apie tai, kam kuriame aplikacijas. Lietuvoje apie 200,000 žmonių turi įvairaus laipsnio regėjimo sutrikimų. Dar daugiau - laikinus sužalojimus, situacinius apribojimus (ryški saulė, viena ranka užimta). Accessibility nėra nišinė funkcija - tai geras dizainas visiems.
Kodėl Accessibility Svarbu?
Skaičiai kalba patys:
- 15% pasaulio gyventojų turi kokią nors negalią
- 71% vartotojų su negalia palieka svetaines, kurios neveikia su jų pagalbinėmis technologijomis
- EU Accessibility Act nuo 2025 m. reikalauja prieinamų skaitmeninių paslaugų
- Accessible aplikacijos dažnai turi geresnį SEO ir bendrą UX
Praktinis Pavyzdys
Viena Lietuvos e-parduotuvė po accessibility patobulinimų padidino konversijas 23%. Kodėl? Nes aiškesni mygtukai, geresni kontrastai ir logiška navigacija padėjo VISIEMS vartotojams, ne tik tiems su negalia.
WCAG Gairės Mobilioms Aplikacijoms
WCAG (Web Content Accessibility Guidelines) yra standartas, bet jis sukurtas web'ui. Mobilioms aplikacijoms pritaikome tuos pačius principus su specifiniais niuansais.
1. Perceivable (Suvokiama)
Tekstinės alternatyvos: Kiekvienas vaizdas turi turėti aprašymą.
- iOS:
accessibilityLabel - Android:
contentDescription - Flutter:
Semantics(label: "...")
Kontrastas: Minimalus kontrastas 4.5:1 normaliam tekstui, 3:1 dideliam. Naudoju įrankius kaip Stark arba Colour Contrast Analyser tikrinimui.
Šrifto dydis: Palaikyk sistemos šrifto dydžio nustatymus. Lietuvoje ypač aktualu - daug vyresnio amžiaus vartotojų naudoja padidintą šriftą.
2. Operable (Valdoma)
Touch targets: Minimalus 44x44 pt (iOS) arba 48x48 dp (Android). Tai ypač svarbu mygtukams ir nuorodoms.
Gestures: Jei naudoji sudėtingus gestus (pinch, swipe), visada turėk alternatyvą - mygtuką ar meniu.
Focus order: Screen reader turi eiti logiška tvarka - iš viršaus į apačią, iš kairės į dešinę. Patikrink su TalkBack/VoiceOver.
3. Understandable (Suprantama)
Aiškios klaidos: Kai forma turi klaidą, pasakyk KUR ir KAIP ją ištaisyti, ne tik "Forma neteisinga".
Nuoseklumas: Navigacija visur ta pati. Jei "Atgal" mygtukas viršuje kairėje - visur ten.
4. Robust (Tvirta)
Semantic markup: Naudok teisingus komponentus - Button yra Button, ne Text su onTap.
Screen Reader Palaikymas: Praktiniai Patarimai
Praleidau daug valandų klausydamas VoiceOver ir TalkBack skaitymo savo aplikacijas. Štai ką išmokau:
Dažniausia Klaida
Ikonėlės be aprašymų. Jei turi hamburger menu ikoną - screen reader pasakys "button". Vartotojas nežino, kad tai meniu. Pridėk: "Atidaryti navigacijos meniu".
iOS VoiceOver
accessibilityLabel- ką elementas daroaccessibilityHint- papildoma informacija (neprivaloma)accessibilityTraits- elemento tipas (button, header, link)isAccessibilityElement- ar elementas "matomas" screen reader
Android TalkBack
contentDescription- pagrindinis aprašymasimportantForAccessibility- yes/no/autoaccessibilityLiveRegion- dinaminiam turiniui
Flutter
Flutter turi puikų Semantics widget'ą, kuris veikia abiejose platformose:
Flutter Semantics Pavyzdys
Semantics(
label: 'Pridėti į krepšelį',
hint: 'Du kartus bakstelėkite pridėti prekę',
button: true,
child: IconButton(...),
)
Testavimas: Kaip Patikrinti Accessibility?
Automatinis Testavimas
- iOS: Xcode Accessibility Inspector
- Android: Accessibility Scanner (Google app)
- Flutter:
flutter analyzesu accessibility lint rules
Rankinis Testavimas
Automatiniai įrankiai randa tik ~30% problemų. Būtina testuoti rankiniu būdu:
- Įjunk VoiceOver/TalkBack
- Užmerk akis ir bandyk atlikti pagrindinius veiksmus
- Ar galėjai suprasti, kur esi?
- Ar galėjai pasiekti visus mygtukus?
- Ar klaidos buvo aiškios?
Vartotojų Testavimas
Geriausias būdas - pakviesti žmones su negalia testuoti. Lietuvoje galima kreiptis į Lietuvos aklųjų ir silpnaregių sąjungą (LASS).
Spalvos ir Kontrastas
Apie 8% vyrų turi spalvų aklumą. Štai ką daryti:
- Nenaudok tik spalvos informacijai perduoti. Jei klaida raudona - pridėk ir ikoną, ir tekstą.
- Testuok su simuliatoriais - Sim Daltonism (Mac), Color Oracle (Windows)
- Naudok kontrastų tikrinimo įrankius - WebAIM Contrast Checker
Geras Kontrastas
Normalus tekstas: 4.5:1 minimum
Didelis tekstas (18pt+): 3:1 minimum
UI komponentai: 3:1 minimum
Kainos ir ROI
Būsiu atviras - accessibility nėra nemokamas. Bet tai investicija:
| Etapas | Papildomos išlaidos | Nauda |
|---|---|---|
| Dizaino fazė | +10-15% laiko | Mažiau pakeitimų vėliau |
| Kūrimo fazė | +15-20% laiko | Geresnis kodas, mažiau bugų |
| Testavimas | +5-10% laiko | Tikras vartotojų feedback |
| Viso | +20-30% pradžioje | Daugiau vartotojų, mažiau teisinių rizikų |
EU Accessibility Act: Ką Reikia Žinoti?
Nuo 2025 m. birželio ES reikalauja, kad skaitmeninės paslaugos būtų prieinamos. Tai liečia:
- E-komercijos platformas
- Bankininkystės paslaugas
- Transporto paslaugas
- El. knygas ir media
Baudos už neatitikimą - iki 10% metinės apyvartos. Bet svarbiau - tai tiesiog teisinga daryti.
Ką Daryti Šiandien?
5 Žingsniai Pradėti
- Audit: Paleisk Accessibility Scanner/Inspector savo aplikacijai
- Touch targets: Patikrink, ar visi mygtukai bent 44x44
- Kontrastas: Patikrink pagrindinius tekstus ir mygtukus
- Screen reader: Pabandyk VoiceOver/TalkBack 10 min
- Alt texts: Pridėk aprašymus visoms ikonėlėms
Reikia Pagalbos su Accessibility?
Atlieku accessibility auditus ir padedau pritaikyti aplikacijas WCAG standartams.
Susisiekti