- Screen reader
A screen reader is a software application that attempts to identify and interpret what is being displayed on the screen (or, more accurately, sent to standard output, whether a video monitor is present or not). This interpretation is then re-presented to the user with
text-to-speech ,sound icon s, or a Braille output device. Screen readers are a form ofassistive technology (AT) potentially useful to people who are blind, visually impaired, illiterate or learning disabled, often in combination with other AT, such asscreen magnifier s.A person's choice of screen reader is dictated by many factors, including platform, cost (even to upgrade a screen reader can cost hundreds of U.S. dollars), and the role of organizations like charities, schools, and employers. Screen reader choice is contentious: differing priorities and strong preferences are common.
Apple Inc. Mac OS X includesVoiceOver , a feature-rich screen reader. The console-basedOralux Linux distribution ships with three screen-reading environments:Emacspeak ,Yasr andSpeakup . The open sourceGNOME desktop environment long includedGnopernicus and now includes Orca.There are also
open source screen readers, such as the [http://live.gnome.org/LSR Linux Screen Reader] for GNOME andNonVisual Desktop Access for Windows.The most widely used screen readers [cite paper
author = Theofanos, Mary Frances, and Redish, Janice (Ginny)
title = Guidelines for Accessible and Usable Web Sites: Observing Users Who Work With Screen Readers
version = self-published version
publisher = Redish & Associates
date = November-December 2003
url = http://www.redish.net/content/papers/interactions.html
format = HTML
accessdate = 2008-07-20 ] are separate commercial products: JAWS fromFreedom Scientific ,Window-Eyes from GW Micro, Hal fromDolphin Computer Access , andZoomText Magnifier/Reader fromAi Squared are prominent examples in the English-speaking market.Types of screen reader
CLI (text) screen readers
In early operating systems, such as
MS-DOS , which employedcommand line interface s (CLIs), the screen display consisted of characters mapping directly to a screen buffer in memory and a cursor position.Clarifyme|date=September 2008|reason=Link to explanation of this stuff; we cannot just throw computer geek jargon at our readers, many of whom have no technical background at all. WP and Google may be the only 2 Web apps many of them know how to use! Input was by keyboard. All this information could therefore all be obtained from the system either byhooking the flow of information around the system and reading the screen buffer or by using a standard hardware output socket [cite web
title=Talking Terminals. BYTE, September 1982
url=http://www.edstoffel.com/david/talkingterminals.html
accessmonthday=September 7
accessyear=2006 ] and communicating the results to the user. This was relatively easy to engineer.In the 1980s, the Research Centre for the Education of the Visually Handicapped (RCEVH) at the University of Birmingham developed Screen Reader for the BBC Micro and NEC Portable. [Paul Blenkhorn, "The RCEVH project on micro-computer systems and computer assisted learning", British Journal of Visual Impairment, 4/3, 101-103 (1986). [http://www.visugate.biz/bjvi/1986/autumn1986.html#RCEVH Free HTML version at Visugate] . See also cite web
title=Access to personal computers using speech synthesis. RNIB New Beacon No.76, May 1992
url=http://www.rnib.org.uk/xpedio/groups/public/documents/visugate/public_nbmay92.hcsp#P3_86
accessmonthday=August 17
accessyear=2005 ]GUI screen readers
Off-screen models
With the arrival of
graphical user interface s (GUIs), the situation became more complicated. A GUI has characters and graphics drawn on the screen at particular positions, and as such there is no purely textual representation of the graphical contents of the display. Screen readers were therefore forced to employ new low-level techniques, gathering messages from theoperating 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.
Accessibility APIs
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:
* [http://developer.apple.com/documentation/Accessibility/Reference/AccessibilityLowlevel/index.html Apple Accessibility API] .
*AT-SPI
*IAccessible2 ,
*Microsoft Active Accessibility (MSAA)
*Microsoft UI Automation
* [http://java.sun.com/products/accessbridge/ 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 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 screenreader operates without an off-screen model in this way.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, using a screen reader is, according to some users, 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).
elf-voicing applications
Some programs speak or make other sounds so that they can be used by blind people or people who cannot see the screen. These programs are termed
self-voicing and can be a form ofassistive technology if they are designed to remove the need to use a screen reader.Web-based screen readers
A relatively new development in the field is web-based applications like [http://www.textic.com/ Talklets] that use
JavaScript to addtext-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'.creen reader customization
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 throughscripting . One advantage of scripting is that it allows customizations to be shared among users, increasing accessibility for all. JAWS enjoys an [http://testsite.blind-planet.com/ active script-sharing community] , for example.Emulators
* [http://www.standards-schmandards.com/projects/fangs Fangs screen reader emulator] - An open source Mozilla Firefox extension that simulates how a web page would look in JAWS.
Verbosity
Verbosity is a term used to describe a feature of screen reading software that support 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 a British accent.
References
See also
*
List of screen readers
*Screen magnifier
*Self-voicing
*Speech processing
*Speech recognition
*Text to speech
Wikimedia Foundation. 2010.