Show a simple progress indicator on a question page

<GoabLink leadingIcon="arrow-back" size="small" mb="none">
  Back
</GoabLink>

<GoabText tag="h3" size="body-m" mt="xl" mb="m" color="secondary">
  Question 3 of 9
</GoabText>
<GoabFormItem label="Do you currently live in Canada?" labelSize="large">
  <GoabRadioGroup
    name="canada"
    ariaLabel="Do you currently live in Canada?"
    onChange={() => {}}
  >
    <GoabRadioItem value="yes" label="Yes" />
    <GoabRadioItem value="no" label="No" />
  </GoabRadioGroup>
</GoabFormItem>

<GoabButton type="submit" mt="2xl">
  Save and continue
</GoabButton>
onRadioChange(event: GoabRadioGroupOnChangeDetail): void {
  console.log("Selected:", event.value);
}
<goab-link leadingIcon="arrow-back" size="small" mb="none"> Back </goab-link>

<goab-text tag="h3" size="body-m" mt="xl" mb="m" color="secondary"
  >Question 3 of 9</goab-text
>

<goab-form-item label="Do you currently live in Canada?" labelSize="large">
  <goab-radio-group
    name="canada"
    ariaLabel="Do you currently live in Canada?"
    (onChange)="onRadioChange($event)"
  >
    <goab-radio-item value="yes" label="Yes"></goab-radio-item>
    <goab-radio-item value="no" label="No"></goab-radio-item>
  </goab-radio-group>
</goab-form-item>

<goab-button type="submit" mt="2xl"> Save and continue </goab-button>
document.querySelector("goa-radio-group").addEventListener("_change", (e) => {
  console.log("Selected:", e.detail.value);
});
<goa-link leadingicon="arrow-back" size="small" mb="none"> Back </goa-link>

<goa-text as="h3" size="body-m" mt="xl" mb="m" color="secondary"
  >Question 3 of 9</goa-text
>

<goa-form-item version="2" label="Do you currently live in Canada?" labelsize="large">
  <goa-radio-group
    version="2"
    name="canada"
    aria-label="Do you currently live in Canada?"
  >
    <goa-radio-item value="yes" label="Yes"></goa-radio-item>
    <goa-radio-item value="no" label="No"></goa-radio-item>
  </goa-radio-group>
</goa-form-item>

<goa-button version="2" type="submit" mt="2xl"> Save and continue </goa-button>

Show a simple progress indicator on a question page to help users understand their progress through the form.

When to use

Use this pattern when:

  • Building a multi-question form where progress tracking helps users
  • Users benefit from knowing how many questions remain
  • The form has a linear flow with a known number of questions
  • Following the one-question-per-page pattern for government services

Considerations

  • Display progress as “Question X of Y” for clarity
  • Use a subdued text color for the progress indicator
  • Include a back link for navigation to previous questions
  • Position the progress indicator above the question
  • Keep the format consistent throughout the form
View old example docs