Reading with a screen reader

Reading with a screen reader

Activating screen reader support

Thorium automatically detects assistive technology, but, since 3.3, users must explicitly activate screen reader support by ticking the checkbox in the application settings (this is a global preference for the main library window as well as all reader windows).

In the previous versions, this support was automatically activated. We had to modify this feature because third-party applications can request the same privileges as assistive technology at the level of the operating system, which in turn causes Thorium to incorrectly detect screen readers.

Thorium adapts its behavior when screen reader support is enabled:

  • Text input fields for bookshelf searches require explicit validation (e.g., pressing Enter or clicking the search button) to trigger the search, instead of the default instantaneous “search as you type” behavior.
  • In the reader window, the presentation of EPUB HTML documents is forced to “scroll” mode instead of the default “paginated” view, in order to avoid issues with CSS columns.
  • Webviews are fully refreshed during navigation because some screen readers do not support Thorium’s optimized HTML rendering.
  • The automatic estimation of the user’s reading location (i.e. position inside the text) based on how far the HTML content is scrolled inside the visible viewport is disabled. This is necessary because screen readers do not consistently move into view the actively-spoken text.

Annotating & bookmarking

Based on the feedback we have received so far, it looks like it is very difficult for screen reader users to select an actual range of characters. Such assistive technology allows users to select text inside the screen reader’s virtual buffer, so the application isn’t aware that the user is reading at a particular location and is selecting text there.

Consequently, screen reader users prefer to use the bookmarking feature which anchors a simple, optionally-labelled bookmark to a coarse reading location (there is an icon button in the top toolbar, but the CTRL + B keyboard shortcut can be used too). Thorium actually does pick-up the mouse cursor click on a single text character, as this helps focus a bookmark on a more precise HTML location.

In Thorium, currently the bookmark label editor supports multiple lines of text input, which makes it possible to annotate coarse document locations. This can therefore be perceived as a replacement for the actual annotator, but there is no import/export of bookmarks data.

More feedback is welcome through our discussion tracker there:Message to Thorium screen reader users… #2867.

Using bookmarks with NVDA

Windows screen readers use a virtual buffer for reading. To place a bookmark where you are currently reading press the key combination NVDA + Enter, and NVDA will say “activate “. This synchronizes the virtual buffer with the current real location so Thorium can deduce the object on which the cursor is located. Then use Ctrl + B to place a bookmark. A sound notification will inform you of the number of bookmarks in the current publication.

External resources for screen reader use in Thorium

Keystrokes common to NVDA and JAWS

(contribution from Prashant Verma, DAISY Consortium)

For reading text, navigating in tables, navigating in the browser window, the insertion key can be replaced by the modifier key of the screen reader (e.g. the Caps Lock key).

Quick keys for navigation

The screen reader must be in navigation or virtual cursor mode.

ActionCommand
Next titleH
Next tableT
Next chartG
Next listL
Next form fieldF
List of elementsINSERT + F7 (works regardless of cursor mode)

Use the above keys with the Shift key to move to the previous item.

Text

ActionCommand
Previous character
Next character
Previous wordCtrl +
Say Next wordCtrl +
Previous line
Next line
Previous sentenceAlt + (Jaws only)
Next sentenceAlt + (Jaws only)
Read allINSERT +
Announce FontINSERT + F

Tables

ActionCommand
Cell to the rightAlt + Ctrl +
Cell to the leftAlt + Ctrl +
Cell belowAlt + Ctrl +
Cell aboveAlt + Ctrl +