A screen reader is a software application which, rather than presenting web content visually, converts text into 'synthesised speech' allowing user to alternatively listen to content. In more accurate terms – content displayed in screen is sent to standard output, whether a video monitor is present or not. Interpretations are then synthesised to the user with text-to-speech, sound icons, or a Braille output device. Screen readers are a form of assistive technology (AT) which are essential to people who are blind, as well as useful to people who are either visually impaired, illiterate or suffer a learning disability.
Microsoft Windows operating systems have included the Microsoft Narrator light-duty screen reader since Windows 2000. Apple Inc. Mac OS X, iOS, and tvOS include VoiceOver, a feature-rich screen reader, while Google's Android includes Google Text-to-Speech, also on Android, Samsung devices have Samsung Text-to-Speech. The console-based Oralux Linux distribution ships with three console screen-reading environments: Emacspeak, Yasr, and Speakup. BlackBerry 10 devices such as the BlackBerry Z30 include a built-in screen reader. There is also a free screen reader application for older less powerful BlackBerry (BBOS7 and earlier) devices.
The most widely used screen readers are separate commercial products: JAWS from Freedom Scientific, Window-Eyes from GW Micro, Dolphin Supernova by Dolphin, System Access from Serotek, and ZoomText Magnifier/Reader from AiSquared are prominent examples in the English-speaking market. The opensource screen reader NVDA is gaining popularity.
In early operating systems, such as MS-DOS, which employed command-line interfaces (CLIs), the screen display consisted of characters mapping directly to a screen buffer in memory and a cursor position. Input was by keyboard. All this information could therefore be obtained from the system either by hooking the flow of information around the system and reading the screen buffer or by using a standard hardware output socket and communicating the results to the user.
With the arrival of graphical user interfaces (GUIs), the situation became more complicated. A GUI has characters and graphics drawn on the screen at particular positions, and therefore there is no purely textual representation of the graphical contents of the display. Screen readers were therefore forced to see employ new low-level techniques, gathering messages from the operating system and using these to build up an "off-screen model", a representation of the display in which the required text content is stored.
For example, the operating system might send messages to draw a command button and its caption. These messages are intercepted and used to construct the off-screen model. The user can switch between controls (such as buttons) available on the screen and the captions and control contents will be read aloud and/or shown on refreshable Braille display.
Screen readers can also communicate information on menus, controls, and other visual constructs to permit blind users to interact with these constructs. However, maintaining an off-screen model is a significant technical challenge; hooking the low-level messages and maintaining an accurate model are both difficult tasks.
Operating system and application designers have attempted to address these problems by providing ways for screen readers to access the display contents without having to maintain an off-screen model. These involve the provision of alternative and accessible representations of what is being displayed on the screen accessed through an API. Existing APIs include:
- Apple Accessibility API
- Microsoft Active Accessibility (MSAA)
- Microsoft UI Automation
- Java Access Bridge
Screen readers can query the operating system or application for what is currently being displayed and receive updates when the display changes. For example, a screen reader can be told that the current focus is on a button and the button caption to be communicated to the user. This approach is considerably easier for the developers of screen readers, but fails when applications do not comply with the accessibility API: for example, Microsoft Word does not comply with the MSAA API, so screen readers must still maintain an off-screen model for Word or find another way to access its contents. One approach is to use available operating system messages and application object models to supplement accessibility APIs. The Thunder screen reader operates without an off-screen model in this way; the latest version of Thunder also includes an off-screen model.
Screen readers can be assumed to be able to access all display content that is not intrinsically inaccessible. Web browsers, word processors, icons and windows and email programs are just some of the applications used successfully by screen reader users. However, according to some users, using a screen reader is considerably more difficult than using a GUI, and many applications have specific problems resulting from the nature of the application (e.g. animations in Macromedia Flash) or failure to comply with accessibility standards for the platform (e.g. Microsoft Word and Active Accessibility).
Self-voicing programs and applications
Some programs and applications have voicing technology built in alongside their primary functionality. These programs are termed self-voicing and can be a form of assistive technology if they are designed to remove the need to use a screen reader.
Some telephone services allow users to interact with the internet remotely. For example, TeleTender can read web pages over the phone and does not require special programs or devices on the user side.
A relatively new development in the field is web-based applications like Spoken-Web that act as web portals, managing content like news updates, weather, science and business articles for visually-impaired or blind computer users. Other examples are ReadSpeaker or BrowseAloud that add text-to-speech functionality to web content. The primary audience for such applications is those who have difficulty reading because of learning disabilities or language barriers. Although functionality remains limited compared to equivalent desktop applications, the major benefit is to increase the accessibility of said websites when viewed on public machines where users do not have permission to install custom software, giving people greater "freedom to roam".
With the development of smartphones, the ability to listen to written documents (textual web content, PDF documents, e-mails etc.) while driving or during a similar activity in the same way that listening to music, will benefit a much broader audience than visually-impaired people. The best-known examples are Siri for iOS, and Google Now and Iris for Android. With the release of the Galaxy S III, Samsung also introduced a similar intelligent personal assistant called S Voice. On the BlackBerry 10 operating system, their Z30 smartphone also features spoken interaction features, which are similar to the other mobile operating systems.
Not only do screen readers differ widely from each other, but most are highly configurable. For example, most screen readers allow the user to select whether most punctuation is announced or silently ignored. Some screen readers can be tailored to a particular application through scripting. One advantage of scripting is that it allows customizations to be shared among users, increasing accessibility for all. JAWS enjoys an active script-sharing community, for example.
Verbosity is a feature of screen reading software that supports vision-impaired computer users. Speech verbosity controls enable users to choose how much speech feedback they wish to hear. Specifically, verbosity settings allow users to construct a mental model of web pages displayed on their computer screen. Based on verbosity settings, a screen-reading program informs users of certain formatting changes, such as when a frame or table begins and ends, where graphics have been inserted into the text, or when a list appears in the document.
Some screen reading programs also include language verbosity, which automatically detects verbosity settings related to speech output language. For example, if a user navigated to a website based in the United Kingdom, the text would be read with an English accent.
|Look up screen reader in Wiktionary, the free dictionary.|
- List of screen readers
- Screen magnifier
- Speech processing
- Speech recognition
- Speech synthesis
- "Designing for screen reader compatibility". WebAIM. Retrieved 13 June 2016.
- "Screen Readers and how the help with E-Learning". Virginia.gov. Retrieved 13 June 2016.
- "Hear text read aloud with Narrator". Microsoft. Retrieved 13 June 2016.
- Coyier, Chris (29 October 2007). "Accessibility Basics: How Does Your Page Look To A Screen Reader?". CSS-Tricks. Retrieved 13 June 2016.
- "Screen Readers Technology and Refreshable Braille Displays". AFB. Retrieved 13 June 2016.
- "Types of Assistive Technology Products". Microsoft Accessibility. Retrieved 13 June 2016.
- "Turn on or turn off the BlackBerry Screen Reader". Docs.blackberry.com. Retrieved January 4, 2014.
- "BlackBerry® Screen Reader".
BlackBerry Screen Reader is supported on the BlackBerry® Curve™ 9220, 9315, 9320, 9350, 9360 and 9370 smartphones
- Theofanos, Mary Frances, and Redish, Janice (Ginny) (November–December 2003). "Guidelines for Accessible and Usable Web Sites: Observing Users Who Work With Screen Readers". self-published version. Redish & Associates. Retrieved July 20, 2008.
- "Talking Terminals. BYTE, September 1982". Archived from the original on June 25, 2006. Retrieved September 7, 2006.
- Paul Blenkhorn, "The RCEVH project on micro-computer systems and computer assisted learning", British Journal of Visual Impairment, 4/3, 101-103 (1986). Free HTML version at Visugate.
- "Access to personal computers using speech synthesis. RNIB New Beacon No.76, May 1992".
- According to "Making the GUI Talk" (by Richard Schwerdtfeger, BYTE December 1991, p. 118-128), the first screen reader to build an off-screen model was outSPOKEN.
- Apple Accessibility API.
- "Oracle Technology Network for Java Developers – Oracle Technology Network – Oracle".
- Chris Heilmann (March 13, 2008). "Yahoo! search results now with natural language support". Yahoo! Developer Network Blog. Archived from the original on January 25, 2009. Retrieved February 28, 2015.
- Fangs screen reader emulator – an open-source Mozilla Firefox extension that simulates how a web page would look in JAWS