Skip to main content
← πŸ“„ HTML & the platformΒ·Module A3 Β· Lesson 12
TaskBuild a signup form split into two fieldsets. First: legend='Login' with email + password. Second: legend='Profile' with display name input.

<fieldset> + <legend>: group related fields

75 XP6 min
Theory

When a form has multiple sections

<form>
  <fieldset>
    <legend>Account</legend>
    <label>Email <input type="email" name="email" /></label>
    <label>Password <input type="password" name="password" /></label>
  </fieldset>

  <fieldset>
    <legend>Profile</legend>
    <label>Display name <input name="display_name" /></label>
    <label>Bio <textarea name="bio"></textarea></label>
  </fieldset>
</form>

<fieldset> semantically groups inputs. <legend> is the group's caption. Browsers render a subtle border + legend label β€” easy to style or remove.

Why screen readers care

When the user moves into the fieldset, the screen reader announces the legend ONCE, then each input's own label. So "Account. Email edit text. Password edit text. Profile. Display name edit text. …" β€” context that helps the user understand which section they're in.

Especially valuable for radio groups

<fieldset>
  <legend>Billing cycle</legend>
  <label><input type="radio" name="cycle" value="monthly" /> Monthly</label>
  <label><input type="radio" name="cycle" value="yearly" /> Yearly</label>
</fieldset>

Without the fieldset+legend, "Billing cycle" isn't announced by screen readers and the user hears just "Monthly. Yearly." with no context.

Default styling β€” remove or restyle

Default browser style is an ugly inset border. Modern designs usually:

fieldset { border: none; padding: 0; margin: 0; }
legend { font-weight: bold; margin-bottom: 8px; }
πŸ”’

Sign up to start coding

Theory is open to everyone. The interactive editor, live preview, and check are unlocked with a 7-day free trial β€” card required, cancel anytime.

Sign up β€” free trial β†’

First 10 lessons in each track are free. No card needed for those.

← PreviousNext lesson β†’

Get one Python or web tip a day β€” by email

Short, hand-written, no spam. Unsubscribe in one click.