Hypothesis is built to current open web accessibility standards, and is intentionally designed to work as seamlessly as possible with the adaptive technology tools a user is already using and most familiar with. There is no separate “accessibility mode” or requirement that users learn new or unfamiliar workflows. For more information about our approach to inclusive design please see our Accessibility page.
Screen reader compatibility is a common challenge across many web applications, and it’s useful to know how Hypothesis interacts with the most widely used screen readers ahead of time.
MacOS VoiceOver
VoiceOver on the Mac provides a close to seamless integration with Hypothesis. There are no known current issues or incompatibilities to note.
Here are two videos showcasing how MacOS VoiceOver works with Hypothesis.
NVDA and JAWS
For users of NVDA, JAWS, and other Windows-based screen readers that rely on the IAccessible2 framework, it is not currently possible to select text for annotation while in Browse mode.
Note: For NVDA users, there’s an exception to the information mentioned above. NVDA has introduced a Native Selection mode, which you can toggle with NVDA+Shift+F10. This mode is available in NVDA’s browse mode when using Mozilla Firefox. When it’s enabled, selecting text in browse mode also affects Firefox’s native text selection. So, when you copy text with Control+C, it will copy Firefox’s rich content rather than NVDA’s plain text version.
Instead, enter Focus mode (Forms mode in JAWS), and use the respective browser’s keyboard selection tool to select the relevant passage, then type the “a” key to jump to the annotation editor.
Note that you may need to activate your screen reader’s ignore-next-keystroke function before typing “a”. This is Insert + F2
in NVDA and Insert + 3
in JAWS.
Once the annotation is complete you can return to Browse mode. See our pages on using a keyboard with Hypothesis and our keyboard shortcuts for more information on this.
It is important to note that this issue effects all web apps that rely on text selection in the browser, not just Hypothesis. We are partnering with developers at NVDA to implement a solution. The addition of a new IAccessibleTextSelectionContainer object has recently been implemented in IAccessible2, and we are currently waiting for the necessary upstream changes in browser code.