My learning 0 of 20 lessons complete
Start lesson 1 →
Back to compare picker

Address entry vs Text input vs Autocomplete vs Dependent fields

Use address entry when a service must capture a deliverable or contact address as structured, reviewable parts; use text input for one short freeform value, autocomplete for resolving a known suggestion, and dependent fields for a local country-to-region or type-to-detail relationship.

Learn the decision

Match the interaction to the person's task

Use address entry when a service must capture a deliverable or contact address as structured, reviewable parts; use text input for one short freeform value, autocomplete for resolving a known suggestion, and dependent fields for a local country-to-region or type-to-detail relationship.

Address entry

Use it when: The product needs a complete postal, delivery, billing, service, or official contact address.

Make this state clear: Initial state with country or domestic coverage explained and lookup or manual entry available.

Observe the result: A user enters SW1A1AA, sees several addresses, selects Flat 2, adds an organization name, and reviews the stored line, town, postcode, and country parts before continuing.

Study the full pattern →

Text input

Use it when: The answer is short and user-authored.

Make this state clear: Empty untouched state with persistent label and optional hint.

Observe the result: A user leaves the required field blank, sees an error only after submit, returns to the same field, and their later typed value clears the error.

Study the full pattern →

Autocomplete

Use it when: The list is long but values are known.

Make this state clear: Empty input state.

Observe the result: Typing filters suggestions while preserving the exact typed value.

Study the full pattern →

Dependent fields

Use it when: A downstream field's valid values or requirement depend on a previous answer.

Make this state clear: Controlling answer selected, with dependent options filtered to the valid subset.

Observe the result: A user chooses Hardware, selects Laptop, switches Category to Network, sees Laptop cleared, and chooses VPN from the new valid list before submitting.

Study the full pattern →

Practice the judgment: Imagine this situation: Changing the country leaves a stale state field and postcode rule active, causing valid international addresses to fail validation. Write the person's goal, choose one of these patterns, and show the state that helps the person continue. Use the decision rules and source trail below to explain your choice.

Review the underlying principle →

Decision dimensions

Dimension Address entryText inputAutocompleteDependent fields
UI or UX UI + UX - Structured postal or contact address capture flowUI + UX - Single-line freeform data-entry controlUI + UX - Input widget with suggestion behaviorUI + UX - Controlling and dependent form fields
UI guidance Render address capture as a labelled fieldset or page section with address line, locality, region when needed, postal code, country, and an address lookup only when its coverage is clear.Render a persistent label, appropriately sized single-line input, optional hint, visible focus state, and nearby error text that is programmatically associated with the field.Expose clear visual states for expanded, focused, highlighted, and selected options.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 address entry when the service needs a complete address for delivery, billing, correspondence, identity, eligibility, routing, tax, or account records and downstream systems need reliable address parts.Let users edit normally, validate after interaction or attempted submit, preserve their typed value after errors, and explain exactly how to fix invalid or missing text.Preserve typed input and make selection reversible before submission.Help the person reach a clear task outcome.
Good UI A benefits claim asks for postcode lookup, lists matching addresses, includes Enter address manually, and then shows editable address line 1, address line 2, town or city, postcode, and country.A reference-name field has a visible label, hint, medium width, focus ring, and error message beneath the hint when submitted empty.Persistent label above the input, readable text size, clear popup alignment, and visible highlighted option.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 selected address is stored as a provider label rather than structured parts.The only instruction is placeholder text that disappears when the user starts typing.Placeholder-only label that disappears after typing.A stale dependent value is submitted with a new controlling value.
Good UX A user enters SW1A1AA, sees several addresses, selects Flat 2, adds an organization name, and reviews the stored line, town, postcode, and country parts before continuing.A user leaves the required field blank, sees an error only after submit, returns to the same field, and their later typed value clears the error.Typing filters suggestions while preserving the exact typed value.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 checkout removes Apartment 4B after validation and the parcel is delivered to the wrong household.Validation fires on the first focus event and blocks typing before the user has had a chance to answer.Automatically forcing the first suggestion into the field.A stale dependent value is submitted with a new controlling value.
Best fit The product needs a complete postal, delivery, billing, service, or official contact address.The answer is short and user-authored.The list is long but values are known.A downstream field's valid values or requirement depend on a previous answer.
Avoid when The product only needs one short location label, room name, or delivery note.The answer is a paragraph, comment, address block, or explanation requiring multiple lines.The task is open-ended query exploration.The choices are independent and users need to compare them together.
Required state Initial state with country or domestic coverage explained and lookup or manual entry available.Empty untouched state with persistent label and optional hint.Empty input state.Controlling answer selected, with dependent options filtered to the valid subset.
Accessibility burden Group related address fields with a clear heading or legend that states which address is being requested.Associate every text input with a visible label or equivalent accessible name that matches the visible question.Expose combobox expanded state, active descendant, and option labels.Keep controlling and dependent fields in logical DOM order and use labels, hints, and descriptions that name the relationship.
Common misuse Forcing every address through a domestic postcode or ZIP lookup.Using placeholder text as the only label or instruction.Using autocomplete where users expect broad search results.Leaving a stale dependent value selected after the controlling field changes.

Address entry

UI or UX
UI + UX - Structured postal or contact address capture flow
UI guidance
Render address capture as a labelled fieldset or page section with address line, locality, region when needed, postal code, country, and an address lookup only when its coverage is clear.
UX guidance
Use address entry when the service needs a complete address for delivery, billing, correspondence, identity, eligibility, routing, tax, or account records and downstream systems need reliable address parts.
Good UI
A benefits claim asks for postcode lookup, lists matching addresses, includes Enter address manually, and then shows editable address line 1, address line 2, town or city, postcode, and country.
Bad UI
A selected address is stored as a provider label rather than structured parts.
Good UX
A user enters SW1A1AA, sees several addresses, selects Flat 2, adds an organization name, and reviews the stored line, town, postcode, and country parts before continuing.
Bad UX
A checkout removes Apartment 4B after validation and the parcel is delivered to the wrong household.
Best fit
The product needs a complete postal, delivery, billing, service, or official contact address.
Avoid when
The product only needs one short location label, room name, or delivery note.
Required state
Initial state with country or domestic coverage explained and lookup or manual entry available.
Accessibility burden
Group related address fields with a clear heading or legend that states which address is being requested.
Common misuse
Forcing every address through a domestic postcode or ZIP lookup.

Text input

UI or UX
UI + UX - Single-line freeform data-entry control
UI guidance
Render a persistent label, appropriately sized single-line input, optional hint, visible focus state, and nearby error text that is programmatically associated with the field.
UX guidance
Let users edit normally, validate after interaction or attempted submit, preserve their typed value after errors, and explain exactly how to fix invalid or missing text.
Good UI
A reference-name field has a visible label, hint, medium width, focus ring, and error message beneath the hint when submitted empty.
Bad UI
The only instruction is placeholder text that disappears when the user starts typing.
Good UX
A user leaves the required field blank, sees an error only after submit, returns to the same field, and their later typed value clears the error.
Bad UX
Validation fires on the first focus event and blocks typing before the user has had a chance to answer.
Best fit
The answer is short and user-authored.
Avoid when
The answer is a paragraph, comment, address block, or explanation requiring multiple lines.
Required state
Empty untouched state with persistent label and optional hint.
Accessibility burden
Associate every text input with a visible label or equivalent accessible name that matches the visible question.
Common misuse
Using placeholder text as the only label or instruction.

Autocomplete

UI or UX
UI + UX - Input widget with suggestion behavior
UI guidance
Expose clear visual states for expanded, focused, highlighted, and selected options.
UX guidance
Preserve typed input and make selection reversible before submission.
Good UI
Persistent label above the input, readable text size, clear popup alignment, and visible highlighted option.
Bad UI
Placeholder-only label that disappears after typing.
Good UX
Typing filters suggestions while preserving the exact typed value.
Bad UX
Automatically forcing the first suggestion into the field.
Best fit
The list is long but values are known.
Avoid when
The task is open-ended query exploration.
Required state
Empty input state.
Accessibility burden
Expose combobox expanded state, active descendant, and option labels.
Common misuse
Using autocomplete where users expect broad search results.

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
Help the person reach a clear task outcome.
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 stale dependent value is submitted with a new controlling value.
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 stale dependent value is submitted with a new controlling value.
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
Controlling answer selected, with dependent options filtered to the valid subset.
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.
Decision rules
  • Prefer address entry when the user must provide a postal, delivery, billing, service, or eligibility address that downstream systems need as line, locality, region, postal code, and country parts.
  • Prefer text input only for one short address-like value such as a building name, room number, or delivery reference when the product does not need a complete address.
  • Prefer autocomplete when the main interaction is selecting one known record from suggestions; an address lookup may use autocomplete internally, but it still needs editable address fields and a manual path.
  • Prefer dependent fields when the only problem is a controlling answer changing a downstream option set, such as country changing state or province, rather than capturing the whole address.
  • Use a lookup for domestic addresses only when it clearly states the coverage, accepts common postal-code formats, lets users choose among similar addresses, and offers manual entry when the record is missing.
  • Keep address line 2, apartment, flat, unit, building, or organization details available and reviewable; do not discard secondary address information after lookup selection.
  • Use country-specific labels and validation, and avoid forcing a UK postcode, U.S. ZIP code, county, state, or province field on addresses from countries that do not use that part.
  • Validate required address parts with field-specific errors, but allow users to proceed through a review or exception path when a real address cannot be verified by the lookup provider.
  • Apply browser autocomplete tokens to individual address fields when the fields are structured, or street-address when the product intentionally accepts a single multi-line address block.
  • Route consequential address changes to review before submit when the address affects payment, delivery, eligibility, identity, tax, or official correspondence.
Inspect live examples
Failure modes
  • A checkout treats the first lookup result as final and ships to the wrong flat because the user never chose a specific address.
  • A service forces every user through a postcode lookup even when international, rural, new-build, or privacy-sensitive addresses are not listed.
  • A one-line field stores an address blob, so downstream mail, tax, validation, and customer support systems cannot tell town, postcode, or country apart.
  • Changing the country leaves a stale state field and postcode rule active, causing valid international addresses to fail validation.
  • The form silently removes apartment, suite, organization, or care-of details that are needed for successful delivery.
  • The address verifier replaces user-entered text without showing the proposed correction and without letting the user keep a real but unverified address.

Saved items