• Introduction
  • Design simple and clear forms: Forms are often difficult to complete because of needless complexity and unclear instructions. Design for clarity and simplicity so users can complete forms successfully.
  • Provide an alternate to forms: Web forms may not satisfy the needs of all users. At minimum, provide an email address as an alternate method to communicate and interact with users who cannot or choose not to use forms.
  • Label form fields: Field labels tell users what information to supply in form elements. Label all form fields with self-explanatory labels, and use the LABEL FOR tag to make explicit associations between form elements and their labels.
  • Associate related form fields: Form elements are often divided into sections based on the type of information that is being requested, such as contact or shipping information. Use the FIELDSET and LEGEND tags to explicitly associate related form elements.
  • Design forms for keyboard accessibility: Some users navigate and complete forms using the keyboard. Make all form elements operable from the keyboard, and ensure that their behavior is consistent with user expectations.
  • Apply a logical sequence to form elements: Keyboard users access Web form elements in the sequence that they appear in the code. Ensure that form elements follow a logical sequence when accessed via the keyboard, and that all essential elements precede the control that submits the form.
  • Don’t auto-populate form fields with text: Using default text to label text input fields creates usability problems for visual and nonvisual users. Use a label rather than default content to indicate the purpose of a text input field.
  • Use form elements correctly: When used properly, menu fields, such as checkboxes, radio buttons, and select menus, can enhance usability and facilitate data collection. Choose the appropriate menu type, and make item selection an explicit user choice.