Screen Reader: ce este, tipuri de cititoare de ecran și principiul de funcționare

Autor: IT Sectr Publicat: 2026-05-15 Timp de citire: 10 min

Screen Reader (cititor de ecran) — un program care transformă textul și elementele grafice ale interfeței în vorbire sau ieșire pe un afișaj Braille, permițând utilizatorilor nevăzători și cu vedere parțială să interacționeze cu dispozitivul fără control vizual. Pe platformele mobile, principalele cititoare de ecran sunt VoiceOver pe iOS și TalkBack pe Android. Potrivit Organizației Mondiale a Sănătății (2023), Screen Reader este instrumentul principal de acces la tehnologiile digitale pentru 285 de milioane de persoane cu deficiențe de vedere din lume.

Principalele puncte

  • Screen Reader — program de citire a ecranului, care transformă interfața în vorbire sau Braille pentru utilizatorii nevăzători
  • VoiceOver — cititor de ecran pentru iOS cu control prin gesturi și rotor de navigare
  • TalkBack — cititor de ecran pentru Android în Accessibility Suite cu focalizare de accesibilitate
  • Principiul de funcționare se bazează pe arborele de accesibilitate (Accessibility Tree), care este construit din toate View-urile de pe ecran
  • Dezvoltatorii configurează interacțiunea prin contentDescription și accessibilityLabel

Ce este Screen Reader?

Screen Reader (cititor de ecran) — este o tehnologie asistivă (Assistive Technology, AT) care interpretează interfața grafică a utilizatorului și o prezintă într-o formă non-vizuală: prin vorbire sintetizată sau afișaj tactil Braille. Cititoarele de ecran sunt principalul mijloc de acces la computere și dispozitive mobile pentru persoanele cu pierdere totală sau parțială a vederii.

Primele cititoare de ecran au apărut la sfârșitul anilor 1980 pentru MS-DOS (de exemplu, Vocal-Eyes) și mai târziu pentru Windows (JAWS, NVDA). Pe platformele mobile, cititoarele de ecran au început să fie încorporate la nivel de sistem: Apple a integrat VoiceOver în iPhone 3GS în 2009, Google — TalkBack în Android 1.6 în același an. Până în 2025, aproape toate smartphone-urile moderne au un cititor de ecran încorporat care nu necesită instalarea de software suplimentar.

Screen Reader nu doar citește textul de pe ecran — el analizează ierarhia interfeței, determină tipurile de elemente (buton, link, titlu, câmp de intrare), starea lor (activat/dezactivat, selectat/neselectat) și relațiile reciproce (părinte-copil, grup). Aceste informații sunt transmise utilizatorului prin indicii vocale sau senzații tactile ale afișajului Braille, care actualizează celulele în timp real în funcție de poziția focalizării.

Cum funcționează Screen Reader?

Screen Reader funcționează în strânsă legătură cu sistemul de operare, având acces la reprezentarea sa internă a interfeței — arborele de accesibilitate (Accessibility Tree). Acest mecanism este același pe iOS și Android, deși denumirile API diferă.

Transformarea textului în vorbire (TTS)

Principalul canal de ieșire al cititorului de ecran este sintetizatorul de vorbire (Text-To-Speech, TTS). Când focalizarea de accesibilitate ajunge la un element, cititorul de ecran extrage conținutul său text (sau descrierea stabilită de dezvoltator) și îl trimite către motorul TTS. Motoarele TTS moderne, precum Apple Speech Synthesis și Google Text-to-Speech, utilizează rețele neuronale pentru a genera vorbire naturală cu intonație, pauze și accente corecte în funcție de punctuație și tipul de conținut.

Utilizatorul poate ajusta viteza vorbirii (de obicei 60–80% din maxim pentru o percepție confortabilă), înălțimea tonului și volumul. Unele cititoare de ecran suportă mai multe voci și comutarea între ele în funcție de tipul de conținut — de exemplu, o voce mai lentă pentru citirea textului și una rapidă pentru navigarea prin interfață. Afișajele Braille se conectează prin Bluetooth și afișează 40–80 de caractere simultan, actualizând rândul la fiecare schimbare a focalizării.

Controlul focalizării și navigarea

Cititorul de ecran utilizează conceptul de focalizare de accesibilitate (Accessibility Focus), care diferă de focalizarea standard de intrare. Utilizatorul mută focalizarea de accesibilitate cu ajutorul gesturilor (atingere, glisare), iar cititorul de ecran anunță elementul aflat sub focalizare. Ordinea de navigare implicită urmează ordinea vizuală: de la stânga la dreapta, de sus în jos. Dezvoltatorul poate suprascrie această ordine pentru layout-uri complexe.

Cititorul de ecran suportă și diferite moduri de navigare, pe care utilizatorul le comută prin rotor (VoiceOver) sau meniu (TalkBack): după titluri, linkuri, caractere, cuvinte, formulare. În modul titluri, cititorul de ecran se deplasează doar între H1-H6 — acest lucru este esențial pentru navigarea eficientă prin pagini și documente lungi. Modul caractere ajută la introducerea codurilor de confirmare sau a parolelor complexe, pronunțând fiecare caracter separat.

Principalele cititoare de ecran pentru platforme mobile

Pe platformele mobile domină două cititoare de ecran: VoiceOver pe iOS și TalkBack pe Android. Acestea au API-uri, gesturi și capacități diferite, dar un principiu comun de funcționare — citirea arborelui de accesibilitate și controlul prin gesturi.

VoiceOver (iOS)

VoiceOver — cititorul de ecran de la Apple, încorporat în iOS, iPadOS și macOS. Utilizează API-ul UIAccessibility pentru a obține informații despre elemente și suportă rotorul pentru comutarea modurilor de navigare. VoiceOver este integrat cu iCloud (setările se sincronizează între dispozitive), Apple Pay (confirmarea plății prin Touch ID sau Face ID) și textul dinamic (fontul se adaptează la setările utilizatorului).

Gesturile VoiceOver diferă de TalkBack: se utilizează rotația cu două degete (rotor), atingerea triplă pentru Screen Curtain și atingerea dublă cu două degete pentru anularea acțiunii. VoiceOver suportă rotori personalizați, pe care dezvoltatorul îi adaugă prin UIAccessibilityCustomRotor — de exemplu, pentru navigarea rapidă prin secțiunile aplicației, ocolind ordinea standard.

TalkBack (Android)

TalkBack — cititorul de ecran de la Google, parte din Android Accessibility Suite. Utilizează AccessibilityService și AccessibilityNodeInfo pentru accesul la interfață. TalkBack suportă meniul global prin glisare în formă de L, acțiuni personalizate pentru elemente și LiveRegion pentru actualizări dinamice. Începând cu Android 14, TalkBack a primit suport pentru gesturi cu o singură mână și integrare îmbunătățită cu Google Assistant.

TalkBack are un sistem de gesturi mai flexibil decât VoiceOver: utilizatorul poate configura aproape orice gest pentru orice acțiune. TalkBack suportă și introducerea Braille pe ecran (BrailleBack) — utilizatorul introduce textul cu caractere Braille direct pe ecranul tactil într-un aranjament special 3×2 pentru fiecare deget, ceea ce accelerează semnificativ tastarea în comparație cu tastatura ecran.

CaracteristicăVoiceOver (iOS)TalkBack (Android)
APIUIAccessibilityAccessibilityService
NavigareRotor (2 degete)Meniul global (glisare L)
Limbi40+30+
Acțiuni personalizateUIAccessibilityCustomRotorAccessibilityDelegate
BrailleAfișaje externeBrailleBack + externe
Actualizări dinamiceUIAccessibility.postaccessibilityLiveRegion

Pe lângă VoiceOver și TalkBack, există cititoare de ecran mobile mai puțin răspândite: Select to Speak (Android, anunțarea zonei selectate), Samsung Voice Assistant (înlocuitor pentru TalkBack pe dispozitivele Samsung cu One UI) și soluții terțe pentru nișe specifice — de exemplu, pentru utilizatorii de smartphone-uri chinezești fără servicii Google.

Cum interacționează Screen Reader cu aplicația

Screen Reader nu are acces direct la componentele UI ale aplicației. În schimb, funcționează printr-un strat intermediar — API-ul de accesibilitate al sistemului de operare. Sistemul de operare construiește arborele de accesibilitate (Accessibility Tree), pe care cititorul de ecran îl parcurge și analizează.

Accessibility Tree pe iOS și Android

Pe iOS, arborele de accesibilitate este construit din obiecte UIAccessibilityElement, corespunzând fiecărui View de pe ecran. Fiecare element conține label (textul principal), traits (tipul elementului: buton, titlu, link), hint (sugestie), value (valoarea curentă pentru glisoare și indicatoare) și frame (zona de atingere). Sistemul creează automat elemente pentru componentele UI standard, dar dezvoltatorul le poate adăuga și configura.

Pe Android, arborele de accesibilitate este construit din obiecte AccessibilityNodeInfo. Fiecare nod conține: text (text sau contentDescription), className (tipul elementului), contentDescription (descriere), stateDescription (stare), isEnabled, isChecked, isClickable și alte flaguri. Android suportă și AccessibilityAction — o listă de acțiuni pe care cititorul de ecran le poate executa din partea utilizatorului: clic, apăsare lungă, derulare, setare focalizare, setare text.

Evenimente de accesibilitate (Accessibility Events)

Când are loc o schimbare în interfață (a apărut un element nou, s-a schimbat textul, elementul a devenit vizibil sau invizibil), sistemul de operare trimite un AccessibilityEvent. Cititorul de ecran este abonat la aceste evenimente și reacționează la ele: de exemplu, la apariția unei ferestre de dialog, cititorul de ecran mută automat focalizarea pe titlul acesteia și anunță conținutul.

kotlin
// Ascultarea evenimentelor de accesibilitate pe Android
class CustomAccessibilityService : AccessibilityService() {
    override fun onAccessibilityEvent(event: AccessibilityEvent?) {
        event ?: return
        when (event.eventType) {
            TYPE_VIEW_CLICKED ->
                handleClick(event)
            TYPE_WINDOW_STATE_CHANGED ->
                handleWindowChange(event)
            TYPE_VIEW_TEXT_CHANGED ->
                handleTextChange(event)
        }
    }
}

Pe iOS, evenimente similare sunt gestionate prin UIAccessibility.Notification: layoutChanged (s-a schimbat layout-ul), screenChanged (ecran complet nou), announcement (anunț arbitrar), pageScrolled (derulare pagină). Dezvoltatorul trimite aceste evenimente prin UIAccessibility.post pentru ca cititorul de ecran să reacționeze corect la modificări. De exemplu, la deschiderea unei ferestre modale, trebuie trimis screenChanged cu noul titlu — altfel VoiceOver va rămâne pe elementul anterior sub fereastră.

Dezvoltarea aplicațiilor ținând cont de Screen Reader

Crearea unei aplicații accesibile nu înseamnă doar adăugarea de contentDescription la fiecare element, ci gândirea experienței utilizatorului pentru interacțiunea non-vizuală. Regulile de bază sunt comune pentru ambele platforme, deși implementarea diferă.

Reguli de bază de accesibilitate

Toate elementele interactive trebuie să aibă o descriere semnificativă: butonul „Trimite" trebuie descris ca „Trimite mesaj", nu ca „Buton". Elementele decorative (separatoare, imagini de fundal, pictograme fără funcționalitate) trebuie ascunse de cititorul de ecran. Ordinea de navigare trebuie să corespundă fluxului logic al ecranului, nu aranjamentului vizual. Contrastul textului trebuie să fie de cel puțin 4.5:1 pentru textul principal și 3:1 pentru textul mare (WCAG AA).

swift
// iOS: configurarea corectă pentru un element complex
let customControl = UIControl()
customControl.isAccessibilityElement = true
customControl.accessibilityLabel = "Volumul sunetului"
customControl.accessibilityValue = "75 procente"
customControl.accessibilityTraits = [
    .adjustable,
    .button
]
customControl.accessibilityHint =
    "Crește sau reduce volumul"

// Actualizare la schimbarea valorii
func didChangeVolume(newValue: Float) {
    customControl.accessibilityValue =
        "\(Int(newValue)) procente"
    UIAccessibility.post(
        notification: .layoutChanged,
        argument: customControl
    )
}

Pe iOS, flagul isAccessibilityElement activează suportul VoiceOver pentru elementele personalizate. Combinația de traits (.adjustable + .button) informează VoiceOver că elementul poate fi reglat prin glisare în sus/jos și activat prin atingere dublă. După modificarea valorii, se trimite obligatoriu notificarea layoutChanged — altfel VoiceOver va continua să anunțe valoarea veche.

Recomandări specifice pentru ambele platforme

Pentru iOS: utilizați accessibilityElements pentru a suprascrie ordinea de citire, accessibilityCustomActions pentru acțiuni suplimentare în meniul contextual și shouldGroupAccessibilityChildren pentru gruparea elementelor în grupuri logice. Pentru SwiftUI, aplicați modificatorii .accessibilityLabel(), .accessibilityAddTraits() și .accessibilityRespondsToUserInteraction(). Evitați utilizarea isAccessibilityElement = false pe containere care conțin elemente interactive copil — acest lucru le va ascunde de VoiceOver.

Pentru Android: utilizați accessibilityTraversalBefore și accessibilityTraversalAfter pentru ordinea de navigare, AccessibilityDelegate pentru elemente personalizate și LiveRegion (polite/assertive) pentru actualizări dinamice. În Compose, aplicați modificatorul .semantics {} cu contentDescription, stateDescription și customActions. Evitați utilizarea focusable = true pe elemente neinteractive — acest lucru va crea puncte de focalizare false pentru TalkBack și va deruta utilizatorul.

Instrumente de testare

Testarea cu cititorul de ecran este obligatorie pe un dispozitiv fizic. Emulatorul/simulatorul oferă o idee de bază, dar gesturile și viteza de răspuns diferă. Utilizați Accessibility Inspector (Xcode) pentru iOS și Accessibility Scanner pentru Android pentru căutarea automată a problemelor.

Principalele scenarii de testare: înregistrarea (completarea formularului, validare, trimitere), căutarea și navigarea prin catalog, plasarea comenzii, recuperarea parolei. Fiecare scenariu trebuie să fie realizabil fără control vizual — doar prin indicii vocale ale cititorului de ecran. Dacă un utilizator al cititorului de ecran nu poate finaliza scenariul în același timp ca un utilizator obișnuit (±50%), — aplicația necesită îmbunătățiri de accesibilitate.

Întrebări frecvente

Ce este Screen Reader în cuvinte simple?

Este un program care anunță tot ce se întâmplă pe ecranul smartphone-ului: text, butoane, notificări. Utilizatorul controlează dispozitivul prin gesturi — atinge un element pentru a-i auzi numele și atinge de două ori pentru a-l activa. Screen Reader înlocuiește vederea cu vocea.

Ce cititoare de ecran sunt utilizate pe dispozitivele mobile?

Pe iOS — VoiceOver (cititor de ecran de sistem încorporat de la Apple). Pe Android — TalkBack (face parte din Android Accessibility Suite de la Google). Ambele suportă controlul prin gesturi, feedback vocal și afișaje Braille prin Bluetooth.

Cum poate un dezvoltator să facă aplicația compatibilă cu Screen Reader?

Setați contentDescription (Android) sau accessibilityLabel (iOS) pentru toate elementele interactive. Ascundeți elementele decorative de cititorul de ecran. Trimiteți notificări la modificări dinamice. Testați cu cititorul de ecran activat pe un dispozitiv fizic fără control vizual.

Care este diferența dintre VoiceOver și TalkBack?

Diferența principală constă în API și gesturi. VoiceOver utilizează UIAccessibility pe iOS și rotorul pentru navigare (rotație cu două degete). TalkBack utilizează AccessibilityService pe Android și meniul global prin glisare în formă de L. Principiul de funcționare — parcurgerea arborelui de accesibilitate — este același.

Cum citește Screen Reader imaginile?

Screen Reader nu poate „vedea" imaginea. El citește descrierea text pe care dezvoltatorul o setează prin contentDescription (Android) sau accessibilityLabel (iOS). Dacă descrierea nu este setată, cititorul de ecran poate citi numele fișierului sau poate spune pur și simplu „imagine" — ceea ce este inutil pentru utilizator.

Rezumat

  • Screen Reader — tehnologie asistivă care transformă interfața în vorbire sau Braille pentru utilizatorii nevăzători
  • VoiceOver (iOS) și TalkBack (Android) — principalele cititoare de ecran mobile cu propriile API-uri și gesturi
  • Principiul de funcționare se bazează pe arborele de accesibilitate (Accessibility Tree) și focalizarea de accesibilitate
  • Dezvoltatorii configurează interacțiunea prin contentDescription, accessibilityLabel și gestionarea focalizării
  • Actualizările dinamice necesită trimiterea de evenimente de accesibilitate: UIAccessibility.post pe iOS, LiveRegion pe Android
  • Testarea obligatorie pe dispozitiv fizic cu cititorul de ecran activat și ecranul stins
  • Accesibilitatea — nu o opțiune, ci o necesitate pentru 285 de milioane de utilizatori cu deficiențe de vedere din lume

Vom dezvolta o aplicație mobilă la cheie

IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.

Discutați proiectul

Citiți și