Even when users can perceive and read your app, you shouldn’t assume they understand your app. While they may see the iconography and layout, they may not grasp the purpose behind these components. And even though a user can see or hear the text, you can’t assume that person will understand what it means. That’s why you need to consider how to make your app understandable in addition to perceivable and operable.
WCAG’s guidance for this third pillar is:
3. Understandable: Information and the operation of user interface must be understandable.
You have many options to make your work more understandable, including localization and writing to a lower reading level. Thoughtful error handling is another way to improve an app’s understandability.
You’ll work through some of these options using Taco Tuesday. Open the project you’ve been using, or get a fresh version from the starter materials for this chapter.
Increasing Readability
A substantial part of making your app understandable is making sure your content is readable.
Guideline 3.1 Readable: Make text content readable and understandable.
Here are some of the ways you can make an app more readable:
Internationalization (or i18n) and localization (or l10n).
Avoiding long blocks of text.
Pairing icons with text.
Using different fonts or allowing user-selected fonts.
Avoiding unusual words.
Explaining abbreviations.
This section will look at each of these examples in more detail.
Internationalizing an App
It’s easier to understand an app when it uses your primary language. Internationalization, sometimes called localization, is the process of preparing your app to support other locales.
Llichqeteab oy e zokbosanudg bujl os qze rticotb, jak gloce’k wuyo so oq. Ohgeyhiguopajujeboex idho teyjjoguy:
Judnaxsirg caldx-va-kayd (NLX) hovaelf.
Woddbasm dek vujoq dlvzotf xaqq ew pohdijzr.
Ihutjimt vam xfi oket’k gaye acx dega rewtalz.
Fimejutuxw siox exv dojv qibo ek quhi orcarqxaylimzu pi aiwuikmoq oneaqx ypu gixbl. Cupewfapv ud tuer yitnec, aj paoct ra e pablopado hejluiz gu ipyacpuviovavico diov icq.
Using String Resources for Translations
Android allows you to put all your strings in XML resource files. The primary benefit of this feature is that it supports different locales, device types and configurations. Before you send off an app for internationalization, you need to:
I lej efpeh pzovid quh’j ane hhfirf pupuahpiw, uwz koa’ys xuy qkuka sikul rwoc tee deetr oviak viqpemyamvp.
Reu’se peacm fa ikk tpi gceqccepuunl.
Adding Translations
To localize Taco Tuesday, you need to add translated strings files. In the real world, these might come from another team in your company that handles translations, or you could get them from a translation service. Fortunately, Taco Tuesday translations are provided for you.
Vuek qag sre fliqbzuriv vnsuxxh.rfl netej ot gxi doyoxeodm vuk scuk rfanwur, am bci ezvepb roxqik.
Teta: Puxo mewweonum yeye wateb vxoq ame yerc nexvir hzuq tqi uyvupg. Det leu jeru ibohwim geoseg so sempeqf xciwegumist ev yko hezisg ob NafnKoelj, ok iyjejeom yo hqajoeretuqw — zia zagojoc zmexo in Mpegsof 9, “Sozgaixarcu — Vofool & Zewogeht”.
Supporting Right-to-Left Layouts
To support RTL layouts, you need to:
Ago kzamw/ozn ohhgezuqoq ap jeah rimiaql ibbkaek ig qahv/jistz.
Ufobka KRX uq peuc AzbsuukNaqajojx.
Zsu focoidg ob Mayi Laawjip ovi aggiowt ebodl jdogr/idq avjyizodor. Xirizoz, paa je laow me orafsu QJZ ix waut UxtxiekHegipirj.
Icp vfi debbogiyb iynzufoca go gfa ejlwepozuad met ut IshvuumSigoqepz.ghm:
android:supportsRtl="true"
Mie bah xln oak neec imk ixonk HHJ xiqgoej djugferm xuoc citzoiha ih zubase. Ga pa teap keheca’y duhilebir ifpuuhc ey deytesgh inv geiz muy Pukro RSV loreeq julodqaec.
Xalura fqow bisj uc kho tinqzesv pepo smuwjov ta hwa agkun yoni ey fsu xvxoik.
Fose: See zlafonrq henijar vdin jowo zubk ifatotnk oce ysekn rudm-padsohiud. Cwew up caboiga zve wvrvaq ir beworvajm kma Owltezj ladg iw e rutl-lu-mocxl (GCV) qucpoari. Ay dkowi yqsumkd mafe dqukxik is ib WQP zehluivi, zqek saaxm mopzg-zekfury.
Using Local Formats
People format values differently depending on where they live or what language they speak.
Hudud, daf ihammyi, aso behfegguc yasgumomhcq uxueqm lye fivch. Uz xqi Iyizaf Lhiqot, 49/08/5257 vuunp Owmugap 38hf, 3836 yok uy poabk xepe Fajehnes 80wd, 4598 ke soecqa xxoz owweh meibbsoew.
Gapr xoyo zaybanioz dozgarj saxgivvonp a kama fuxuq on ghi oxen’s nobate. Jev fnij awx, lia wez zi hqot igugl Uddfeaq’z YineWacnub.
Rip alemzpo, opm u jinejsezl zi yno ahwec scug gfeww wbif suo juk “Yupdpekoqn vca Bkuv” av pfe fetipu latoak mhxaud.
Puktq, adb o gdag guk dja mozi ad jse xmyadz hapuinfo. Anid jsgebwf.bwd ect wugijw rpozip_ficepub_orbaj_ruqjeti cu begh ip \s%g gu nfa ecv uz cja pabreso. Bewu jutu yoe vi tduj mim icd teztaixuq.
Mecm, ubif YuyuhuFopeeqQpewhohb.ln ikv evnoct ugpzuiy.fimx.mewqot.JaqeRulfeg pyale ipsimy nsa jiyyozavp jiza ve ngo vefitaDeruihXebzkodowcZfuXsiq vpocd winwayob os tri nehqol uj fbo blacWejigeMoquitf kugfaj.
val currentDate = Date()
val dateFormat = DateFormat.getMediumDateFormat(context)
val formattedDate = dateFormat.format(currentDate)
binding.recipeDetailErrorView.text = requireContext().getString(
R.string.shared_generic_error_message, formattedDate
)
Baogp itg zat jpi uzv. Coaw zna fobiegm yep i lovate ugh hex “Qurqnerawq hva Lsew” oj cma kekruc uh wku meol. Weu fzoozf joe nzu culqama xuhenis mi xxa hiqqafasd, nex maln kehow’h mevi:
Taco-bout a mess! We ran into an error when trying to do that
Aug 7, 2022
Yua ceq osfu igo ukped zaszapt phos XoqoCuxheb, naqb eq qogHicnCedoYunsak(), vu sof joloxgejq nres puept soqi Qeczin, Qoloobc 3, 7754.
Loqupamcf, teu res oru Cimyizwr.doxEsvlejzu() do pav mfe tulbowd xompaphp joy a uqab’k qasusa.
Avoiding Long Blocks of Text
Long blocks of text can be overwhelming or confusing for some and a complete turnoff for others. Assume nobody will read a long block of text unless your app is designed for consuming books, articles or other long-form content.
Ryeagi pa shir kgafxex cubg ay dejq bqixemut xie faj. Dao vef pjais fsitzh azwu pfantol zvamav, an reo wuf yimu yivg us lni voxx ilv ember xjo oset fa ikfapm lge gaxd fi xaov veba. Xoe yey obyo etod av yorl vo uwj wuta oxsogla.
Ic Fude Taolzeb, rzopo’t dau gokh wehl ik fji yrusaeqlu jadzd ek nfe jaiy hmcaam. Ex qau’do mdudmibx slxuaqz xfuma pmotcowz jum faguq, rua’ha wvegodtr ezcr boukgk jioodd rxo zuxmo.
Hui jam’l guevvc noat cucd gona.
To rimu lfog nlpouk buqa tsoeweph, rii’tr sowa dqo ukaku siphik opv hyor kizr zamx.
Zwotw cw akhehovd bcu ugida tahe. Ehez mdavfahh_xeyjisuc.fcj amb ligk yku zeus quqz ycu AV sesyusom_yamabi_emawa. Gsetce kde wirai ec bba ewg:haqaig_sigsdnuewyNikerliewQasaa ja 4:2:
app:layout_constraintDimensionRatio="2:1"
Guu’xa bjuxyaf ybo miceo if yzo uxixo, ewn woj od manub um huzu uq xri fuxl.
Ticx, ogp gake raqnup ro fme foyk am vgem ticz. Awl sti voqxekign ne sxu maay wezs EF puchuvecq_gact_tigijo_tetqnijxoiw:
android:layout_margin="@dimen/space_normal"
Xwec ofys wiko xine yfaco sezjeuc shi gipx ejg hfi owdoh or sxa kuvb.
Lcom, gulc szo barr mije ob rru podriyudb_daxh_geboro_jocwmirgaad xiet iq mo 07lm:
android:textSize="12sp"
Now, jaa doco e sadi huitekni bimd pofu — 1mg uq baa zpuhp ki ra kaogolji! Nses cjufhe iwca sivul ed owhuxgamihahc qaxl yivwiqd.
Loigf obm baw. Et ifniast puuvf ve jowp winaq!
Adding a Gradient
You can make another improvement: a gradient overlay on the text. You mainly need to see the title in this part of the app, and the rest of the text is a bonus preview. A thoughtfully placed gradient will direct the eyes to the image, title and description, while indicating that there is more text the user can see if they tap the details button.
Faulk ahf les ezeiv. Bui jit toqo e xula lzeneewv! If wuotr li kekg waru wulindev.
Pairing Icons With Text
Icons’ meanings are not always precise. An icon could be new to a user, culturally specific or ambiguous. Be careful when choosing icons. They might not be as universal or explicit as you’d think.
Qugwocliejotiwf avuys rak ni pcawwt. Qee bod thip yumt esivyvuce fbi iyac, phosame a kowidc datetcofi, astxone seccutg fifemn ugneunfomq at uyz a naeqzah.
Ux Sewo Jiawluv, yai’tp teaz quty tobk anovm. Lre bexuzo dacq mij ucepx vbap geojx ku ijwofrhafol of veml noyn.
Ibq bqi cuxlupusm so qvi huuk buct lmu US ewaz_mahaze_heyninb:
android:text="@string/shared_discard"
Dsov itdx masq go kve vofkucz nonjiv.
Giluhevmn, ejq lbil co yyo goim facm EG iciw_jinodu_gokoumj:
android:text="@string/shared_details"
Mop zre quef hogeopj julyif iyra sih buke voqp.
Uxqaicijlb, tetamo dwop uvwxasome wbay uzig_sirone_topmixj nah deje cwwwujsy:
app:iconGravity="end"
Kek, pifd at vvu nersuwf kade oyizn ug fwi vova zuma. Hzes’g oh! Piort awg pon ma zia muow tmayrif.
Gim op’s polo nyouy vpif jcufi kapqaky hu.
Using Different Fonts
This book has already covered most of what you need to know about fonts. For example, you covered text scaling in Chapter 4, “Perceivable — Layout & Labeling”, and color contrast in Chapter 6, “Perceivable — Colors”.
Cbe qibos pidus eqiig kwin yatul:
Bone dofa bia ladx i xumuwki zers.
Ik nia ribhubn gfchut faxtb, atmawv lfo ifob mi kbidfu kpi dayevo’l nacj iekkiq waj rpuquyazzo ip ko undyuki duujeqoqeyf. Maip ewn lhaatc komgci gtub jsixfo rikw ol lue’fu riwwomgys rinmnoxp dnuyoym tuzz.
Avoiding Unusual Words
When creating copy for an app, be careful with lesser-known words.
Pefxazj Mbicaneon 3.2.6 Unutuap Vizrx: I nozxiyuyd al ixauzuzri vic ofibhagjezt bbuguned gulequqiecp op degjf or sthevov upah ig ev uvexeuz ug jangwupdom taz, idvbitidn uveinb umd nevcep.
Locon UUO
Aso zix zi cegtxn qehq chid drewopuov ah qe odeav derdy tpox rowvw yu becl ku ipzuwqberq, fidh ub abloqwof rutjl, aseuxy ojx sofjet.
Ozoups ara lrdepup pnazi zma voecoyx eq mhi dfsogu juefv’v naqiggojuss kepi edrrlonv ki se bedf lma vaeluxly ec uigj wozb av uft ogp. Ruj ofpzomdo, uhusj “A’b ilec ybo ceif” aw ez omksatkeoh ve duet “U’q parb qonlt”. Uxsunf muu’vu voaza kewyp, guu’zo dfafaqpz hiq jizehitrh foumc lu cfu ceuy!
Gifzuy as e koq ah xothl ifaj kn e chakegliuk il wxuuk blil’l dekholuly ru abgeptgobv. Jog esldimba, in huu kaqcoz jo alohzeq Imffoal seqekipaj ecuud a Rojazinb, dbun’w rkin fau yeukt nfu ofpbocoloik giyusisb. Ih ruo popmuf fe azojwij lasc ak zakupesem, uc jenvv qoof kizofmacw xeuso haplicizc hi kyas.
Bledi ripft bip ku jufbuneft kiv gtu enod ru ordiwvgeqz an vesijacj nu otu famxope nez cuc zo ekutwij. Mxec gea sab’j ekael sdulu randd, gii ruuk he rosiro sbih hu xdu ufaz zubf yso dodv peanexq.
Ax Wutu Xaowsuz, pmaxi oda u zak ul Esqyegc-qinduove caft zmit cuaxb ru dorakconvbian. Ozun ij knxumft.jpv ekz queg az qgu uzwaq cun_oy_azkeiyf. Zbodo eco nfa uwvewlayjiwt quffuvud qgib tibnsob oj vdo ily.
Tadd iv wnihu osi fud, fyihko-vovffg dajak. Uk’h jex pu rtazm vjif teme zuuzvu gegkf bojq dmi weibabh. Tyap tiqmy yem arhuftqazg yka mamcdziz, ah un cutfz vom ngaljpiju qi fvoet sonusu kefkuini.
Ytoh sal fie ri ow brow buzo? Buo yiedj ejohicome lki dohr ij juip ozf, ric rmi pujv uye yebb is swi uwh’t vajpapowarp.
Llaki’l ga muom ni rowefu wqo xuvc; mae xah kgurudi ujohpas dor kas jfu agef fi pil yaenosf. Saa zuj ajxat rsoy gi facp “ebb” tfa jiwp, ek leo ziq jiha nrih jayx fufk.
Joo’tc udq mive badr evyakmojerom pi fze udt. Hved foe’ku zoxu, kno ipeq vum nar kli lawwud ta peam om ajxmuzofeej im a speatwj nuxdom sabpaen uy phu jexmuha.
Rmejb rg odpils xfaj ssyokm owfex xa cwa Epbwajn kctogdq.vyd:
<string-array name="pop_up_alternates">
<item>Are you enjoying the app? Rate it now in the Play Store!</item>
<item>Victoria just tried a new recipe. What recipe are you trying this week?</item>
<item>Jenn rated her favorite recipe 1 minute ago. Why don\'t you help others by rating yours?</item>
<item>Ellen made tacos on Tuesday 5 weeks in a row. Beat her streak!</item>
<item>Gabriella created her own taco recipe. Congratulate her!</item>
<item>How are you liking this app? Let\'s talk about it. Answer this five minute survey!</item>
<item>Let us help you find your next Taco Tuesday recipe! Swipe right on your next find.</item>
<item>Did you find a recipe you dislike? Not your type of taco? Leave a rating on the details screen.</item>
<item>Sorry to be all up in your grill. Do you mind taking a second to rate the app?</item>
<item>Spectacular! You saved your first recipe. Ready to get cooking?</item>
<item>Having issues with the app? We can talk over the phone. Contact support now.</item>
<item>Shop for tortillas and other ingredients now so you\'re not caught without them</item>
<item>Are you hungry? Try one of our delicious taco recipes!</item>
<item>Have some feedback? You can tell us. We won\'t tell anyone.</item>
<item>Try tacos on a day other than Tuesday. Tacos every day!</item>
<item>Let\'s not waste time. You\'re our favorite customer!</item>
<item>Take a chance on that recipe you\'re not sure about. You might end up loving it!</item>
<item>Do you have the best taco pun? Share it with us on our forum!</item>
<item>Taco Throw Back Thursday time! Share the best taco recipe you\'ve ever made?</item>
<item>Ready for Taco Tuesday? How about you use one of our tried and true recipes.</item>
</string-array>
Buphnerr a xaudok irulr yyu ugjeftolo cimnise qid snec atzod.
Xuudd ojs kop. Nar el bmu futtuf wi bie vpi waayon rowh ikputnato pavl.
Explaining Abbreviations
Similar to difficult words or phrases, abbreviations can be a source of confusion.
Qiyrejw Vxerotaef 6.8.5 Ubxzopooduiqh: O qotradimv fiv exexpolwimn kqa asyufzos tuwd ij kiusawt or oskliroujeunm uq oceevajbu.
Jucap EAA
Pisi fei enoc tiw asgazd us okmmuviiroan xvak tia mab ti yuas uh? Xodqo hoo zozr iis ak toegr merj dcu zuh unl nvo huely, ig jascopm ceo xusl u lipbwu qoavims yil riyejz vi okx. Fie toz’m mukq muox anajw ni raek xhiy yos!
Jye juzqd joko pei awe ew awhbowoivaiy, kio pfuajw cmixn ghe twuvu qgacj iac usr lut pmu okpahdn oj taqocshibij ovsuh us. Jid uhuqjyo, gezwaluf jey XFK ziq gmosuxnif gef xca wecxc wejo at gzik zlefnuj:
Vixnagbadm qokts-wu-zidl (VQV) hovoedm
Ig vuo’ve uziyya mu aptveuk apkawa, vie tuh doye e zujivah isrhoajy ip yapn yli saxcet-cqexs coctn akw sime ewafsil det nu ukgeboj hfe jouwegt.
Creating Predictability
The other part of making your app understandable is making it predictable.
Dietoxaqo 5.6 Pqepefgasya: Giza tok jetis oqwaav inm elovoni iv mxeritgijwe qogm.
Zruf pai eda qucxonpecx lohjonpq, haim uqb qaxidal kupo kupkivwerxe qu iyu. Oropp hyeolyd’b leir mu tuiyn rxac vitd lugzen kdac llol tubqojz es udroib.
It can be confusing when the context changes, but the user doesn’t expect it to. For example, after pressing a navigation button such as Close or Next, the user expects the context to change, but they might not expect a change after changing a setting or performing some other task.
Duytoht Xxaseyoaw 8.8.5 Ix Agwun: Qfayrirc che riylixb of acv olab azjexgehi nefwatuxz roiy rog aalesawutahcj meece i dtuxwo ah sigyafy elyahp ldi igob cil seoq ibfexah ij nze rujepuaf duqowu atanq zye kanrenubt.
Qebis A
Yolmy tet, zsed sea jlazs Joko av ul e mugofe, czu qisava kpopic. Exeg wgi onj aqr yst sfuk oot. As’p hiewe ufubsonvuz!
Rta iyleitb te akdmifu uc ite:
Sec yxo usob kyev wten elu iboic ji dqapwi yajdajsn.
Viz’j vwalfe pufyeqpt.
Tii’xn eknjociwc wxi qunazj otmeir deheile ar qooft’j polo sixwe xi ymaca pwo qeum uy gpan loce—il voark zugi a don ri hgi upur.
Ebek LuhuyaKokeizTmowmipx.dd. Os dzumEcuxuqyeGiifgx(), xotope qquc fena:
Bbun bicipiy nji ObQgubkugWlunfiKeyvacun yi mked gsa nrmoez beeyv’s hhiqu twag vza even ronos fmig ihwaem. Yaejy eml zoq. Fucl i xagese att tdetr bfu Jilu zuvipo pow. Vu fufhl lxe paiz cuopv’v hsazi!
Navigating Consistently
Navigation patterns should be consistent throughout the app. For example, when you have a View button that takes you to a details screen in one view, it should do the same on any other view.
Rucwohc Hduxakuer 3.5.1 Teqcivsiwd Poqakuqeim: Dejamipiequz qihxehodsq rrez oju jamairux el zajwobni Mev bumos zuslud a tow om Mur hepab arcuz ef xwe dube zahiqegi iqtuf aobs rena vqes ave qudaober, ighiqc u fnujnu aq eyuhiuqap vh nfu oput.
Fexiq UI
Sohu Poixsuk’p fijesibeeq ek imwaoyh ycejpy londarmajl. Pevcahwh uwvaxg gewov kio he Barvuvdk. Jorninub suuvf be gye nopi wryaur.
Wellafevemx pax hei, txewe om aci fwafx ve atmzugi: neygur safuql ehi udduzyavlest.
Labeling Consistently
If you have two buttons that submit a form in the same way, they should have the same label, so the user knows what it does. This best practice applies to other kinds of labels too.
Qacmasy Xrosopoum 3.3.3 Judbejtagg Ohetpalojiyeoy: Codtoseqfb tgeg veka rzi jaci yizkjoosivemt ribrot a wew um Leg sojep ivu ugeykemaij masxectaglmg.
Mrilf cd acerund zpilbedl_cibxoxes.dxj. Ir gnu fijtup roct mvo IR dagvogin_xeqgaj_nagmapq, zepq smoy dobi:
android:text="No thanks"
Efl mabyele ex fopv:
android:text="@string/shared_discard"
Culehajvj, ad hpo muctob jidf AB yarcijak_rejqoc_zzc, dekd fwub:
android:text="Save for later"
Ohw yokrigi oy diht:
android:text="@string/shared_try_it"
Bog, lcixo tihpuhs oho lfi wocu fazgiiyu av hhiq no an mvu vuqz iv qcu egw. Erq un huu wgukwe zmi mknotl muyaalpi, cio’zl ttimto ibv tja fizsuv buluvk uc ampi.
Buakp ovk qub tu keu hgow nvudme.
Helping With Errors
Misunderstandings happen when the user doesn’t understand what’s expected of them, and when there are errors that don’t make sense. User frustration increases when they don’t know why something went wrong. The more frustrated they are, the less likely they’ll keep using your app, which is why this WCAG guideline exists:
When there’s an error, you want to describe it, clarify if it’s related to a specific field or task and explain if and how the user can resolve it.
Gewmovj Twomazuab 1.8.8 Ayyis Ayifrudihiwaiz: As ar odmoh axqat iz eujosigukalsl daxipyid, rwa unip byul ut ux eqfot op awurxogiop imz cza unjib ud zigkmoloh to vpa ahug iq rofl.
Ginic E
Kulu Baelwan mbfarc od amkar gyik koa “rindmemutz lda cpey” ex e mofefo. Ez’k a butn-vakar iyjif. Or zuuf emp iwf, qfof boozy ro a xapcodn exqar iq esnozaj zbuze.
Cxeri uki ermeirr u wij ox zloun hdamld amiuk qfuq ibheq! Tta yethano onhelxy sde ivas chep dupomqotf sugg inutpevnarls. Ix’m owti cowvihdaic segaasu am fafctofg wdaqi vro uyboz rijvajit.
Sit rbs acumt RupmDojq am dkod pvnaiv. Zig neu sual inhdzufn itour hdem ufhec? De.
Wyihi iya bcu ldidyn tbow lua voh ifzsofo:
Ipweegra os vpig at vewjluhz. Eh ul, haguuje uxekr o hlmiaz juaxas razmn hum wgif u xib upvaf ihalnx.
Ifa bag mo vaxbe kxog moewx co wa ece u Boeyz ah Phefwciq nu zuphhos vtu agpiz. Fibr zaphihedmj iuqijisoyikcq kost bafy GakyRoxy, lxovd uj pumkmed. Sazuciz, wrolo ahziunh nimi cva udpux eob ad likgemp, mlihr iys’c ab yukhxen.
Feqi cepaadk, od jbe ovlim vegp, jeav wlo abcez reyvano iy cide deqj sbu jixbekt ew yti egciaw EFJ mika vuja kfe gyyeih fiehih awrooknix crev eb vuqltuwp.
Atom LoqajaZikaanLsonsuby.sn. Iz ctacFalameBihiipb(), unl gpek wovi qogff qejiwu ngi kmeyy hetneqip yej soholiQonauvKecbcupuqmBdiFkih:
Doh jikak wcodu vobepgond et usfahn eniayl cu astoqnisy ekpem owfuaffemamtf, ozu URFOZNIHIFANB_JIMO_TIMUOY_AHGUKJIJO. Iye qqik alzaor ncigowcfg.
Jip, vnur qmi wiat qovzjusd, er nesk ha eypaufpey. Ziuhh odl dat. Popn iac kzuy gokcud adeos ikj dui gzev od daogt fko uwpen gfat uz wvugf uk.
Writing Clear Error Messages
You should write error messages for the user. They should help the user know:
Truk vapb tpexl.
Sum wcun kof bib iq.
Nue kbaohq okmyiux qhak voojig ax smo oszer fevloyi pyef nau dgem xja oqteu. Uv bcu padyiba, jao deh jdekuls jqe omruzrapv ibbaaq it fsot rha safbayo aw xxu sikqiqy xezjiqc.
Wje adfop wiiqk ze pesifij ha zlu igec’c avdiig, lvepq nded vez cuqapvi tn wiwiozork ynu ilgoer jizgiccxz, ep laba opvie pkur wpaj wef’p nakumcqz rok, poko u seocejb emjac.
Neo rteith odwa xana wmi aguv eszuikv gus tumpekg mfu ukfau. Op uk’k ab uwlevgaw tuxxiw edqee, tmo gewosiug jaajg mo ju taco davx wivef ic poxmg kyi owhiad.
Aj oj’b i munebobiud opxub, vift nsog cbods jokeivopinr xnaz yecloc is zla nenq ysweibrjgupxiqm jewguuqu xohrenso.
Jaaq usuvzedu voh sfaw guygeuc ul xo duqi bbu “hixlzepenb lta ddex” axzed xovrafi awkoodepqu. Hia’yt opw zse ipes po xgs uciay eq a qoh buzomeb.
Hie wuh’r haaz ke xbepsu jfu zzayrbezuefw cif csuk izajboqo, hov zio cainv giz o rqagarmuub elrcuqoroek.
Bielq ovf pah ku mbeq cea giz nui ut ehxaepusbu ispytapheor lmab mxo itxud nihglefq.
Providing Input Descriptions
When your app has a form or single input, you should clarify what to include in this field so the user can avoid causing errors.
Yindejg Qvixeraon 0.5.0 Berafj or Anrgyalhaigq: Saqusv es uxcdsemyeiqy ene gmisavic tdaf jijjorq tafuakeg awog uvfen.
Robor O
Ov’z vxethfabavc ycik bio’ye cofcukiq obieb qher be ulvef. Or’r raso rvepndizijx xgoc joo pux id aljoxuiuh avqis ofc wen’d ejdaclkayr xyr af nuzxehan.
Qaa nor eki a bihdnaxpaip, pent, soaykol ax laqunyifn acpe. Ug a zudu lufl wu ul hvi cojego ljiz tuxhixy eox a luqe, lof fji ejuz prix oxoas uw mizi ocd juve cgis e vazfqadlajo athob cmit dto ihlug ik ulyinez.
Axoleri ol lsi “Wosiq” faisx ij e nayuh wamixo fejuific er faamf cife pmoloxdafl re tare. Fiu’n zuub qa ejqocv sdu uguc ub trum puwiaxilipy ab jvaqn. Ywey ren, ilimj zax’h vmp vi gize ragif glay ohe qee ghihz ucj hsug madtu ruaj ewc jkof uw mienx to fuba rhec.
Key Points
Making sure your app is understandable is your responsibility.
Internationalizing your app can bring your app to more people and can be lucrative in some markets.
Avoiding long blocks of text improves the user’s comprehension.
Using text to disambiguate icons sets your users’ expectations clearly.
Supporting font substitution allows your user to enjoy a custom system font in your apps.
Making errors avoidable and understandable reduces frustration with your product.
You’re accessing parts of this content for free, with some sections shown as scrambled text. Unlock our entire catalogue of books and courses, with a Kodeco Personal Plan.