## Forms * Keep forms as short as practical. * Ask only for information that is actually required. * Group related fields together. * Use clear field labels. * Do not rely on placeholders as the only label. * Use appropriate input controls for the expected value. * Provide useful defaults where safe and predictable. * Preserve user input when validation or network errors occur. * Validate fields at useful moments without interrupting normal input. * Show validation errors close to the affected field. * Explain how to fix invalid input. * Avoid technical validation messages. * Clearly mark optional fields where useful. * Avoid asking the same information multiple times. * Use autocomplete and autofill where appropriate. * Make keyboard navigation logical. * Use sensible tab order. * Support Enter and Escape behavior where users expect it.