Skip to content

Global Minimal Header13.10.5

Global Minimal Header is a page header that provides only basic functionality


$ npm i @if-design-system/global-minimal-header@13.10.5

Edit this section

Overview

The goal is to introduce one seamless digital experience for our customers and users across applications through one component, which would serve multiple application needs.

The Global Minimal Header is page header that provides only basic functionality, such as language switcher and access to My Pages.

Edit this section

Usage

The If Design System will provide the styling needed to implement the new global header and basic navigation behaviors and animations.

It will also provide JavaScript implementation examples for showcasing behavioral elements within the navigation.

Principles

Use the Global Minimal Header when features provided by a global header are irrelevant to users preforming a specific task, e.g., when user is in checkout process or user fills a claim.

Edit this section

Accessibility

<header class="if global-minimal-header">
  <!-- 1. Skip link -->
  <a href="#content" class="if axe skip-to-content">Skip to content</a>

  <!-- 2. role="navigation" -->
  <nav class="if primary" role="navigation">
    <div class="if [mobile | desktop]">
      <ul role="presentation" class="if mobile-menu-list"></ul>
    </div>
  </nav>
</header>
  1. Skip links located at header ensure quick access to main content for vision deficient users.
  2. [role="navigation"] is used to denote group of links intended for page navigation. read more at w3

As the component is a derivative of global header and incorporates menu inside, it is a good idea to refer to the global header and the menu accessibility sections for more info on how to make it accessible.

Check out Implementation section to see example on how Global Minimal Header might be implemented.

Edit this section

Anatomy

  1. IF Logo
  2. Language menu
  3. MyPages link
Edit this section

Specs

Global Minimal Header measurements
Edit this section

Implementation

Below is an example markup for Global Minimal Header implementation.

  • Be aware of the semantics which are required for your solution and follow accessibility guidelines for a header and menu.
<div class="if">
  <div class="if block">
    <div class="if container">
      <header class="if global-minimal-header">
        <a href="#content" class="if axe skip-to-content">Skip to content</a>

        <nav class="if primary" role="navigation">
          <div class="if mobile">
            <ul role="presentation" class="if mobile-menu-list">
              <li role="presentation" class="if mobile-menu-item logo-holder">
                <a href="#" class="if mobile-menu-action logo small"><span class="if axe sr-only">Home</span></a>
              </li>

              <li role="presentation" class="if mobile-menu-item change-language-holder">
                <button id="mobile-language-trigger" type="button" class="if mobile-menu-action button change-language">
                  Language
                </button>

                <div
                  id="language-menu"
                  class="if accordion-menu"
                  role="menu"
                  tabindex="-1"
                  aria-labelledby="mobile-language-trigger"
                >
                  <div class="if mobile-language">
                    <ul class="if mobile-language-list">
                      <li role="presentation" class="if mobile-language-item">
                        <button
                          tabindex="-1"
                          role="menuitem"
                          type="button"
                          class="if mobile-language-action"
                          data-language="nb"
                        >
                          NB
                        </button>
                      </li>
                      <li role="presentation" class="if mobile-language-item">
                        <button
                          tabindex="-1"
                          role="menuitem"
                          type="button"
                          class="if mobile-language-action"
                          data-language="da"
                        >
                          DA
                        </button>
                      </li>
                      <li role="presentation" class="if mobile-language-item is-active">
                        <button
                          tabindex="-1"
                          role="menuitem"
                          type="button"
                          class="if mobile-language-action"
                          data-language="sv"
                        >
                          SV
                        </button>
                      </li>
                      <li role="presentation" class="if mobile-language-item">
                        <button
                          tabindex="-1"
                          role="menuitem"
                          type="button"
                          class="if mobile-language-action"
                          data-language="fi"
                        >
                          FI
                        </button>
                      </li>
                      <li role="presentation" class="if mobile-language-item">
                        <button
                          tabindex="-1"
                          role="menuitem"
                          type="button"
                          class="if mobile-language-action"
                          data-language="en"
                        >
                          EN
                        </button>
                      </li>
                    </ul>
                  </div>
                </div>
              </li>

              <li role="presentation" class="if mobile-menu-item mypages-holder">
                <button type="button" class="if mobile-menu-action button mypages">Profile</button>
              </li>
            </ul>
          </div>

          <div class="if desktop container">
            <ul role="presentation" class="if desktop-menu-list">
              <li role="presentation" class="if desktop-menu-item logo-holder">
                <a href="#" class="if desktop-menu-action logo small"><span class="if axe sr-only">Home</span></a>
              </li>

              <li role="presentation" class="if desktop-menu-item change-language-holder is-parent">
                <button id="desktop-language-trigger" type="button" class="if desktop-menu-action change-language">
                  Language
                </button>

                <div class="if dropdown-menu top" role="menu" aria-labelledby="desktop-language-trigger">
                  <ul class="if">
                    <li role="presentation" class="if">
                      <button tabindex="-1" role="menuitem" type="button" class="if" data-language="nb">
                        Norsk bokmål
                      </button>
                    </li>
                    <li role="presentation" class="if">
                      <button tabindex="-1" role="menuitem" type="button" class="if" data-language="da">Dansk</button>
                    </li>
                    <li role="presentation" class="if">
                      <button tabindex="-1" role="menuitem" type="button" class="if" data-language="sv">Svenska</button>
                    </li>
                    <li role="presentation" class="if">
                      <button tabindex="-1" role="menuitem" type="button" class="if" data-language="fi">
                        Suomen kieli
                      </button>
                    </li>
                    <li role="presentation" class="if">
                      <button tabindex="-1" role="menuitem" type="button" class="if" data-language="kl">
                        Kalaallit oqaasii
                      </button>
                    </li>
                    <li role="presentation" class="if">
                      <button tabindex="-1" role="menuitem" type="button" class="if" data-language="en">English</button>
                    </li>
                    <li role="presentation" class="if">
                      <button tabindex="-1" role="menuitem" type="button" class="if" data-language="lv">
                        Latviešu valoda
                      </button>
                    </li>
                    <li role="presentation" class="if">
                      <button tabindex="-1" role="menuitem" type="button" class="if" data-language="lt">
                        Lietuvių kalba
                      </button>
                    </li>
                    <li role="presentation" class="if">
                      <button tabindex="-1" role="menuitem" type="button" class="if" data-language="et">
                        Eesti keel
                      </button>
                    </li>
                    <li role="presentation" class="if">
                      <button tabindex="-1" role="menuitem" type="button" class="if" data-language="ru">
                        Pусский язык
                      </button>
                    </li>
                  </ul>
                </div>
              </li>

              <li role="presentation" class="if desktop-menu-item mypages-holder">
                <button type="button" class="if desktop-menu-action button mypages">
                  Firstname Lastname
                </button>
              </li>
            </ul>
          </div>
        </nav>
      </header>
    </div>
  </div>
</div>

Resources

Edit this section

Contact us