Resource centre

6 min read

Accessible forms: labels, errors, and help that work

A form is not accessible just because it has fields: people must understand what is requested, what failed, and how to continue.

Give every field context

Visible, programmatically associated labels identify each control's purpose. Instructions should appear before an error occurs and should not rely only on a placeholder.

Form checklist

Turn these checks into a repeatable task for design, content, and development.

  • Every field has a persistent label.
  • Option groups use a legend and context.
  • Errors describe the problem and affected field.
  • Messages are announced without moving focus unexpectedly.
  • Validation does not erase data a person already entered.

Next step

Test entry, editing, submission, and error recovery with a keyboard before calling a form complete.

Next readColour contrast: what to check beyond text