What's new Report an issue
GIG Cymru NHS Wales, Digital Health and Care Wales

Header

The top bar of every product: identity, search, language and the user's own controls. Three variants — two desktop, one mobile — and a product uses exactly one of them.

Type: Desktop 1

The full bar — utility strip ("Report an issue", Cymraeg), logo, search, notification and avatar. The default variant, for products with no sidebar of their own. Code value desktop.

AB
<header class="sr-header">
  <div class="sr-header__utility">…</div>
  <div class="sr-header__main">
    <span class="sr-header__logo">…</span>
    <div class="sr-header__search">…</div>
    <div class="sr-header__actions">…</div>
  </div>
</header>

Type: Desktop 2

A single 80px bar, which pairs with the sidebar Navigation. It carries no logo, because the sidebar does — and it is 64px so its bottom rule continues the sidebar's. Code value desktop-2.

AB
<header class="sr-header sr-header--bar">
  <div class="sr-header__main">
    <div class="sr-header__search">…</div>
    <div class="sr-header__cluster">…</div>
  </div>
</header>

Type: Mobile

A compact 56px bar: hamburger, logo, and a reduced action cluster. No utility strip and no search field; showMenu centres the logo between the hamburger and the actions, matching Mobile 1. This is the only variant MAUI renders — MAUI is mobile only (phone, tablet), so Desktop 1 and Desktop 2 have no MAUI equivalent (see foundations/grid-and-layout.md). Code value mobile.

AB
<header class="sr-header sr-header--mobile sr-header--centered">
  <div class="sr-header__main">
    <button class="sr-header__menu">…</button>
    <span class="sr-header__logo">…</span>
    <div class="sr-header__actions">…</div>
  </div>
</header>

The bar across the top of every screen: where staff search, switch language, see notifications, and confirm who they are signed in as.


When to use

When not to use

How it works

VariantHeightContains
desktop40px utility + 64px mainReport an issue, language toggle, logo, search, notification, avatar
desktop-264pxSearch, org switcher, language toggle, notification, avatar. No logo
mobile56pxOptional hamburger, symbol logo, notification, avatar. No inline search

Do and don't

Accessibility

Content

Accessibility requirements

RequirementWCAG SCHow Single Record meets itTest method
One header landmark per page1.3.1Renders a real <header> element; products must not nest a second.Landmark review
Icon-only controls are named4.1.2Notification and avatar controls carry an accessible name describing the action, not the glyph.Screen reader announce
Search field has a label3.3.2A real label, visually hidden via hideLabel where the design shows none — a placeholder is not an accessible name and disappears on typing.Screen reader, type into field
Language toggle survives narrow viewports1.4.10Below 768px the word is dropped but the globe icon remains, so the control stays recognisable rather than becoming an empty button.Resize to 390px
Focus visible2.4.7SR cyan ring on every control, offset from the bar edge so it is not clipped.Keyboard tab