> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XAG 106:螢幕朗讀

> 透過螢幕朗讀以聽覺方式呈現所有畫面上的視覺資訊,讓全盲、低視能及無法閱讀的玩家都能使用每個 UI。

## 目標

確保所有畫面上的視覺資訊也能透過螢幕朗讀以聽覺方式呈現。這有益於全盲、低視能及無法閱讀的玩家 (包括年幼玩家或有學習障礙的玩家)。

## 概述

螢幕朗讀會透過合成語音大聲讀出可見的 UI,包括選單文字、`press A to select` 提示以及重要的遊戲內資訊。它可以是**平台層級** (例如 Windows 朗讀程式) 或**遊戲專屬**。在決定是否必須自行建置之前,請先確認您的平台支援哪些功能。

其他可供性,例如音訊提示、空間音訊、觸覺回饋 ([XAG 103](/zh-TW/build/game-principles/accessibility/xag-deep-dives/xag-103-additional-cues)),通常比朗讀更好,也應一併探討。

## 範圍問題

請檢閱 [應支援朗讀的內容](#what-should-support-narration) 中的類別。如果您的遊戲包含其中任何一項,且遺漏該文字會阻礙玩家設定、開始或完成遊戲,則朗讀支援屬於適用範圍。

## 應支援朗讀的內容

支援並不代表預設朗讀,而是指當玩家啟用朗讀時,下列所有項目都會被大聲讀出。

* **所有畫面上的文字**:選單標籤、子標籤、角色、值、描述
* **控制互動提示**:`Press A to select`
* **遊戲內 UI**:HUD、物品欄、目標、提示、地圖
* **玩家之間的通訊**:傳入的派對聊天、聊天輪盤選項、預設訊息
* **影像、圖表、表格**:透過替代文字
* **即時更新**:傳入的聊天、快顯通知、錯誤訊息、好友加入/離開

### 何時應觸發朗讀

* **內容變更**:開啟對話方塊、切換畫面、進入載入畫面或從載入畫面進入遊戲
* **焦點變更**:在按鈕、清單項目、滑桿之間移動 (宣告新取得焦點的項目)
* **值/狀態變更**:滑桿值在變更時即時更新
* **即時通知**:錯誤、警示、資訊變更

## 如何朗讀項目

明眼玩家會看到名稱、角色、值/狀態、位置及互動可供性。使用朗讀的玩家應聽到相同的內容,通常依照下列順序:

1. **標籤/名稱**
2. **控制項類型/角色** (`combo box`、`toggle`、`slider`)
3. **值/狀態** (`Off`、`38%`、`collapsed`)
4. **索引** (`6 of 9`):放在字串的**結尾**。提供停用列舉的設定。
5. **互動模型** (`A to select`)

<Warning>
  不要過度朗讀。將關鍵資訊放在前面,並且在內容相同時,不要在每次焦點變更時重複靜態文字 (例如描述)。
</Warning>

## 實作指南

* **所有核心 UI 文字都支援朗讀**:主選單、選項、HUD、狀態變更、遊戲中的玩家、以時間為基礎的事件。優先使用平台螢幕助讀程式;若無法使用,請使用語音合成器。錄製的音訊檔案可作為後援,但並不理想。
* **可互動元素會列舉其子項目**,並公開輸入類型及目前的狀態/值。範例:`Worlds, Tab, 1 of 3, selected` 或 `Music Volume, slider, 52%`。
* **圖表、示意圖、圖片、動畫的替代文字**傳達與視覺內容相同的資訊。
* **替代文字描述 UI 元件的用途與操作** (例如 `Left mouse button for show spider preview`,而不是 `symbol`)。
* **純裝飾性**的非文字內容**不**朗讀。
* **焦點順序**與 UI 的含意及操作一致。在非線性版面配置中,焦點順序與視覺流程一致。
* **清單循環**:在線性 (僅上/下或左/右) 選單中,在最後一個項目之後循環回到第一個。在多方向選單 (圖格格線) 中,不要循環。提供啟用/停用循環的設定。
* **取消/重複朗讀**必須快速,不論輸入類型為何。
* **焦點變更時中斷**:當新元素取得焦點時,前一個元素進行中的朗讀會立即停止,然後讀出新元素。
* **語音速度與音調**:允許玩家調整。
* **內容變更盡可能由玩家發起**;內容變更後,宣告新的內容。
* **定時/週期性通知** (載入、配對、倒數計時) 可以每 7–10 秒重新讀出狀態,且不干擾其他朗讀。
* **外部螢幕助讀程式支援**需要:
  * 以程式設計方式公開遊戲的語言 (`en-us` 等)。如果 NPC 對話切換語言,也要公開,讓發音正確。
  * 替代文字描述內容,不要在字串中包含物件類型 (`Brown shield`,而不是 `Image: Brown shield`)。
  * 標記:完整的開始/結束標籤、有效的巢狀結構、沒有重複的屬性、唯一的 ID。
  * 對於所有 UI 元件,`name` 和 `role` 可透過程式設計方式判斷;使用者可設定的狀態、屬性和值可透過程式設計方式設定;變更會通知輔助技術。
* **以時間為基礎的媒體**具有描述該媒體的替代文字。對於即時內容,描述性標題就已足夠 (例如 `Clock displaying current time in Pacific Time`),不需要即時讀出值。
* **表格**完全無障礙:欄與列標題以程式設計方式與儲存格建立關聯,讓玩家瀏覽時保留內容。避免為表格使用單一的高階替代文字。
  * **單一儲存格:** `Column N, row N. Column header, row header. Cell contents.`
  * **在列內移動:** `Column header, column N, cell contents.`
  * **在欄內移動:** `Row header, row N, cell contents.`
* **發音指引**:提供機制,讓玩家了解如何發音專有名稱、技術術語或語言不確定的字詞。

## 對玩家的潛在影響

| 玩家 | 受影響 |
| - | :-: |
| 無視力的玩家 | ✔ |
| 低視能的玩家 | ✔ |
| 有認知或學習障礙的玩家 | ✔ |
| 不熟悉遊戲口說語言的玩家;非常年幼的玩家 | ✔ |

## 資源

* [Provide separate volume controls or mutes for effects, speech and background / Music](http://gameaccessibilityguidelines.com/provide-separate-volume-controls-or-mutes-for-effects-speech-and-background-music)
* [How to use Windows Narrator](https://www.howtogeek.com/392013/how-to-use-windows-narrator/)
* [UI 自動化概觀](https://learn.microsoft.com/windows/win32/winauto/uiauto-uiautomationoverview)
* [Designing for Screen Reader Compatibility (WebAIM)](https://webaim.org/techniques/screenreader/)
* [Ensure screenreader support for mobile devices](http://gameaccessibilityguidelines.com/ensure-screenreader-support-for-mobile-devices)
* [Ensure screenreader support, including menus & installers](http://gameaccessibilityguidelines.com/ensure-screenreader-support-including-menus-installers)


## Related topics

- [XAG 123:心理健康最佳做法](/zh-TW/build/game-principles/accessibility/xag-deep-dives/xag-123-mental-health-best-practices.md)
- [XAG 119:語音轉文字與文字轉語音聊天](/zh-TW/build/game-principles/accessibility/xag-deep-dives/xag-119-chat.md)
- [XAG 114:UI 內容脈絡](/zh-TW/build/game-principles/accessibility/xag-deep-dives/xag-114-ui-context.md)
- [XAG 121:無障礙功能文件](/zh-TW/build/game-principles/accessibility/xag-deep-dives/xag-121-accessible-feature-documentation.md)
- [XAG 120:溝通體驗](/zh-TW/build/game-principles/accessibility/xag-deep-dives/xag-120-communication-experiences.md)
