[bugreport] navigation stop still results in navigation


I noticed the following behavior when using the keyboard navigation functionality in umg:

  1. Create a widget with a button and some other widgets above it that do not support keyboard focus.
  2. Select the button and press shift + tab (resulting in navigation to any previous widget)
  3. 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)

Hey -

I as able to reproduce the bug with using Tab/Shift+Tab when Navigation is set to stop. This bug has been reported as UE-32647 for investigation.


And what about the fact it selected a widget that doesnt support focus?

That too has been included in the bug report.