Updated: February 15, 2021

Category Navigation

Intro

You can use the category navigation pattern to replace tree-like structures with only a few levels in a responsive environment. In this pattern, the breadcrumb control replaces the title control. The category navigation pattern is used only in rare cases.

Usage

Use category navigation if:

  • You need to show categorized data in a responsive environment.
  • You need to replace a tree table on tablets and smartphones, and the tree table has a maximum of five levels.
  • You need to show hierarchical data with different details at each level, which cannot be represented in a tree table.

Do not use category navigation if:

  • You need only two levels, and the upper level identifies the category. In this case, use a grouped responsive table instead.
  • You need more than five levels. In this case, use a tree table.
    On a smartphone or tablet device, try to display the data on just five levels. You can do this in one of two ways:

    • Remove unnecessary root levels.
    • Offer the same items in different branches.

Responsiveness

The pattern is based on a responsive table. In contrast to the standard responsive table, the title is used to display a breadcrumb showing the current level.

The breadcrumb control determines the text of the current/last element in the breadcrumb path. It only consists of text (string element).

The responsiveness is handled by the control: As soon as the breadcrumb is truncated, it provides a dropdown menu to access further navigation levels.

Category navigation - Size S
Category navigation - Size S
Category navigation - Size M
Category navigation - Size M
Category navigation - Size L
Category navigation - Size L

Layout

The breadcrumb appears in the toolbar, and replaces the table title.

At any given level, the responsive table contains the individual line items, including their column header, as well as the categories available for further drilldown.

Category navigation - Layout
Category navigation - Layout

Components

Use the breadcrumb control to implement the category navigation pattern. Display the navigation levels as text. Use links for the titles of all levels above the current level to enable fast navigation across the levels.

A breadcrumb showing three levels
A breadcrumb showing three levels

If only the root level is displayed, there is no link.

A breadcrumb showing the root level only
A breadcrumb showing the root level only

When the breadcrumb is truncated, breadcrumb control provides a dropdown menu with the hidden navigation levels. The breadcrumb shows the title of the currently selected level.

Breadcrumb changes to a dropdown menu if there is insufficient space
Breadcrumb changes to a dropdown menu if there is insufficient space

Use one or several responsive tables to list the items for the different levels, depending on the columns shown on each level.

Responsive table
Responsive table

Within the responsive table, use the item navigation mode for container items.

Container item with navigation indicator
Container item with navigation indicator

Do not use the navigation mode for leaf items.

Leaf item without navigation indicator
Leaf item without navigation indicator

Behavior and Interaction

Initial State

Initially, this pattern looks like a standard responsive table with control items.

Navigation to Second Level (Drill-In)

Clicking an item drills into it in one of the following ways:

  • The content of the responsive table is changed (if all columns are the same on the second level).
  • The entire responsive table is changed (if there are different columns on the second level).

Navigation to Third Level

You can offer further navigation at item level. The breadcrumb adapts accordingly.

Leaves at the second level do not offer further navigation.

Initial state
Initial state
State after navigating to the second level
State after navigating to the second level
State after navigating to the third level
State after navigating to the third level

Guidelines

Navigation to Second Level (Drill-In)

Change the title to a breadcrumb.

Show navigation indicators if there are more levels.

State after navigating to the second level
State after navigating to the second level

Navigation to Third Level

Use control items to enable further navigation.

Make sure that the breadcrumb adapts accordingly. Don’t show a navigation indicator for leaves.

State after navigating to the third level
State after navigating to the third level

Enable backward navigation via the breadcrumb links. When the user navigates back to a higher level, show exactly the same state as before.

If navigating back, show the former state
If navigating back, show the former state

If there is not enough space to show the entire breadcrumb, use the dropdown menu provided by the control to show the hidden navigation levels.

Show a dropdown menu within the breadcrumb control on small screens
Show a dropdown menu within the breadcrumb control on small screens

Within the dropdown menu, show all parent nodes below the current node.

Show the levels of the breadcrumb inside the dropdown menu (select)
Show the levels of the breadcrumb inside the dropdown menu (select)

When the user navigates between the different levels, change only the responsive table and the breadcrumb. Do not change anything else or navigate to another page.

Placement

Place the breadcrumb control in a way that makes sense to the user.

  • If you are using the breadcrumb in combination with segmented buttons, place the breadcrumb above the toolbar and display the segmented buttons on the very left. That way, the page navigation is on a higher level than the view switch.
Breadcrumb with segmented buttons in hierarchy
Breadcrumb with segmented buttons in hierarchy
  • If you are using the breadcrumb with a tab pattern, replace the table title with the breadcrumb and display it under the tabs.
Breadcrumb with tabs
Breadcrumb with tabs

Related Links

Elements and Controls

Implementation