Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Screen reader
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{short description|Assistive technology that converts text or images to speech or Braille}} {{More citations needed|date=July 2017}} [[File:Accessible Books Consortium explains - a digital file is not necessarily accessible.webm|thumb|An example of someone using a screen reader showing documents that are inaccessible, readable and accessible]] {{Use mdy dates|date=July 2017}} A '''screen reader''' is a form of [[assistive technology]] (<abbr>AT</abbr>)<ref>{{cite web|url=https://www.microsoft.com/enable/at/types.aspx|title=Types of Assistive Technology Products|publisher=Microsoft Accessibility|access-date=13 June 2016}}</ref> that renders text and image content as speech or braille output. Screen readers are essential to [[blindness|blind]] people,<ref name="afb"/> and are useful to [[visually impaired]] people,<ref name="afb"/> [[Illiteracy|illiterate]], or have a [[learning disability]].<ref name="Screen1">{{cite web|url=http://www.vadsa.org/ace/reader.htm|title=Screen Readers and how they work with E-Learning|publisher=Virginia.gov|access-date=31 March 2019|archive-url=https://web.archive.org/web/20181113075826/https://www.vadsa.org/ace/reader.htm|archive-date=13 November 2018}}</ref> Screen readers are [[Application software|software applications]] that attempt to convey what people with normal eyesight see on a [[Display device|display]] to their users via non-visual means, like [[text-to-speech]],<ref>{{cite web|url=http://windows.microsoft.com/en-us/windows/hear-text-read-aloud-narrator#1TC=windows-8|title=Hear text read aloud with Narrator|publisher=[[Microsoft Office|Microsoft]]|access-date=13 June 2016}}</ref> sound icons,<ref>{{cite web|url=https://css-tricks.com/accessiblility-basics-turn-your-css-off/|title=Accessibility Basics: How Does Your Page Look To A Screen Reader?|last=Coyier|first=Chris|date=29 October 2007|publisher=CSS-Tricks|access-date=13 June 2016}}</ref> or a [[Refreshable Braille display|braille device]].<ref name="afb">{{cite web|url=https://www.afb.org/blindness-and-low-vision/using-technology/assistive-technology-videos/screen-reading-technology|title=Screen reading technology|publisher=[[American Foundation for the Blind|AFB]]|access-date=23 February 2022}}</ref> They do this by applying a wide variety of techniques that include, for example, interacting with dedicated [[#Accessibility APIs|accessibility APIs]], using various [[operating system]] features (like [[inter-process communication]] and querying [[user interface]] properties), and employing [[hooking]] techniques.<ref name="SR Overview">{{cite web|url=https://www.nomensa.com/blog/2005/what-screen-reader|title=What is a Screen Reader|publisher=[[Nomensa]]|access-date=9 July 2017}}</ref> [[Microsoft Windows]] [[operating systems]] have included the [[Microsoft Narrator]] screen reader since [[Windows 2000]], though separate products such as [[Freedom Scientific]]'s commercially available [[JAWS (screen reader)|JAWS]] screen reader and [[ZoomText]] screen magnifier and the [[free and open source]] screen reader [[NonVisual Desktop Access|NVDA]] by NV Access are more popular for that operating system.<ref>{{cite web|url=https://webaim.org/projects/screenreadersurvey9/|title=Screen Reader User Survey #9|publisher=[[WebAIM]]|access-date=July 1, 2021}}</ref> [[Apple Inc.]]'s [[macOS]], [[iOS]], and [[tvOS]] include [[VoiceOver]] as a built-in screen reader, while [[Google]]'s [[Android (operating system)|Android]] provides the [[Google TalkBack|Talkback screen reader]] and its [[ChromeOS]] can use ChromeVox.<ref>{{cite web|url=http://www.chromevox.com/|title=ChromeVox|publisher=Google|access-date=March 9, 2020}}</ref> Similarly, Android-based devices from Amazon provide the VoiceView screen reader. There are also free and open source screen readers for [[Linux]] and [[Unix-like]] systems, such as Speakup and [[Orca (assistive technology)|Orca]]. == History == Around 1978, Al Overby of IBM Raleigh developed a prototype of a talking terminal, known as SAID (for Synthetic Audio Interface Driver), for the [[IBM 3270|IBM 3270 terminal]].<ref>{{Cite web |last=Cooke |first=Annemarie |date=March 2004 |title=A History of Accessibility at IBM |url=https://www.afb.org/aw/5/2/14760 |website=The American Foundation for the Blind (AFB)}}</ref> SAID read the ASCII values of the display in a stream and spoke them through a large vocal track synthesizer the size of a suitcase, and it cost around $10,000.<ref name=":0">{{Cite web |date=2009 |title=Making A Difference Award (2009) β Jim Thatcher (interview) |url=https://www.sigcas.org/2018/02/08/making-a-difference-award-2009-jim-thatcher-interview/ |website=SIGCAS, the Association for Computing Machinery Special Interest Group for Computers and Society}}</ref> Dr. Jesse Wright, a blind research mathematician, and [[James W. Thatcher|Jim Thatcher]], formerly his graduate student from the University of Michigan, working as mathematicians for IBM, adapted this as an internal IBM tool for use by blind people. After the early [[IBM Personal Computer|IBM Personal Computer (PC)]] was released in 1981, Thatcher and Wright developed a software equivalent to SAID, called PC-SAID, or ''Personal Computer Synthetic Audio Interface Driver''. This was renamed and released in 1984 as IBM Screen Reader, which became the [[Generic trademark|proprietary eponym]] for that general class of assistive technology.<ref name=":0" /> == Types == === Command-line (text) === In early [[operating system]]s, such as [[MS-DOS]], which employed [[command-line interface]]s (<abbr>CLI</abbr>s), the screen display consisted of [[Character (computing)|characters]] [[Memory-mapped I/O|mapping]] directly to a [[screen buffer]] in [[Computer memory|memory]] and a [[Cursor (computers)|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<ref>{{cite web | title=Talking Terminals. BYTE, September 1982 | url=http://www.edstoffel.com/david/talkingterminals.html | access-date=September 7, 2006 |archive-url = https://web.archive.org/web/20060625225004/http://www.edstoffel.com/david/talkingterminals.html <!-- Bot retrieved archive --> |archive-date = June 25, 2006}}</ref> and communicating the results to the user. In the 1980s, the Research Centre for the Education of the Visually Handicapped (<abbr>RCEVH</abbr>) at the [[University of Birmingham]] developed a Screen Reader for the [[BBC Micro]] and <!--abbr?-->NEC Portable.<ref>Paul Blenkhorn, "The <abbr>RCEVH</abbr> 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].</ref><ref>{{cite web | title=Access to personal computers using speech synthesis. RNIB New Beacon No.76, May 1992 | date=March 3, 2014| url=http://www.rnib.org.uk/information-everyday-living-using-technology-beginners-guides/beginners-guide-assistive-technology}}</ref> === Graphical === ==== Off-screen models ==== With the arrival of [[graphical user interface]]s (<abbr>GUI</abbr>s), the situation became more complicated. A <abbr>GUI</abbr> 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 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.<ref>According to "[ftp://service.boulder.ibm.com/sns/sr-os2/sr2doc/guitalk.txt Making the <abbr>GUI</abbr> Talk]{{dead link|date=May 2025|bot=medic}}{{cbignore|bot=medic}}" (by Richard Schwerdtfeger, ''BYTE'' December 1991, p. 118-128), the first screen reader to build an off-screen model was outSPOKEN.</ref> 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 a [[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.{{citation needed|date=January 2015}} ==== 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 <abbr>[[Application programming interface|API]]</abbr>. Existing <abbr>API</abbr>s include: * Android Accessibility Framework<ref>[https://developer.android.com/training/accessibility/index.html Implementing Accessibility on Android].</ref> * Apple Accessibility <abbr>API</abbr><ref>[https://developer.apple.com/documentation/Accessibility/Reference/AccessibilityLowlevel/index.html Apple Accessibility <abbr>API</abbr>].</ref> * [[AT-SPI]] * [[IAccessible2]] * [[Microsoft Active Accessibility]] (<abbr>MSAA</abbr>) * [[Microsoft UI Automation]] * [[Java Access Bridge]]<ref>{{cite web|url=http://java.sun.com/products/accessbridge/|title=Oracle Technology Network for Java Developers β Oracle Technology Network β Oracle}}</ref> 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 <abbr>API</abbr>: for example, [[Microsoft Word]] does not comply with the <abbr>MSAA</abbr> <abbr>API</abbr>, so screen readers must still maintain an off-screen model for Word or find another way to access its contents.{{citation needed|date=January 2015}} One approach is to use available operating system messages and application object models to supplement accessibility <abbr>API</abbr>s. 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,{{Who|date=January 2015}} 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) or failure to comply with accessibility standards for the platform (e.g. Microsoft Word and Active Accessibility).{{citation needed|date=January 2015}} === 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.{{citation needed|date=January 2015}} === Cloud-based === 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.{{citation needed|date=January 2015}} [[Virtual assistant]]s can sometimes read out written documents (textual web content, <abbr>[[Portable Document Format|PDF]]</abbr> documents, e-mails etc.) The best-known examples are Apple's [[Siri]], [[Google Assistant]], and [[Amazon Alexa]]. === Web-based === 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.{{citation needed|date=January 2015}} Other examples are ReadSpeaker or [[BrowseAloud]] that add [[text-to-speech]] functionality to web content.{{citation needed|date=January 2015}} The primary audience for such applications is those who have difficulty reading because of learning disabilities or language barriers.{{citation needed|date=January 2015}} 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".{{citation needed|date=January 2015}} This functionality depends on the quality of the software but also on a logical structure of the text. Use of headings, punctuation, presence of alternate attributes for images, etc. is crucial for a good vocalization. Also a web site may have a nice look because of the use of appropriate two dimensional positioning with CSS but its standard linearization, for example, by suppressing any CSS and Javascript in the browser may not be comprehensible.{{citation needed|date=January 2015}} == Customization == 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 [[script (computing)|'''scripting''']]. One advantage of scripting is that it allows customizations to be shared among users, increasing accessibility for all. <abbr>[[Job Access With Speech|JAWS]]</abbr> enjoys an active script-sharing community, for example.{{citation needed|date=January 2015}} === Verbosity === 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. The verbosity settings can also control the level of descriptiveness of elements, such as lists, tables, and regions.<ref>{{Cite journal |last1=Zong |first1=Jonathan |last2=Lee |first2=Crystal |last3=Lundgard |first3=Alan |last4=Jang |first4=JiWoong |last5=Hajas |first5=Daniel |last6=Satyanarayan |first6=Arvind |date=2022 |title=Rich Screen Reader Experiences for Accessible Data Visualization |journal=Computer Graphics Forum |language=en |volume=41 |issue=3 |pages=15β27 |doi=10.1111/cgf.14519 |arxiv=2205.04917 |s2cid=248665696 |issn=0167-7055}}</ref> For example, [[JAWS (screen reader)|JAWS]] provides low, medium, and high web verbosity preset levels. The high web verbosity level provides more detail about the contents of a webpage.<ref>{{Cite web |title=JAWS Web Verbosity |url=https://www.freedomscientific.com/SurfsUp/Web_Verbosity.htm |access-date=2022-11-06 |website=www.freedomscientific.com}}</ref> === Language === Some screen readers can read text in more than one [[language]], provided that the language of the material is encoded in its [[Metadata Encoding and Transmission Standard|metadata]].<ref>{{cite web|url=https://developer.yahoo.com/blogs/ydn/yahoo-search-results-now-natural-language-support-7318.html|title=Yahoo! search results now with natural language support|date=March 13, 2008|author=Chris Heilmann|work=[[Yahoo! Developer Network]] Blog|access-date=February 28, 2015|archive-url=https://web.archive.org/web/20090125024422/http://developer.yahoo.net/blog/archives/2008/03/yahoo_search_re.html|archive-date=January 25, 2009|url-status=live}}</ref> Screen reading programs like [[JAWS (screen reader)|JAWS]], [[NonVisual Desktop Access|NVDA]], and [[VoiceOver]] 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 [[British English|an English accent]].{{citation needed|date=January 2015}} == See also == * [[List of screen readers]] * [[Screen magnifier]] * [[Speech processing]] * [[Speech recognition]] * [[Speech synthesis]] * [[Vinux]] * [[VoiceOver]] == References == {{Wiktionary}} {{Reflist}} {{authority control}} [[Category:Assistive technology]] [[Category:Screen readers| ]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Authority control
(
edit
)
Template:Cbignore
(
edit
)
Template:Citation needed
(
edit
)
Template:Cite journal
(
edit
)
Template:Cite web
(
edit
)
Template:Dead link
(
edit
)
Template:More citations needed
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Use mdy dates
(
edit
)
Template:Who
(
edit
)
Template:Wiktionary
(
edit
)