Xbox アクセシビリティ ガイドライン 106: 画面ナレーション
目的
この XAG の目標は、画面上のすべての視覚情報を画面ナレーション ソフトウェアを介して聴覚的に表現できるようにすることです。 これは、失明、弱視、学習障碍、または一時的/状況的要因などのために画面上のコンテンツを読むことができないプレイヤーに利益をもたらします。
概要
画面ナレーション テクノロジーは、視力のないプレイヤーや弱視のプレイヤーによってよく使用されます。 ただし、画面をはっきりと見ることはできるが、年齢や学習障碍のために読むことができないプレイヤーもいます。 スクリーン リーダーは、合成された音声によって画面上に表示される情報を表現します。 メニュー テキスト、指示 (“Aを押して選択”)、プレイに必要なアクティブなゲーム環境内の視覚情報などの要素が読み上げられます。 これにより、プレイヤーが画面を読み取ることができない場合に画面を読み取る必要がなくなります。
画面読み上げテクノロジーは、プラットフォーム全体のテクノロジーまたはゲーム固有のテクノロジーのいずれかを通じて活用できます。 特定のタイトルで既存のプラットフォーム レベルのテクノロジーを活用できるかどうか、またはゲームの画面読み上げシステムを作成する必要があるかどうかを判断するには、プラットフォーム プロバイダーに詳細を確認してください。
プラットフォーム レベルのスクリーン リーダーを開発する場合でも、ゲーム固有の画面読み上げテクノロジを最初から作成する場合でも、次のガイドラインに留意することが重要です。 これらのガイドラインは、画面読み上げテクノロジを使用するプレイヤーに対して、必要なすべての視覚情報を正確かつ包括的に表現するのに役立ちます。
範囲を絞るための質問
まず、次の「ゲームのどのような側面でナレーションをサポートする必要があるか?」の項目を確認してください。 セクション。
ゲームにはこれらの要素のいずれかが含まれていますか?
あなたのゲームでは、これらの要素はプレイヤーに重要な情報を提示しますか?
プレイヤーがこれらの重要なテキスト要素のいずれかを読むことができなかった場合、ゲーム全体の構成、開始、またはプレイがブロックされますか?
注意
非視覚的方法で視覚情報を表現する手段として、音声的な合図、空間オーディオ、触覚フィードバックなどの他のアフォーダンスも検討する必要があります (XAG 103 を参照してください)。 これらの種類のアフォーダンスは、要素のゲーム内ナレーションよりも優れたエクスペリエンスを提供できます。 ただし、この方法ですべての種類の情報を簡単に表現できるわけではありません。
背景情報と基本情報: 画面のナレーション
画面ナレーションの概要:
このセクションには、画面のナレーションをサポートする必要があるゲームの基本コンポーネントの範囲を限定することを目的とした概要レベルのガイダンスが含まれています。
ゲームのどの側面がナレーションをサポートする必要がありますか?
ナレーションのサポートとは、項目を既定でナレーションする必要がなくても、プレイヤーがコンソールまたはゲーム内のナレーション機能を有効にすれば、これらの領域がプレイヤーに読み上げられるということです。
すべての画面上のテキスト:
メニュー ラベル、サブラベル、役割、値、説明テキスト
"A を押して選択する" などのコントロールの種類/操作方法
ゲーム内の UI 要素: ヘッドアップ ディスプレイ (HUD) (在庫や正常性など)、目的、ヒント/手がかり、マップなど。
例 (展開可能)
Sea of Thieves では、赤と緑の長方形のインジケーターが、画面のナレーションでサポートする必要がある単一のメニュー画面に表示されるさまざまな種類のテキストを示します。 これらの項目をナレーションする方法に関する詳細については、このトピックの後半の「項目をどのようにナレーションする必要があるか」セクションを参照してください。
注意
この画像は、この例にフォーカスがある画面上の領域を強調するために、赤と緑の長方形のインジケーターを含むように編集されています。 これらの赤と緑の長方形は、Sea of Thieves UI の一部ではありません。
この Gears Tactics の例では、"戦術コミュニケーション" ダイアログ ボックスが画面に表示されるとすぐに完全なナレーションが付けられます。 敵の健康状態、ヒット計算、ヒット チャンス、クリティカル計算など、ゲーム内エクスペリエンスの他の側面についても説明します。 この例は、メニュー要素を超えたナレーションの概念を示しています。 HUD 要素、ヒント、手がかり、およびその他のゲーム内要素をナレーションする際のベスト プラクティスのガイドラインの詳細については、"項目のナレーション方法"および このトピックで後述する “リソースとツール” のセクションを参照してください。
注意
このビデオは、この例にフォーカスがある画面上の領域を強調するために、緑色の長方形のインジケーターを含むように編集されています。 これらの緑色の長方形は、Gears Tactics UI の一部ではありません。
プレイヤー間のコミュニケーション: 着信するパーティー チャット メッセージ、チャット ホイールのオプション、または事前に作成されたメッセージング オプション
例 (展開可能)
Minecraft のように、プレイヤーがテキスト チャット メッセージのみを介して通信するゲームでは、着信チャットメッセージをナレーションすることが重要です。 プレイヤーが着信チャット メッセージを読むことができない場合、他のプレイヤーに応答したり、マルチプレイヤーの雰囲気に完全に関与したりすることはできません。 ゲームで画面のナレーションが有効になっている場合、これらの着信メッセージはプレイヤーに読み上げる必要があります。 このビデオの例では、別のプレイヤーが"こんにちは! 私の世界へようこそ! <3」 - これがスクリーン リーダーによって読み上げられます。
ナレーションをサポートする着信メッセージに加えて、チャット ホイールの選択やその他の種類の事前に作成されたチャット メッセージなどの発信メッセージ オプションは、画面のナレーションが有効になっているときに読み上げる必要があります。 プレイヤーは、送信する前に、どんなメッセージを送信しようとしているかを知ることができる必要があります。
画像、図、表
例 (展開可能)
装飾的でない画像には、ナレーションを介して読み上げる代替テキストの説明が必要です。 ゲーム プレイの鍵となる情報を提供する図や表にも、ナレーション付きの高レベルの説明が必要です。 図や表自体の内容にも完全にアクセスできる必要があります。
ゲーム プレイの鍵となる情報を提供する画像またはグラフィックには、スクリーン リーダーでナレーションできる代替テキストの説明も必要です。 この例では、プレイヤーはシングルプレイヤー モードまたはマルチプレイヤー モードのどちらかを選択できます。 ゲームには 2 つの画像しかありません。1 つは一人で立っている人、もう 1 つは一緒に立っている複数の人です。 プレイヤーが画像の表示内容を確認できない場合、選択しているゲーム モードを知ることはできません。 この場合、スクリーン リーダーは、左側の 1 人のユーザーのアイコンにフォーカスがあるときに、説明テキスト "シングル プレイヤー" を読み上げます。 また、右側の複数のユーザーのアイコンにフォーカスがある場合に、説明テキスト "マルチプレイヤー" を読み上げます。これにより、画面コンテンツを見ることができないプレイヤーが、このようなゲームの側面からブロックされないようにすることができます。
リアルタイムの更新と通知 (着信チャット、トースト メッセージ、エラー メッセージ、フレンドのゲームへの参加またはゲームからの離脱)
例 (展開可能)
Minecraft で画面のナレーションが有効になっている場合、プレイヤーが Realm に参加すると、テキスト通知が音声でナレーションされます。
ナレーションはいつ発生する必要がありますか?
次のイベントのいずれかが発生した場合、これらの変更は適切にナレーションされる必要があります。
コンテキストの変更 (ダイアログを開くか、別のアプリを開く)
例 (展開可能)
これは、プレイヤーが表示されている画面のコンテンツの大きな変更を指します。 これらの変更には、あるメニュー画面から別のメニュー画面への変更、画面上で開くダイアログ ボックスなどのイベント、またはプレイヤーの認識や可視性なしに行われた場合に非常に混乱するその他の重要なイベントが含まれます。Sea of Thieves メニュー UI のこの例では、プレイヤーが新しい画面に進むたびに、コンテキストに大きな変化があります。 そのため、新しい画面のタイトルがすぐにナレーションされます。 ([エクスペリエンスを選択] > [船を選択] > [ガリオン船] > [乗組員タイプを選択] > [読み込み中] > [乗組員元帳を開いています])。
Sea of Thieves の例のように、コンテキストの変更の中にはプレイヤーが開始するものもありますが、そうでないものもあります。 この Minecraft の例では、プレイヤーは自分の Realm を選択します。 コンテキストが紫色のローディング画面に変わると、ローディングの進行中に "Realm への参加中" がアナウンスされます。 ロードが完了し、プレイヤーがゲーム環境内にいると、ロード画面からゲーム環境へのコンテキストのこの変更を示すために"完了"がアナウンスされます。 この合図がないと、視覚に障碍があるプレイヤーは、敵に攻撃されるなどの悪影響なイベントが音声的な合図または触覚フィードバックを生成するまで、アクティブなゲーム環境にいることに気づけない可能性があります。 ゲーム プレイが開始されたことをアナウンスすると、プレイヤーへの不確実性や悪影響の可能性が即座に排除されます。
注意
プレイヤーからの開始なしにフォーカスを変更しないか、コンテキストが変更されることを非常に明確にすることが最善です。 場合によっては、ローディング画面の場合のように、これを避けることはできません。
フォーカスの変更 (別のボタンに移動したり、ゲームリスト内の別のゲームに移動したりする)
例 (展開可能)
Gears 5 のこの例では、フォーカスが新しいメニュー要素に変更されると、その要素のナレーションが始まります。 ナレーションは通常、新しいアイテムにフォーカスが当てられたときに開始する必要があります。
この Forza Horizon 4 の例では、プレイヤーがスライダーを動かすたびに、ナレーションがスライダー レベル値の変更をアナウンスします。
リアルタイムの通知の変更、情報の変更、エラー メッセージまたはアラート。
例 (展開可能)
この Gears 5 の例では、エラー メッセージを含むダイアログ ボックスが表示されます。 このエラー ボックス内のすべての情報は、ダイアログ ボックスが表示されるとすぐにプレイヤーにアナウンスされるため、プレイヤーは画面のコンテキストと、エラーを修正する方法を認識できます。
項目はどのようにナレーションされるべきですか?
プレイヤーの主な知覚感覚に関係なく、すべての要素にラベルを付ける必要があります。 視力のあるプレイヤーがコントロールのラベルを表示して読み取ることができる場合、視力のないプレイヤーはナレーションを介して同じラベルを聞く必要があります。
Web とソフトウェアの両方で、この情報は通常、次の順序でプレイヤーに提供されます。 名前、役割、値/状態、インデックス作成 (必要な場合)、操作方法 (必要な場合)。
ナレーションには、次の重要な情報を含める必要があります。
ラベル/名前
例 (展開可能)
Grounded の [設定] メニューの例では、強調表示された "ラベル" をプログラムで説明し、プレイヤーに読み上げる方法の例を次に示します。
“Quality”
“V-Sync”
“Gamma”
コントロールの種類/役割
例 (展開可能)
理論的には、プレイヤーがゲーム メニュー内で移動できるものはすべて、アクション可能なアイテムです。 すべての項目がコントロールの種類を持つ必要があります。 コントロールの種類は、コントロールの操作方法を提案するため、ここに不正確さがあれば、プレイヤーがコントロールの操作方法を発見できなくなる可能性があります。この例では、次のフレーズは、このメニューで強調表示されたラベルとコントロールの種類をプログラムで記述し、プレイヤーに読み上げる方法を表しています。
“Quality、コンボ ボックス”
“V-Sync、トグル”
“Gamma、スライダー”
値/状態
例 (展開可能)
すべてではないにしても、多くのメニュー項目には、変動が単に「オン」または「オフ」である場合でも、変数値があります。 ドロップ ダウンの場合、コントロールの状態 ("折りたたまれました")の追加のアナウンスも必要です。この例では、次のフレーズは、このメニューで強調表示されたラベル、コントロールの種類、および値をプログラムで記述し、プレイヤーに読み上げる方法を表しています。
"Quality、ドロップ ダウン、折りたたまれました、高"
“V-Sync、トグル、オフ”
“Gamma、スライダー、38%”
インデックス作成/列挙
例 (展開可能)
メニュー内の項目の位置と数。 視力のないプレイヤーが混乱することなく、すべてのコントロールを見つけたことを確信できるようにします。この例では、次のフレーズは、このメニューで強調表示されたラベル、コントロールの種類、値、および位置の列挙をプログラムで記述し、プレイヤーに読み上げる方法を表しています。
"Quality、ドロップ ダウン、折りたたまれました、高、9 中の 3"
“V-Sync、トグル、オフ、9 中の 5”
“Gamma、スライダー、38%、9 中の 6”
ナビゲーション/インタラクション モデル
例 (拡張可能)
1 つのプラットフォームのほとんどのゲームにはコントロールの標準があります。 Xbox の B ボタンはほとんどの場合エスケープと同等ですが、すべてのゲームが RB と LB を使用して "オプション" メニューのサブメニュー間を移動するわけではありません。 視力のあるプレイヤーには、ほとんどの場合、必要に応じて何らかのボタン プロンプトが表示されるため、ナレーションを介して同じ情報を利用できるようにする必要があります。この例では、“A” グリフは視覚的な操作プロンプトを表しています。 スクリーン リーダーを使用しているプレイヤーも、このプロンプトを "A to Select" と読み上げる必要があります。
その他の主な概念
アクションの確認: アクションの確認とは、プレイヤーが何かをしようとしたこと、およびフィードバックによってそれを行ったとわかることを意味します。 また、各アクションで何が起こるかを予測できるように、何に基づいて行動しようとしているのかを知る必要があります。 たとえば、プレイヤーは好みの設定を構成し、"A を押して保存" という操作プロンプトから構成を保存する方法がわかります。 "A" を押しても何も起こらない場合は、作業が保存されているかどうかがわかりません。 "A" を押した時にゲームにより "設定を保存しました" とナレーションが付けられるなら、プレイヤーは目的の設定が正常に保存されたことを認識し、自信を持って次の UI 画面に進むことができます。
UI 階層と直感的なナビゲーションの順序: これはプレイヤーにとって一貫性があり直感的である必要があります。 この領域の詳細なガイダンスについては、「XAG 112: UI ナビゲーション」を参照してください。
注意
ナレーションの付けすぎは避けてください。 必要なすべての情報が画面読み上げが有効になっているプレイヤーに確実に伝達されるようにすることは重要ですが、ナレーションが多すぎると、プレイヤーにとって繰り返しが多くなり、気が散る可能性があります。
たとえば、テキスト チャット メッセージを次のようにナレーションせずに、下段の例のように扱います。"iheartgames4ever 'あなたは左に行きます、私は右に行きます'、方向パッドを上に押してチャット ウィンドウをアクティブにします。 設定に移動してショートカットを変更します。 設定に移動して、チャットを取得したときに聞こえる情報の量を変更します。
重要な情報をフロント ロードし、リアルタイムでの繰り返しナレーションを排除することで、簡素化できます。 ただし、これらのコマンドまたはオプションが設定で、またはチャットペイン自体で単一のリマインダーとして確実に見つかるようにすることが重要です。
- 簡略化された例: "iheartgames4ever 『あなたは左に行きます、私は右に行きます』"
実装ガイドライン
すべてのコア ゲーム UI テキスト (メイン メニュー、オプション、HUD、状態の変更、ゲームのプレイヤー、時間ベースのイベント) は、プラットフォームで利用できるスクリーン リーダーをサポートするか、音声シンセサイザーを使った UI の読み上げをサポートしている必要があります。 録音したオーディオ ファイルの使用も解決策となりますが、理想的ではありません。 ("テキスト" とは、こうした技術を使用して読み上げることができるテキストを指します)。
例 (展開可能)
操作可能な UI 要素については、コンテンツの内容、そこにある理由、操作に必要な入力 (コンテンツがコントロールの場合) をプレイヤーが理解できるように、機能を説明する代替テキストを用意します。
ビデオ リンク: インタラクティブ UI 要素のテキスト代替
Forza Horizon 4 では、ゲームが読み込まれた後、プレイヤーは最初の画面に移動します。 プレイヤーが先に進むには、2 つの操作可能なオプションから選択する必要があります。 ゲームの画面ナレーションは、画面上の操作可能なボタン プロンプトを、"A ボタンを押して開始" および "X ボタンを押してアクセシビリティ" として適切に読み上げます。
リスト、タブ、ラジオ ボタン、チェック リスト、またはコンボ ボックスとして動作する操作可能な UI 要素は、その要素に属する子項目の数、要素に必要な入力のタイプ、およびその要素の入力の現在の状態または値を列挙する必要があります。 例として、"ワールド、タブ、3 中の 1、選択済み" または "音楽の音量、スライダー、52%"
列挙は、ナレーション付きの文字列の最後で行う必要があります。 たとえば、"Gamma、スライダー、38%、9 中の 6" などです。
簡易化されたナレーションを好むプレーヤーのために、列挙ナレーションを無効にするオプションを提供できます。
例 (展開可能)
Forza Horizon 4 のアクセシビリティ メニューの例では、フォーカスされているユーザー インターフェイス要素の次の側面が適切にナレーションされています。
"強調表示されたオプション: オンライン イベント通知": 現在フォーカスがある要素のラベルをプレイヤーに通知します。
"オプション 8 中の 7": プレイヤーの位置認識を支援し、この特定のメニュー内で使用可能な "設定" オプション要素の数を通知します。 この場合、プレイヤーは合計 8 つのメニュー要素があり、現在 7 番目にあることがわかります。
"コントロールの種類: 値セレクター": この設定の入力をプレイヤーに通知します (この点はドロップ ダウン メニュー/リスト、スライダー、またはチェック ボックスとは異なります)。
"現在の値: オフ": 現在の値が何として設定されているかをプレイヤーに通知します。 (たとえば、この値を変更する際に何もしなかった場合、これが現在のゲーム プレイ設定のままになります)
"値 2 中の 1": 合計 2 つの "オンライン イベント通知" 値オプションから選択できることをプレイヤーに通知します。 現在の「オフ」の値に加えて、さらに 1 つあります。”
要素の説明を読む: “新しいホライゾン ライフ イベントの通知をオフにする”: この設定の目的をプレイヤーに通知します。 画面ナレーションなどの支援技術を使用しているプレイヤーが、必要に応じてこの情報を読むことができる視力のあるプレイヤーを含む、他のすべてのプレイヤーと同等の情報を確実に受け取るようにします。
"A ボタン 承認"、"B ボタン 戻る"、"Y ボタン 既定にリセット": 必要な変更を実装するために必要な入力メカニズムまたはインタラクション モデルをプレイヤーに通知します。
注意
説明やインタラクション モデル/入力メカニズムなどの要素が読み上げられた後、このメニューでフォーカスや値を変更するたびに、これらの項目が繰り返されることはありません。 というのは、プレイヤーがこの UI 画面のコンテキスト内にいる間は、この種の情報は変わらないからです。 このようなナレーションは、プレイヤーにとって気が散り、繰り返し過剰になる可能性があります。
グラフ、図表、画像、アニメーションの代替テキストは、オーディオ出力に変換できる形式で同じ情報を伝える必要があります。 代替テキストは、テキスト以外のコンテンツの情報を伝えるために必要な場合に使用できます。
例 (展開可能)
チャート、図、写真、アニメーション、またはその他のグラフィックの形式で情報を提示するゲームには、コンテンツを説明する適切な代替テキストが必要です。 ゲームのコントロール スキームを表示する図にあるこの例では、次の代替テキストを書き込み、ゲーム コントロールのグラフィクスや画面にフォーカスを受けたときに、スクリーン リーダーによって読み上げられる必要があります。
"ゲーム コントロール"
「左を狙う –
<
ポーズ>
左矢印キー」<
長いポーズ>
「右を狙う –
<
ポーズ>
右矢印キー」<
長いポーズ>
「長距離射撃 –
<
ポーズ>
上矢印キー」<
長いポーズ>
「近距離射撃 – 下矢印キーを
<
ポーズ>
」<
長いポーズ>
「発射 –
<
ポーズ>
マウスの右クリック」<
長いポーズ>
"ブースト ブラスト –
<
ポーズ>
マウスの左クリック"情報の順序は、プレイヤーにとって最も直感的な順序で提示する必要がありますが、主な目的は、この図から視覚的に収集できるすべての情報がスクリーン リーダーの音声出力を通じてもレンダリングされるようにすることです。
グラフィックスの代替テキストが UI コンポーネントの目的と操作を伝えるようにします。
例 (展開可能)
Grounded では、「クモ恐怖症セーフモード」スパイダー プレビュー ウィンドウの代替テキストは、画面ナレーション ソフトウェアによって「スパイダープ レビューを表示するための左マウスボタン」として読み取られます。 これは、テキスト文字列内のマウス アイコンを「記号」または別のプログラムで正しくない代替テキスト ラベルではなく「左マウス ボタン」として読み取るため、代替テキストを記述する適切な方法です。
テキスト以外のコンテンツで、純粋に装飾的なもの、視覚的な書式設定のみに使用されるもの、視覚的に表現されないものは、音声にする必要はありません。
例 (展開可能)
Forza Horizon 4 のこの例では、設定メニュー要素がフォーカスを受け取ると、ナレーションは "強調表示されたオプション: 設定、コントロールの種類: ボタン…" と読み上げます。 歯車のグラフィックが設定メニュー要素に表示されていいますが、歯車は単なる装飾要素であるため、その存在はスクリーン リーダーによって認識または読み上げられません。 同様に、雲の画像、"車の変更" メニューの車の画像、無効になっている要素に表示される "ロック" 記号などその他多くの要素も装飾的なのでスクリーン リーダーが読み上げることはありません。 これらのグラフィックスは、要素のテキスト ラベルという形ですでに存在していない機能情報を提供しません。
UI の意味または操作に合わせたフォーカス順序をサポートします。 ナビゲーションの順序が意味または操作から独立している場合は、フォーカスの順序を視覚的なデザインのフローに合わせます。
例 (展開可能)
ビデオ リンク: UI の意味/操作に合わせたフォーカス順序
Forza Horizon 4 の [メイン メニュー] と [設定] サブメニューは、情報の線形フローに従わない UI 例です。 Sea of Thieves の設定メニューのような線形 UI とは対照的に、タイルは互いに隣接または左右いずれかに配置されます。 どちらの例でも、フォーカス順序の実装はこの XAG ガイダンスを満たしています。 Sea of Thieves のフォーカス順序は、視力のあるプレイヤーが期待するように直線的に上下に移動します。 Forza Horizon 4 のメニュー シーケンスは明確な線形 UI パスに従いませんが、 フォーカスの順序は UI のビジュアル デザインのフローと一致します (たとえば、プレイヤーが "設定" 要素ボタンにフォーカスしているとき、コントロールでフォーカスを下に移動すると、フォーカスが "ドローン モード" ボタンに移動します。)もし 1 回押し下げたときにフォーカスが "設定" から "車の変更" または視覚的に直感的でないその他のメニュー要素に移動していた場合には、このデザインは、UI の意味や操作に従わなかったことになります。
UI/メニュー構造の最後の項目に移動した後、プレイヤーは UI/メニュー構造の最初の項目に戻るようにする必要があります (逆も同じ)。
注意
このガイドラインは、フォーカスを上下または左右に移動できる線形メニュー構造にのみ適用されます。 任意の方向の要素にフォーカスを移動できるメニュー構造 (フォーカス可能な項目が 4 &215; 4 タイルに配置されたメニューなど) は、ループする必要はありません。
開発者には、すべてのメニューのメニュー ループを有効または無効にするオプションを用意することをお勧めします。
例 (展開可能)
Forza Horizon 4 の難易度設定 UI のこのスクリーンショットでは、フォーカスは上下にのみ移動できます。 その結果、この種類の構造のメニューでは、リスト内の最初の項目にフォーカスがループする必要があります。 これは、現在のフォーカスがリスト内の最後のフォーカス可能な項目にあるときに、プレイヤーがフォーカスを "下へ" 移動したときに発生します。
Forza Horizon 4 Horizon タブ メニューからのこのキャプチャでは、ユーザーがフォーカスを上下左右に移動できるように項目が配置されています。 このような多方向メニュー構造では、リストの "最後" の項目からフォーカスを移動したときに、フォーカスがリストの "最初" の項目にループしてはなりません。
入力の種類 (コントローラー、キーボード、マウス、タッチなど) にかかわらず、ユーザーがナレーションをすばやくキャンセルまたは繰り返すことができるようにします。
現在フォーカスされているアイテムのナレーションがアクティブに読み取られており、ナレーション文字列全体が読み取られる前にフォーカスが別の UI 要素に移動された場合、元の UI 要素のナレーションはすぐに停止し、フォーカスが最後に移動した新しい UI 要素のナレーションを開始する必要があります。
例 (展開可能)
Assassin’s Creed Valhalla では、メニュー ナレーションが有効になっているときにプレイヤーが別のメニュー要素にフォーカスを移動すると、現在読み上げられているナレーション文字列の再生がすぐに停止します。 フォーカスが変更されると、フォーカスを受け取った現在のメニュー項目が音声で読み上げられます。 プレイヤーは、新しくフォーカスされたアイテムのテキストが読み上げられる前に、前のアイテムのテキスト文字列全体が完全に読み上げられるまで待機することを強制されることはありません。
UI の読み上げに使用する声の速さと高さをユーザーが調節できるようにします。
例 (展開可能)
Assassin’s Creed Valhalla では、テキストのナレーションとメニュー ナレーションの音声のペースを調整できます。 女性と男性のナレーションの声が提供されます。 プレイヤーは、高音または低音のどちらがより聞き取りやすいかという身体機能に応じて、または個人の好みに基づいて、これら 2 つの音声オプションの中から選択できます。
コンテキストの変更は、プレイヤーが開始する必要があります。 コンテキストの変更が発生したら、新しいコンテキストのナレーションを介してプレイヤーに通知する必要があります。
例 (展開可能)
Sea of Thieves メニュー UI のこの例では、ある画面から別の画面へのコンテキストの変更はプレイヤーによって開始されます。 コンテキストの変更が発生する前に、プレイヤーは "A ボタン" を押してオプションを選択する必要があります。 たとえば、"アドベンチャー" オプションにフォーカスがあるときにプレイヤーが "A" を押したとします。 たとえば、"アドベンチャー" オプションにフォーカスがあるときに、プレイヤーが "A" を押したとします。この選択により、"エクスペリエンスの選択" 画面から "船の選択" 画面への変更が開始されました。 このようにコンテキストが変更されると、新しい画面のタイトルがすぐにナレーションされます。([エクスペリエンスを選択] > [船を選択] > [ガリオン船] > [乗組員タイプを選択] > [読み込み中、乗組員元帳を開いています])。
プレイヤーは、操作に関連するイベントのナレーション の通知をうける必要があります(コンポーネントの状態の変更、値、および/または説明)。 これには、ゲームの状態の表示など、繰り返し行われる通知や時間ベースの通知が含まれます。 (たとえば、読み込み中の画面、プレイヤー検索中の通知、カウントダウン タイマーなど)。このような場合は、他のナレーションや通知の邪魔にならないように、7 ~ 10 秒ごとに状態を読み上げることは許容されます。
例 (展開可能)
ビデオ リンク: プレイヤーのインタラクションに関連するイベントのナレーション
Gears 5 では、カウントダウン タイマーの残り秒数が毎秒ナレーションされます。 毎秒アナウンスする必要はありませんが、5 ~ 10 秒ごとが許容可能なリズムであるため、特にカウントダウンがゼロに近づくにつれて、一部のプレイヤーはこのタイプのカウントダウンを好む場合があります。 さらに、この例のカウントダウン タイマー ナレーションの秒ごとの実装は、他のナレーションや通知にの邪魔にならないため、許容されます。 プレイヤーが"Horde Frenzy"などの画面上の要素にフォーカスを移動すると、タイマーのカウントダウン ナレーションが自動的に一時停止され、新しくフォーカスされた項目がアナウンスされ、プレイヤーが開始した移動が停止するまで再開されません。 さらに、この例では、画面コンテキストがロード画面から実際のゲーム プレイ環境に変わるときにナレーションが発生します。 これにより、ゲーム プレイが開始され、ロード画面が表示されなくなったことがプレイヤーに通知されます。
(ゲーム内の音声合成を実装するのではなく) 外部のスクリーン リーダーをサポートする場合は、必ず次のことを行ってください。
ゲームの言語をプログラムで公開します。 これは、ゲームが英語である場合 (たとえば、メニューが英語で書かれている、すべてのテキストと指示が英語である、またはキャラクターが英語で互いに話す)、ゲームは言語属性を適切に英語 (例: en-us) に割り当てる必要があることを意味します。この情報がスクリーン リーダーなどの外部ソフトウェアに公開されていることを確認してください。 これにより、スクリーン リーダーが適切な発音と方言で情報をアナウンスするようになります。
ノンプレイヤー キャラクターの対話に、ゲームに割り当てられた主要言語属性とは異なる言語で話すことが含まれる場合、これもスクリーン リーダーに公開する必要があります。 たとえば、英語によるテキスト、メニュー要素、および大部分のキャラクター ダイアログを含むゲームは、ゲームの言語を「英語-米国」として外部のスクリーン リーダーに適切に公開します。 ただし、ゲームには、プレイヤー以外のキャラクター(NPC) がスペイン語しか話せない母親に話しかける状況がいくつかあります。 キャラクターと母親の間の会話はスペイン語です。 この場合、ゲームは、対話または他の言語が異なるゲーム内の領域もプログラムで公開する必要があります。 これにより、スクリーン リーダーがプレイヤーに読み上げるダイアログ テキストを読むときに、スペイン語の適切な発音も使用されるようになります。
注意
固有名詞、技術的な用語、不明な言語の単語、すぐそばにあるテキストの言語の一部となった単語やフレーズは、これらのガイドラインの例外です。
- 例: ゲームは主に英語ですが、"hors d'ouvers" (オードブルのフランス語表記) のようなフレーズや厳密には別の言語あるいは架空の言語の一部である他の一般的なフレーズ、または何かの固有名詞/技術用語 (例: Arc de Triomphe du Carrousel (カルーゼル凱旋門のフランス語表記)) などはプログラムで追加の言語属性を必要としません。
画像、グラフィック、アイコン、または図の代替テキストの説明を作成する場合、説明にオブジェクトの種類を含めないでください。 (たとえば、盾の画像の代替テキストを作成する場合、代替テキストは"画像: 茶色の盾"ではなく"茶色の盾"にする必要があります)。
マークアップ言語を使用して実装されたコンテンツでは、要素は完全な開始タグと終了タグを持ち、仕様に応じて要素を入れ子にします。重複する属性を含むことはできず、ID はすべて一意的でなければなりません。 (マークアップ言語の使用に関する詳細な記事については、このトピックで後述する「リソースとツール」のセクションを参照してください)。
すべての UI コンポーネント (フォーム要素、リンク、およびスクリプトによって生成されるコンポーネントを含むがこれらに限定されない) では、名前とロールをプログラムで決定できます。 ユーザーが設定できる状態、プロパティ、値は、プログラムで設定できます。 これらの項目の変更の通知は、支援技術を含むユーザー エージェントで使用可能です。
(ビデオの音声ガイドを提供するなど) 時間ベースのメディアを説明する代替テキストを提供します。
ライブ コンテンツでは、時間ベースのメディア要素の説明的なタイトルを代替テキストで提供するだけで十分です。 (たとえば、ライブ クロック表示の場合、スクリーン リーダーは"太平洋標準時の現在時刻を表示する時計"というタイトルを読み取りますが、現在時刻が変化してもリアルタイムで繰り返しアナウンスする必要はありません)
テーブルは、画面ナレーション テクノロジに完全にアクセスできるようにする必要があります。
これは、列ヘッダーと行ヘッダーがプログラムによって関連するセルに関連付けられていることを確認することで実現できます。 これは、プレイヤーが個々のセルで提供される情報に関して必要なコンテキストを導く能力をサポートします。 テーブルの高度な代替テキストの説明は避ける必要があります。
例 (展開可能)
次に組まれたテーブルとそれに付随する説明は、プレイヤーがテーブルの個々のセルを移動する際に読み上げられる必要がある画面ナレーション テキストを示しています。これらのテーブル モックアップは、この例の目的のために画像として提供されます。 ただし、これらはプレイヤーがゲームの UI、Web サイト、またはその他のドキュメント領域に含まれる実際のテーブルの列と行の間を移動する際に、画面ナレーションがどのように読み上げられるかを理解するのに役立ちます。
単一セルの読み取り
ユーザーがこの表に示す現在のセルにフォーカスを移動すると、スクリーン リーダーは列番号、行番号の情報を読み取る必要があります。 列ヘッダー、行ヘッダー。 セルの内容。 ナレーションされる正確なテキスト文字列は、"列 2、行 2 である必要があります。 レベル 1 の敵、ゴールド コイン、16。”
セル列間の移動
同じ行内を左または右に移動して新しいセルに移動する場合、スクリーン リーダーは列ヘッダー、列番号、セルの内容を読み取る必要があります。 ナレーションされる正確なテキスト文字列は、"レベル 2 の敵、列 3、54" である必要があります。
セル行間の移動
同じ列内を新しい行に上下に移動する場合、スクリーン リーダーは行ヘッダー、行番号、セルの内容を読み取る必要があります。 ナレーションされる正確なテキスト文字列は、"シルバー コイン、行 3、24" である必要があります。
固有名詞、技術的な用語、不明な言語の単語の発音方法をプレイヤーが理解するためのメカニズムを提供します。
プレイヤーへの影響の可能性
この XAG のガイドラインは、次のようなプレイヤーにとっての障壁を取り除く上で役立ちます。
Player | |
---|---|
視力のないプレイヤー | X |
弱視のゲーマー | X |
認知障碍または学習障碍のあるプレイヤー | X |
その他: 既定の話し言葉に堪能でないプレイヤー、幼いプレイヤー (まだ字を読めない) | X |