Emacspeak speaks each character as it is typed. Pressing the space-bar causes the previous word to be spoken. Cursoring through a file speaks each line; speech is interrupted if the cursor is moved while a line is being spoken. This allows the user to efficiently browse files. All of the standard Emacs navigation commands, e.g., move to the next paragraph, skip this S-expression, give appropriate auditory feedback.
Emacs' knowledge of the syntax of what is being edited is used to advantage in enabling sophisticated navigation. For instance, the user can move across statements when browsing program source code. When navigating through a file of C code, the user gets relevant spoken feedback that conveys the structure of the program. Different syntactic units are spoken in different voices to increase the band-width of aural communication. In addition, the user can have the semantics of a line of source code spoken upon request. Thus, when the editing cursor is on the closing brace that ends a function block, Emacspeak says ``brace that closes function'' and then speaks the opening line of that function. This provides the listener the same kind of feedback that users of traditional visual interfaces have come to expect.