対象Ver:UE4.25.0
#1. 概要
加触性、近接性 (Accessibility)とはアクセスのしやすさ、近づきやすさのことであり、以下のサイトでも説明されています。
Twenty-First Century Communications and Video Accessibility Act
ビデオゲームとアクセシビリティにまつわる最近のトピックス
要約すると、近年は障がいを持つ人もゲームをプレイできるよう、アクセシビリティ(ユーザーインタフェースや操作方法など)を提供する必要が要件として追加されています。UE4では4.23以降で「NVDA」などのテキスト読み取りソフトをサポートしており、視覚に障がいを持っている方でもプレイのサポートをするための機能が備わっています。
以下の動画がこの機能で実現するイメージに近く、ゲーム内のテキストを音声読み上げすることが可能となります。
https://www.youtube.com/watch?v=4ygm9hcechg
#2. 機能
公式ドキュメントがありますので、そちら参考にすると早いかと思います。
スクリーンリーダーをサポートする
この機能を要約して簡単に説明すると、以下のようにテキストにマウスカーソルを当てると、テキストの内容を読み上げてくれます。テキストの読み上げはNVDAのソフトが行うので、読み上げるテキストの内容をWidgetのDesignerから設定したり、カーソルを当てたら読み上げソフトに通知してくれる部分をEngineが自動で行います。この機能はドキュメントにもあるように、iOSとWindowsのみがサポートされています。
例えば以下のようなテキストのUI表示があった場合、ユーザーはマウスカーソルでテキストに触れると文字を読み上げます。これは勿論ですが、音声読み上げソフトが起動している時のみ有効です。
#3. 使い方
・機能を有効にする
「Accessibility.Enable=1」をConsoleVariable.iniで定義するかコンソールコマンドで実行します。
Windowsの場合はFWindowsApplication::ProcessMessageでウィンドウズメッセージの「WM_GETOBJECT」をトリガにFWindowsUIAManager::GetWindowProviderが実行されて読み上げを開始可能な状態となります。これはNVDAのアプリケーションを起動して有効にしておくことで、UE4側に通知されてくるためです。
・読み上げテキストを設定する
Widgetの以下の箇所から設定が可能です。各項目については公式ドキュメントを参照してください。ゲーム側では読み上げテキストの内容を指定したりします。