Skip to main content
MybringDesign System

Navigation

The path to users’ tasks

Navigating is never a user task, and Mybring users shouldn’t have to learn and remember how to do it. Navigation should, therefore, be minimal and type-based instead of a massive fixed hierarchy. We achieve this by providing context-relevant paths and actions. For instance, a page can have contextual navigation without having regional navigation.

Mybring navigation types

Regional navigation (side menu)

HTML example

<nav
  id="mybring-nav"
  class="mybr-layout__sidebar regional-nav"
  aria-label="booking"
>
  <ul>
    <li>
      <a href="url" aria-current="page">Name in sentence case</a>
    </li>
    <li>
      <a href="url">Name in sentence case</a>
    </li>
  </ul>
</nav>

Contextual navigation

The basis of contextual navigation is to offer the content or functionality the user needs in context instead of making the user navigate to it. For instance, connecting the recipient for a shipment to the Mybring address book in a smart way or linking a shipment in the order history to the correct invoice are good examples of how this can be achieved.

Table rows followed by a link to a page with all rows.
A listing with a link to dive into the content.

Insight for success

Contextual navigation is always based on solid insight into our users’ needs and behaviour in every context. Adding the relevant links (or even buttons) to cover those needs is what makes it successful. Linking the order history and invoices in Mybring is a good example of how the needs can often span Mybring areas and team domains, so it’s important not to let team boundaries get in the way.

Buttons and functions

Even though buttons are not considered navigational elements, they play an essential role in contextual navigation. Buttons to perform key next-step actions should be placed in context in the same way as links. They both reduce the need to add navigational elements to Mybring. Having an “Add item” button with any relevant list of items ensures that the user does not have to navigate to where this can be done. The functionality is moved closer to where the user is – less navigation is a key point in working with any navigation.

Sales order with a link to open a customer support case for the order.
Offering to contact customer service about a specific order in context of that order.

Dynamic content

Contextual navigation opens the door for utilising dynamic content. More options for good contextual navigation appear if you adapt the content to the user’s situation. An empty list could be replaced by an “Add item” functionality. A “Use default” function could be replaced by a “Define default” function if the default settings has not been set.

Order confirmation page with a button that can set sender address as default.
Offering to set sender as default address if the user doesn’t have one already.

Backward navigation (discouraged)

This should rarely be used; because Mybring has mostly one-level deep pages, there’s no need to add back links. And contextual navigation will almost always replace the need for any additional back navigation. But in the case that it’s actually needed, don’t hijack the browser functionality for this, let the browser’s back button work like expected.

Element HTML Usage
Cancel <a class="btn" href="#" title="{page title}">Cancel</a> A link styled as a cancel button can be useful in forms to give the user control close to the submit button. The title attribute has info about where the link leads to.
← {page title} <a href="#">&larr; {page title}</a> Useful for the few instances where there are multiple levels. Keeping an active menu point for the parent page makes it clear what area the user is in.

Local navigation (deprecated)

Local navigation is deprecated, don’t use it in any new interfaces. For the most part, it can be replaced with contextual navigation, but since the two are conceptually different, it requires more work than switching out one component with another.

General guidelines