Back to compare picker

Inline edit vs Text input vs Single-page form vs Modal dialog

Use inline edit when a displayed value can switch into a local edit control in place, with explicit save/cancel, validation, and dirty-state protection while the surrounding context remains visible.

Learn the decision

Match the interaction to the person's task

Use inline edit when a displayed value can switch into a local edit control in place, with explicit save/cancel, validation, and dirty-state protection while the surrounding context remains visible.

Inline edit

Use it when: Users frequently update one visible value or one row property.

Make this state clear: Read state with displayed value and discoverable edit affordance.

Observe the result: A user clicks Edit owner, changes the value, sees Save become enabled, enters an invalid short value, fixes it beside the field, saves, and stays on the same row.

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 →

Single-page form

Use it when: A compact set of related fields should be reviewed together before one submit.

Make this state clear: Initial empty state with form heading, instruction, required or optional indicator explanation, grouped fields, and submit action.

Observe the result: A user reviews all contact details before submitting because the fields are short, related, and visible in one scan.

Study the full pattern →

Modal dialog

Use it when: A short task must interrupt normal page interaction but should return users to the same context afterward.

Make this state clear: Closed page state with an obvious invoking control.

Observe the result: Opening moves focus to the display-name field, Tab remains inside the layer, Escape cancels, and closing returns focus to Open dialog.

Study the full pattern →

Practice the judgment: Imagine this situation: Clicking away from a dirty inline edit silently discards the draft. 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 Inline editText inputSingle-page formModal dialog
UI or UX UI + UX - In-place value or row editingUI + UX - Single-line freeform data-entry controlUI + UX - Short related multi-field submission pageUI + UX - Focused modal task layer
UI guidance Render a read-state value with a visible edit affordance, then replace only that value, cell, or row with the appropriate input and adjacent Save and Cancel controls when edit mode starts.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.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 titled layer above a dimmed or otherwise unavailable page, with clear task content, named actions, visible close or cancel affordance, and stable scroll boundaries.
UX guidance Use inline edit when users need to make frequent, low-impact changes to one visible property while preserving surrounding list, table, or record context.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.Use a single-page form when users benefit from seeing, comparing, and editing a small related set of fields before one submission.Use the modal interruption only for compact tasks that genuinely need temporary focus before the user returns to the page.
Good UI A resource table shows an edit icon beside the owner cell; activating it turns that cell into a text field with Save and Cancel buttons while other cells remain read-only.A reference-name field has a visible label, hint, medium width, focus ring, and error message beneath the hint when submitted empty.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.Account settings opens in a titled dialog with one display-name field, Save, Cancel, close control, and dimmed inactive page context.
Bad UI The edit affordance appears only on pointer hover and is unreachable by keyboard or touch.The only instruction is placeholder text that disappears when the user starts typing.A long application with eligibility, address history, uploads, and payment fields is dumped onto one scrolling page.A vague popup titled Popup floats over active page controls and offers only OK.
Good UX A user clicks Edit owner, changes the value, sees Save become enabled, enters an invalid short value, fixes it beside the field, saves, and stays on the same row.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.A user reviews all contact details before submitting because the fields are short, related, and visible in one scan.Opening moves focus to the display-name field, Tab remains inside the layer, Escape cancels, and closing returns focus to Open dialog.
Bad UX A user edits a sorted table cell and the row immediately jumps to a different page before the saved value can be confirmed.Validation fires on the first focus event and blocks typing before the user has had a chance to answer.A validation failure clears completed fields, forcing the user to re-enter unrelated information.Users can click background Delete or Navigate controls while the modal is still open.
Best fit Users frequently update one visible value or one row property.The answer is short and user-authored.A compact set of related fields should be reviewed together before one submit.A short task must interrupt normal page interaction but should return users to the same context afterward.
Avoid when The edit affects multiple dependent fields or needs a review step.The answer is a paragraph, comment, address block, or explanation requiring multiple lines.The form is long, high-stakes, branched, or too hard to recover from on one page.The workflow is long, multi-step, shareable, or needs browser navigation.
Required state Read state with displayed value and discoverable edit affordance.Empty untouched state with persistent label and optional hint.Initial empty state with form heading, instruction, required or optional indicator explanation, grouped fields, and submit action.Closed page state with an obvious invoking control.
Accessibility burden Give edit, save, cancel, confirm, and dismiss controls accessible names, especially when icons are used.Associate every text input with a visible label or equivalent accessible name that matches the visible question.Keep field order in the DOM the same as the visible order.Use dialog semantics with an accessible name from the visible title.
Common misuse Using inline edit for high-impact changes that need a review or confirmation step.Using placeholder text as the only label or instruction.Using one page for a long complex application just to avoid designing steps.Using a modal as a generic container for routine information that could stay inline.

Inline edit

UI or UX
UI + UX - In-place value or row editing
UI guidance
Render a read-state value with a visible edit affordance, then replace only that value, cell, or row with the appropriate input and adjacent Save and Cancel controls when edit mode starts.
UX guidance
Use inline edit when users need to make frequent, low-impact changes to one visible property while preserving surrounding list, table, or record context.
Good UI
A resource table shows an edit icon beside the owner cell; activating it turns that cell into a text field with Save and Cancel buttons while other cells remain read-only.
Bad UI
The edit affordance appears only on pointer hover and is unreachable by keyboard or touch.
Good UX
A user clicks Edit owner, changes the value, sees Save become enabled, enters an invalid short value, fixes it beside the field, saves, and stays on the same row.
Bad UX
A user edits a sorted table cell and the row immediately jumps to a different page before the saved value can be confirmed.
Best fit
Users frequently update one visible value or one row property.
Avoid when
The edit affects multiple dependent fields or needs a review step.
Required state
Read state with displayed value and discoverable edit affordance.
Accessibility burden
Give edit, save, cancel, confirm, and dismiss controls accessible names, especially when icons are used.
Common misuse
Using inline edit for high-impact changes that need a review or confirmation step.

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.

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 reviews all contact details before submitting because the fields are short, related, and visible in one scan.
Bad UX
A validation failure clears completed fields, forcing the user to re-enter unrelated information.
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.

Modal dialog

UI or UX
UI + UX - Focused modal task layer
UI guidance
Render a titled layer above a dimmed or otherwise unavailable page, with clear task content, named actions, visible close or cancel affordance, and stable scroll boundaries.
UX guidance
Use the modal interruption only for compact tasks that genuinely need temporary focus before the user returns to the page.
Good UI
Account settings opens in a titled dialog with one display-name field, Save, Cancel, close control, and dimmed inactive page context.
Bad UI
A vague popup titled Popup floats over active page controls and offers only OK.
Good UX
Opening moves focus to the display-name field, Tab remains inside the layer, Escape cancels, and closing returns focus to Open dialog.
Bad UX
Users can click background Delete or Navigate controls while the modal is still open.
Best fit
A short task must interrupt normal page interaction but should return users to the same context afterward.
Avoid when
The workflow is long, multi-step, shareable, or needs browser navigation.
Required state
Closed page state with an obvious invoking control.
Accessibility burden
Use dialog semantics with an accessible name from the visible title.
Common misuse
Using a modal as a generic container for routine information that could stay inline.
Decision rules
  • Prefer inline edit when users frequently update one displayed value or one table row and need to keep the surrounding record, list, or table context visible.
  • Prefer a text input when the field is already part of a normal form and does not need a separate read mode, edit trigger, local confirm, or local cancel.
  • Prefer a single-page form when users must edit several related fields together and submit them as one reviewed set.
  • Prefer a modal dialog when the edit needs a short contained task, extra explanation, or focus isolation but should not take over the whole page.
  • Do not use inline edit for high-impact changes that need a summary of consequences, multi-field dependency review, or irreversible save confirmation.
  • Make editable values discoverable with an edit button, edit icon, hover affordance, or row action; do not rely on users guessing that static text can be clicked.
  • Inline edit must expose read mode, edit mode, dirty state, validation error, saving or submitted state, saved success, cancel, and failed-save recovery.
  • Disable or explain save until the value actually changed, and keep cancel available so users can return to the original displayed value.
  • When users click away with no changes, exiting edit mode can be safe; when unsaved changes exist, ask whether to save, discard, or keep editing.
  • In tables, allow only the intended row or cell to enter edit mode, preserve other row selections, and handle sort, filter, pagination, and refresh so the edited row does not vanish unexpectedly.
  • Use contextual validation beside the edited input; do not move users to a separate page or detached error summary for a one-cell edit.
  • Avoid inline edit when the same interaction would conflict with drill-down links, row selection, text selection, bulk actions, or dense keyboard navigation.
Inspect live examples
Failure modes
  • Static values look editable only after accidental click, so users cannot discover the behavior.
  • A value switches into edit mode but has no visible cancel path back to the original value.
  • Clicking away from a dirty inline edit silently discards the draft.
  • A table resort or filter immediately moves the edited row before users can confirm the change.
  • Inline edit is used for a multi-field configuration that needs section status, dependency validation, and review before save.
  • Every cell in a dense table is always editable, causing accidental changes, unclear focus order, and no record of what will be saved.

Saved items