UE는 이제 Windows용 서드 파티 스크린 리더 또는 iOS용 보이스오버(VoiceOver)를 지원합니다. 이로써 게임 UI의 접근성을 확보할 수 있으며 CVAA 기준을 준수하는 데 도움이 됩니다. NVDA와 JAWS 같은 스크린 리더는 소프트웨어 애플리케이션 UI를 사용자에게 읽어줍니다. 이는 시각 장애가 있는 사용자가 소프트웨어 애플리케이션을 이용하고 살펴볼 수 있도록 하는 매우 중요한 기능입니다.
이제 UE에는 UI 텍스트를 읽어주는 서드 파티 스크린 리더를 사용할 수 있도록 하는 API가 포함되어 있습니다. 이 기능은 텍스트 블록, 편집가능 텍스트 박스, 버튼, 체크박스 등 다양한 일반 UMG 위젯을 지원합니다. 또한 이 내장 기능을 사용하면 텍스트 음성 변환 기술을 커스텀으로 구현할 필요가 없이 스크린 리더를 더욱 쉽게 지원할 수 있습니다.
스크린 리더 지원 활성화하기
스크린 리더 지원을 활성화하려면 프로젝트 또는 엔진의 콘솔 변수(Console Variable) 환경설정 파일로 이동합니다. 파일로 이동한 후에는 Accessibility.Enable=1
변수를 추가합니다.
UMG에서 접근성 사용하기
스크린 리더로 UMG 위젯에 액세스할 수 있도록 하려면 위젯의 디테일(Details) 패널로 이동하여 접근성(Accessibility) 섹션을 찾습니다. 기본적으로 접근성 세팅은 활성화되어 있습니다. 디폴트 세팅을 조정하려면 액세스 가능 디폴트 오버라이드(Override Accessible Defaults) 를 체크합니다. 이렇게 하면 자손에 액세스 가능(Can Children Be Accessible) , 액세스 가능 동작(Accessible Behavior) , 액세스 가능 요약 동작(Accessible Summary Behavior) 옵션을 조정할 수 있습니다.
자손에 액세스 가능 체크박스는 자손 위젯이 액세스 가능 동작 세팅을 상속하는지 여부를 나타냅니다.
액세스 가능 동작 은 스크린 리더 API가 위젯 텍스트를 읽는 방법을 나타내며, 이때 다음 옵션 가운데서 선택할 수 있습니다.
- 자동(Auto) : 위젯에 할당된 텍스트를 자동으로 읽습니다.
- 요약(Summary) : 스크린 리더가 모든 자손 위젯의 텍스트를 연결합니다.
- 커스텀(Custom) : 스크린 리더가 미리 코딩된 개발자의 커스텀 텍스트를 사용합니다.
- 툴팁(Tool Tip) : 스크린 리더가 툴팁 텍스트(Tool Tip Text) 만 읽습니다.
- 액세스 불가(Not Accessible) : 스크린 리더 API를 무시합니다.
액세스 가능 동작에서 요약(Summary)을 선택하면 부모 위젯과 모든 후속 자손 위젯의 텍스트를 연결할 때 읽을 텍스트를 액세스 가능 요약 동작 이 보여줍니다.

커스텀 위젯 지원(C++)
커스텀 슬레이트 위젯을 위한 새 C++ 클래스를 생성하여 지원을 추가할 수 있습니다. 새로운 위젯에 특수 지원을 추가하려면 SWidget::CreateAccessibleWidget()
을 오버라이드하고 새로운 FSlateAccessibleWidget
의 인스턴스를 반환해야 합니다. 관련 예시는 SlateAccessibleWidgets.h
파일의 FSlateAccessibleButton 아래에 있습니다. 이 예시는 스크린 리더에서 사용자가 버튼을 클릭할 수 있도록 하는 방법을 보여줍니다.
bCompileWithAccessibilitySupport
가 false로 설정된 경우 슬레이트 및 플랫폼 레이어에서 스크린 리더 코드를 컴파일할 수 있습니다.