> ## 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 101：文本显示

> 通过最小默认字号、可配置的样式与颜色，以及足够的间距，优化文本可读性，让低视力玩家能够阅读所有内容。

## 目标

通过以最小默认字号与间距显示文本，并提供可配置的样式与颜色选项，确保所有玩家（包括低视力玩家）都能获得优化的文本可读性。

## 概述

大约 **29 亿人** 存在某种程度的低视力——模糊、混浊或部分视觉丧失，且无法通过眼镜完全矫正。情境性障碍（屏幕距离过远、手机小屏、电视静音、房间嘈杂等）同样会让文字难以阅读。

如果玩家看不清菜单文本，可能在游戏开始前就被拦住。文本还承载 HUD、目标、提示、NPC 对白和玩家聊天——文本一旦失效，游戏体验也就随之流失。

## 范围界定问题

您的游戏是否需要阅读？

* 可导航的菜单是否基于文本？
* 游戏过程中屏幕上是否出现文字（HUD、目标、路点、NPC 对白）？
* 玩家是否可以通过文字聊天、聊天轮盘、STT/TTS 进行交流？

## “文本显示”涵盖的内容

* **字号** — 文字可显示的大小
* **字面** — 粗体、斜体、细体
* **字重** — 笔画粗细
* **样式** — 字体家族
* **间距** — 字母、单词、行之间的间距
* **对齐** — 水平方向的对齐方式
* **大小写** — 句首大写、全大写
* **颜色** — 相对背景的可见性（参见 [XAG 102：对比度](/build/game-principles/accessibility/xag-deep-dives/xag-102-contrast)）

<Tip>
  最佳做法是**让玩家选择**。提供配置，让每位玩家都能按自身需求调节文本。
</Tip>

## 字号的测量

XAG 中的字号指**主体高度（body height）**——从最低的下伸部到最高的上伸部之间的像素距离。

<Steps>
  <Step title="截取文本">
    在游戏中对文字进行截图，并在 Microsoft Paint 中打开。
  </Step>

  <Step title="找到最高的上伸部与最低的下伸部">
    找一个含有 `g`、`y`、`h`、`b` 等字母的单词，以确定完整的主体高度。
  </Step>

  <Step title="处理描边">
    仅当彩色描边像素与背景的对比度超过 **2:1** 时，才将其纳入计算；较柔和的抗锯齿像素不计入。
  </Step>

  <Step title="绘制选区">
    从最高的上伸部到最低的下伸部绘制矩形选区。Paint 会在左下角显示像素高度——这个数字就是字号。
  </Step>
</Steps>

## 必须具备无障碍性的关键区域

* **菜单画面** — 标签、副标签、描述、交互提示
* **游戏环境** — HUD 计量条、指示提示、物品栏按键
* **聊天输入框** — 占位文本与已输入的消息
* **聊天窗口** — 已发送与已接收的消息
* **聊天轮盘** — 预设的通讯轮盘选项
* **字幕与隐藏字幕**
* **错误消息、Toast 及通知**
* **含有价值信息的加载画面**

## 实施指南

### 最小默认字号

以主体高度（下伸部 + x-高度 + 上伸部）度量。

<Note>
  这些是**发布时的最小默认值**。请提供由玩家自主放大或缩小的选项。
</Note>

| 平台                            | 分辨率 / DPI | 最小主体高度 |
| ----------------------------- | --------- | ------ |
| **主机**                        | 1080p     | 26 px  |
| **主机**                        | 4K        | 52 px  |
| **PC / VR**                   | 1080p     | 18 px  |
| **PC / VR**                   | 4K        | 36 px  |
| **移动端 / XBOX Game Streaming** | 100 DPI   | 18 px  |
| **移动端 / XBOX Game Streaming** | 200 DPI   | 36 px  |
| **移动端 / XBOX Game Streaming** | 400 DPI   | 72 px  |

移动设备的 DPI 通常远高于电视或 PC 显示器，因此相同视觉大小的文字需要更多像素。5.5 英寸 1080p 屏幕约为 400 DPI。随着 DPI 的提高，请按线性比例放大。

<Warning>
  平台自带的屏幕放大器**不能**替代对最小字号的达标。
</Warning>

### 图标与字形尺寸

* 图标与字形**内部**的文本（例如 X 按键字形中的 `X`）需要满足上述最小尺寸要求。
* 图标与字形随文本缩放，最大可达最小默认值的 **200%**。
* 为让字形保持在文本容器内，可能需要放大周围文本以让整个字形能容纳在一行内。

### 文本缩放

* 玩家可将文本放大至最小值的 **200%**，且不损失内容、功能或含义。
* 缩放后，大号标题文本在视觉上仍与正文文本有明显区分。
* 缩放到超出屏幕的文本需要有阅读方式（滚动文本、弹出气泡或合适的缩写）。
* 单个 UI 内的缩放绝不能强制出现双向滚动。单向滚动可以接受。
* 在用户主动选择的前提下，允许文本**小于**默认值。

### 字体样式

* 至少包含一种**无衬线**字体选项。
* 若使用风格化字体（如滴血、哥特体等），需提供非风格化的替代字体。
* 所有字体针对每种受支持语言都包含完整的字符集。

### 文本间距

更大的间距能提升清晰度，尤其在字号较大时。对于标准字号下超过两行的文本块：

* 优先让玩家自行配置行宽、行距、段距、字符间距和单词间距。
* 若不提供配置，则须满足以下最小值：

| 属性          | 最小值                                   |
| ----------- | ------------------------------------- |
| **行宽**      | ≤ 80 个字符（CJK 为 40 个），按 100% 缩放测量，不含空格 |
| **行距（行间距）** | 段内 ≥ 1.5×，按上伸部到上伸部测量                  |
| **段距**      | ≥ 行距的 2×                              |
| **字符间距**    | ≥ 字号的 0.12×                           |
| **单词间距**    | ≥ 字号的 0.16×                           |

### 大小写与对齐

* **大小写** — 提供以句首大写显示文本的能力，而非全部大写或全部小写。一到两个词的标签不受此限。
* **对齐** — 按玩家语言偏好左对齐或右对齐（而非居中或两端对齐），或允许玩家自行调整。

## 潜在的玩家影响

| 玩家                               | 受影响 |
| -------------------------------- | :-: |
| 低视力玩家                            |  ✔  |
| 色觉极弱或无色觉的玩家                      |  ✔  |
| 完全失聪的玩家                          |  ✔  |
| 听力受限的玩家                          |  ✔  |
| 有认知或学习障碍的玩家                      |  ✔  |
| 在小屏 / 远距离 / 受眩光影响 / 低对比度显示上阅读的玩家 |  ✔  |

## 资源

* [Clear Text (accessible.games)](https://accessible.games/accessible-player-experiences/access-patterns/clear-text/)
* [Distinguish This From That (accessible.games)](https://accessible.games/accessible-player-experiences/access-patterns/distinguish-this-from-that/)
* [Allow the font size to be adjusted (Game Accessibility Guidelines)](http://gameaccessibilityguidelines.com/allow-the-font-size-to-be-adjusted/)
* [Provide a choice of text colour, low/high contrast as a minimum](http://gameaccessibilityguidelines.com/provide-a-choice-of-text-colour-lowhigh-contrast-choice-as-a-minimum)
* [Use simple clear text formatting](http://gameaccessibilityguidelines.com/use-simple-clear-text-formatting/)
* API：[XGameStreamingGetStreamPhysicalDimensions](https://developer.microsoft.com/games/xbox/docs/gdk/Xgamestreaminggetstreamphysicaldimensions) *(NDA)*


## Related topics

- [XAG 102：对比度](/zh-CN/build/game-principles/accessibility/xag-deep-dives/xag-102-contrast.md)
- [XAG 123：心理健康最佳实践](/zh-CN/build/game-principles/accessibility/xag-deep-dives/xag-123-mental-health-best-practices.md)
- [PlayFab Party 语音转文本和文本显示 UX 指南](/zh-CN/services/playfab/community/voice-communications/party-speech-to-text-ux-guidelines.md)
- [XBOX Accessibility Guidelines（XAG）](/zh-CN/build/game-principles/accessibility/xbox-accessibility-guidelines.md)
- [Gaming and Disability Player Experience Guide](/zh-CN/build/game-principles/accessibility/gadpeg.md)
