Structuring forms

This is a guide for building forms. It includes guidance on asking good questions and structuring your form. There's also a list of form elements with more specific guidance.

A well laid-out form, with simple and intuitive questions will improve the quality of data you receive from users.

Designing good services

Forms don't exist in isolation, so it's important to design an end-to-end user journey.

This means that there are no dead-ends and things like eligiblity criteria and things the user will need to complete the journey are made clear from the outset.

Question protocols

Before you start building a form, you should understand what you're asking and why. The easiest way to do this is through a question protocol. These are a series of things to think about before adding each question to your form.

Only add a question when you know:

  • that you need the information to deliver the service
  • why you need the information
  • what you’ll do with it
  • which users need to give you the information
  • how you’ll check the information is accurate
  • how to keep the information up to date and secure

Understanding these things will help you design a better form, as well as complying with data management protocols like GDPR.

Good questions

To get good information from your users, you need to ask good questions. If there are lots of options or different formats, it's more likely users will become confused. Keep your questions simple, use plain English and add help text to give examples of the kind of answers you're looking for.

Try to use closed questions, like 'Do you live at more than 1 address?' instead of open questions like, 'Tell us about your living arrangements'.

It's better to use a series of simple questions than a single complex one.

One thing per page

By having a single question, decision or piece of information on each page, it's easier for users to understand what they're being asked and why. The process will have a more intuitive flow and will render better for users on mobile devices.

This also helps when trying to direct different users through forms. If there are certain groups who don't need to answer particular questions they can be directed to the next set of questions without lots of elements moving about on the screen.

Things we tend to avoid

It's common to see drop-down menus in lots of forms. We tend not to use these unless there's a really strong justification, as they're not very accessible.

We also tend not to use progress bars, as some research has shown that it confuses users.

Elements, like sliders or date ranges that rely on Java script can also cause problems for screen readers. We tend to use a few simple elements with as few validation masks as possible.

Where possible URLs should be descriptive and match our URL guidance.

Form elements

These are the most common form elements, with guidance on how to use them: