Design Conditional and Dependent Fields
Forms & Inputs · forms, progressive disclosure, cognitive load
Updated 2026-07-28
- Reveal fields based on answers rather than showing every possibility at once. A form that adapts is shorter for everyone and correct for more people.
- Add fields below the trigger, never above it. Content appearing above the current position pushes the page and loses the user's place.
- Animate the reveal enough to be noticed and not enough to be slow. A field that appears instantly is often missed entirely.
- Never disable a field without saying why. A greyed-out input with no explanation is a dead end, so state the condition that would enable it.
- Decide what happens to hidden answers, and be consistent:
- Keep the value if the user might switch back.
- Clear it if it would be submitted incorrectly.
- Never submit a value from a field the user can no longer see.
- Update dependent options when the parent changes. A city list that still shows the previous country's cities produces invalid submissions that are hard to explain.
- Keep the required rules in step with visibility. A hidden required field blocks submission with an error the user cannot find, which is one of the worst form bugs there is.
- Show the whole shape of the form somewhere. If the length changes as people answer, a step count or a summary keeps it from feeling endless.
Conditional logic is a conversation, and it goes wrong when the interface forgets what it already asked.
Related guides