> ## 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 115：错误消息与破坏性操作

> 检测并描述输入错误，在破坏性操作前警示玩家，并允许他们在提交之前审阅、撤销或重置选择。

## 目标

确保玩家能够在永久性或破坏性操作发生之前发现并纠正输入错误。

## 概述

输入错误（错字、误触）非常常见。使用语音输入、自适应硬件的玩家，或有动作、学习障碍的玩家更常遇到。账号创建、购买、存档或破坏性游戏决策（拆解稀有物品、遣散 NPC 同伴）中出现的错误可能带来永久性后果——提供审阅/撤销选项对每个人都有帮助。

## 范围界定问题

* 您的游戏是否要求玩家输入用户名、密码或其他有格式要求的信息？
* 您的游戏是否提供保存信息（游戏进度、设置）的功能？
* 您的游戏是否提供内购机会？
* 您的游戏是否包含文本输入框（角色名、密码）？
* 您的游戏是否包含在误操作时会损害体验的不可逆决策？

## 实施指南

### 清晰地描述错误

* 若自动检测到输入错误（例如密码错误），请以多种方式（文字与语音旁白）描述错误及纠正方法。

<Note>
  会危及内容安全或目的的信息不受此限——例如不要泄露正确的密码。给出通用的密码规则提示是可以的。
</Note>

**示例：** 《Gears 5》的匹配错误提示会解释失败原因（“您的小队人数超过上限……”），让玩家能自行纠正。

### 让错误在视觉上易于区分

* 错误与警告消息应在视觉上易于与屏幕上其他文本区分。示例：《Forza Horizon 4》的“未保存更改”警告会模糊背景，使用红色焦点指示器、大号文本和感叹号图标。

### 在错误发生处强调

* 在错误与警告发生的位置进行视觉强调。示例：PuzzleBlaster 的密码表单会在未满足的条件下加下划线，加星号，并附带“未满足”文本供旁白用户识别。

### 审阅与撤销

* 若某项操作会删除或修改已保存数据，请在提交前给玩家审阅、纠正或完全撤销的机会。
* 示例：《Grounded》在未应用即退出设置时会提示“检测到未应用的更改”，并为所有设置提供“恢复出厂默认值”的复位功能。
* 为永久性或破坏性操作（内购、出售物品、覆盖存档）提供审阅、确认与撤销机制。
  * 示例：《Fallout 76》的商人购买采用两步确认。
  * 示例：《赛博朋克 2077》在角色创建时若玩家尝试带着未分配的属性点进入下一步，会警告这些点将丢失。

### 避免按住确认

* 不要要求以按住按钮的方式确认破坏性操作。请提供替代选项。

## 潜在的玩家影响

| 玩家           | 受影响 |
| :----------- | :-: |
| 无视觉的玩家       |  ✓  |
| 低视力玩家        |  ✓  |
| 有认知或学习障碍的玩家  |  ✓  |
| 触及范围和力量有限的玩家 |  ✓  |
| 精细动作能力有限的玩家  |  ✓  |
| 希望避免误购买的玩家   |  ✓  |

## 资源

* [Nielsen Norman Group: Preventing User Errors — Avoiding Conscious Mistakes](https://www.nngroup.com/articles/user-mistakes/)


## Related topics

- [XBOX Accessibility Guidelines（XAG）](/zh-CN/build/game-principles/accessibility/xbox-accessibility-guidelines.md)
- [审计日志](/zh-CN/services/playfab/live-service-management/gamemanager/audit-logs.md)
- [XAG 101：文本显示](/zh-CN/build/game-principles/accessibility/xag-deep-dives/xag-101-text-display.md)
- [XR-124 游戏邀请](/zh-CN/publishing/certification/xr/xr-124.md)
- [处理 Lobby 和 Matchmaking C++ SDK 错误](/zh-CN/services/playfab/multiplayer/lobby/lobby-and-matchmaking-client-sdk-errors.md)
