Kuidas muuta VoiceOver iOS-i rakenduses sõbralikumaks

Mõne arenduse käigus tehtud muudatusega saate oma kasutajatele parema VoiceOver-kogemuse luua.

Kuna Apple tutvustas iOS-ile hõlbustusfunktsioone esmakordselt umbes viis aastat tagasi, laiendas ettevõte neid funktsioone ka muude tootjate rakendustele, luues rikkaliku hõlbustusliideste komplekti. Need rakendusliidesed võimaldavad arendajatel luua abistavaid rakendusi, mis jõuavad palju laiema kasutajateni.

Kuid rakenduse juurdepääsetavaks tegemine on alles algus. Peaksite olema ka empaatiline selle suhtes, kuidas kasutaja võib teie rakenduste hõlbustustes sisu sirvida.

Eelkõige VoiceOverist rääkides mõelge võimalustele vähendada navigeerimiskoort, mida juurdepääsetavus võib elamusele lisada. Lisaks pidage meeles, kuidas VoiceOver võib kasutajale kõlada, kui ta teatab sisu ühelt ekraanilt teisele või ühe komponendi teisele.

Selles õpetuses näitame teile, kuidas grupeerida hõlbustusüksused keerukates vaadetes. See vähendab ekraanil elementide kaudu pühkimise hulka ja muudab kasutajatele navigeerimisprotsessi pisut vähem koormavaks.

Enne kui alustame, veenduge, et teil oleks mõni põhialus alles.

Juurdepääsetavuse omadused, õppige neid armastama

Juurdepääsetavuse omadused on olulised, kui soovite oma sisu laiemale kogukonnale kättesaadavaks teha. Juurdepääsetavuse atribuudid, millele me siin keskendume, on isacccessibilityElement, ifGroupAccessibilityChildren, juurdepääsetavuse juhe ja juurdepääsetavuse vihje.

  • isAccessibilityElement: piisavalt lihtne, eks? See väärtus annab iOS-ile teada, kas see on element, millele abirakendus pääseb või mitte.
  • peaksGroupAccessibilityChildren: See väljendab, kas VoiceOver peaks rühmitama vastuvõtja lasteks olevad elemendid, sõltumata nende asukohast ekraanil (st UICollectionView ja UITableView lahtrid).
  • ibilityLabel: seda kuulutab VoiceOver antud juurdepääsetavuselemendi jaoks. See on lühike silt, mis identifitseerib juurdepääsetavuse elemendi.
  • juurdepääsetavuse näpunäide: tavaliselt kirjeldatakse seda, mida konkreetne juurdepääsetavuselement võib teha või teha. Näiteks „topeltpuudutus kuvamiseks” või „nupp”.

VoiceOveri sisselülitamise oma Apple'i tootes saab teha kahel viisil:

  • Käsitsi: minge oma seadmes menüüsse Seaded> Üldine> Juurdepääsetavus> VoiceOver ja koputage olekuks VoiceOver. Seda on üks kord lihtne teha, kuid nende toimingute mitu korda järjest testimise ajal on tüütu. Õnneks on otsetee!
  • VoiceOveri otsetee: minge oma seadmes Seaded> Üldine> Juurdepääsetavus> Juurdepääsetavuse otsetee ja veenduge, et valitud oleks VoiceOver. Nüüd peate kõik, mida peate VoiceOveri sisse või välja lülitamiseks tegema, topeltpuudutama nuppu Kodu. Tore, eks?!

Kui teil on huvi, siis see iOS-i simulaatoris ei tööta. Peate kontrollima oma juurdepääsetavuse lisandusi füüsilises seadmes.

Sain aru? Tore, alustame!

Juurdepääsetavuse sisu ühendamine rühmadesse

Nagu ma juba mainisin, võib hõlbustusdetailides navigeerimine kiiresti muutuda kohmakaks tegevuseks. Kujutage ette, et peate UICollectionViewControlleris või UITableViewControlleris sisalduva iga sildi ja pildi vahel libistama vasakule ja paremale. Pole lõbus, eks? Mida saate teha, et see oleks natuke paremini talutav?

Üks viis, kuidas mulle meeldib seda probleemi lahendada, on mõelda sellistel juhtudel iga lahter ühe elemendina. Kujutage nüüd ette, kas saaksite libistada iga lahtri vahel vasakule ja paremale, kuna lahter loeb kogu sisu välja, mitte siltide kaupa. Õige, Apple'i rikkalik juurdepääsetavuse API annab meile võimaluse seda teha lihtsa triki abil.

Vaatame, kuidas seda UICollectionView abil teha.

Esiteks määrake oma koodis oma kollektsioonivaate juurdepääsetavuse atribuudid. Vaadake allolevat näidet.

// Juurdepääsetavus
collectionView.isAccessibilityElement = vale
collectionView.shouldGroupAccessibilityChildren = true

Siin ütleme abistavale rakendusele, et ta tegutseks nii, nagu kollektsioonivaadet pole. Seega ei saa seda valida, kuna kasutaja libiseb läbi oma vanemavaate, kui VoiceOver on sisse lülitatud. Ma tean, et see tundub intuitiivne, kuid ärge muretsege. Järgmine asi, mida me teeme, on seada selle kollektsiooni vaate iga element juurdepääsetavuselemendiks.

Selles näites rakendame juurdepääsu UICollectionViewCellile, mis kuvab teavet muusikaalbumi kohta. Igas lahtris on pilt, albumi pealkiri ja esitaja nimi.

@IBOutlet var imageView: UIImageView!
@IBOutlet var titleLabel: UILabel!
@IBOutlet var artistLabel: UILabel!

Esiteks konfigureerime oma lahtri:

funktsiooni lõplik seadistamine (cellWithModel mudel: Album) {
    if let artworkName = model.artworkName {
        imageView.image = UIImage (nimega: artworkName)
    }
    artistLabel.text = mudel.artist? .nimi
    titleLabel.text = mudel.title
    applyAccessibility ()
}

Seejärel rakendage juurdepääsetavuse atribuudid igale UICollectionViewCell:

final func applyAccessibility () {
    isAccessibilityElement = tõene
    ibilityLabel = “\ (titleLabel.text!) \ (artistLabel.text!)”
    ibilityHint = “Esitamiseks topeltpuudutage.”
    imageView.isAccessibilityElement = vale;
    artistLabel.isAccessibilityElement = false;
    titleLabel.isAccessibilityElement = vale;
}

Nagu näete, on iga lahter seatud juurdepääsetavuselemendiks, mis omakorda lisab selle hõlbustusüksuste loendisse oma vanema vaate jaoks. See tähendab, et kui kasutaja liigub läbi kollektsioonivaate üksuste, on igal elemendil võimalus kirjeldada selle sisu.

Seejärel lisasime lahtri atribuutile juurdepääsetavuse kaabel mitte ainult pealkirjaLabel tekst, vaid ka artistLabeli teksti. Nii nagu VoiceOver kasutajaga räägib, kuulevad nad meie albumi lahtris mõlema sildi sisu ühe või teise asemel. Ja muidugi seadsime atribuudi juurdepääsetavuse vihje nii, et kasutajad teaksid, mis juhtub, kui nad topeltpuudutamise toimingu teevad. Pidage meeles, et juurdepääsetavuse vihjeid räägitakse alati pärast lühikest pausi pärast elemendi juurdepääsetavuse kaabli lugemist. Te ei kuule seda kohe.

Lõpuks seadsime oma albumi lahtris iga alamelemendi väärtuse isAccessibilityElement väärtuseks vale. Muidugi muudab lahtri seadistamine juurdepääsetavuselemendiks vaikimisi selle lastele juurdepääsematuks elemendiks.

Vaata nüüd, vaata, kuidas see töötab. See video näitab, mis juhtuks, kui me ei teeks kõiki ülaltoodud toiminguid, ja näitab seejärel näidet, kus rakendasime oma juurdepääsetavuse atribuute.

Rühmitatud lahtri elemendid kõlavad mitte ainult VoiceOveri lugemisel paremini, vaid vähendavad navigeerimist.

Juurdepääsetava UICollectionViewCellsi muutmine kõlab nagu inimene

Palju aega märkan, et arendajad tormavad oma rakenduste juurdepääsetavust läbi. Selle põhjuseks võivad olla mitmed tegurid, kuid hõlbustusvõimaluseLabel sisu vajab tavaliselt vaid kerget armastust.

Eelmises näites, kuidas seadsime oma albumi lahtri juurdepääsetavuse sildi, näete, et see loeb mõnel juhul selle sisu üsna kiiresti läbi. Aga mis siis, kui me kirjutaksime oma sildid sarnaselt sellega, kuidas räägime? Koma või isegi konjunktsiooni lisamine võib aidata sildi vaatajaskonnal pisut paremaks kõlada, luues VoiceOveri diktsioonis pausi

Siin on lihtne näide meie albumi lahtrite juurdepääsetavuse kaablile koma lisamise kohta.

ibilityLabel = “\ (titleLabel.text!), \ (artistLabel.text!)”

See on peen, kuid tõhus. Vaadake seda lühikest videot, et teada saada, mida see võib muuta. Videol vasakul olevad lahtrid ei sisalda koma, paremal asuvad lahtrid aga koma.

Töötage juurdepääsetavust silmas pidades

Apple on astunud esimese sammu ja andnud arendajatele võimaluse luua toetatud rakendusi. Jätkake seda pingutust, lisades juurdepääsetavuse oma arenduse töövoogudesse. See on lihtsam kui arvate ja teie rakenduse kasutajad tänavad teid selle eest!

Projekteerimise ja arendamise kohta lisateabe saamiseks tellige BPXL Craft ja järgige Twitteris musta pikslit.

Black Pixel on loovate digitaalsete toodete agentuur. Lisateavet leiate veebisaidilt blackpixel.com.