Skip to main content
WCAGrules
Quick navigation

Give every form a real submit button

Every form needs a control the user presses to send it. W3C lists H32 as sufficient for 3.2.2 On Input in combination with the general technique that names a submit button as the way to start a change of context, so the pair passes rather than the button alone. The point is consent, not completeness. A form that fires the moment a select changes, or the moment focus leaves a field, has taken the decision away from the person filling it in. Any of button type=submit, input type=submit and input type=image counts as the control. And 3.2.2 does not ban the auto-firing pattern outright. It allows it where the behavior is described before the control, which is a narrow escape most teams should not want to rely on.

How we find it in an audit

A scanner lists every form with no submit control, and that list is worth having. What it cannot see is a change handler that submits quietly, so we fill each form in by hand and change every dropdown to find out what fires without anybody asking for it.

How affected users experience it

A screen-reader user arrows down a select to hear the options, because that is how you read a select. On an auto-submitting form the first arrow press commits the first option and reloads the page. They lose their place, the page starts announcing from the top, and nothing told them the form went with it.

Passes vs. fails

Passes: a label that stays put. Fails: placeholder-only fields.

Passes

<form action="/prefs">
  <label for="country">Country</label>
  <select id="country" name="country">
    <option>France</option>
  </select>
  <button type="submit">Update country</button>
</form>

Fails

<form action="/prefs">
  <select name="country" onchange="this.form.submit()">
    <option>France</option>
  </select>
</form>

Other ways to satisfy this rule

8 guides on this site are filed under 3.2.2 On Input. W3C lists this one as sufficient for that rule only alongside G80, so the pair is what passes and neither half does on its own.

This guide is our interpretation of W3C technique H32: Providing submit buttons. W3C publishes its techniques as guidance rather than as the standard, and says so on every one of them. The success criterion is what conformance is measured against, and a technique is one documented way to meet it.

Go somewhere useful

Find tools, resources and your workspace.

29 destinations