# Accessibility Features

BeebEm provides two features for use by visually impaired users: a screen reader compatible text view, and text to speech generation.

## Screen Reader Text View

The screen reader compatible text view can be selected from the View menu. When enabled, the text on the BeebEm screen is converted to a standard Windows text edit control. Screen readers such as JAWS can move the edit cursor around the screen and read the text in the control. Note that BeebEm can only convert text when in teletext mode 7. In other modes the text edit will contain the string "Not in text mode". A special key press, `Alt` + ``` (back quote) is available to synchronise the cursor position in the text view with the BBC Micro cursor position.

## Text to Speech

The BeebEm text to speech generation can be selected from the Sound menu. When enabled, BeebEm will use the text to speech capabilities of Windows to read the text on the BeebEm screen. The voice can be selected from the Sound → Voice menu.

Text conversion is driven using the numeric keypad keys `0` to `9`. The key assignments are based on the basic JAWS screen reading keys with some additions. The key assignments are:

PC Key Press | Function
--- | ---
`Num Pad 5` | Read current character
`Num Pad 6` | Read next character
`Num Pad 4` | Read prior character
`Insert` or `Right-Ctrl` + `Num Pad 5` | Read current word
`Insert` or `Right-Ctrl` + `Num Pad 6` | Read next word
`Insert` or `Right-Ctrl` + `Num Pad 4` | Read prior word
`Insert` or `Right-Ctrl` + `Num Pad 8` | Read current line
`Num Pad 2` | Read next line
`Num Pad 8` | Read prior line
`Insert` or `Right-Ctrl` + `Num Pad 2` | Read entire screen (say all)
`Alt` + `Num Pad 5` | Read current sentence
`Alt` + `Num Pad 4` | Stop speaking and clear buffered speech
`Alt` + `Num Pad 2` | Read next sentence
`Alt` + `Num Pad 8` | Read prior sentence
`Num Pad 9` | Move speech cursor to top of screen
`Insert` or `Right-Ctrl` + `Num Pad 9` | Speak speech cursor position
`Num Pad 3` | Move speech cursor to bottom of screen
`Insert` or `Right-Ctrl` + `Num Pad 3` | Toggle speaking of punctuation. Support for this feature depends on the capabilities of the selected voice
`Insert` or `Right-Ctrl` + `Num Pad 1` | Toggle auto-read of text as it is written to the BBC micro screen
`Num Pad 1` | Read any buffered auto-read text
`Alt` + `Num Pad 9` | Increase speech rate
`Alt` + `Num Pad 3` | Decrease speech rate

If you are running JAWS you may find that it intercepts some of the key presses listed above and stops BeebEm from receiving them. In particular it may intercept `Num Pad 5` presses, so try `Num Pad 7` instead as BeebEm interprets `Num Pad 7` in the same way as `5`. The BeebEm key assignments will also work when `Num Lock` is switched on so you could try that as well. You may be able to configure JAWS so it does not say the num pad key names.

Under normal use you may find the auto-read function useful so this is enabled by default (`Insert` or `Right-Ctrl` + `Num Pad 1`). This will read text as it gets written to the BBC micro screen. This works when using the BASIC command prompt and in many of the text based adventure games available for the BBC micro.

As with the text view support the `Alt` + ``` (back quote) key press is available to synchronise the speech cursor position with the BBC Micro cursor position.