Pages

Question pages

This pattern explains when to use question pages and what elements they need to include.

<div class="app-example app-example--tabs">
  <div class="app-example__toolbar">
    <a href="/patterns/question-pages/default/index.html" class="app-example__new-window" target="_blank">
      Open this
      <span class="govuk-visually-hidden">question pages</span>
      example in a new tab
    </a>
  </div>
  <iframe title="Question pages example" data-module="app-example-frame" class="app-example__frame app-example__frame--resizable" src="/patterns/question-pages/default/index.html" frameBorder="0" loading="lazy"></iframe>
</div>

<span id="options-question-pages-example"></span>
<ul class="app-tabs" role="tablist">
  <li class="app-tabs__item js-tabs__item" role="presentation"><a href="#question-pages-example-html" role="tab" aria-controls="question-pages-example-html" data-track="tab-html">HTML</a></li>
  <li class="app-tabs__item js-tabs__item" role="presentation"><a href="#question-pages-example-nunjucks" role="tab" aria-controls="question-pages-example-nunjucks" data-track="tab-nunjucks">Nunjucks</a></li>
</ul>

  <div class="app-tabs__heading js-tabs__heading"><a href="#question-pages-example-html" aria-controls="question-pages-example-html" data-track="tab-html">HTML</a></div>

<div class="app-tabs__container js-tabs__container" id="question-pages-example-html" role="tabpanel">
  <div class="app-example__code">
    <pre data-module="app-copy" tabindex="0"><code class="hljs html"><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">&quot;govuk-width-container&quot;</span>&gt;</span>

<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"> <form action="/form-handler" method="post" novalidate> <div class="govuk-form-group"> <fieldset class="govuk-fieldset"> <legend class="govuk-fieldset__legend govuk-fieldset__legend--l"> <h1 class="govuk-fieldset__heading"> Where do you live? </h1> </legend> <div class="govuk-radios" data-module="govuk-radios"> <div class="govuk-radios__item"> <input class="govuk-radios__input" id="where-do-you-live" name="where-do-you-live" type="radio" value="england"> <label class="govuk-label govuk-radios__label" for="where-do-you-live"> England </label> </div> <div class="govuk-radios__item"> <input class="govuk-radios__input" id="where-do-you-live-2" name="where-do-you-live" type="radio" value="scotland"> <label class="govuk-label govuk-radios__label" for="where-do-you-live-2"> Scotland </label> </div> <div class="govuk-radios__item"> <input class="govuk-radios__input" id="where-do-you-live-3" name="where-do-you-live" type="radio" value="wales"> <label class="govuk-label govuk-radios__label" for="where-do-you-live-3"> Wales </label> </div> <div class="govuk-radios__item"> <input class="govuk-radios__input" id="where-do-you-live-4" name="where-do-you-live" type="radio" value="northern-ireland"> <label class="govuk-label govuk-radios__label" for="where-do-you-live-4"> Northern Ireland </label> </div> </div> </fieldset> </div> <button class="govuk-button" data-module="govuk-button"> Continue </button> </form> </div> </div> </main> </div>

  <div class="app-tabs__heading js-tabs__heading"><a class="app-tabs__heading-link" href="#question-pages-example-nunjucks" aria-controls="question-pages-example-nunjucks" data-track="tab-nunjucks">Nunjucks</a></div>
<div class="app-tabs__container js-tabs__container" id="question-pages-example-nunjucks" role="tabpanel"><div class="app-example__code">
    <pre data-module="app-copy" tabindex="0"><code class="hljs js">{% <span class="hljs-keyword">from</span> <span class="hljs-string">&quot;govuk/components/back-link/macro.njk&quot;</span> <span class="hljs-keyword">import</span> govukBackLink %}

{% from "govuk/components/radios/macro.njk" import govukRadios %} {% from "govuk/components/button/macro.njk" import govukButton %} {% block beforeContent %} {{ govukBackLink({ text: "Back" }) }} {% endblock %} {% block content %} <div class="govuk-grid-row"> <div class="govuk-grid-column-two-thirds"> <form action="/form-handler" method="post" novalidate> {{ govukRadios({ name: "where-do-you-live", fieldset: { legend: { text: "Where do you live?", isPageHeading: true, classes: "govuk-fieldset__legend--l" } }, items: [ { value: "england", text: "England" }, { value: "scotland", text: "Scotland" }, { value: "wales", text: "Wales" }, { value: "northern-ireland", text: "Northern Ireland" } ] }) }} {{ govukButton({ text: "Continue" }) }} </form> </div> </div> {% endblock %}