Testing publications with NVDA – EPUBs
[Narrator:] NVDA is an excellent tool to use when testing EPUBs for accessibility. For our demo we will use the free Thorium Reader for reading EPUBs, not only because its reading experience is very good, but also because accessibility is one of its top priorities. You can download Thorium for Windows or macOS from the European Digital Reading Lab, which is a member of the World Wide Web Consortium.
Thorium Reader is free to all users. It contains many features required for e-book reading, such as tables of contents, page navigation, bookmarks, annotations, text search, single-page scrolling mode, two-page layout and navigation using print page breaks, the table of contents or the scroll bar. The program is accessible for visually impaired people and those with dyslexia. It is fully usable with keyboard alone and supports navigation and reading with popular screen readers like NVDA and Voiceover. Thorium Reader supports publications in many languages, including all of the official languages of the European Union, and its user interface is available in 13 different languages.
NVDA configuration
In addition to the initial settings explained in the Configuration chapter, we need to configure NVDA to optimise it for our use:
- Our demo document presents content in four languages. Therefore, we have to download the voices for these languages as Windows OneCore voices.
- Instead of hearing the speech output, for testing purposes we prefer to read it. This can make the search for an accessibility problem easier. We therefore have to activate the Speech Viewer.
- As we find it rather challenging to follow a purely auditory interface, we activate the Visual Highlight so we can see the position of the system focus and the review cursor.
- We activate the reading of all document elements in the Document Formatting settings.
If you have any questions on how to configure one of these settings, please review the previous chapter, Testing publications with NVDA – Configuration.
The demo
Before starting our demo, we made sure that our document passed all the tests we described in the EPUB testing chapter.
We are therefore sure that the EPUB is error-free and that the basic accessibility features are working. We are using document tagging, semantic elements and alternative texts. We created a table of contents and implemented landmarks.
We open the document using the Thorium Reader. Before starting our accessibility tests, we need to become familiar with the user interface. When we start the program, it presents all available e-books in the bookshelf view. At the top we see a menu presenting the book collection, catalogues and program settings. As these menus are of no importance for our test, we will not explain all of the features behind them; we will just open the book by clicking on it. Thorium presents the content of the book in the reader view. At the top of the window, Thorium Reader shows the toolbar. The first element of the toolbar allows us to return to the bookshelf view. The next one is the Information button, which presents the meta information of the EPUB. In the chapter Introduction to accessible EPUBs we introduced meta information related to accessibility in EPUBs so that people with disabilities can check whether the e-book is configured to be used by assistive technologies. Thorium Reader evaluates these meta tags and presents their information here. The Detach the window button opens the reader view in a separate application window. The Text-to-speech button can be used to have the document read aloud. As we are using the NVDA screen reader for our tests, we are not using this function. Next to it is the Search function. Thorium allows us to add personal bookmarks, which can be created and deleted using the bookmarks button.
The Settings menu allows us to configure the display theme by adapting the background and foreground colours. The Text settings allow us to increase or decrease the size of the text. We can also customise the font. Under Display we can configure several text formatting options. For our purposes, please make sure that the display layout is set to Scrollable. Otherwise, NVDA will have problems matching the position of the screen reader cursor to the position of the text currently being read. When opening Spacing, we can adjust margins as well as the spacing of words, letters, paragraphs and lines. The Readaloud settings item offers options to improve the text-to-speech behaviour. The final menu item, Configuration, allows us to save or reset our configuration changes.
The Navigation menu in the toolbar gives us access to the navigation structure of the document. Here we have access to the elements that make up the table of contents. If we configure different types of EPUB landmarks, we can find them below. If you have placed personal bookmarks, you can access them via the menu item Bookmarks. The next menu item will allow you to navigate between search results. If your e-book contains page markers, Thorium Reader will guide you to a specific page using the Go to page navigation. By pressing Escape, we can leave the configuration menu.
The final button on the toolbar allows us to read the e-book in full-screen mode.
Below the toolbar we can see the book content view. We can scroll through the book content using the scrollbar or the left and right buttons in the lower part of the screen. The horizontal bar at the bottom shows us our reading progress.
The arrows on the left are used to access our navigation history. They are inactive as we have not changed any pages yet.
We start the NVDA screen reader.
[Screen reader:] Thorium. The Wonderland Gazette. Clickable heading level 2, Toolbar. Button Skip to content.
[Narrator:] By pressing the Control key, we can stop the speech output. The Thorium Reader user interface is based on web technology. The toolbar at the top is embedded in a web frame. The content of our EPUB is embedded in another web frame. Let’s start using the toolbar. To go to the beginning of the toolbar press Control + T.
[Screen reader:] Toolbar, heading level 2.
[Narrator:] As we are not used to speech output, we turn it off and will use the output of the Speech Viewer only. To switch the speech output off, press Insert + S.
[Screen reader:] Speech mode off.
[Narrator:] Please note that whenever we mention the Insert key, we are referring to the NVDA modifier key. We use the Down arrow key to get access to the single buttons on the toolbar. To move to the book content view, press Control + F10.
The Wonderland Gazette is an imaginary newspaper in the world of Alice’s Adventures in Wonderland. At the top of the page, we can see the main heading of our newspaper. Below, we see a set of articles, each with a heading of its own.
Let’s take our first steps in the document. We will use the Down arrow key to go through the document element by element. We can go back again by pressing the Up arrow. As this approach only offers us a sequential way of reading the document elements, we prefer to use the structure of the document to speed up our navigation experience. To navigate from heading to heading, we can press H. You can see how we navigate from heading to heading using the Speech Viewer and the Visual Highlight. We can reverse the navigation direction using Shift + H.
We can use the G key to navigate from graphic to graphic. And, of course, we can use Shift + G to reverse the direction.
In the next set of examples we won’t mention again that the Shift key can be used to reverse the navigation direction, but it can be used in all of them. In the same way, we can use the K key to search for links, the L key for lists and the T key for tables. Please note that the current version of NVDA 2023.2 has problems rendering the Visual Highlight while scrolling. This is why, when scrolling, the pink rectangle may not be visible or may be placed outside the window.
To get an overview of links and headings, we can open the Elements List by pressing Insert + F7. Using Shift + Tab we can move the cursor to the element type selection. As you can see, Thorium embeds the EPUB content and its toolbar elements into a common navigation structure.
To select the element type, press the Right and Left arrow keys. To get back to the element list, press the Tab key. We can navigate to the selected element by pressing Enter. We can leave the dialogue box using the Escape key.
Please note that the Elements List presents the structure of the page that is currently open. If you want to have an overview of the structure of the complete document, press Control + N to access the navigation menu.
To navigate inside a text, press 9 or 7 on the numeric keypad for the next or previous line, 6 or 4 for the next or previous word, and 3 or 1 for the next or previous character.
Here we see a text block that uses multiple languages. Using the silent mode, we do not notice any difference in the presentation. We therefore switch the speech mode on and continue reading.
[Screen reader:] Speech mode beeps.
[Narrator:] When we switch, NVDA first activates the speech mode beeps, which activates a beep between each navigation step.
[Screen reader:] Speech mode talk.
[Narrator:] When we switch again, we activate speech mode talk.
[Screen reader:] We recently learned that a book called Alice’s Adventures… in many languages and is read by people all over the world, as in: List with 4 items. Bullet. France. [In French] Aventures d’Alice au pays des merveilles. Bullet. Germany. [In German] Alice’s Abenteuer im Wunderland. Bullet. Italy. [In Italian] Le Avventure d’Alice nel Paese delle Meraviglie. Bullet. Spain. [In Spanish] Alicia en el País de las Maravillas. Speech mode off.
[Narrator:] We use the link to access another page. This page shows a table. We can access the table by pressing the T key. Let’s check how Thorium Reader presents the table. We can get information about the content of the table and its structure using the table header and the table data cells. This is how it is supposed to work.
For more navigation keys, please consult the Thorium Reader documentation.
Potential error scenarios
When we prepared this document, we incorporated various problems that are difficult to find without using a screen reader. We will not explain how to fix them as that was part of the chapters EPUB tools and EPUB testing.
When we navigated using the headings, one of them was missing. This heading was obviously not tagged as a heading; it is just visually presented in the same way as one.
Have you noticed that the image descriptions of two images have accidentally been exchanged? We need to switch them to correct this. Bugs like these are difficult to find when the alternative text stays hidden from a sighted user.
We navigate to the bottom of the page to access the list. We press the L key, but the screen reader cannot detect the list. The list was not marked as a list using the tagging, so the screen reader cannot find it.
[Screen reader:] Speech mode beeps. Speech mode talk. Bullet. France. [Read in English] Aventures d’Alice au pays des merveilles. Bullet. Germany. [Read in English] Alice’s Abenteuer im Wunderland. Bullet. Italy. [Read in English] Le Avventure d’Alice nel Paese delle Meraviglie. Bullet. Spain. [Read in English] Alicia en el País de las Maravillas.
Speech mode off.
[Narrator:] In this implementation the texts are not read out using the correct language. The elements do not contain any attributes that would help a screen reader find a matching voice. When using a screen reader, it is easy to come across texts that are read out using a voice that does not match the language in which they are written.
The text after the list was accidentally marked as hidden from screen readers, therefore the screen reader cannot find it. This was not intentional. We want a visually impaired user to be able to access all content.
As you have seen, there are accessibility problems that cannot easily be detected without a screen reader.
Keyboard shortcuts
Here is a summary of the keyboard combinations we have used during this tutorial.
Please note that you can download a quick reference guide with a summary of all the key commands we use.
Where to continue?
You have now had an introduction to testing EPUB documents with NVDA.
Depending on your interests, you could review the following chapters:
- Introduction to accessible EPUBs.
- EPUB tools.
- EPUB testing.
[Automated voice:] Accessibility. For more information visit: op.europa.eu/en/web/accessibility.