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 to 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, and you will see a section for Accessibility. By default, the accessibility settings are enabled. If you would like to adjust the default settings, check Use Custom Behavior. This enables you to adjust Can Children Be Accessible, Accessible Behavior, and Accessible Summary Behavior options.

The Can Children Be Accessible checkbox indicates whether or not the child widgets inherit the Accessible Behavior settings.

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.

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_new_ui.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
언리얼 엔진 문서의 미래를 함께 만들어주세요! 더 나은 서비스를 제공할 수 있도록 문서 사용에 대한 피드백을 주세요.
설문조사에 참여해 주세요
건너뛰기

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼