I’m pretty surprised other PC developers haven’t done this. Most text and informational things are already updated on screen so you don’t have to write special code to generate new text for most situations. It takes very little time, and if more people can potentially enjoy your game, there’s really no reason not to do it.
Mike Zaimont, Lab Zero Games
A screenreader is an external piece of software that reads out all text in an application. Although compatibility can be technically difficult to achieve, either this or self voicing are essential for use by players with little to no residual vision, and screen-reader support doesn’t carry the high production cost of self voicing recordings.
Many game mechanics aren’t suited to being made screenreader accessible, but anything text-based in particular is an ideal candidate. Or interface based games, games such as Football Manager or Hearthstone would be perfectly suited to being made accessible through screenreader support, speaking out the labels of UI elements that recieve focus.
Often blind-accessible mainstream games can be achieved through a combination of a blind-friendly main mechanic, together with screenreader compatible menus. Skullgirls is a recent example of this. Being a fighting game, the gameplay itself is naturally blind-accessible, possible to play entirely through the good sound design. The menus have then been made accessible to screenreaders.
Generally screenreader support on PCs/Macs means interfacing with the OS level accessibility APIs, which can be complex. And also dependent on not using any of the popular engines, as engines output a single block of pixels, rather than the system UI elements that the screenreaders rely on being able to see.
However tools are becoming available. Skullgirls implemented Tolk, a library that listens out for text strings and routes them on to whatever screenreader a player may have running,so any time a UI element receives focus the game passes out the label of that element. The Xbox SDK now includes a text to speech API, which works in the same way as Tolk, but specific to the Narrator screenreader included as part of the XBox and Windows operating system.
Screenreader support for mobile devices can be easier to achieve and is applicable to a wider variety of games, so is listed under ‘intermediate’.
Best practice example: Demonstration of screenreader support in Skullgirls (video)
More information: Accessibility functionality available in the Xbox SDK (video)
More information: Building blind-accessible computer games