Forms are one of the most important ways that users interact with your site. I've been researching other people's thoughts on form design, and thought I'd document a summary of my notes:
- If users are coming to the page with the specific intent of filling out a form, don't hide it from them in small type or off to the side. Put it front and center, and preferably by itself. Make external links to the form, such as in emails, go directly to the form.
- Use text in the title and submit button that describe the user's goal in filling out the form (e.g. "Register" or "Order Now").
- If you're asking for information that the user might not want to give, put a message right next to the field explaining why your site needs it and why the user can trust you with it.
- Save the user's time by pre-filling fields with data your application already has.
- If the user submitted a form with errors, don't show them a new page; bring them back to the form again, with a clear, prioritized message at the top telling them to correct the errors. Highlight the fields containing errors for their convenience.
- If possible, save your users time by providing immediate, inline notification of errors as a user enters data.