Now you can absolutely function SpeakerClock with no or low imaginative and prescient. We gave SpeakerClock the total Accessibility remedy. On this article I describe a few of the issues I discovered including accessibility options to SpeakerClock, now that it’s absolutely written in SwiftUI.
SpeakerClockâs UI is split into 3 sections, the presets on the high, the LED timer as massive as attainable within the middle and the part âvisitors gentleâ on the backside.
The principle interplay gesture is to horizontally swipe over the LED digits to alter the timer. This type of gesture shouldn’t be attainable when VoiceOver is energetic as a result of there you may pan over the display screen to rapidly get to the new spots of interactive components.
I solved this by having individually adjustable sub-elements for the minutes and seconds whereas the timer shouldn’t be working. This fashion you may swipe vertically to regulate the minutes and seconds individually.
There are three varieties of ordinary gestures for Voice-Over which I made full use of:
- double-tap with single finger to pick out a component
- double-tap with two fingers to carry out a âmagic faucetâ
- draw a Z with two fingers to âescapeâ
I used #1 for the single-tap operate of the preset and talking part buttons. #2 substitutes for the lengthy press. The rationale is that you must consciously faucet with two fingers as an alternative of 1 to switch the presets, as to forestall you from by accident altering them.
Within the common movement of issues, VoiceOver mainly feedback on the targeted component and after a brief pause additionally reads out the accessibility trace that tells the consumer what interactions are attainable. I additionally used VoiceOverâs announcement notifications to present audio suggestions on some interactions.
The cherry on high is that sure timer values get purple out aloud. Within the yellow and inexperienced phases you get a voice immediate each minute. The part transitions get introduced as effectively. Within the purple part there may be an announcement very 15 seconds, with the ultimate 10 seconds being accompanied by beeps.
That felt like an inexpensive quantity of voice suggestions for starters. I would add some configuration choices at a later level.
On this video I’m demonstrating all that we mentioned.
Conclusion
I might say my implementation is 95% excellent. There are some edge circumstances nonetheless â which I can not do a lot about â the place VoiceOver will insist of talking one thing that it wouldnât must. Sadly there isn’t a method to inform Accessibility to âshut itâ for sure occasions when there’s something extra necessary occurring.
It value me a number of experimenting and the higher a part of a day to get to this stage. I’m anxious to listen to from precise customers of SpeakerClock, specifically those that are visually impaired and may need use for a timer. And a few common customers additionally requested about acoustic suggestions. What kind of configuration choices associated to sounds would possibly make sense?
Additionally printed on Medium.
Associated
Classes: Updates