I noticed the following behavior when using the keyboard navigation functionality in umg:
- Create a widget with a button and some other widgets above it that do not support keyboard focus.
- Select the button and press shift + tab (resulting in navigation to any previous widget)
- one of the widgets above the button receives focus although they do not support focus?
If the NavigationReply boundaryrule is set to stop it still goes through, while i would expect it to stop attempting to navigate. This is the rule set by default on the viewport, but somehow the viewport still catches it, also selecting a widget that does not support keyboard focus!
Please have a look at
bool FSlateApplication::AttemptNavigation(const FNavigationEvent& NavigationEvent, const FNavigationReply& NavigationReply, const FArrangedWidget& BoundaryWidget);
I think if the boundaryrule is set to stop it should not arrive at the following line:
if (NavigationType == EUINavigation::Next || NavigationType == EUINavigation::Previous)