DEV Community

Discussion on: 101 Digital Accessibility (a11y) tips and tricks

Collapse
 
jameslivesey profile image
James Livesey

Another good assistive technology to ensure compatibility with is Switch Control (iOS/macOS) and Switch Access (Android/Chrome OS). I find it a pretty-overlooked AT which isn't as prevalent in operating systems (Windows, for example, requires third-party software I believe and/or the On-Screen Keyboard app), but in some ways is more commonly-used than other ATs like screen readers due to the number of people who have limited motor skills.

It's a really clever AT which enables the use of a device with simply one button, called a switch. It allows for all features of a device to be performed with relatively fast operability (for repeatedly pressing a single button), such as swiping and pinching on a touchscreen.

It seems like Switch Control/Access is rarely talked about with regards to web accessibility, but is certainly an important one to think about! There's a great article on SC/A on the 24 Accessibility site ⁠— one of the few articles that turn up results on Google (often Google thinks you're talking about the WAI-ARIA switch role for checkboxes...)!

In fact, I'm building a Linux-based smartphone user environment/OS, and have included Switch Navigation as a feature early on — imo it's actually quite fun to implement and get working with various parts of the system!

Collapse
 
grahamthedev profile image
GrahamTheDev

The whole world of AAC is a fascinating subject! Sip puff, single or double switch controls, eye gaze. Honestly I find it all so exciting and interesting.

I haven’t had chance to read your article on building custom switch navigation but it is an article I have in draft myself so I am looking forward to seeing how you approached it! ❤️

Collapse
 
jameslivesey profile image
James Livesey

Thanks! I did notice you briefly mentioned about sip-and-puff control — that's quite a good example of effectively having two switches integrated into one device. In many ways, I'm glad that people are conscious of keyboard navigation a11y, since many switch control ATs essentially rely on the same kind of traits as that of keyboard nav ARIA roles/attributes etc.

Thread Thread
 
grahamthedev profile image
GrahamTheDev

Yeah exactly, if it works for keyboard it will probably work for switch controls reasonably well.

However I am intrigued to see what things you did / how you tackled it and will read your article when I get back to the UK in a couple of days. Looking forward to it! 🔥

Thread Thread
 
jameslivesey profile image
James Livesey

Yeah; the implementation that I made mainly emulates the Tab keyboard event to scan to the next item, much like on a keyboard. Pressing Space would of course interact the focused item, which relies on the default behaviour of that key on elements (might need to address pressing Space on things like range sliders, links etc. that don't do anything when pressed though 🤣). Switches typically act like keyboards in that they typically send the Space event when pressed, so that essentially completes the system.

There's also things like point scanning (which was talked about briefly in the post) which emulates things like mouse/touch events, too. Not too hard to implement once key emulation works!

Safe travels as you get back to the UK!