Form design: multiple inputs versus one input

There’s been some comments about this on Twitter.

While most fields are made up of just one input, like an email address, some fields (that are essentially one value) could be split into multiple inputs, like a sort code.

This is done to help users read back their answer more easily, in small chunks, or to help users meet the formatting requirements of something like a reference number.

While using multiple inputs can be helpful, most of the time it’s completely unnecessary and it has a number of drawbacks.

Here, I’ll explain why that is and I’ll show you how to help users check their answers and meet formatting requirements without using multiple inputs.

And I’ll provide guidance about when it’s actually beneficial to use multiple inputs.

The problem with multiple inputs

1. They stop users from pasting easily

Left: pasting into a multi-input field means the value only ends up in first input and gets cropped. Right: pasting into a single input works appropriately.

Using multiple inputs stops users from being able to paste values easily.

JavaScript can be used to let users paste a value across multiple inputs.

However, multiple-input fields are not always implemented in this way – even if they were, users may not realise that they’re able to do this.

2. They require more effort to use

Left: a multi-input field for card number with arrows showing how focus moves between the inputs. Right: a single input field without any arrows.
Left: a multi-input field for card number with arrows showing how focus moves between the inputs. Right: a single input field without any arrows.

It takes effort to move from input to input. Remembering where you are and fixing mistakes also increases cognitive load.

Screen reader announcements are more frequent and verbose, because the group label is announced in combination with the individual input label.

Some sites use JavaScript to automatically move focus to the next input once the previous input is complete. But even though this seems like a good way to save users from moving focus manually it’s really troublesome.

Firstly, it can be disorientating because this is not how focus works by default. Normally, focus remains on the input until the user decides to move on.

Secondly, a lot of the time focus moves too early. What is technically complete – say the first 2 numbers of a sort code – may not be complete from the user’s point of view.

For example, if they typed the wrong number by accident, they‘d have to move back to the input manually – something that automatic focus was trying to avoid.

If you make it one input then all these problems go away because they can type freely or move back without focus moving and losing context.

3. They can be difficult to label meaningfully

Left: a multi-input field with meaningless labels that are hard to lay out. Right: a single input field doesn’t need additional labels.

Writing labels for each input can be challenging.

For example, the individual inputs of a sort code would be something like ‘Digits 1 and 2’. This isn’t particularly useful.

And there’s not enough room for these labels because fields that consist of multiple inputs tend to be small, to reflect the required length, and close together, to show they relate to each other.

You could visually hide the labels but this only solves the problem for sighted users – it still creates unnecessary noise for screen reader users.

If it’s a struggle to write a meaningful label, it should probably be one field anyway.

Bad reasons to use multiple inputs and what to do instead

There are 2 usability issues which can be solved by using multiple inputs for one field. However, you can get around these issues in other ways.

1. To help users avoid error

Left: field causes an error when using spaces instead of dashes. Right: field forgives the use of spaces instead of dashes.

Multiple inputs are used is to help users avoid error.

For example, imagine the user needs to type a reference number that is 10 digits long, in a 3-3-4 format, separated by dashes.

Using multiple inputs encourages the user to leave out unnecessary formatting such as spaces or dashes. This reduces the likelihood of error messages coming up, such as ‘Reference number must be in the format of 123-123-1234’.

But it’s better to forgive these sorts of mistakes by ignoring extra spaces or dashes, which lets users enter the value however they like.

2. To help users check their answers

Left: multiple inputs used in order to play back the answer in chunks. Right: a single input with the answer played back just underneath the input in chunks.

The other common reason to use multiple inputs is to help users read back the information they inputted to check it’s correct.

But you can help users with this without using multiple inputs by playing back the answer in chunks either underneath the field or on a check answers page.

Input masks are problematic

Input masks are meant to help users avoid mistakes and check their answers.

They work by automatically placing characters into the input as the user types, like placing a dash after the user types the first 3 numbers of a reference number.

But I don’t recommend them because they may confuse users as a new character appears (visually or audibly in a screen reader) and they restrict users to a particular format.

Forms expert Caroline Jarrett has also seen users struggle to work out why the information they typed changed when they thought that what they typed was an appropriate answer.

When to use multiple inputs

Even though multiple inputs should be used as a last resort, that doesn’t mean they should never be used.

Multiple inputs should be used if one input causes users to struggle to answer the question or means it’s impossible to validate the answer.

Dates are a good example of this. The way a user writes dates depends on where they come from – 10/9/12 could mean 10 September or 9 October (assuming the year always comes last).

Left: a single input date field is ambiguous and impossible to validate accurately. Right: a multiple input date field is clear and can be valided accurately.

Using separate inputs removes ambiguity both to the user and the server doing the checking.

Summary

While using multiple inputs for one field may be necessary at times, doing so has a number of downsides.

If you need to play back the answer in chunks, do it underneath the field or separately on a check answers page.

Multiple inputs are usually completely unnecessary anyway. It’s better to give control to users and forgive simple formatting mistakes.

Thanks to Emma Frith for editing this.