> ## 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 (メニュー テキスト、`A を押して選択` プロンプト、重要なゲーム内情報など) を合成音声で読み上げます。**プラットフォーム レベル** (Windows ナレーターなど) または **ゲーム固有** の実装が考えられます。独自に構築する必要があるかどうかを判断する前に、お使いのプラットフォームが何をサポートしているかを確認してください。

その他のアフォーダンス (オーディオ キュー、空間音響、触覚 ([XAG 103](/build/game-principles/accessibility/xag-deep-dives/xag-103-additional-cues))) は、ナレーションよりも優れている場合が多く、併せて検討する必要があります。

## スコーピング質問

[ナレーションをサポートすべきもの](#what-should-support-narration) のカテゴリを確認してください。ゲームにそれらのいずれかが含まれ、そのテキストを失うとプレイヤーがゲームの構成、開始、または完了をブロックされる場合、ナレーションのサポートは対象範囲内です。

## ナレーションをサポートすべきもの

サポートすることは、既定でナレーションを行うという意味ではありません。プレイヤーがナレーションを有効にしたとき、リストされたすべての内容が音声で読み上げられるということです。

* **すべての画面上テキスト** — メニュー ラベル、サブラベル、ロール、値、説明
* **コントロール操作プロンプト** — `A を押して選択`
* **ゲーム内 UI** — HUD、インベントリ、目標、ヒント、マップ
* **プレイヤー間コミュニケーション** — 受信中のパーティ チャット、チャット ホイール オプション、定型メッセージ
* **画像、図表、テーブル** — テキストの代替による
* **リアルタイム更新** — 受信中のチャット、トースト、エラー メッセージ、フレンドの参加 / 退出

### ナレーションが発火するタイミング

* **コンテキスト変化** — ダイアログを開く、画面切り替え、ロード画面に入る、ロード画面からゲームプレイに入る
* **フォーカス変化** — ボタン、リスト項目、スライダー間の移動 (新しくフォーカスされた項目をアナウンス)
* **値 / 状態の変化** — スライダー値が変化するたびに更新
* **リアルタイム通知** — エラー、アラート、情報の変化

## 項目のナレーション方法

視覚のあるプレイヤーは、名前、ロール、値/状態、位置、操作アフォーダンスを見ます。ナレーションを利用するプレイヤーも同じことを、通常は次の順序で聞くべきです。

1. **ラベル / 名前**
2. **コントロールの種類 / ロール** (`コンボ ボックス`、`トグル`、`スライダー`)
3. **値 / 状態** (`オフ`、`38%`、`折りたたみ`)
4. **インデックス** (`9 中 6`) — 文字列の **末尾** に配置します。列挙を無効化する設定を提供してください。
5. **操作モデル** (`A で選択`)

<Warning>
  ナレーションを過剰にしないでください。重要な情報を先に持ってきて、コンテキストが同じである間、フォーカス変化のたびに静的テキスト (説明など) を繰り返さないようにします。
</Warning>

## 実装ガイドライン

* **すべての中核 UI テキストがナレーションをサポート** します。メイン メニュー、オプション、HUD、状態変化、ゲーム内プレイヤー、時間ベースのイベントなど。可能ならプラットフォームのスクリーン リーダーを使用し、利用不可の場合は音声シンセサイザーを使用します。録音済みオーディオ ファイルはフォールバックとして使えますが理想的ではありません。
* **対話可能な要素は子要素を列挙し**、入力の種類と現在の状態 / 値を公開します。例: `ワールド、タブ、3 中 1、選択済み` または `音楽の音量、スライダー、52%`。
* **チャート、図表、写真、アニメーションのテキスト代替** は、視覚が伝えるのと同じ情報を伝えます。
* **テキスト代替は UI コンポーネントの目的と操作を説明します** (例: `symbol` ではなく `クモのプレビューを表示するには左マウス ボタン`)。
* **純粋に装飾的な** 非テキストは読み上げ **ません**。
* **フォーカス順序** は UI の意味と操作に一致します。非線形レイアウトでは、フォーカス順序は視覚的な流れに一致します。
* **リストのループ** — 線形 (上下または左右のみ) のメニューでは、最後の項目の後、最初の項目にループします。多方向メニュー (タイル グリッド) ではループしません。ループの有効化 / 無効化の設定を提供します。
* **ナレーションのキャンセル / 繰り返し** は、入力の種類にかかわらず素早く行えなければなりません。
* **フォーカス変化時の中断** — 新しい要素がフォーカスを得ると、前の要素の進行中のナレーションはただちに停止し、新しい要素が読み上げられます。
* **音声のペースとピッチ** — プレイヤーによる調整を許可します。
* **コンテキスト変化はプレイヤー起点** で行われるようにし、可能な範囲でコンテキスト変化後は新しいコンテキストをアナウンスします。
* **タイマー / 定期通知** (ロード、マッチメイキング、カウントダウン) は、他のナレーションを妨げずに 7 \~ 10 秒ごとに状態を再読み上げできます。
* **外部スクリーン リーダーのサポート** には以下が必要です:
  * ゲームの言語 (`en-us` など) をプログラム的に公開します。NPC の対話で言語が切り替わる場合はそれも公開し、正しい発音になるようにします。
  * Alt テキストはコンテンツを説明します。文字列にオブジェクトの種類を含めないでください (`画像: 茶色の盾` ではなく `茶色の盾`)。
  * マークアップ: 完全な開始/終了タグ、有効なネスト、属性の重複なし、一意の ID。
  * すべての UI コンポーネントで、`name` と `role` はプログラム的に判定可能。ユーザーが設定できる状態、プロパティ、値はプログラム的に設定可能。変化は支援技術に通知されます。
* **時間ベースのメディア** には、メディアを説明するテキスト代替があります。ライブ コンテンツでは、リアルタイム値の読み上げではなく、説明的なタイトル (例: `太平洋時間の現在時刻を表示する時計`) で十分です。
* **テーブル** は完全にアクセシブルにします。列と行のヘッダーはセルとプログラム的に関連付けられ、プレイヤーが移動してもコンテキストが保持されます。テーブルに単一の高レベル alt テキストを付けることは避けてください。
  * **単一セル:** `列 N、行 N。列ヘッダー、行ヘッダー。セルの内容。`
  * **行内移動:** `列ヘッダー、列 N、セルの内容。`
  * **列内移動:** `行ヘッダー、行 N、セルの内容。`
* **発音ガイダンス** — 固有名、専門用語、または言語が不確定な単語の発音方法をプレイヤーが理解できるメカニズムを提供します。

## プレイヤーへの潜在的な影響

| プレイヤー                          | 影響あり |
| ------------------------------ | :--: |
| 視覚のないプレイヤー                     |   ✔  |
| 弱視のプレイヤー                       |   ✔  |
| 認知障害または学習障害のあるプレイヤー            |   ✔  |
| ゲームの発話言語に堪能でないプレイヤー、非常に若いプレイヤー |   ✔  |

## リソース

* [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 Automation Overview](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: メンタル ヘルスのベスト プラクティス](/ja-jp/build/game-principles/accessibility/xag-deep-dives/xag-123-mental-health-best-practices.md)
- [XAG 119: 音声認識およびテキスト読み上げチャット](/ja-jp/build/game-principles/accessibility/xag-deep-dives/xag-119-chat.md)
- [アクセシビリティメタデータ](/ja-jp/publishing/game-publishing/concepts/metadata-accessibility.md)
- [XBOX Accessibility Guidelines (XAG)](/ja-jp/build/game-principles/accessibility/xbox-accessibility-guidelines.md)
- [XAG 112: UI ナビゲーション](/ja-jp/build/game-principles/accessibility/xag-deep-dives/xag-112-ui-navigation.md)
