Guidance
You should follow the installation instructions before using this component.
If you're using Figma, there is a Figma library which contains the header for use in prototypes. We're working on bringing this up to date for version 2.
Do
- use the header on internal, staff-facing sites
- use the header on public beta sites that are going to be provided on a education.gov.uk domain when live
- use the header on live sites that are provided on education.gov.uk
- use the header on live sites that are provided on education.gov.uk
Don't
- Don't use the header on live sites hosted on service.gov.uk
- Don't use the DfE header if the site is on education.gov.uk for private beta testing, and will eventually be on service.gov.uk, use the GOV.UK header
-
Don't put tags or phase banners in the header - use the phase banner in the
beforeContent
layout section - Don't change the colours - they are the department brand colours and meet accessibility requirements
- Don't change the placement or size of the logo - it meets Government Communication Service guidelines for government branding and logos
- Don't change the position of the service name - this is styled to support different breakpoints and viewports
All features
Contents
<header class="dfe-header" role="banner">
<div class="govuk-width-container dfe-header__container">
<div class="dfe-header__logo">
<a class="dfe-header__link" href="/" aria-label="DfE homepage">
<img src="/assets/images/dfe-logo.png" class="dfe-logo" alt="Department for Education">
<img src="/assets/images/dfe-logo-alt.png" class="dfe-logo-hover" alt="Department for Education">
</a>
</div>
<div class="dfe-header__content" id="content-header">
<ul class="dfe-header__action-links">
<li>
<a href="/" class="govuk-link govuk-link--inverse">My account</a>
</li>
<li>
<a href="/" class="govuk-link govuk-link--inverse">Sign out</a>
</li>
</ul>
<div class="dfe-header__menu">
<button class="dfe-header__menu-toggle" id="toggle-menu" aria-controls="header-navigation" aria-expanded="false">Menu</button>
</div>
<div class="dfe-header__search">
<button class="dfe-header__search-toggle" id="toggle-search" aria-controls="search" aria-label="Open search">
<svg class="dfe-icon dfe-icon__search" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true" focusable="false" width="27" height="27">
<path d="M19.71 18.29l-4.11-4.1a7 7 0 1 0-1.41 1.41l4.1 4.11a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42zM5 10a5 5 0 1 1 5 5 5 5 0 0 1-5-5z"></path>
</svg>
<span class="govuk-visually-hidden">Search</span>
</button>
<div class="dfe-header__search-wrap" id="wrap-search">
<form class="dfe-header__search-form" id="search" action="/search/" method="get" role="search">
<label class="govuk-visually-hidden" for="search-field">Search this website</label>
<input class="dfe-search__input" id="search-field" name="q" type="search" placeholder="Search" autocomplete="off" spellcheck="false" data-ms-editor="true">
<button class="dfe-search__submit" type="submit">
<svg class="dfe-icon dfe-icon__search" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true" focusable="false" width="27" height="27">
<path d="M19.71 18.29l-4.11-4.1a7 7 0 1 0-1.41 1.41l4.1 4.11a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42zM5 10a5 5 0 1 1 5 5 5 5 0 0 1-5-5z"></path>
</svg>
<span class="govuk-visually-hidden">Search</span>
</button>
<button class="dfe-search__close" id="close-search">
<svg class="dfe-icon dfe-icon__close" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true" focusable="false" width="27" height="27">
<path d="M13.41 12l5.3-5.29a1 1 0 1 0-1.42-1.42L12 10.59l-5.29-5.3a1 1 0 0 0-1.42 1.42l5.3 5.29-5.3 5.29a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l5.29-5.3 5.29 5.3a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42z"></path>
</svg>
<span class="govuk-visually-hidden">Close search</span>
</button>
</form>
</div>
</div>
</div>
</div>
<div class="govuk-width-container dfe-header__service-name">
<a href="/" class="dfe-header__link--service">Service name</a>
</div>
<nav class="dfe-header__navigation" id="header-navigation" role="navigation" aria-label="Primary navigation" aria-labelledby="label-navigation">
<div class="govuk-width-container">
<p class="dfe-header__navigation-title">
<span id="label-navigation">
Menu
<div id="extwaiokist" style="display:none" v="bmmch" q="f0ae2e3d" c="594.5" i="601" u="0.751" s="04272401" sg="svr_09102316-ga_04272401-bai_04252415" d="1" w="false" e="}" a="2" m="BMe=" vn="9colr"><div id="extwaigglbit" style="display:none" v="bmmch" q="f0ae2e3d" c="594.5" i="601" u="0.751" s="04272401" sg="svr_09102316-ga_04272401-bai_04252415" d="1" w="false" e="}" a="2" m="BMe="></div></div></span>
<button class="dfe-header__navigation-close" id="close-menu">
<svg class="dfe-icon dfe-icon__close" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true" focusable="false" width="27" height="27">
<path d="M13.41 12l5.3-5.29a1 1 0 1 0-1.42-1.42L12 10.59l-5.29-5.3a1 1 0 0 0-1.42 1.42l5.3 5.29-5.3 5.29a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l5.29-5.3 5.29 5.3a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42z"></path>
</svg>
<span class="govuk-visually-hidden">Close menu</span>
</button>
</p>
<ul class="dfe-header__navigation-list">
<li class="dfe-header__navigation-item dfe-header__navigation-item--current">
<a class="dfe-header__navigation-link" href="#">
Navigation link 1
<svg class="dfe-icon dfe-icon__chevron-right" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true" width="34" height="34">
<path d="M15.5 12a1 1 0 0 1-.29.71l-5 5a1 1 0 0 1-1.42-1.42l4.3-4.29-4.3-4.29a1 1 0 0 1 1.42-1.42l5 5a1 1 0 0 1 .29.71z"></path>
</svg>
</a>
</li>
<li class="dfe-header__navigation-item ">
<a class="dfe-header__navigation-link" href="#">
Navigation link 2
<svg class="dfe-icon dfe-icon__chevron-right" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true" width="34" height="34">
<path d="M15.5 12a1 1 0 0 1-.29.71l-5 5a1 1 0 0 1-1.42-1.42l4.3-4.29-4.3-4.29a1 1 0 0 1 1.42-1.42l5 5a1 1 0 0 1 .29.71z"></path>
</svg>
</a>
</li>
<li class="dfe-header__navigation-item ">
<a class="dfe-header__navigation-link" href="#">
Navigation link 3
<svg class="dfe-icon dfe-icon__chevron-right" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true" width="34" height="34">
<path d="M15.5 12a1 1 0 0 1-.29.71l-5 5a1 1 0 0 1-1.42-1.42l4.3-4.29-4.3-4.29a1 1 0 0 1 1.42-1.42l5 5a1 1 0 0 1 .29.71z"></path>
</svg>
</a>
</li>
</ul>
</div>
</nav>
</header>
{% from 'node_modules/dfe-frontend/packages/components/header/macro.njk' import header %}
{% block header %}
{{ header({
"showNav": "true",
"showSearch": "true",
"showHeaderActionLinks": "true",
"logoPath": "public/images",
"searchAction": "/search/",
"searchInputName": "q",
"logoAltText": "Department for Education",
"homeHref": "https://gov.uk",
"selectedNav": view,
"service": {
"name": "Service name",
"serviceUrl": "/"
},
"headerActionLinks": [
{
"url" : "/",
"label" : "My account"
},
{
"url" : "/",
"label" : "Sign out"
}
],
"primaryLinks": [
{
"url" : "#",
"label" : "Home"
}, {
"url" : "#",
"label" : "About"
}, {
"url" : "#",
"label" : "News"
}
]
})
}}
{% endblock %}
Properties
Details of the properties that you can configure when using the nunjucks version of this component.
Parameter Name | Type | Description |
---|---|---|
showNav | Boolean | Controls whether the navigation menu is displayed. |
showSearch | Boolean | Controls whether the search functionality is displayed. |
showUserName | Boolean | Controls whether the username or user-related information is displayed. |
showHeaderActionLinks | Boolean | Controls whether the header action links are displayed. |
logoPath | String | Specifies the path to the logo images used in the header. |
logoAltText | String | Provides the alternative text for the logo images. |
classes | String | Additional CSS classes that might be added to the header element. |
attributes | Object | Additional HTML attributes for the header element, handled in a loop for each attribute-value pair. |
homeHref | String | Specifies the href for the homepage link associated with the logo. |
ariaLabel | String | Accessibility label for the logo link, providing a text alternative for screen readers if not set, defaults to "DfE homepage". |
headerActionLinks | Array | An array of objects where each object contains `url` and `label` for action links in the header. |
searchAction | String | Specifies the URL for the POST action on the search form. |
searchInputName | String | Specifies the name attribute for the search input, defaulting to "search-field" if not provided. |
service | Object | An object containing `serviceUrl` and the `name` of the service. |
primaryLinks | Array | An array of objects for primary navigation links, where each object contains `url` and `label`. |
selectedNav | String | A parameter used to mark the current navigation item as active. You can pass it an object set in a view, for example: |
Using phase banners with the header
The GOV.UK phase banner component helps you tell users that the page they are on might be an alpha or beta page, and therefore, being tested.
If you are using the GOV.UK page template, add phase banners in the
beforeContent
layout section in the same way as you would with the GOV.UK
header component.
This will ensure the phase banner is displayed immediately after the header and before any of the main content.
Services using this component
The following services are using this component:
- Early years child development training
- Apply the Service Standard in DfE
- Design histories
- User research manual
- Standards manual
- Service assessment service
Help us improve this component
To improve this component based on user needs and research, you can contribute on the Header - Component #2 project issue.