Help users to Check answers

Let users check their answers before submitting information to a service.

<div class="govuk-width-container">
  <a href="#" class="govuk-back-link">Back</a>

  <main class="govuk-main-wrapper " id="main-content" role="main">
    <div class="govuk-grid-row">
      <div class="govuk-grid-column-two-thirds-from-desktop">

        <h1 class="govuk-heading-xl">Check your answers before sending your application</h1>

        <h2 class="govuk-heading-m">Personal details</h2>

        <dl class="govuk-summary-list govuk-!-margin-bottom-9">
          <div class="govuk-summary-list__row">
            <dt class="govuk-summary-list__key">
              Name
            </dt>
            <dd class="govuk-summary-list__value">
              Sarah Philips
            </dd>
            <dd class="govuk-summary-list__actions">
              <a class="govuk-link" href="#">
                Change<span class="govuk-visually-hidden"> name</span>
              </a>
            </dd>
          </div>
          <div class="govuk-summary-list__row">
            <dt class="govuk-summary-list__key">
              Date of birth
            </dt>
            <dd class="govuk-summary-list__value">
              5 January 1978
            </dd>
            <dd class="govuk-summary-list__actions">
              <a class="govuk-link" href="#">
                Change<span class="govuk-visually-hidden"> date of birth</span>
              </a>
            </dd>
          </div>
          <div class="govuk-summary-list__row">
            <dt class="govuk-summary-list__key">
              Address
            </dt>
            <dd class="govuk-summary-list__value">
              72 Guild Street<br>London<br>SE23 6FH
            </dd>
            <dd class="govuk-summary-list__actions">
              <a class="govuk-link" href="#">
                Change<span class="govuk-visually-hidden"> address</span>
              </a>
            </dd>
          </div>
          <div class="govuk-summary-list__row">
            <dt class="govuk-summary-list__key">
              Contact details
            </dt>
            <dd class="govuk-summary-list__value">
              <p class="govuk-body">07700 900457</p>
              <p class="govuk-body">sarah.phillips@example.com</p>
            </dd>
            <dd class="govuk-summary-list__actions">
              <a class="govuk-link" href="#">
                Change<span class="govuk-visually-hidden"> contact details</span>
              </a>
            </dd>
          </div>
        </dl>

        <h2 class="govuk-heading-m">Application details</h2>

        <dl class="govuk-summary-list govuk-!-margin-bottom-9">
          <div class="govuk-summary-list__row">
            <dt class="govuk-summary-list__key">
              Previous application number
            </dt>
            <dd class="govuk-summary-list__value">
              502135326
            </dd>
            <dd class="govuk-summary-list__actions">
              <a class="govuk-link" href="#">
                Change<span class="govuk-visually-hidden"> previous application number</span>
              </a>
            </dd>
          </div>
          <div class="govuk-summary-list__row">
            <dt class="govuk-summary-list__key">
              Licence type
            </dt>
            <dd class="govuk-summary-list__value">
              For personal use
            </dd>
            <dd class="govuk-summary-list__actions">
              <a class="govuk-link" href="#">
                Change<span class="govuk-visually-hidden"> licence type</span>
              </a>
            </dd>
          </div>
          <div class="govuk-summary-list__row">
            <dt class="govuk-summary-list__key">
              Home address
            </dt>
            <dd class="govuk-summary-list__value">
              72 Guild Street<br>London<br>SE23 6FH
            </dd>
            <dd class="govuk-summary-list__actions">
              <a class="govuk-link" href="#">
                Change<span class="govuk-visually-hidden"> home address</span>
              </a>
            </dd>
          </div>
          <div class="govuk-summary-list__row">
            <dt class="govuk-summary-list__key">
              Licence period
            </dt>
            <dd class="govuk-summary-list__value">
              Valid for 6 months
            </dd>
            <dd class="govuk-summary-list__actions">
              <a class="govuk-link" href="#">
                Change<span class="govuk-visually-hidden"> licence period</span>
              </a>
            </dd>
          </div>
        </dl>

        <h2 class="govuk-heading-m">Now send your application</h2>

        <p class="govuk-body">By submitting this notification you are confirming that, to the best of your knowledge, the details you are providing are correct.</p>

        <form action="/form-handler" method="post" novalidate>

          <input type="hidden" name="answers-checked" value="true">

          <button class="govuk-button" data-module="govuk-button">
            Accept and send
          </button>

        </form>

      </div>
    </div>
  </main>
</div>
{% from "govuk/components/back-link/macro.njk" import govukBackLink %}
{% from "govuk/components/summary-list/macro.njk" import govukSummaryList %}
{% from "govuk/components/button/macro.njk" import govukButton %}

{% block beforeContent %}
  {{ govukBackLink({
    text: "Back",
    href: "#"
  }) }}
{% endblock %}

{% block content %}
  <div class="govuk-grid-row">
    <div class="govuk-grid-column-two-thirds-from-desktop">

      <h1 class="govuk-heading-xl">Check your answers before sending your application</h1>

      <h2 class="govuk-heading-m">Personal details</h2>

      {{ govukSummaryList({
        classes: 'govuk-!-margin-bottom-9',
        rows: [
          {
            key: {
              text: "Name"
            },
            value: {
              text: "Sarah Philips"
            },
            actions: {
              items: [
                {
                  href: "#",
                  text: "Change",
                  visuallyHiddenText: "name"
                }
              ]
            }
          },
          {
            key: {
              text: "Date of birth"
            },
            value: {
              text: "5 January 1978"
            },
            actions: {
              items: [
                {
                  href: "#",
                  text: "Change",
                  visuallyHiddenText: "date of birth"
                }
              ]
            }
          },
          {
            key: {
              text: "Address"
            },
            value: {
              html: "72 Guild Street<br>London<br>SE23 6FH"
            },
            actions: {
              items: [
                {
                  href: "#",
                  text: "Change",
                  visuallyHiddenText: "address"
                }
              ]
            }
          },
          {
            key: {
              text: "Contact details"
            },
            value: {
              html: '<p class="govuk-body">07700 900457</p><p class="govuk-body">sarah.phillips@example.com</p>'
            },
            actions: {
              items: [
                {
                  href: "#",
                  text: "Change",
                  visuallyHiddenText: "contact details"
                }
              ]
            }
          }
        ]
      }) }}


      <h2 class="govuk-heading-m">Application details</h2>

      {{ govukSummaryList({
        classes: 'govuk-!-margin-bottom-9',
        rows: [
          {
            key: {
              text: "Previous application number"
            },
            value: {
              text: "502135326"
            },
            actions: {
              items: [
                {
                  href: "#",
                  text: "Change",
                  visuallyHiddenText: "previous application number"
                }
              ]
            }
          },
          {
            key: {
              text: "Licence type"
            },
            value: {
              text: "For personal use"
            },
            actions: {
              items: [
                {
                  href: "#",
                  text: "Change",
                  visuallyHiddenText: "licence type"
                }
              ]
            }
          },
          {
            key: {
              text: "Home address"
            },
            value: {
              html: "72 Guild Street<br>London<br>SE23 6FH"
            },
            actions: {
              items: [
                {
                  href: "#",
                  text: "Change",
                  visuallyHiddenText: "home address"
                }
              ]
            }
          },
          {
            key: {
              text: "Licence period"
            },
            value: {
              text: "Valid for 6 months"
            },
            actions: {
              items: [
                {
                  href: "#",
                  text: "Change",
                  visuallyHiddenText: "licence period"
                }
              ]
            }
          }
        ]
      }) }}

      <h2 class="govuk-heading-m">Now send your application</h2>

      <p class="govuk-body">By submitting this notification you are confirming that, to the best of your knowledge, the details you are providing are correct.</p>

      <form action="/form-handler" method="post" novalidate>

        <input type="hidden" name="answers-checked" value="true">

        {{ govukButton({
          text: "Accept and send"
        }) }}

      </form>

    </div>
  </div>
{% endblock %}

When to use this pattern

Show a single check answers page immediately before the confirmation screen for small to medium-sized transactions.

When designing a very large transaction with multiple sections, it may help to include a check answers pages at the end of each section.

This can be valuable for services where different users might be completing each section. You should test this approach with your users to find out if it’s helpful.

How it works

Check answers pages help to:

  • increase users’ confidence as they can clearly see that they have completed all the sections and that their data has been captured
  • reduce error rates as users are given a second chance to notice and correct errors before submitting data

Make the page easy to understand

On your check answers page you should:

  • make it clear there’s a task to perform on the page
  • make it clear that the transaction will not be complete until a user confirms their information is correct
  • break the content up into sections when you can
  • only show sections that are relevant to users – for example, if they’ve said they’re from the UK, do not show sections for questions they have not answered about locations outside of the UK
  • rephrase questions if you need to – for example, you do not need to label every individual line of an address, and you can rewrite long questions as shorter statements
  • make sure the submit button clearly shows the action it performs – for example ‘Change your tax details’ or ‘Send your claim form’

Let users go back and change their answers

You should provide a ‘Change’ link next to each section on your check answers page so that users can add or change the information.

The answers pages should look the same way they did when the user last used them, with all their answers pre-populated.

When they’ve finished, the ‘Continue’ button should return them to the check answers page. They should not need to go through the rest of the transaction again.

If a user changes their response in a way that means you need to ask them more questions, do this before returning them to the check answers page.

Research on this pattern

Read a blog about how the Carer’s Allowance Service used check answers to improve its users’ experience.

Help improve this page

To help make sure the Check answers page is useful, relevant and up to date, you can:

Need help?

If you’ve got a question about the GOV.UK Design System you can contact the team: