Commit Graph

8 Commits

Author SHA1 Message Date
Leon Huang
109e2cd26d Introduced screen reader navigation policies. This allows the screen reader to navigate around UI elements on the screen separate from regular Slate navigation.
- Introduced IScreenReaderNavigationPolicy. This is an interface class that helps the screen reader navigate to the appropriate target accessible widget.
- Introduced FScreenReaderDefaultNavigationPolicy. This is a policy that all FScreenReaderUsers have by default. It helps the screen reader user find target accessible widgets that are enabled and can be focused on.
- Introduced focus navigation functions to FScreenReaderUser. This is the means clients can control and shift accessible focus for FScreenReaderUsers.
- IAccessibleWidget can now retrieve the logical next and previous widget in the accessible widget hierarchy. This functionality is similar to that of mobile screen readers like Voiceover and Android Talkback which allow users to navigate around the UI hierarchy with left and right swipes.
- IAccessibleWidget can now search for a target widget from a source widget based on a search criteria. This is useful for searching for widgets by characteristics (such as enabled state, widget type etc).
- Fixed a small bug in accessible focus where an accessible widget with application focus cannot receive accessible focus again and have its contents announced to the end user.
#rb: Prajwal.Manjunath
#jira: UE-130926
#preflight: 61baf981440d71c977b3089a

[CL 18477319 by Leon Huang in ue5-main branch]
2021-12-16 13:57:14 -05:00
Leon Huang
d9792b1020 Speculative fix for compilation errors in DevBuild relating to screen reader..
#rnx
#rb: trivial
#preflight 61b3b18e7540959e32406661

[CL 18433922 by Leon Huang in ue5-main branch]
2021-12-10 15:37:04 -05:00
Leon Huang
652fc96a59 Screen reader plugins refactor to use the new accessible focus API.
- Slate screen reader no longer subscribes to focus change events from Slate application and instead processes focus change accessible events from FGenericAccessibleMessageHandler to
provide the same behavior.
- FScreenReaderBase is now abstract and derived classes must implement OnAccessibleEventRaised to handle accessible events from FGenericAccessibleMessageHandler
- FScreenReaderBase no longer keeps track of all of the registered screen reader users and instead delegates that to the FGenericAccessibleUserRegistry.
- FScreenReaderUser no longer keeps track of all the focus data and instead delegates that to FGenericAccessibleUser
- When the Slate screen reader is constructed, all accessible users will be unregistered. This forces all users to re-register users through the screen reader framework.
-All screen reader user registration of users is forwarded to FGenericAccessibleUserRegistry
#preflight 61b3058f180f781e431b701d
#rb: none

[CL 18431845 by Leon Huang in ue5-main branch]
2021-12-10 12:53:02 -05:00
aurel cordonnier
a12d56ff31 Merge from Release-Engine-Staging @ 17791557 to Release-Engine-Test
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485

[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-12 21:21:22 -04:00
leon huang
c3773e36e2 Introduced BP API to the screen reader plugin.
#rb: Vincent.Gauthier
#preflight: 61390f1bd9c85a000185f0e5

#ROBOMERGE-AUTHOR: leon.huang
#ROBOMERGE-SOURCE: CL 17464073 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17464090 by leon huang in ue5-release-engine-test branch]
2021-09-08 17:19:28 -04:00
leon huang
26a47a9bf4 Introduced screen reader and Slate screen reader plugins for Linux.
#rb: Josh.Adams
#preflight: 61254494ec8296000158c8d5

#ROBOMERGE-SOURCE: CL 17307235 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v861-17282326)

[CL 17307257 by leon huang in ue5-release-engine-test branch]
2021-08-25 14:50:35 -04:00
leon huang
42aa983d53 Introduced screen reader and Slate screen reader plugins to Mac.
#rb: Josh.Adams
#preflight: 612543f1c068e500014a669f

#ROBOMERGE-SOURCE: CL 17293520 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v861-17282326)

[CL 17293528 by leon huang in ue5-release-engine-test branch]
2021-08-24 16:55:45 -04:00
leon huang
28149cf98e Introduced the screen reader and Slate screen reader plugins for Windows. Provides basic screen reader
functionality for Slate where focused widgets are announced to the user when the screen reader is active.
The screen reader plugin sets up the screen reading framework and the Slate screen reader plugin provides concrete implementations of provided interfaces and base classes.
#jira: UETOOL-1493
#rb: patrick.boutot

#ROBOMERGE-SOURCE: CL 16600597 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)

[CL 16600600 by leon huang in ue5-release-engine-test branch]
2021-06-09 00:08:38 -04:00