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 (S1
). - 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).
Question 1
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?
Question 2
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
and T2
. From 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 (1
and 2
).
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 T1
):
- From
T1
click on list-item > Current screen:S1
- From
S1
click on tab2
> Current screen:T2
- From
T2
click on tab1
> Current screen:T1
orS1
?
Reasons for S1
: Because that was where I left when I navigated to T2
.
Reasons for 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.