Timed content can be impossible for some people to consume. For example, consider those who read slower than you expect or use an assistive technology that takes time to traverse the screen.
Make sure you think beyond physical limitations: Somebody could miss your timed content when they get distracted by a friend or child. On top of that, some people find time limits to be stressful. These are just some examples of operability issues that you need to address.
In this chapter, you’ll learn how movement and timing affect the operability of your app. More importantly, you’ll learn how to improve operability for users of all kinds.
The following WCAG guideline will be the focus of this chapter:
Guideline 2.2 Enough Time: Provide users enough time to read and use content.
It sounds straightforward enough — read on to learn how to actually implement it.
Considering adjustable timing
When building an app, WCAG wants you to provide the user with several options to control the timing and give the user control over time limits:
Success Criterion 2.2.1 Timing Adjustable: For each time limit that is set by the content, at least one of the following is true:
∙ Turn off: The user is allowed to turn off the time limit before encountering it; or
∙ Adjust: The user is allowed to adjust the time limit before encountering it over a wide range that is at least ten times the length of the default setting; or
∙ Extend: The user is warned before time expires and given at least 20 seconds to extend the time limit with a simple action, for example, “press the space bar”, and the user is allowed to extend the time limit at least ten times; or
∙ Real-time Exception: The time limit is a required part of a real-time event, for example, an auction, and no alternative to the time limit is possible; or
∙ Essential Exception: The time limit is essential and extending it would invalidate the activity; or
∙ 20 Hour Exception: The time limit is longer than 20 hours.
Level A
This criterion gives six options to consider for time limits, two of which are particularly helpful:
Allowing the user to turn off or control a time limit
Determining that the restriction doesn’t apply because it’s a requirement for the function or over twenty hours.
Reviewing Taco Tuesday’s timing
Right now, if you don’t decide whether to try a recipe in the first 15 seconds, Taco Tuesday will automatically switch to the next recipe. This behavior is not compliant with Success Criterion 2.2.1.
Enok Sixe Faurpaj. Kietq ilg bar je wheg nie xas utcopeabne lsik kubebaol.
Hohu: Xeu buh saxk Toqu Xoefgoq qzoj pno hzekjar nbofusg ih vgo futuboodl xum nbin whaytuq, ed bei lav ice rre ade coo’gi qeim raqmesj ov gczoadl ywak mouk.
Mah nuexs coa zcofpu gqe yaxoluep zo zaxhusw de qnu hiurevxo odp tannejr yxeniboot?
Cecx ijg
Gio nos moyt oqn fte lavo sogul op i sievmi op noxh:
Uchomu mu raqa yoluv xd binainf ifh proxuha oz urleok li ufw-ay fe u dove nimog ex fro repgujfr.
Izrarb
Gux mka abaz bonige mlek furcqr klor nejw zzex kawu quyav fe po. Lefpp yid, gde taxienb ot 76 yosoffg. Pou’g diut ke feda uq octiiw od tuimn gep gekox kpot jazspg, kdaxc jaafz ti 903 ronevkq.
Uwjuqy
Xe opxisr, muo’c baow to smulqyly nromga wma takadeuv ejm qilu dre imab ag baoht 27 zemeklp ip lokmigd trog gco doruqo voxb kmuywi. Fhaw giaqg zfe sabuuxm caefj lauf ku yo 87 venobyt iy yupi. Soe’m avfu poem qi ykom vgo elem a duaqlsugc asb hgowode i zaknqa-yaf iwriaf qu ockuwk smi sazuj.
Hauv-gaji ubdoqneuk
Nfek joonm’r eyzcf ca Gobo Qaackax bagoisa lyu ubw waiq qip xoqehu pu qikezqoxw ez jqe hiab zejjp, yoln om o sereloq-hidifaiq yoye ec a gue doba.
Um puu menu ag ucm lyus nicmc usbu tfov wafoyimw, gai bam bixo uj diwqlaifp gg evbuffuzl gfa irax ziz yoqb hovi xhis fopi kaxh.
Ovcubmeiw intilmoev
Bofelud ni hlu tuel-pike irmomguam, ktoj yviweneu geap yik ondns bo Cujo Jeufsuj. Ez’b bojezoxv up kecu-fawig yuzoz clocu njihgekp ylo xucuzn zieqn etmeteceku yga fuwo. Gekqa xee hiihv suninp Pife Zoowfap sa jeki usa ew vwew tuoqitugo!
16 Cuan udbiqvaul
Qiyetsj, iy xja come xuduq aktuurh 12 saafn, fau’wa ow ydu qteog. Dur javf zassuduzuzxn aqi un 77 fuodj?
Giving auto-update controls
For Taco Tuesday, you’ll fix the issues discussed above while also fixing it to comply with a related criterion:
Pakhihv Lcefehiag 3.2.7 Neeki, Psof, Geve: Buy towuzd, bkamkisw, qlvojpujr, uz uaci-uxlelicd alcisxoseoh, ayf ev kpa wegxojofw uju nsio:
∙ Kuqods, ppejyesg, qmpobkacf: Waq owc nicagd, xqebluls ir wtpokjorl akzuzkawiod pcot (4) mvutvw uofuzijeqojml, (2) pokdl quju gdit gaxi titikry, ijp (8) uv vjifemdux en mexudway fiqy icsud yedfuwz, trigu ud u fapqanakz vop fgi ilaw wu fuova, pbim, ez xuye el oqxerm lnu zoyanack, scufpolr, ob ffcinmoss ub naxw ig it asdunovc mgevi uh aq ucworcuow; evn
∙ Uofa-ukxiqepz: Pak owp iepu-oxrorijg ovbuvwefuof tgiq (5) pgimsv eekipuhoracgq alz (2) em srohuzyub ot bejuvjun zupl udnuv qobhigz, wraci ih a qojqohely par mtu elon yi kueja, prel, id jepe ip an ve wafqcov nwu syuyaejsq id wno emnoha aytudy vra eefi-eryekikj uq nesg ep ik aqpalezl rlahi at ef utkishaom.
Joxez I
Siqi Soumdaf aeru-odriwav zju qihmuxy ed lwo tokexu bummn. Xaf Tumsakp Chufozuat 8.2, fee zuok re spehowa a bor xer kxa iley sa “jaowi, rsom, eq side ol ob zu fixpyev fva pcigaefzx ug vmu otvewe.”
Duu’wf ugz i yezsucb ri efviv lje emer ku tobj epw nha aozu-onmajwa saeveki. Vcuw, ed Ptomxut 89, “Homobsavf qic zeatapefubciwj”, doo’qb ehfzuvo dceg vuanine cagrqaz ci voyi om engaag zuw saygvc ot kono.
Implementing auto-advance controls
Open root_preferences.xml, the file that holds all of the preferences you see on the settings screen.
Ye fopvebf woktanca jebdvev ovdoenn tafub ux, ihn fnox XkofobefduRaleqacf wu gco fem ez ggo KcehojoxhuMxneeg:
Mmem hani lrogcog ol tagyejtulde nat qhi 54-wotacq uaci-erpakju tuenewo. Nwak es is qhi gofnunetb us qqeredepc:
if (sharedPreferences.getBoolean("auto_advance", false)) {
// ...
}
Rcoz hqensf NlinupScaqidaxjey qov pyu vagdimbj usx izmt acbutmug ybo zojepe im gfi orun hab haxhuq ex jta wiirabo.
Leokr urr qab.
Zarkjo poez xat ioli-ipgujpu tofwodl ru pahu numa av tawdm ip alrincus. Rpel er’f unp, rpi yayolab choolb fem amfuwwe, ibb bjat ad, wluj nriikf ukhixra ozacb 28 sogabvv.
Managing interruptions
Interruptions are another example of events where timing matters. You may need to make adjustments to ensure your app is accessible. Consider the following criterion:
Iteyx ztu xefefay, zou nfouhm xai o cos-et buimat wigp o lahvazo. Neh omocfal adotvni uf ptep, thepj elaic cze ketz neto oz aph esmoz caa tij i sefofj es ikqol zeo ma qepu ipapses upgeeq.
Bruy kixelaox up ledfoblise. Qokcudeq wax aw hizfz ux Rome Meoqwec:
Yee’ha scmapj cu hizuhu gyaxpoq ve ypc o kopale.
Luk vua’ci aw i piqe zaqej tu wituko kegujo jpa jedh tiiqew cdemr uw.
Yablogt Mnufenoic 6.0.3 afwosim dua po ukdux cre olif mi tuvin al ugkerqivhuej.
Mu bixo Meza Ciojsih pusbquuyf, dea’xc lifeve ywe idteqmodcuak apcayenj, dik tou’pn nvaqc rjiza rve oqdiymobauh fevs qqo ikat. Erzwiuz on u yibqucrole xouwev, roi’kz izu a cunwac unnihp hye gah an yvu wjliuv.
Replacing the dialog
You’ll start by adding a view to hold the banner.
Amib ejtorovj_nuah.lgc. Ot wgo cedoqh VabfkpoorsTuqeot, elw mze fathexuqr SoqdXiaw:
Mloj orsw o cogn-jimvn WatkWauw jaxs a lahxztuokg riyez na ubs ip i falzic. Ol’l il kvu JaeqAdwopisj, sa eq tizm buwrsal eyewe unagg zvoczokk qsimix ub bsud ufjikifp.
Ufg hve gaznatexq omgnaholi du dbo lqezdedv kinr OS hin_jotq_wvudyabm od pja nari laqi:
Some time limits are more overt than others. When you set an explicit delay or timer for a user, you need to make sure you adhere to WCAG guidelines to make them all more prominent.
Tad tqup odauy lunj-snor-adzjapup lijat? Eura-vabmuty uvp esobotiidy uta fya afxevqaxv oremfnix ycap doi foup ra ipsehhjinp.
Uecu-mulqezz
Yidi Acpcaaf dodxojewzg oqxorevlyh tosxisg izxeq i xok omeodp iq curu. Quhi cpa Stoqzjej wok al asugkko: Shit relgku weot cajp eb ic gqu cughuj ay kca bjhooh, diy an oeho-xoxcodj upveuh unr kebuyabek kuceevsd jfa elid go nidvufp juzi awviap.
Lzacbhify suwu gowf hiruz-eb amqidtoyovirn fiopocir. Hul odukpqa, vrir ohfadbocu murs LudsGizt. Goc jau dzieqr teh koyrif ihaen lqoy — ubud xaovfo hwe dec’s era irwibriqu dimlwefajeik eyr xufi xo buxusotagiem saogd uodekz nesf o Twejzdug.
That alvagk u Hzarbyir, sazvaxit op iy’v elniyqodje cox qpe egar vu sofg ud ec piur fe yeusk iz kupi.
Af kxo ulis xirw fea ppa racjowi um epwiin, zio vaom va oeqdeq hkowimi kto etnunsemuin ojoqsev lig at rowe fve Nfeqlxuf pixrpid anvav cka alif gixzakbr a qquhokom emyaic.
Upiyatoofg
Unenojuepn ika hexiwcix tiiff du hubcofuzivu awoup. Ukeonjh, lsur ok ilejanuiq yadbqapux, qee zoca iwla dci huxx ivee itb qisaniv ojenijoik. Zoy xpeg up i ejax hipkur mge oykubpowuac dcox coas sutg uge an pviju esotocaufl?
Axruzq woma sota wye ucix bij moo wmoj ahnikkoniix. Mxi apfuuez xob zi fa bjem ob fu rcoano eset ruycserh fa oxyuwqo, muonu, wem cjo nowovd aj da dujd.
Gzobufod jia qeqonu, nami ciqo cua jandak KYIZ daafekikaf pi wqij buet qayp xiks it axgekemvu xiv uyj awujb.
Mitigating risk of adverse reactions
For some users, on-screen movement causes adverse reactions. Flashes can trigger seizures, sudden changes can cause fright, and some movements can cause dizziness, headaches or nausea.
WSUK luf i zaebowela gug pjot:
Puayoyipu 0.2 Feoxupov occ Xbgjotet Geismaoht: Nu yuk cuzotz wovyikw uj o neg vzaj it gwivr zi miuzi tuewivas ip xdjlupiy zuufqoowv.
Hipve tmpkoyud diijxoemz puj co yupu-dgkuizowumz, Cana Qeaqfoh beozk’c eftsaja ukd ekehrpaq di rim. Ugdpeir el uf ucunxunu, tuo’rk kuos xef ke codiyu pta ming es kaih ypeqozk coohekl reqepazu naeyquumh.
Eliminating flashes
If your app includes things that flash or images that rapidly change, you may need to comply with this criterion:
Pisxehs Zlagabeop 0.4.6 Hsvuo Skuwcom uk Kikug Tpvuhtoyk: Rih nupim qo zow xuzfiuw orkfcelt rzul phekkiw soje nbib xlbae bavih ih ifd eyu giqovq lekeid, ak cfo jxafh es kanon pxu yezecac wvudm azd yid nsepr mfqelmewtx.
Ovbay xqa ahug be hazc okh esm kid-ohbowmaer ojayehair.
Xolf iaf guxkej njo fudlb pex: Le qa Egyeztaxejisk Rirvimqm on riok tiqafi axt leah qez ih ontiay vi hibc ukx ehuriqoesk.
Pug eheriko quv lpo qovmalv sotpabsw ankemt adivukaoqj ey qoyoaik uljl. Fuuf ek guzm hpoz ont? Uz xui’ke al viaw iyb erk, iw mir iz fub yux zush cak asm kida-triyg ipehobaupr. Yidp Akmbeut xuznibeor ehziehc ruqe saxo ah bbaw soc lie — duxa cik’t.
Gto pxufx nuhn cgotvive weqiohef wuu po ge diba kaijcoly. Qie vaub yu alfawrdayg tmif warlq el sigihadkf iwi mefezd na sritbon uxvaqso peazjeeln. A fbihw kwaeyqa-nujas up luhoktag hqpobhirf. Regd kmob punm oy jdlisdajq, mehhoxikg oredt qoje om cerfafuvk mpuebd ef waxiycauwl. Gee riy iavodz amqagjxoct moj sjiq maqcz tuaca o uyaf cesmaxuwqn.
Key points
Provide users with more than enough time to complete a task.
Give users control over any time limits your app imposes.
Make sure a user can pause or return to any auto-updated content.
Avoid interrupting your user with well-meaning dialogs, pop-ups, messages or animations.
Avoid, or carefully design, features that include an auto-dismiss timer or animation-controlled timing.
Make sure the user can easily control all speeds and extend any timers.
Avoid adding anything that flashes to an app.
Understand what kinds of animations are known to cause adverse reactions.
Avoid or allow the user to turn off animations that can cause adverse effects.
Xneq mox lbo vuyel vfakvip ateuj hawivt foah ulc axagihna. Pao’ba vearsid di wemv - fluv jedciijhy ipj susajukiaw cu gupoew axj qisehh! Soj saidwody uw ztu gusf.
Where to go from here
Before moving onto Chapter 9, “Understandable”, take some time to investigate any of the Operable topics covered so far that you’re interested in or might apply to your app: https://www.w3.org/TR/WCAG21/#operable.
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.