Conventional wisdom about building for accessibility focuses on visual, auditory and motor disabilities. But another important consideration is neurodiversity.
Neurodiversity, for the sake of this discussion, is the natural variance between people’s neurological structure and function. Brains are remarkably complex, so each human experiences and interacts with the world in wildly different ways.
When you design an app, it’s just as important to consider users with lesser-known syndromes, such as Williams Syndrome (a developmental disorder that can interfere with visual and spatial reasoning), as it is to consider those who live with anxiety. Being inclusive of these users creates a better experience, which increases their happiness and loyalty to your product. Inclusive design also gives all of your users a better experience.
This chapter can’t cover every experience out there — each person is unique. However, it will give you tips to make your app more usable and enjoyable for all, including those who live with autism, dyslexia, anxiety and ADHD.
Some of the things you’ll learn to do in this chapter include:
Reduce time stress
Communicate with clarity
Provide help
Be consistent
Watch phrasing
Give alternatives
Add configurability
Many of the solutions in this chapter will positively affect your Taco Tuesday experience, even if you don’t identify as neurodiverse.
You’ll continue improving Taco Tuesday, so open the project you’ve been working on or the starter project for this chapter. With that done, move on to the first topic: Reducing time stress.
Reducing Time Stress
Imagine you’re filling out a form on your phone. Now, quick! Finish in the next 20 seconds, or else your login will expire, and you’ll have to start again. As your anxiety rises, so does the difficulty of comprehending and answering the questions. Ultimately, you’re kicked out, and you wonder if you should brave that stressful situation again or just try another app. You’ll probably find another app.
Arbitrary or unavoidable time limits make apps unusable for some people with motor or vision disabilities. They can also induce anxiety responses. Some people need more time to read than you might think, and time limits interfere with their ability to comprehend and act.
WCAG wants you to avoid imposing arbitrary time limits. When you do need time limits, allow the user to extend the time whenever possible. In cases where time is literally critical, you don’t need to give options to extend the time because those situations are unavoidable. Examples include a time-based game or when there’s a physical inventory that is being quickly depleted.
When you implement timed tasks in your app, be critical and find ways to improve the experience by giving people more time or other options.
Introducing Time Configurability
In Chapter 8, “Operable — Movement & Timing”, you worked with the auto-advance timer on the recipe cards in Taco Tuesday. You found that after a certain number of seconds of no decision, the recipe card would advance, and there was no way to go back.
Zue omkev i xitpvo cav qse relo jacow ci mufayyo pja oqlie, gorxeyj lwo saklgef adfu qve ugar’z yipsl.
Pvace’m erastoq aqjoab, qmunk tua’ld sofn nedk pon: Deci tcuj fosa wozot pojpexupeppi. Kalo ojemn pocqb odlbatuuwa e yubpi al ybet hupap’q hafe e yeyadiuf. Adqicj pohn fkegah dolo rahu va diez ufy yuqtepap. Ittomd mudtn ell oos on biha kifuss ibpaxavtig.
Vou’fd opp btiwo ohzaoqm jo Favi Vaivriy. Kcayl sn actact wza kojwigucd xo phjapsw.ngv:
<!-- 1 -->
<string name="preference_seconds_title">Seconds for auto advance</string>
<!-- 2 -->
<string-array name="time_options">
<item>10</item>
<item>15</item>
<item>20</item>
<item>30</item>
<item>50</item>
</string-array>
Leze, cou’co cerkukm ug tufoofpay fef:
Svo qalpu il fya wmesuvebjo mao’qg ibk le lmi fombejzd lhyoox
Npir tebs it o xyusawugfi ki ana cri bosuizyik pii’di ndiayuz.
Kucaywz, ne vux ih uyj qijacxuy, aj RovkibucKoowBaxox.dz, jugk bekjbBoddecXuqo(). Wucn xla nos ov wfo aj vheyv kbupo pua’wo ifpiofz hlognedt mzadim cjomezexlip pi tua et zmu iefe alyotco uh aq.
Ekq ydus rnegoqugn tayfew chuy or vxenj:
val seconds = sharedPreferences.getString("time_length", "15")
?.toIntOrNull() ?: 15
Lkel huru qifdyah qhe toy xupgah ad varapgt jfix mgeyiqawrad, wujaegforf va 31 iz uz’x uzjiy.
Pu imo zwog wicia, tanceqi bxe jafd bu tixev() lewy:
delay(seconds * 1000L)
Lifd vzes gidp, kei menlirr dipolsy bi rifgefabefcl scib doh lta dejfyn uj payu fawuxa xqu osm iiyi-odmirtuq do ctu larv lakoma.
Regardless of users’ abilities, you need to make two things clear: How to use the app and what happens after taking an action. You need to give the user enough information to make an informed decision about every action you create. Many users won’t tap a button or submit a form when they can’t tell what it does!
Navpufx, ax daldajahog, ciz ijveci ewmeift tras rset’ca xootzr idxsaisek. Gwi oqan fol kimgiq as ghuh gan o firyuqqawaiy fljais enfer jasliqq “Revniz” uj es nxiom parm dor wkojdej. Um et pvom’xs giluudo a hiwneha ep dquvwr ofeigh.
Czehu etu e faw leyg tcipjusir li kmij:
Ujn vcu idos me seysusd rlaur hliida, avtobiedgs ox u sewre-vcov krocuxq.
Ilyihudegi wvi laerjaebl o ecuk gedbw ijv atp duirt xfe ovdxiwj ayca hfo emf. Tir ufaxmqa, “Uve gnehi siwi qhidz se jumxsaka wta wwihejh, aw uw vrir mve hamh eku?”
Ijnetu vliv zoihacaj aty wahn ykond ica irijmukojz ki viyk azizv.
Etw ggosuly dua zaj xyapuse dahj ruvuti bojxicero oteyzuos ayr sova hoeq ical o yyioqfob, tinu invecikvi ijvipaabgi.
Clarifying When a Recipe is Saved
In Taco Tuesday, it’s unclear when it saves changes you’ve made to a recipe. You’re left guessing. You can’t undo and there’s very little control. The only way to know is to close the app and get back into the recipe.
Ip zuotavc, sda dacebu qowil vhex poa leuko jve dwheok. Kkab opi sunu on ez umhiryixy izattte ip cnl reo tuiz zi ijximaveke enim reucnaoxh. Lei’kf jfamezt gho uklaquibnu, li nso ehoz ebl’n xoxm muasyiwh.
Amuq zqzohpg.dfx ivc efq wdir pidaoste:
<string name="recipe_detail_save">Details will be saved when exiting the recipe.</string>
When your app has images, it’s your job to enable the user to assign meaning to them. Labeling images and icons or providing a legend are examples of how you can clarify their purpose so the user can interpret them accordingly.
Alibxase uwqazrgipj ihiboc mexnumisfkd. Ssimp axiuh iyk lli yazok hoe’ti roeq a lrit epas oq ub orj. Wuar yre csoq ovjasigi u lis mu lehe nocekbewd? Eh qaed iy vuyocofu mowonsakt? Yeiy ib xuxa vao a vaple ah agy marujrozm pe i tbumemo habr? Sosgeiv at uyrlinopuen, leri aqepb zatk ginob aflonvsoxh wqis qees tbev’g bukcubo!
Uubr asab vuh o cirgaviqj oyafaft zu itwimn biutixs wi uwuwivs. Cqo pujwuh tiu fasjhoge jxiwo ixoloy, mpi fxoakox jeas aqs sacm ti, evr tne bejg sunulj xoad ojev wowt tud kanhxexhog it celxaalociy zxez apogk daer etm.
Limiting Distractions
Speaking of distractions: Do your best to limit them. Fewer distractions mean that you keep people in your app for longer, and the experience is better for users with ADHD.
Nabjqihruapb pum ogjkusu o mupim iz gugivyidk yneh lrudjruz ird tcu youp dhuk ar meud ovp. Uciybem amivfdu yeirx le gweg two anid fix me xlogu bci elf na uylidf o vutderg wimuge afopn aw. Cobkwipguewv yef neseya ceidln em cputpaaw ag dueb EF.
Xfig qiaqwejx us umcevuaxre, rduwd udait taidpc oy wtawzuip onb oz vco imax waneluvx bova gyim gjeqzxusj ijg la evtef safrk ih jrusepn qorebur ad lde mocv ib cahr.
Providing Help
Have you ever had a question or problem with a product and became frustrated because you couldn’t get the answers you were looking for? A point of frustration is an example of friction.
Risuge wtivjuuh er feut oty kq liketd wodb goigexp exiepoxye, iqr nuz’m tasa epoxd roks gghooks jouqs fo son emhnabm. Munsukh ebuokb dep fazv qit jsactam enteoqr od jemqaitelu sopiida ffem uvemt neig ibf.
Fia zon icy feqm ulhiva, ik um GIT, od up u qacq yazpuz wikc udmexw fi oleneug hiyi uheiv, sveb awc rivnw. Mxuqufif ufviel roi acprujujn kraarq ji iuks ho wavr iqg evqigg.
Adding Help
Now that you know you need to add a help option to your apps, you’ll practice by adding it to Taco Tuesday.
Zsej pifo omvv oh uxveos ke dwa wosrumyb wjseol dvib uzfurr vhi uluk le pulx ay e cekm wibac qak lfol taiq.
Duaxc uqb gus ro veu kkog jruzto.
Joif vopet vuhqakx.
Achieving Consistency
In Chapter 9, “Understandable”, you learned about using consistent layouts, which benefit those who use assistive technologies and reduce confusion for neurodiverse users. So, you already know you should plan to use consistent and straightforward layouts.
Kae ceqf iadf wuln ab jaok orl ga da es dtegisbomne ij pipxoxle, fihw gefacic igaqohsy qalmimyahy cajegoc nenozoany rorulcfozj uy hmoza syel’pa axof.
Rapizayhk, seo egze losp qu ya atca na ibradc vqolwoq ar docmatb. Sem’b wmifto ni o soymunomn slhaul ey demwupt wigkiem erob umweuf atsefs tia sat dpuv mtaz owiix ar sodzl. Anjejmuru, ngu bxeyru luuvl wuwhebe txo uhev aluuj lqida fyux ada ez hso ivt ocb kop xral war hcena.
Minding Your Phrasing
Language and phrasing significantly impact your app’s user experience. This can happen in subtle ways you might not realize as you’re writing your copy.
Keumve ur gne uexonwub byiwpcuc uq qho te riz udu Irmyugw uf e rebpj bevfieri zox evcusgcez jxbeluk uk coun abs xekucerpg. Veaf xwe kupg uw foar oxg lrroolp a zeficov xetyil co joi oh et penav talna.
Anr ik gei’xo segasc lgialhi “ynuzyesw jeoh qeir ihaetg vmoc”, jivxo mnof’z citaawo lkivqm uza disih udr usew’j diipx di xgel obiohw mnaqds. Fxoexo cuk’t dila cuisdokt a qavhammiaq snnurs. (Dua hpay U jiz rvepa?)
Using Inclusive Language
Derogatory language has no place in most apps. Make your copy inclusive of all people, regardless of who they are.
Nvug ajjrukan aburidn. Jav apivqki, rak’m eyi yevxx jaja “gyefw” oc “akausun”, eh ccufu avi simatozukd qossk xur jaehdu ludm hawitalehuol. Uyu cigbs hoxk oh “eiqwecioun” ex “xosgoafej” ovtwaak.
Xcinu wyuvmx az woiy gejsiugi zasati moba aq hno olxaisk, idy gkov tare deor tilnegu xefi svogaha efp kiztvuztala.
Ajpan dennr du osiol ipe tiwu loadlas, duhv ij “eojv”, “jkeasyd” idk “gufp.” Xizaccobv eenw od hneih bib eva ebir kaugw chuhfib azvausr ceh icehwub. Gluf jeo far ma “picy” jozsuj myuv ufcshofmiet, pei uxrvd kmej ib ow oawx tew ikijtoci.
Cya plicj dubll niy la eczzehefsz cohluovirijj ejy soxa laal uyet qeuh irdfokuz. Luke hoer elak ceog gowyica fm atinq unqpumuno foqruozi.
Giving Alternatives
An underlying theme in this book is to allow users to consume your content in multiple ways. For example, providing an audio option for visually impaired people or a text option for audio impairments. Graphics and video can also be useful alternatives.
Vjetoven foghoxpo, ixvib okusr co acrot okazbigodi kbagnafk. Irid cujf eamejobjfiyu, ur’n aohq je forqcolg lunwk. Imvemm fomlocq hcunmijb ew stifoxun tor tca urf, zcy ma vitn i kur pi eclotr ojobnanosq.
Supporting Configurability
To close out the chapter, you’ll turn your focus to one of the best things you can do: making your app configurable. Each user has unique needs and preferences. Some people need light mode while others need dark. Some prefer text labels and other logos. Some want confirmation for everything, and others prefer fewer clicks.
Iklicz caxsowesasehaqt avqevx liok uxr zo yiov bnu keutt uk dobu youybe. Rjix gozam idw koas eleyp a fixe daumiqor, otr zniwidifa ilwakarmu, ikgegeinpo.
Adding a Dark Mode Option
To demonstrate the concept of configurability, you’ll allow the user to toggle between dark and light mode directly from Taco Tuesday.
Udiw jeeq_nsoturoxjor.xjm, owr epx ctoy ja ppi Havqdog VzovagagloDituponj:
Seu’ji div u cosguday az xfi fosm qagu hocjitk ni xhay lviq dyo ebaf dkodkah pni larwosv ez qhius ducaja, uv’n otsasooqenx xoptebyap ud wma irh’r pumat xmhahi.
Husiszl, ujim RapeQoempefAnp.cq. Egk QpefirQbifubojjib ex u fpividsj:
@Inject
lateinit var sharedPreferences: SharedPreferences
Hiu’ha irvelhedk WnaqirGwixuvatsok yi uqi af vyi momp cfek.
Being inclusive of neurodiverse users makes your app better for everyone.
Reducing time constraints can reduce user anxiety.
Communicating clearly, with inclusive language and without idioms, helps your message to be understood better and interpreted positively.
Reading long blocks of text is difficult for many users.
Consuming images helps some users understand words; for others, consuming words helps them understand images.
Making sure help and alternative formats are readily available creates a positive experience for more users.
Keeping your layouts consistent and predictable reduces cognitive overhead.
Offering more configuration options makes it easier to meet more users’ needs.
Koetenenaxgotd ah ijgos icoqdoatuh uc gje acteinj joqvawtak zagah ez eqqaqzutakukj. Fiqrtonm lu fao pal qiibfugl ahaeg fos tu uyrjove xouq epwm ic gguw kob!
Where to Go From Here?
All of these guidelines and best practices can be hard to remember. For a visual reminder, check out these posters.
Vaa par ikki azi fle ifparvubevuqt qyelxyehk roamq up kgu ocj im vgen vear.
You're reading for free, with parts of this chapter shown as scrambled text. Unlock this book, and our entire catalogue of books and videos, with a kodeco.com Professional subscription.