Fallback Channels & Resilience · Chapter 4 of 4
Voice OTP and accessibility
Spoken codes for landlines, low vision and low literacy — and how to make them actually understandable.
8 min read
A voice call that reads out the code reaches landlines, users who can't read small text, users with low literacy, and phones that are filtering SMS. It is also the slowest and most expensive channel, so it belongs at the end of the ladder — but it must be there.
Make the code hearable
- Speak digits individually with pauses: 'four… eight… two…', never 'four hundred eighty-two'.
- Repeat the full code at least twice, and offer 'press 1 to hear it again'.
- Wait one to two seconds after the call is answered before speaking — answering takes a moment.
- Use the user's language, not the country default.
<Response>
<Pause length="1"/>
<Say language="en-US">Your nviaOTP code is</Say>
<Say>4. 8. 2. 9. 1. 3.</Say>
<Pause length="1"/>
<Say>Again: 4. 8. 2. 9. 1. 3.</Say>
<Gather numDigits="1"><Say>Press 1 to repeat.</Say></Gather>
</Response>Accessibility beyond voice
Accessible verification also means generous timeouts (WCAG 2.2.1 asks for the ability to extend time limits), an input that works with screen readers (chapter 2.1), and a clearly labelled option to switch channel. Voice is one tool in that kit, not a substitute for the rest.