Skip to main content
Last updated: 11 Dec 2024

govuk-design-guide: step-by-step-nav


layout: frontend-template-documentation sectionKey: Frontend templates

Step 1: Duplicate and rename this file to the proposed frontend template you want to include in the Publishing Design Guide website.

When duplicating and renaming this file use lowercase and replace any spaces with a dash (ie. -)

Step 2: Set "eleventyExcludeFromCollections" to "false". This will ensure that the code snippet is commented out and a page will be display withinin the Publishing Design Guide.

eleventyExcludeFromCollections: false

Step 3: Establish the relationship of this frontend template.

The relationship between frontend templates will be demonstrated visually via levels on the left-hand navigation menu. For instance, "GitHub smart answers" is only revealed when the end-user selects "Smart answer" since "GitHub smart answers" a child template to the "Smart answer" frontend template.

eleventyNavigation:

If this frontend template is not associated with or a child to another frontend template, set the field below ("parent") to "Frontend templates"

parent: Frontend templates

Step 4: Input data points according to fields below to the best of your ability. Any fields without any data points will not be displayed on the website.

Name of the frontend tempalte

This is the name of the frontend template (ex. Homepage). It is required to display the title on the page, in the meta data, and in the left-hand navigation menu of the frontend templates page.

title: Step by step nav

Description of the frontend template

This briefly describes what the frontend template is. It is required to display the description on the page, and in the meta description.

description: Step by step is primarily navigation and not a content format. It’s not designed to replace or compete with guidance.

Embedding the figma file of the frontend template

This will display a Figma embed on the page.

To add a Figma embed, copy only the URL within the embed snippet.

figmaLink: #Delete this comment before entering the Figma embed URL of the Figma representaiton of this frontend template.

How the frontend template works

Briefly descibe how this frontend template works. For instance, listing out what end-user can do on a page that uses this frontend template, as well as it's relation to other pages and its associated frontend templates on GOV.UK.

You MUST wrap this in single quotation marks (ie. ' '), since markdown can be used to enter this information. To create a heading, use three hashes (ie. ###).

howItWorks: 'Use step by step navigation to represent end-to-end journeys that:

  • have specific start and end points

  • require the user to interact with several pieces of guidance or transactions on GOV.UK

  • require the user to complete tasks in a specific order

Step by steps can span guidance and transactions that belong to more than one department.

Guidelines for not having a step by step

Do not use step by step navigation:

  • when a user only needs to read guidance and not take a particular action

  • when the guidance or services that make up the journey aren’t on GOV.UK

  • when the journey isn’t linear, for example if you just want to present users with a series of options or to bring together related tasks

You should not use step by step inside a service. Use the task list pattern instead. If a department wants to use the step by step pattern inside a service in order to track a user’s progress through a service, they cannot use step by step.

Examples of when not to use step by step

We wouldn’t create a step by step to help users decide what kind of visa to apply for because it’s not a linear journey, it’s just a collection of options. But we could create one about what to do to come to the UK to study, and one of the tasks might be about finding the right visa to apply for.

We wouldn’t create a step by step for teachers on how to manage their workload because because it’s made up of a collection of related tasks. It’s not a linear journey with a start and an end.'

Live examples of webpages that use this frontend template

List out all the pages on GOV.UK that use this frontend template, by providing: (1) the title of the page, (2) the URL of the page, and (3) indicate whether the page is in Welsh in order for assistive technology to read out the page title correctly.

examples:

To add additional examples duplicate the the fields below (adhering to the formating) but increase the count by one integer.

0: # Both title and link are REQUIRED in order for this information to render on the page. title: 'Get Tax-Free Childcare: step by step' link: https://www.gov.uk/get-tax-free-childcare welsh: # Options on whether the webpage using this frontend template is in Welsh: # true = The webpage is in Welsh # false = The webpage is not in Welsh, but rather in English false 1: # Both title and link are REQUIRED in order for this information to render on the page. title: 'Tell DVLA you’ve changed address: step by step' link: https://www.gov.uk/tell-dvla-changed-address welsh: # Options on whether the webpage using this frontend template is in Welsh: # true = The webpage is in Welsh # false = The webpage is not in Welsh, but rather in English false 2: # Both title and link are REQUIRED in order for this information to render on the page. title: 'Set up a limited company: step by step' link: https://www.gov.uk/set-up-limited-company welsh: # Options on whether the webpage using this frontend template is in Welsh: # true = The webpage is in Welsh # false = The webpage is not in Welsh, but rather in English false

The Content Data (Production) URL this frontend template

Filter the document type in content data and copy the URL in your browser's address bar.

contentDataLink: https://content-data.publishing.service.gov.uk/content?submitted=true&date_range=past-30-days&search_term=&document_type=step_by_step_nav&organisation_id=all

How is this frontend template built

This will display all the underlying technologies that make-up this template.

contentSchema:

The GOV.UK browser extension can help indentify the content schema for this frontend template.

title: step_by_step_nav link: https://docs.publishing.service.gov.uk/content-schemas/step_by_step_nav.html

contentType:

The GOV.UK browser extension can help indentify the content type (also known as document type) for this frontend template.

title: step_by_step_nav link: https://docs.publishing.service.gov.uk/document-types/step_by_step_nav.html

publishingApp:

The GOV.UK browser extension can help indentify the publishing app associated with adding content to this frontend template.

Publishing app options:

# collections publisher
# contacts admin
# content publisher
# content tagger
# local links manager
# mainstream publisher
# manuals publisher
# maslow
# service manual publisher
# short url manager
# special route publisher
# specialist publisher
# travel advice publisher
# whitehall

collections publisher

renderingApp:

The GOV.UK browser extension can help indentify which rendering app is used to generate this frontend template.

Rendring app options:

# collections
# email alert frontend
# feedback
# finder frontend
# frontend
# government frontend
# smart answers
# static

collections

Components that make-up this frontend template

List out all the components that make-up this frontend template, by (1) providing the name of the component, (2) a link to the documentation for said component, (3) how is this component generated on the page and (4) the associated publishing input fields within the publishing app.

components:

To add additional components duplicate the the fields below (adhering to the formating) but increase the count by one integer.

0: # The componentName is REQUIRED in order for this information to be displayed on the page. componentName: # You MUST wrap this in single quotation marks (ie. ' '), since markdown can be used to enter this information. 'Layout super navigation header' componentURL: https://components.publishing.service.gov.uk/component-guide/layout_super_navigation_header generated: # Options how said component is generated page: # auto = "Autogenerated in frontend template" # publisher = "Customized by publisher" # hardcode = "Hardcoded by developer" auto input: # You MUST wrap this in single quotation marks (ie. ' '), since markdown can be used to enter this information. #If this component can be generated by a publisher via a publihing app the delete this comment before entering that infomration. 1: # The componentName is REQUIRED in order for this information to be displayed on the page. componentName: # You MUST wrap this in single quotation marks (ie. ' '), since markdown can be used to enter this information. 'Breadcrumbs' componentURL: https://components.publishing.service.gov.uk/component-guide/breadcrumbs generated: # Options how said component is generated page: # auto = "Autogenerated in frontend template" # publisher = "Customized by publisher" # hardcode = "Hardcoded by developer" auto input: # You MUST wrap this in single quotation marks (ie. ' '), since markdown can be used to enter this information. 'Tags > taken to content tagger > Primary mainstream browse page' 2: # The componentName is REQUIRED in order for this information to be displayed on the page. componentName: # You MUST wrap this in single quotation marks (ie. ' '), since markdown can be used to enter this information. 'Page title' componentURL: https://components.publishing.service.gov.uk/component-guide/title generated: # Options how said component is generated page: # auto = "Autogenerated in frontend template" # publisher = "Customized by publisher" # hardcode = "Hardcoded by developer" publisher input: # You MUST wrap this in single quotation marks (ie. ' '), since markdown can be used to enter this information. 'Title (required)' 3: # The componentName is REQUIRED in order for this information to be displayed on the page. componentName: # You MUST wrap this in single quotation marks (ie. ' '), since markdown can be used to enter this information. 'Govspeak content' componentURL: https://components.publishing.service.gov.uk/component-guide/govspeak generated: # Options how said component is generated page: # auto = "Autogenerated in frontend template" # publisher = "Customized by publisher" # hardcode = "Hardcoded by developer" publisher input: # You MUST wrap this in single quotation marks (ie. ' '), since markdown can be used to enter this information. 'Introduction (required)' 4: # The componentName is REQUIRED in order for this information to be displayed on the page. componentName: # You MUST wrap this in single quotation marks (ie. ' '), since markdown can be used to enter this information. 'Step by step navigation' componentURL: https://components.publishing.service.gov.uk/component-guide/step_by_step_nav generated: # Options how said component is generated page: # auto = "Autogenerated in frontend template" # publisher = "Customized by publisher" # hardcode = "Hardcoded by developer" auto input: # You MUST wrap this in single quotation marks (ie. ' '), since markdown can be used to enter this information. 'Steps > Step title (required) + Step label + Content, tasks and links' 5: # The componentName is REQUIRED in order for this information to be displayed on the page. componentName: # You MUST wrap this in single quotation marks (ie. ' '), since markdown can be used to enter this information. 'Feedback' componentURL: https://components.publishing.service.gov.uk/component-guide/feedback generated: # Options how said component is generated page: # auto = "Autogenerated in frontend template" # publisher = "Customized by publisher" # hardcode = "Hardcoded by developer" auto input: # You MUST wrap this in single quotation marks (ie. ' '), since markdown can be used to enter this information. #If this component can be generated by a publisher via a publihing app the delete this comment before entering that infomration. 6: # The componentName is REQUIRED in order for this information to be displayed on the page. componentName: # You MUST wrap this in single quotation marks (ie. ' '), since markdown can be used to enter this information. 'Layout footer' componentURL: https://components.publishing.service.gov.uk/component-guide/layout_footer generated: # Options how said component is generated page: # auto = "Autogenerated in frontend template" # publisher = "Customized by publisher" # hardcode = "Hardcoded by developer" auto input: # You MUST wrap this in single quotation marks (ie. ' '), since markdown can be used to enter this information. #If this component can be generated by a publisher via a publihing app the delete this comment before entering that infomration.

Evidence and insights for this frontend template

List out all past documentation/supporting material with regards to or realted to this frontend template. It can include (1) past design documentation, (2) research findings, and (3) presentations.

insights:

To add additional insights duplicate the the fields below (adhering to the formating) but increase the count by one integer.

0: # A description is REQUIRED in order for this information to render on the page. date: #Delete this comment before entering the date when the document was published. description: # You MUST wrap this in single quotation marks (ie. ' '), since markdown can be used to enter this information. To create a heading, use three hashes (ie. ###). #Delete this comment before entering a brief summary about the document being referred. title: #Delete this comment before entering the name of the insight document. link: #Delete this comment before entering the URL of the insight document. documentFormat: #Delete this comment before entering the format of the insight document. Example: (1) Google Docs, (2) Google Sheets, and (3) Google Slides.

Existing issues with this frontend template

List of all the issues that are associated with this frontend template, (1) containing the title used to describe the issue on GitHub, and (2) the link to the GitHub issue itself.

issues:

To add additional issues duplicate the the fields below (adhering to the formating) but increase the count by one integer.