What happens after the click: buttons and forms.

Pressed, loading, success, error. The states generated sites usually skip, why visitors click twice without them, and how to design each.

Category
Motion
Read time
3 minutes
Published
Written by
Verdikt Studio

The short verdict

  • A button has at least five states. Generated sites usually design one.
  • Without feedback, people click twice, submit twice or assume it failed.
  • Each state needs a visual change and, for forms, words that say what happened.

01The states

A button or form is not one design. It is a small sequence, and each step should look different.

StateWhat the visitor needs to knowTypical treatment
DefaultThis is clickableClear button styling
Hover and focusThis is the one I am onColour change, focus ring
PressedMy click registeredSlight darken or press-in
LoadingSomething is happeningSpinner or label change, button disabled
SuccessIt worked, and what nextMessage that replaces or follows the form
ErrorWhat went wrong, how to fix itMessage next to the problem

02Where generated sites fall short

No loading state

The visitor clicks send and nothing changes for two seconds while the request travels. They click again. Now you have two enquiries, or the second click errors. Disable the button and change its label to “Sending...” the moment it is pressed.

A success message that says nothing

“Success!” in a green box. Success at what? Say what happened and what comes next: “Thanks, we’ve got your site. We’ll get back to you within two working days.”

Errors at the top of the page

A red banner saying “Please fix the errors below”, with nothing marked below. Errors belong next to the field, in words: “Enter an email address like [email protected]”, not “Invalid input”.

Errors too early

The field goes red as soon as someone starts typing their email, before they have finished. Check when they leave the field or submit, not on every keystroke.

The silent failure

The network drops or the server errors, and the form just stays as it was. Always have an error state for the submission itself, with a fallback: “That didn’t go through. Try again, or email us at...”

03Motion for feedback

  • Pressed: immediate, under 100 milliseconds. Any delay feels like lag.
  • Loading: a small spinner or a progress dot pattern, not a full-page overlay.
  • Success: a short transition from form to message, around 300 milliseconds, so the change is noticed.
  • Error: a gentle shake is common, but colour and text matter more. Keep it subtle.

“Every click is a question. The site should always answer it.”

The short version

04Accessibility

Screen reader users need to hear these states too. Announce loading, success and errors with a live region, link each error to its field so it is read out, and move focus to the success message when the form is replaced. Do not rely on colour alone: red text should also say what is wrong.

05Questions people ask

Should the success message replace the form?

For contact forms, usually yes, so people cannot resubmit by accident. For newsletter signups in a footer, an inline message works well.

Do I need a pressed state on desktop?

Yes. It is the fastest confirmation a click happened, and it matters most on slower connections.

Should I redirect to a thank-you page?

It can help with tracking conversions. Make sure the page says what happens next and does not feel like a dead end.

Can you review my form states?

Yes. Send us the link and we will try every state and tell you what is missing.

Send the site

Get the Verdict

Received

Thanks, we’ve got your site. We’ll take a look and get back to you soon.

Didn’t go through. Try again, or email [email protected]