Lab: signup form with native validation

Practical

~60 min

Build a signup form that validates itself with zero JavaScript.

Requirements

Create signup.html with a form containing:

  1. Full name — text, required, minlength="2"
  2. Email — type="email", required
  3. Password — type="password", required, minlength="8", plus a hint paragraph linked with aria-describedby
  4. Birth date — type="date" with a sensible min/max
  5. Country — <select> with at least 5 options and a disabled placeholder option
  6. Plan — 3 radio buttons sharing name="plan", wrapped in <fieldset> + <legend>
  7. Terms — a single required checkbox
  8. A submit <button>

Rules

  • Every control has a proper <label> (or is inside <fieldset>/<legend> for the radio group).
  • Try to submit while empty — the browser must block it and show messages.
  • Tab through the whole form: order must be logical, focus always visible.

Deliverable

Push to the same Week 1 repo. Submit the GitHub URL plus a 3-sentence note: which validation attribute surprised you, and one thing native validation can't do (you'll fix that with JavaScript in Week 4).

Sign in to submit your work.