Skip to content

Components

Sign-in forms that behave when the network does not

Password toggles, live requirements, and the states everyone forgets.

The happy path of a sign-in form is four elements. Everything else is the interesting part.

The states worth building

  • Pending — the button is busy, not disabled-and-silent.
  • Rejected — the message is next to the field, not in a toast that vanished.
  • Rate-limited — say how long, not “try again later”.
  • Offline — the form should still hold what was typed.

The password toggle

Make it a real button with aria-pressed, keep the field type in sync, and never place it where it covers the text it reveals.

About the author

Rita Delgado

Writes about interface archaeology and the parts of the web that refuse to die.