My question is quite straight forward, however difficult to explain. I assume we are all familiar with tab navigation, in my case I'm dealing with bottom-navigation but it's not really relevant for the question whether it is top or bottom navigation.
In my case I'm developing an app which has a:
- Top-level (
T1) screen witch can bring you to a second-level detail screen (
- This second-level screen contains a list.
- When the user presses a list item a "third-level" popup is shown.
Most UX guides tell us that tabs within bottom-navigation should always bring the user to the same top-level target. So essentially a tab can have two states: active or inactive (either the current screen is the top-level target or not).
I'm wondering what should happen to the tab-navigation if a user navigates to a second-level target:
- Should the tab-navigation remain visible?
- If so which item should be selected, should any be selected?
This question is way more intrestring and more important to me. The problem I'm going to describe here only occurs if we show the tab-navigation on second-level screens.
Let's say we have two top-level destinations
T1 you are able to navigate to the second-level screen
S1 and from
T2 you are able to navigate to
S2. Assume we show the tab-navigation also on second-level destinations. We are dealing with two tabs (
Should the two tabs keep track of the screen that was historically showing to the user (ether the top-level screen or the second-level screen)? Or in other words should there be a back-stack for each tab?
Example (starting point is
T1click on list-item > Current screen:
S1click on tab
2> Current screen:
T2click on tab
1> Current screen:
S1: Because that was where I left when I navigated to
T1: Because tab-navigation should always bring you to a top-level screen.
Illustration for both questions
I personal would not show the top-level navigation but rater let the user navigate back using the back-button (physical or virtual).
Advantage: Very clear which item to select. The problem described in question two can never occur. (huge win, no confusion)
Disadvantage: More clicks needed to switch to a different top-level screen.