Yesterday I sent out a one-question survey on Twitter about screen readers. I’d had this fantastic idea for a website plugin that would enable blog editors to easily record an audio version of their blog posts when publishing . Vision-impaired users would rejoice, website traffic would shoot up and I’d be rich and famous. To double-check, I asked the following question which was retweeted and replied to by several kind souls:
Screen reader users, which is preferable? A screen reader you control reading a blog post, or an audio recording of a human reading it?
— Daniel Davis (@ourmaninjapan) February 16, 2015
I expected replies along the lines of “stupid question, of course a human recording is better but we have no choice”. How wrong I was.
If you’re not sure how a blind or low-vision user can “read” a webpage, listen to the following short video showing a screen reader in action.
When I’ve seen friends use screen readers it’s always struck me as sounding difficult to understand and likely to get annoying after a while. Where’s the warmth or personality in that mechanical voice?! But I was enlightened as to how incredibly empowering this technology is and the replies I got were pretty unanimous — screen readers win hands down.
Benefits of screen readers
- Ability to control such as jumping forwards, backwards or elsewhere in the page
- Ability to check spelling
- Ability to listen by word
- Ability to change reading speed (humans are too slow)
- Ability to follow links
The only non-unanimous opinion was for fiction where a human narration is sometimes preferred for continuous reading and to feel emotion.
So another day older, another day wiser and thanks to everyone who sent comments.
- When editing a blog post, it should be possible to use
getUserMediato record the audio, send that to the Web Audio API and export it as a WAV file using the Recorder.js library. Then get the WAV file transcoded to OGG or MP3 via an online API such as Encoding.com (no affiliation) and uploaded to cloud storage. The resulting URL could be inserted into an audio element at the top of the blog post, a bit like this one.