屏幕阅读器

**螢幕閱讀器**（英語：screen reader）又稱為螢幕報讀軟體，是安裝於電腦上的應用程式軟體，用來將文字、圖形以及電腦介面的其他部分（藉文字轉語音（Text-To-Speech, TTS）技術）轉換成語音或點字。對於視障者或閱讀障礙者甚有助益，有些人會搭配放大軟體一齊使用。螢幕閱讀器至少可以讀出：

* 作業系統的大致情形。
* 文字式程式，例如 DOS 和 telnet session。
* 任何圖形使用者介面呈現在螢幕上的圖形和文字。
* 網頁瀏覽器、電子郵件和 Usenet 客端。

當使用螢幕報讀軟體時，螢幕是否開啟並不會影響其運作，它本身並不構成一部電腦的要件，只是一個軟體或輸出裝置。

使用者在挑選螢幕報讀軟體時，通常會考量許多因素。包含使用平台、成本、使用者偏好等，並也會受到其所屬組織（如慈善機構、學校、任職公司）之影響，而螢幕報讀軟體在選擇上是備受爭議的。

自從 Windows 2000 以來，微軟作業系統已在其版本中加入名為 Microsoft Narrator light-duty 之螢幕報讀軟體。而蘋果公司則於其麥金塔作業系統中加入一功能豐富的螢幕報讀軟體 VoiceOver。另一方面，Oralux Linux 中則裝載了三種螢幕報讀軟體：Emacspeak，Yasr，以及 Speakup。而開放軟體 GNOME 桌面環境則包含了 Gnopernicus 與 Orca 兩種螢幕報讀軟體。此外還有許多開放原始碼的螢幕報讀軟體，如適用於 GNOME 平台的 Linux Screen Reader，以及 NonVisual Desktop Access for Windows（NVDA）。

## 螢幕報讀軟體

包括：

* Freedom Scientific 的「JAWS」
* GW Micro 的「Window-Eyes」
* Dolphin 的「Hal」
* Alva Access Group 的「OutSpoken」（在 Mac OS 9 之後中斷開發）
* Linux 的「Speakup」螢幕閱讀器
* 2004 年，蘋果電腦宣佈 Mac OS X 將有功能完備的螢幕閱讀器。後來這被命名為 **VoiceOver**。
* 免費軟體的「非視覺桌面存取系統」（NonVisual Desktop Access,NVDA）
* Android P 新推出的 Talkback

## 螢幕報讀軟體的種類

### 文字（CLI）螢幕報讀軟體

在早期的作業系統（像是 MS-DOS 採用的命令列介面），構成畫面的文字符號會直接反應在記憶體中的螢幕緩衝區及游標位置，並使用鍵盤來輸入控制指令。這些系統資訊可以藉由擷取在系統中一連串的資訊、並於螢幕緩衝器讀取到，爾後經由標準的硬體輸出插槽輸出並編譯結果給使用者。
1980 年代，伯明罕市大學的視障者教育研究中心研發出 BBC Micro 和 NEC portable 的螢幕報讀軟體

### 圖形介面（GUI）螢幕報讀軟體

#### 關屏模式

隨著圖形介面（GUI）的發展，螢幕上顯示的圖形內容取代純粹的​​文字表述，使螢幕報讀軟體的運作變得更加複雜。因此營幕報讀軟體被迫採用較低層次的技術，收集系統操作的資訊以建立一個「關屏模式」。
例如，系統可能會傳送訊息，使螢幕上出現一個或多個按鈕。這些訊息在傳播的過程中，將被螢幕報讀軟體擷取並用於建造關屏模式。使用者可以將焦點在系統的控制項（如按鈕）之間切換，此時螢幕報讀軟體將朗讀控制項標題與內容和、或將以上訊息顯示於盲文顯示器。
透過這種方式，螢幕報讀軟體使盲人使用者能夠與系統進行互動。然而，關屏模式是一項重大的技術挑戰，無論是擷取系統裡低層次的訊息、還是解譯擷取到的低層次資訊，都是相當艱鉅的工作。

#### 應用程式介面的輔助

為了解決以上問題，作業系統與應用程式之設計者乃試圖使螢幕報讀軟體不用經由關屏模式，便能夠擷取螢幕上之顯示內容。相關措施包括透過應用程式介面，提供替代性與可存取之陳述，來描述螢幕上顯示的畫面。現有的應用程式介面包括：

* Apple Accessibility API
* AT-SPI
* IAccessible2,
* Microsoft Active Accessibility（MSAA）
* Microsoft UI Automation
* Java Access Bridge

螢幕報讀軟體可以詢問作業系統或應用程式目前螢幕上的資訊、或哪些地方正在更新。例如，螢幕報讀軟體可被系統告知目前的焦點正處於某一按鈕、以其按鈕之標題，並將此訊息傳達給使用者知曉。這種做法比起關屏模式要容易得多，但當應用程式無法輔助時則失去效用。例如，由於 Microsoft Word 並不遵守 MSAA，使螢幕報讀軟體仍然必須保持關屏模式，或另謀其它方式來擷取資訊。
螢幕報讀軟體被假定能夠處理螢幕上所有的顯示內容。網路瀏覽器、文字處理、圖標與視窗和電子郵件程式等都只是螢幕報讀軟體成功應用中的皮毛一角。然而一些使用者指出，使用螢幕報讀軟體操作圖形介面與許多應用程式時經常會比想像中還要來得更困難，尤其是當使用某些特定的應用程式（例如 Macromedia Flash）時，以及使用未能符合無障礙標準的特定平台（如 Microsoft Word 和 Active Accessibility 的）時。

### 自我發聲程式

某些程式能夠唸出訊息或是發出其它聲音，使視障者能夠使用。如果這類程式的設計理念乃是為了排除使用者使用螢幕報讀軟體的需求，則其可被視為科技輔具的一種。

### 網路可攜式螢幕報讀

Spoken-Web 是建立於網路中的一種螢幕報讀軟體，能夠幫助視障者瀏覽資訊，如：新聞更新、天氣、科學與財經文章等。其它如 ReadSpeaker 或 BrowseAloud 能夠視情況添加文字到語音內容，此類應用的目標使用者主要為學習障礙者或語言障礙者。雖然以網路為基礎的螢幕報讀軟體，其功能比起安裝於電腦中的螢幕報讀軟體仍相當有限，但其主要優點乃使用者在公共場所的電腦中不用安裝軟體，即可使用。

## 螢幕報讀軟體自訂化

雖然每一種螢幕報讀軟體都各有特色，但大多數的螢幕報讀軟體皆有提供使用者高度的自行設定空間。如大多數螢幕報讀軟體皆允許使用者選擇標點符號是否忽略或唸出。而某些螢幕報讀軟體可以根據特定的指令碼為使用者量身打造功能。指令碼的優勢之一是使用者間能夠共享設定資料，提高所有人的可及性。JAWS 便是能夠享指令碼的一個案例。

## 模擬器

Fangs 螢幕報讀軟體模擬器－－一個開放原始碼的 Mozilla Firefox 之擴展模組，用來類比網頁以 JAWS 瀏覽時的情形。

## 詳細程度

螢幕報讀軟體的詳細程度是一種用來描述其能夠支援視障電腦使用者的功能的術語。語音詳細程度的設定允許使用者能夠自行選擇他們希望聽到多少細節。具體來說，越詳細的設定，則越能讓使用者對他們所瀏覽的網頁建立良好的心智模式。

## 語言

某些螢幕報讀軟體能夠處理一種以上的語言及文字，提供對應對語音。有的螢幕報讀軟體會自動檢測與對應語言所設定的詳細程度設定；例如，如果使用者瀏覽到一個位於英國的網站，則螢幕報讀軟體將以英語口音讀出。

## 參見

* 網路無障礙
* 人機互動
* 點字顯示機
* 非視覺桌面存取系統

## 外部連結

* NVDA (Windows) （頁面存檔備份，存於網際網路檔案館）
* JAWS (Windows) （頁面存檔備份，存於網際網路檔案館）
* ORCA (Linux) （頁面存檔備份，存於網際網路檔案館）
* Speakup (Linux) （頁面存檔備份，存於網際網路檔案館）
* ChromeVox (Chrome OS) （頁面存檔備份，存於網際網路檔案館）
* Screen reader （頁面存檔備份，存於網際網路檔案館）

## 參考文獻