Emacspeak provides a fluent aural interface to ispell, a powerful interactive spell checker. Here is a brief description of the visual interface provided by the spell checker for those unfamiliar with this system.
Typically, a file opened with Emacs can be spell-checked by invoking ispell. Errors are visually highlighted, with a separate window showing a list of possible corrections. The user can type a number to pick a choice from the list of corrections; alternatively, a replacement can be directly typed in.
Using this interface with a traditional screen-reader is painful to say the least[+]. A user of a screen-reader needs to query the position of the cursor to find out the erroneous word, then locate the window of corrections on the screen before continuing.
With Emacspeak, the fact that the list of possible corrections appears in a separate window is completely hidden from the listener. When running the spell checker, Emacspeak speaks the line containing the erroneous text with the incorrect word aurally highlighted. Next, the list of possible corrections is spoken; the user can pick a choice at any time. Based on the user action, the spell checker inserts the appropriate correction and continues to the next error.
A similar approach is used to provide aural feedback to the common editing
task of interactively replacing a string by another.
Emacspeak speaks the line containing the instance of the
text being replaced, with the instance that will be replaced aurally
This allows the listener to respond correctly when there are multiple
occurrences of the text being replaced within a line.
Thus, the task of replacing the first occurrence of foo
with bar while leaving the second instance of foo intact
in the example
Change this food, but do not touch this fool.
is trivial; the same task using a screen-reader is much harder.