Supporting Screen Readers

Explains how to enable 3rd party screen reader support for your project.

Windows
MacOS
Linux

UE4 now supports third party screen readers for Windows or VoiceOver on iOS. This makes it possible ensure your game UI is accessible and helps you comply with CVAA standards. Screen readers, such as NVDA and JAWS, allow a software application’s UI to be narrated to the user. This is a critical feature that enables those who are visually impaired to use and navigate software applications.

As of 4.23, there are now APIs included in UE4 to allow the use of 3rd party screen readers to read UI text. This supports a number of common UMG widgets, such as Text Block, Editable Text Box, Slider, Button, and Checkbox. This built-in functionality removes the need to implement custom text-to-speech technology, making screen readers easier to support.

Enabling Screen Reader Support

To enable screen reader support, go into either your project or Engine Console Variable configuration file. Once in the file, add the variable Accessibility.Enable=1.

Using Accessibility in UMG

To make your UMG widgets accessible with screen readers, go to the Details panel for any of your widgets. You will see a section for Accessibility, where you can set the Accessible Behavior, Can Children Be Accessible, and Accessible Summary Behavior options.

Accessible Behavior is where you indicate how you want the screen reader API to read the widget text. You can choose from the following options:

  • Auto: Automatically reads the assigned text for a widget.

  • Summary: Screen reader concatenates the text of all child widgets.

  • Custom: Screen reader uses custom text pre-coded by developer.

  • Tool Tip: Screen reader only reads Tool Tip Text.

  • Not Accessible: Ignores screen reader API.

The Can Children Be Accessible checkbox indicates whether or not the child widgets inherit the Accessible Behavior settings. If you select Summary in Accessible Behaviors, Accessible Summary Behavior shows you what text will be read when concatenating the text from the parent widget and all subsequent child widgets.

accessibility_settings.png

Custom Widget Support (C++)

You can add additional support by creating new C++ classes for their custom Slate widgets. To add specialized support to a new widget, you must override SWidget::CreateAccessibleWidget() and return an instance of a new FSlateAccessibleWidget. You can find an example of this in the file SlateAccessibleWidgets.h under FSlateAccessibleButton. This example shows how screen readers enable users to click the button.

You can compile out the screen reader code from Slate and platform layers when bCompileWithAccessibilitySupport is set to false.

Select Skin
Light
Dark

新しい Unreal Engine 4 ドキュメントサイトへようこそ!

あなたの声を私たちに伝えるフィードバックシステムを含め、様々な新機能について開発をおこなっています。まだ広く使える状態にはなっていないので、準備ができるまでは、ドキュメントフィードバックフォーラムで、このページについて、もしくは遭遇した問題について教えていただけると助かります。

新しいシステムが稼働した際にお知らせします。

フィードバックを送信