Back to compare picker

Required field hidden by conditional logic vs Conditional reveal fields vs Dependent fields vs Error summary vs Single-page form vs Review before submit

Choose the hidden-required anti-pattern when a field can block submit while hidden, collapsed, disabled, off-screen, absent from the current route, or disconnected from the selected trigger.

Decision dimensions

Dimension Required field hidden by conditional logicConditional reveal fieldsDependent fieldsError summarySingle-page formReview before submit
UI or UX UI + UX - Anti-pattern where required form data is hidden or unreachable because conditional state and validation disagreeUI + UX - Trigger-owned follow-up form fieldUI + UX - Controlling and dependent form fieldsUI + UX - Form recovery summaryUI + UX - Short related multi-field submission pageUI + UX - Final editable answer summary before committing a transaction
UI guidance Do not let a required answer be hidden, visually collapsed, disabled, off-screen, or absent from the current branch while validation still blocks submission.Place the revealed field directly under the radio, checkbox, or select option that triggers it, visually nested enough to show ownership while keeping the label and error text fully visible.Place the controlling field before the dependent field, label both clearly, and explain the dependency in helper text such as Choose a category first to see valid subcategories.Render a top-of-form summary block with heading, linked error list, and matching field-level error messages.Render a clear form heading, short instruction, required or optional indicator explanation, grouped related fields, one primary submit action, and a visible error summary only after failed submit.Render a single review page immediately before commit with a clear title, grouped answer sections, readable key/value rows, per-answer or per-section Change actions, skipped optional answers when meaningful, and a primary button whose label names the committed action.
UX guidance Users should be able to tell which answers are currently required before submit, why they are required, and how to reveal or remove the requirement.Use conditional reveal fields when a short follow-up answer is only relevant for users who choose a specific option and should remain in the same decision context.Use dependent fields to prevent impossible combinations and guide users through valid answer pairs without forcing them to learn backend data rules.Help users recover from one or more submitted-form errors without scanning the entire page.Use a single-page form when users benefit from seeing, comparing, and editing a small related set of fields before one submission.Use review before submit to give users one final chance to verify and correct captured answers before a transaction is sent, paid, published, applied, or otherwise committed.
Good UI A benefits form asks whether the user needs an accommodation; selecting Yes reveals a required Accommodation details field directly below the trigger with helper text and validation.A Contact me by email checkbox reveals an Email address field immediately below that checkbox and hides it when Email is unchecked.An incident form asks Category first, then Subcategory shows only options for that category and says why it was cleared after Category changed.Top-of-form summary with a clear heading, linked error list, and matching inline field messages.A contact-details form shows one heading, a required-field note, grouped name and contact fields, communication preference radios, aligned field errors, and a Save details button at the end.A claim review page has Applicant, Contact details, Evidence, and Declaration sections; each row shows the captured answer and a Change link with hidden context such as Change email address.
Bad UI Submit fails with Enter accommodation details, but the accommodation field is hidden because the branch is collapsed and the trigger is off-screen.A hidden required email field blocks submit after Email was unchecked, but no visible field explains the error.A Subcategory dropdown appears disabled at page load with no explanation of which Category unlocks it.Red banner saying fix errors with no links.A long application with eligibility, address history, uploads, and payment fields is dumped onto one scrolling page.A final page says Check your answers but shows only a paragraph and a Continue button with no answers, section headings, or change links.
Good UX A user changes Yes to No and the required follow-up is cleared, excluded from validation, and removed from the review page.A user selects Phone, sees the Phone number field appear under Phone, enters the number, then unchecks Phone and sees the number excluded from submission.A user chooses Hardware, selects Laptop, switches Category to Network, sees Laptop cleared, and chooses VPN from the new valid list before submitting.After failed submit, focus or reading order makes the summary discoverable before users scan the form.A user edits email and phone together, submits, sees two linked errors, fixes both without losing the preference selection, and saves the whole form once.A user changes their phone number from review, lands on the phone page with the old value pre-filled, saves, and returns directly to review with other answers preserved.
Bad UX A user repeatedly presses Submit because the only missing required field lives in a hidden branch with no link or visible trigger state.A user changes from Email to No contact and the hidden email address still gets sent.A user submits a record with Category Facilities and Subcategory VPN because the stale dependent value was hidden but not cleared.Only showing errors below the fold.A user submits a mixed form, sees a generic red banner, scrolls through many unrelated fields, and cannot find which answers failed.A user selects Change address, edits one field, then has to repeat every later page before finding the review page again.
Best fit Use this anti-pattern entry to audit forms where conditional logic, validation, saved drafts, or server schemas might require fields that are not visible or reachable.A selected radio, checkbox, or select option needs one short related follow-up field.A downstream field's valid values or requirement depend on a previous answer.Form submission can produce one or more errors.A compact set of related fields should be reviewed together before one submit.A user has provided multiple answers and should verify them before a consequential submit action.
Avoid when Do not use this entry to reject simple conditional reveal fields that visibly reveal and validate a related follow-up only while its trigger is active.The revealed content is a complete form, separate workflow, or separate submit action.The choices are independent and users need to compare them together.A single local field issue can be corrected before submit without page-level orientation.The form is long, high-stakes, branched, or too hard to recover from on one page.The task is a single low-risk field with clear inline validation and an obvious submit action.
Required state Initial state with all currently required fields identified before users submit.Initial state with trigger options visible and no conditional field shown.No controlling answer selected, with dependent field unavailable or empty and prerequisite helper text.Neutral form before submit with no summary.Initial empty state with form heading, instruction, required or optional indicator explanation, grouped fields, and submit action.Initial review state with grouped captured answers, relevant sections, and explicit submit action.
Accessibility burden Newly required conditional fields must be placed after the trigger in DOM order or announced through tested status behavior.Keep the revealed field immediately after the triggering control in DOM order so keyboard and screen reader users encounter it naturally.Keep controlling and dependent fields in logical DOM order and use labels, hints, and descriptions that name the relationship.Use a heading and alert behavior that makes the summary discoverable.Keep field order in the DOM the same as the visible order.Use headings that make the review task explicit, such as Check your answers before sending your application.
Common misuse Keeping a visually hidden input required because the backend schema says the field is required in some cases.Hiding a required field and still validating it after its trigger is unselected.Leaving a stale dependent value selected after the controlling field changes.Showing a red banner or toast with no links to the invalid answers.Using one page for a long complex application just to avoid designing steps.Using a review page that contains no captured answers.

Required field hidden by conditional logic

UI or UX
UI + UX - Anti-pattern where required form data is hidden or unreachable because conditional state and validation disagree
UI guidance
Do not let a required answer be hidden, visually collapsed, disabled, off-screen, or absent from the current branch while validation still blocks submission.
UX guidance
Users should be able to tell which answers are currently required before submit, why they are required, and how to reveal or remove the requirement.
Good UI
A benefits form asks whether the user needs an accommodation; selecting Yes reveals a required Accommodation details field directly below the trigger with helper text and validation.
Bad UI
Submit fails with Enter accommodation details, but the accommodation field is hidden because the branch is collapsed and the trigger is off-screen.
Good UX
A user changes Yes to No and the required follow-up is cleared, excluded from validation, and removed from the review page.
Bad UX
A user repeatedly presses Submit because the only missing required field lives in a hidden branch with no link or visible trigger state.
Best fit
Use this anti-pattern entry to audit forms where conditional logic, validation, saved drafts, or server schemas might require fields that are not visible or reachable.
Avoid when
Do not use this entry to reject simple conditional reveal fields that visibly reveal and validate a related follow-up only while its trigger is active.
Required state
Initial state with all currently required fields identified before users submit.
Accessibility burden
Newly required conditional fields must be placed after the trigger in DOM order or announced through tested status behavior.
Common misuse
Keeping a visually hidden input required because the backend schema says the field is required in some cases.

Conditional reveal fields

UI or UX
UI + UX - Trigger-owned follow-up form field
UI guidance
Place the revealed field directly under the radio, checkbox, or select option that triggers it, visually nested enough to show ownership while keeping the label and error text fully visible.
UX guidance
Use conditional reveal fields when a short follow-up answer is only relevant for users who choose a specific option and should remain in the same decision context.
Good UI
A Contact me by email checkbox reveals an Email address field immediately below that checkbox and hides it when Email is unchecked.
Bad UI
A hidden required email field blocks submit after Email was unchecked, but no visible field explains the error.
Good UX
A user selects Phone, sees the Phone number field appear under Phone, enters the number, then unchecks Phone and sees the number excluded from submission.
Bad UX
A user changes from Email to No contact and the hidden email address still gets sent.
Best fit
A selected radio, checkbox, or select option needs one short related follow-up field.
Avoid when
The revealed content is a complete form, separate workflow, or separate submit action.
Required state
Initial state with trigger options visible and no conditional field shown.
Accessibility burden
Keep the revealed field immediately after the triggering control in DOM order so keyboard and screen reader users encounter it naturally.
Common misuse
Hiding a required field and still validating it after its trigger is unselected.

Dependent fields

UI or UX
UI + UX - Controlling and dependent form fields
UI guidance
Place the controlling field before the dependent field, label both clearly, and explain the dependency in helper text such as Choose a category first to see valid subcategories.
UX guidance
Use dependent fields to prevent impossible combinations and guide users through valid answer pairs without forcing them to learn backend data rules.
Good UI
An incident form asks Category first, then Subcategory shows only options for that category and says why it was cleared after Category changed.
Bad UI
A Subcategory dropdown appears disabled at page load with no explanation of which Category unlocks it.
Good UX
A user chooses Hardware, selects Laptop, switches Category to Network, sees Laptop cleared, and chooses VPN from the new valid list before submitting.
Bad UX
A user submits a record with Category Facilities and Subcategory VPN because the stale dependent value was hidden but not cleared.
Best fit
A downstream field's valid values or requirement depend on a previous answer.
Avoid when
The choices are independent and users need to compare them together.
Required state
No controlling answer selected, with dependent field unavailable or empty and prerequisite helper text.
Accessibility burden
Keep controlling and dependent fields in logical DOM order and use labels, hints, and descriptions that name the relationship.
Common misuse
Leaving a stale dependent value selected after the controlling field changes.

Error summary

UI or UX
UI + UX - Form recovery summary
UI guidance
Render a top-of-form summary block with heading, linked error list, and matching field-level error messages.
UX guidance
Help users recover from one or more submitted-form errors without scanning the entire page.
Good UI
Top-of-form summary with a clear heading, linked error list, and matching inline field messages.
Bad UI
Red banner saying fix errors with no links.
Good UX
After failed submit, focus or reading order makes the summary discoverable before users scan the form.
Bad UX
Only showing errors below the fold.
Best fit
Form submission can produce one or more errors.
Avoid when
A single local field issue can be corrected before submit without page-level orientation.
Required state
Neutral form before submit with no summary.
Accessibility burden
Use a heading and alert behavior that makes the summary discoverable.
Common misuse
Showing a red banner or toast with no links to the invalid answers.

Single-page form

UI or UX
UI + UX - Short related multi-field submission page
UI guidance
Render a clear form heading, short instruction, required or optional indicator explanation, grouped related fields, one primary submit action, and a visible error summary only after failed submit.
UX guidance
Use a single-page form when users benefit from seeing, comparing, and editing a small related set of fields before one submission.
Good UI
A contact-details form shows one heading, a required-field note, grouped name and contact fields, communication preference radios, aligned field errors, and a Save details button at the end.
Bad UI
A long application with eligibility, address history, uploads, and payment fields is dumped onto one scrolling page.
Good UX
A user edits email and phone together, submits, sees two linked errors, fixes both without losing the preference selection, and saves the whole form once.
Bad UX
A user submits a mixed form, sees a generic red banner, scrolls through many unrelated fields, and cannot find which answers failed.
Best fit
A compact set of related fields should be reviewed together before one submit.
Avoid when
The form is long, high-stakes, branched, or too hard to recover from on one page.
Required state
Initial empty state with form heading, instruction, required or optional indicator explanation, grouped fields, and submit action.
Accessibility burden
Keep field order in the DOM the same as the visible order.
Common misuse
Using one page for a long complex application just to avoid designing steps.

Review before submit

UI or UX
UI + UX - Final editable answer summary before committing a transaction
UI guidance
Render a single review page immediately before commit with a clear title, grouped answer sections, readable key/value rows, per-answer or per-section Change actions, skipped optional answers when meaningful, and a primary button whose label names the committed action.
UX guidance
Use review before submit to give users one final chance to verify and correct captured answers before a transaction is sent, paid, published, applied, or otherwise committed.
Good UI
A claim review page has Applicant, Contact details, Evidence, and Declaration sections; each row shows the captured answer and a Change link with hidden context such as Change email address.
Bad UI
A final page says Check your answers but shows only a paragraph and a Continue button with no answers, section headings, or change links.
Good UX
A user changes their phone number from review, lands on the phone page with the old value pre-filled, saves, and returns directly to review with other answers preserved.
Bad UX
A user selects Change address, edits one field, then has to repeat every later page before finding the review page again.
Best fit
A user has provided multiple answers and should verify them before a consequential submit action.
Avoid when
The task is a single low-risk field with clear inline validation and an obvious submit action.
Required state
Initial review state with grouped captured answers, relevant sections, and explicit submit action.
Accessibility burden
Use headings that make the review task explicit, such as Check your answers before sending your application.
Common misuse
Using a review page that contains no captured answers.
Decision rules
  • Choose the hidden-required anti-pattern when a field can block submit while hidden, collapsed, disabled, off-screen, absent from the current route, or disconnected from the selected trigger.
  • Choose the hidden-required anti-pattern when server validation, saved drafts, browser Back, or review edits can require a branch that the UI does not restore before recovery.
  • Choose conditional reveal fields when one selected radio, checkbox, or select option reveals a short related follow-up directly under the trigger and validates it only while selected.
  • Choose dependent fields when an always-owned downstream control remains visible or discoverable but its options, requirement, value, or stale state depend on an upstream answer.
  • Choose error summary when submit-time validation needs a top-of-page list of errors that links to visible fields and matching field-level messages.
  • Choose single-page form when a short coherent set of fields can stay visible together, with clear required indicators and one submit action.
  • Choose review before submit when a changed answer can make a later question newly required, stale, removed, or pending before final commitment.
  • Escalate to a separate question page, multi-step form, or wizard when the conditional branch contains multiple required fields, nested logic, long copy, or a separate decision.
  • Do not use disabled required controls as a hidden prerequisite; explain the prerequisite and provide an enabled path to satisfy or remove the requirement.
  • Do not let error summary links point to hidden elements; reveal the branch or route to the owning question before focusing recovery.
  • Do not preserve hidden branch values as active payload or validation state after the trigger changes unless draft restoration is explicit and visible.
  • Make newly required fields perceivable to assistive technology through DOM order, labels, descriptions, status text, and tested component behavior.
Inspect live examples
Failure modes
  • Submit fails because an accommodation details field is required but hidden behind an unselected or collapsed branch.
  • The error summary link points to a hidden input or a missing DOM node.
  • A server-only required field appears after submit even though the page never showed the trigger that made it required.
  • A saved draft keeps a hidden partner field required after the user changes relationship status to Single.
  • A dependent field is disabled until category is selected but still required by validation.
  • A review page lets users change eligibility and return to final submit without asking the newly required evidence question.
  • Nested conditional reveals hide several required answers and users cannot tell which branch is active.
  • Screen reader users are not informed that selecting an answer revealed a required follow-up.