Forms

Designing forms

Web forms provide an incredible advantage over paper forms in their potential for accessibility, usability, and operational efficiency, but when designed without users in mind, they can lose many of these benefits. In this guide, we’ve outlined several ways to ensure the best possible user experience.

Types

The structure of your form should fit with the ways in which your users will want to use it.

Ask yourself:

  • Will your users want to move through the form in a fixed order, or one of their choosing?
  • Will they be able to complete the form in a single go?
  • Will their answers affect other parts of the form?
  • Will they want to go back and review or change answers to previous questions?
  • Will they need to add or remove items from a list, or change the order of things?
  • How many parties are involved in the form?
  • Do any parts of the form take place offline?
  • At what point is the form regarded as complete?

How you answer these questions will help you decide how to structure the form. It can help to think in terms of levels: sections, subsections, groups, etc. Try not to worry about how those levels should be represented in the interface until you have a broader understanding of the overall structure.

Single page

All sections are positioned on a single page.

Diagram showing all sections on a page

The good

  • Only one submit button to press
  • Single URL gives access to all form fields
  • Doesn’t force a fixed order of completion
  • Offers context of neighboring sections
  • Progress is self-evident

The bad

  • Long forms can be overwhelming and off-putting
  • Less well suited to branching or non-linear flow
  • How do you save partial progress?
  • Can be harder to track analytics like drop-off rates

Wizard

Each section goes on its own page.

Diagram showing each section on its own page

The good

  • Easier to handle branching and dependencies between sections
  • Easier to let the user save progress
  • A way to make a long form feel more manageable
  • Easier to guide a user through an unfamiliar process
  • Easier to capture analytics like drop-off rates for each section

The bad

  • Can be harder for users to see where they are within the form
  • Can slow users down as they have to click and load each section
  • Loses the contextual information from neighboring sections
  • Harder for users to review and edit previous sections
  • No single place for users to go back and edit their data
  • Not a natural fit for non-linear processes like looping, adding and removing

Accordion

All sections are on a single page, but each new section only appears once the previous section has been completed. Done well, option 3 is a hybrid of the other two that has benefits of both.

Within this hybrid option there are still some important design decisions to make, for example:

  • Will future questions be shown in any way or will you only see the questions you’ve answered?
  • What happens if you go back and edit a previous question?
  • Does the current question stay open or closed?
  • How do you get back to the current question once you’ve edited a previous one?
  • Do you lose all your answers to questions that follow the one you go back to edit?

Diagram showing an accordion form

The good

  • Can handle branching and dependencies between sections
  • Can easily review and edit previous questions
  • Can help guide a user through an unfamiliar process
  • User still benefits from some surrounding context
  • Progress is clear

The bad

  • Implementation and interface is more complex

Hybrid

For more complicated forms, some combination of the other options might be your best bet. Done well, this can give you the benefits of both the single page and wizard approaches. It also allows you to create a sense of rhythm to the overall flow, which can help users understand when they have moved into a different part of the form, and break up the monotony of filling in forms.

As always, these design decisions must have a strong, user-centered rationale behind them.

Diagram showing a hybrid form

Latest updates

Page last edited:
Show all details
Edit page