About this set
Single-field sign-ups for newsletters and launch waitlists, each with its confirmation state. Inline band is a dark strip for a record shop’s weekly email: a pitch on the left and, on the right, a visible Email address label above a white pill that joins the field and a yellow Subscribe button. Waitlist card is a centred card for a standing desk launch with a shipping badge, a one-line pitch, the email field and Join waitlist button side by side, and a row of initials with a waiting count. Waitlist card, confirmed shows the same card after submitting, so you can style the success state without filling the form in. Use the band in page footers or between articles and the card on launch and coming-soon pages. The browser validates the email address first; a few lines of script then hide the form, write the address into the confirmation, reveal it and move focus to it so screen readers read the result. Replace the body of the submit handler with your own request. Without JavaScript the form posts normally. On narrow phones the waitlist field and button stack.
What’s included
- Inline band with a joined pill input and a centred waitlist card
- Confirmation state with the submitted address, also shown on its own
- Visible label on every single-field form, no placeholder-as-label
- Focus moves to the confirmation after a successful submit
- Bootstrap version uses .input-group, .card, .badge and .form-text
Accessibility
Each email field has a visible label, autocomplete="email" and a hint linked with aria-describedby that says the field is required. After submit, the confirmation receives focus through tabindex="-1" so its heading and text are read, and it shows a focus outline. The avatar initials are aria-hidden. Buttons and fields have visible focus styles, and transitions switch off under prefers-reduced-motion.
Customise it
Each layout sets --nl-accent, --nl-accent-text and --nl-ring: yellow on black in .nl-band, violet in .nl-card. Change those and the band background. In Bootstrap the button is a .btn restyled through --bs-btn-* variables; in Tailwind edit the [--nl-accent:…] properties on each section.






