屏幕阅读器(
英语:screen reader)是一种辅助技术,可将文字、图形等电脑界面内容转换为语音或点字输出。屏幕阅读器对视障者、视觉障碍者、文盲者或学习障碍者尤为重要,有时也会与放大软件一起使用。屏幕阅读器通过文字转语音技术、声音图标或点字设备等非视觉方式,将电脑屏幕上的内容传递给用户。它们通过与专门的辅助技术接口互动、利用操作系统的特性(如进程间通信和查询用户界面属性)以及钩子技术等方式实现这一功能。自Windows 2000以来,微软作业系统已包含名为
微软 Narrator的屏幕阅读器。然而,Freedom Scientific的商业可用JAWS屏幕阅读器和ZoomText放大软件以及NV Access的免费开源屏幕阅读器NVDA在Windows系统上更为流行。
苹果公司的
Mac OS、
IOS和
tvOS作业系统中包含
voiceover屏幕阅读器,
谷歌的Android系统提供Talkback屏幕阅读器,其ChromeOS系统可使用ChromeVox。此外,基于
Android的
亚马逊设备还提供VoiceView屏幕阅读器。此外,还有免费开源的屏幕阅读器可用于
Linux和类Unix系统,如Speakup和
Orca。
包括:Freedom Scientific的 JAWS GW Micro的 Window-Eyes Dolphin的 Hal Alva Access Group的 OutSpoken(在Mac OS 9中断了) Linux的 Speakup屏幕阅读器 2004年,
麦金塔宣布Mac OS X将有功能完备的屏幕阅读器。后来这被命名为
voiceover。
屏幕阅读器可以分为几种类型,包括文字(CLI)屏幕阅读器和图形界面(GUI)屏幕阅读器。CLI屏幕阅读器主要用于早期的操作系统,如
MS-DOS,它们通过直接访问内存中的屏幕缓冲区和游标位置来读取信息。GUI屏幕阅读器则更为复杂,它们需要采用低层次的技术来建立一个“关屏模式”,以便收集系统操作的信息并与用户互动。此外,还有自我发声程序和网络便携式屏幕阅读器,如Spoken-Web、ReadSpeaker和BrowseAloud,它们主要帮助视障者浏览网络信息。
为了提高屏幕阅读器的效率和兼容性,操作系统和应用程序设计者提供了多种应用程序接口,如Apple Accessibility API、AT-SPI、IAccessible2、
微软 Active Accessibility(MSAA)、Microsoft UI
自动化技术、Java Access Bridge等。这些接口允许屏幕阅读器直接获取屏幕上的信息,而不必依赖于关屏模式。
大多数屏幕阅读器提供了高度的自定义选项,允许用户根据自己的需求调整标点符号的读出方式或使用特定的脚本来增强功能。例如,JAWS屏幕阅读器支持用户共享和使用自定义脚本。
为了帮助开发者理解屏幕阅读器用户的体验,存在一些模拟器,如Fangs屏幕阅读器模拟器,它是一个开放源代码的Mozilla Firefox扩展模块,用来模拟网页在JAWS浏览时的情形。