Input in interactive interfaces.
WHAT TO START FROM
Native form elements and native submission behaviour.
WHY
They provide validation, keyboard behaviour and accessibility.
WHAT TO ADD
Enhanced validation, feedback and submission handling.
WHEN TO VALIDATE
After a field is completed, not while typing.
WHY
Showing an error before someone has finished is hostile.
WHAT TO SHOW
What is wrong, specifically, associated with the field.
WHAT TO PRESERVE
Everything entered, on any error.
WHAT TO HANDLE
Submission failure Slow submission Repeated submission
WHAT TO DO ABOUT THAT LAST ONE
Disable the control while submitting.
WHY
Otherwise people click again and create duplicates.
WHAT TO NEVER RELY ON
Client-side validation for correctness or security.
WHY
It can be bypassed entirely.
WHAT TO DO ABOUT LONG FORMS
Split into steps, save progress, and show where they are.
WHAT TO SET FOR MOBILE
Appropriate input types, so the right keyboard appears.
WHAT TO ALLOW
Pasting, everywhere.