KLD Institute
Course mapOpen slides

Week 3 tutorial notes

Actions 101: Buttons, States, Errors, and Recovery

Map one product action across labels, states, disabled/loading/success/error/empty conditions, accessibility risks, and recovery paths, then choose one evidence-backed improvement.

Lesson thesis

Actions are promises the product makes to the user. Buttons, links, fields, states, errors, and recovery paths show what can be done, what is happening now, what changed, and how the user can continue when something fails.

Preparation status

Prepared with study notes, references, and web examples.

Study notes

1. Lecture spine

Session 6 turns the learner from screen reader into interaction reader. In the previous sessions, she learned to frame the user moment and organize layout priority. Now she asks what the user can do, what the product promises, what feedback appears, and how the user recovers when something goes wrong.

This is where a screen becomes believable product behavior. A static mockup can look polished while hiding the most important moments: loading, saving, failing, empty results, invalid input, unavailable actions, confirmation, and undo.

The session standard is action clarity plus recovery. The learner should be able to map one action across states, rewrite vague labels, identify missing states, and make one product decision about what state or recovery path should improve first.

  1. 01ActionWhat is the user trying to do?Start from the user task. Name the main action before discussing component style.
  2. 02StateWhat conditions must the product communicate?List what the product should show before, during, after, blocked, empty, failed, and successful conditions.
  3. 03WordsWhat should the product say?Write labels and messages that say what happens, what changed, what went wrong, and how to continue.
  4. 04DecisionWhat matters most now?Choose one action or state issue to improve first, based on task importance, risk, and user confusion.

2. Why actions and states matter professionally

The sources behind this session turn interaction quality into practical checks. Apple and GOV.UK provide guidance on button roles, labels, and destructive actions. NN/g heuristics emphasize visibility of system status, user control, error prevention, and recovery. GOV.UK and Material guidance show concrete form and error patterns.

W3C accessibility guidance reminds us that controls need accessible names and state; errors need programmatic relationship, not only red styling. Figma interactive components make those states visible in prototypes and design systems.

The beginner translation is simple: the interface should tell people what they can do, what is happening, what happened, and what to do next if the path breaks.

Professional anchors for Session 6
  • Buttons should set accurate expectations about what happens next.
  • The system should keep users informed about status and feedback.
  • Good designs prevent errors before users hit a dead end.
  • When errors happen, messages should be plain, specific, and constructive.
  • Accessible controls expose names, roles, states, and relationships.
  • Prototypes should document important states, not only the happy path.

3. Vocabulary for interaction judgment

Session 6 vocabulary helps the learner inspect product behavior. The important move is separating action, state, and message. A button label is the action promise. A state tells what is happening. A message explains a result, problem, or next step.

A weak critique says "the button is confusing." A stronger critique says "the label Submit does not say whether the application is sent, saved, or checked. I would change it to Send application because that matches the action promise."

The learner should also distinguish error types. A missing required field, a failed upload, a sold-out product, and a permission problem need different recovery paths.

Action

Something the user can do that may change data, start a task, submit information, or move the flow forward.

Example: Save changes, pay now, book appointment, retry upload, delete item.

Primary action

The main action that completes the current user decision.

Example: Pay now on a checkout screen, or Save changes on an edit screen.

Secondary action

A supporting path that is useful but not the main task.

Example: Back, edit details, save for later, learn more.

State

The current condition of a component, screen, or system.

Example: Default, focused, pressed, loading, saved, disabled, empty, error.

Success state

A state that explains that an action or result has completed successfully.

Example: Saved, booking confirmed, message sent, payment received.

Recovery

A path that helps the user continue after a mistake, failed action, unavailable service, or blocked condition.

Example: Fix the field, try again, undo, edit details, save draft, contact support.

4. Button labels and action roles

A button label should answer the user question: if I press this, what will happen? Vague labels such as Submit, OK, Done, and Next can be acceptable in some narrow contexts, but they often make users guess.

The learner should write labels with plain verbs and meaningful objects: send application, save changes, continue to payment, remove item, retry upload. The label should match the real product result.

Action hierarchy matters. A screen should not present five equally strong buttons unless the task truly requires equal choices. Primary, secondary, destructive, cancel, and recovery actions should look and read differently enough to reduce risk.

Action roles and clearer labels
Primary
Weak: Next
Strong: Continue to payment
Secondary
Weak: Change
Strong: Edit delivery address
Destructive
Weak: Remove
Strong: Delete saved product
Recovery
Weak: OK
Strong: Try upload again

5. States as product feedback

A state is what is true about the interface right now. States are a form of communication. They tell users whether something is ready, focused, changing, unavailable, successful, failed, or empty.

A prototype without states can hide product risk. It may show the normal screen but not what happens during saving, after success, after failure, when results are empty, when a product is unavailable, or when the user loses connection.

The learner should not design every possible state at full fidelity in Session 6. She should learn to list the important states, identify missing states, and explain which ones matter most for the user task.

Common state checklist
  • Default: action is available.
  • Hover or focus: a pointer or keyboard user has attention on the control.
  • Pressed: the user is actively triggering the control.
  • Loading: the action is being processed.
  • Disabled or blocked: the action is unavailable.
  • Success: the action completed.
  • Error: the action failed or cannot continue.
  • Empty: there is no content yet or no results.

6. Before, during, and after

The user experience around an action has at least three phases. Before action, the interface should make the decision safe enough. During action, the interface should confirm that the product is working. After action, the interface should confirm result and next step.

This is especially important for risky actions: payment, deletion, booking, cancellation, account changes, file upload, and public posting. The user may need cost, consequence, visibility, privacy, and recovery information before commitment.

The learner should practice drawing an action timeline: before, during, after, failure, and recovery.

Before, during, and after action
Before
Weak: Wait until failure to reveal the rule.
Strong: Show requirements, consequences, limits, and examples before submit.
During
Weak: Leave the button unchanged after press.
Strong: Show saving, uploading, sending, or processing feedback.
After
Weak: Return to the same screen with no confirmation.
Strong: Confirm what changed and show the next step or record.

7. Disabled and blocked actions

Disabled states require judgment. They can prevent duplicate submissions or indicate real unavailability. They can also create dead ends if users cannot understand why an action is unavailable.

The practical rule is: if users can do something to make the action available, tell them what is missing. If the condition is outside user control, explain the condition and offer a useful alternative if one exists.

The learner should avoid treating disabled as the whole design solution. Disabled is a state, not an explanation.

Disabled-state decisions
Missing requirement
Weak: Disable Continue with no reason.
Strong: Keep the button available and show field errors on submit, or explain exactly what is missing near the disabled action.
Temporary processing
Weak: Allow repeated Pay now clicks during processing.
Strong: Lock action while submitting to prevent duplicate payment.
Unavailable item
Weak: Hide Add to cart without explanation.
Strong: Show Sold out with Join waitlist or Notify me.

8. Error types and recovery messages

Not all errors should sound the same. A user-fixable input error should name the field problem and how to fix it. A system error should avoid blame and preserve progress where possible. A business-rule block should explain the condition and the next available path.

Good error messages use plain language, precisely indicate the problem, and constructively suggest a solution. They should not hide behind codes, blame the user, or say only that something went wrong.

The learner should write error messages in the pattern: what happened, where it happened, how to continue.

Different errors need different recovery
Input error
Weak: Invalid postcode.
Strong: Enter a postcode in the format SW1A 1AA.
System error
Weak: Error 500.
Strong: We could not save your changes. Your text is still here. Try again.
Rule block
Weak: Action unavailable.
Strong: This appointment can no longer be changed online. Call support before 5pm.

9. Form validation and recovery

Forms need a recovery system, not just red text. GOV.UK guidance is useful because it shows both the error summary and the inline error. The summary helps users find all problems; the inline message explains what to fix at the field.

Keeping user input is part of recovery. Clearing fields after an error increases effort and stress. Users should be able to see what went wrong, edit the previous answer, and continue.

The learner should practice mapping a form error path: submit, error summary, affected field, corrected value, resubmit, success.

  1. 01SummaryHelp the user find the problems.Show a summary at the top for longer forms and link to each field with an error.
  2. 02InlineExplain the problem where it happened.Show a specific error next to the affected field and keep wording consistent with the summary.
  3. 03PreserveDo not punish the user with data loss.Keep passing and failing answers so the user can edit instead of re-entering.
  4. 04FocusMake recovery reachable.Move focus or attention to the problem in a way that works for keyboard and assistive technology users.

10. Accessibility for actions and states

Accessible actions expose meaning, role, and state. A visual button with no accessible name is not enough. A toggle that changes only color can be unclear. An error that appears only as a red border can be missed.

WAI-ARIA guidance gives designers and developers language for states such as disabled, pressed, and invalid. The learner does not need to implement ARIA, but she should know what must be communicated to users and to assistive technology.

A useful beginner test is: if the visual styling disappeared, would the action and state still be understandable through words, structure, and behavior?

Accessible action checklist
  • The control has a clear visible label or accessible name.
  • The control can be reached and activated with keyboard where appropriate.
  • Toggle or selected states are not communicated by color alone.
  • Disabled or unavailable actions are explained.
  • Error fields are associated with useful error text.
  • Loading and status messages are available to assistive technology where needed.

11. State mapping as a product artifact

A state map lists the conditions around one user action. This is a small but powerful product-owner artifact. It helps a team see what needs to be designed, written, tested, and built.

The learner should start with one action, not a whole product. For example: save a recommendation, upload a file, book an appointment, submit a form, delete an item, or retry a failed payment.

The state map should include the label, success message, loading feedback, likely failure, recovery path, and whether input or progress is preserved.

State maps for common actions
Save recommendation
Weak: Only a Save button.
Strong: Default, saving, saved, failed, empty shortlist, remove from shortlist.
File upload
Weak: Only an Upload button.
Strong: Choose file, uploading, uploaded, wrong format, too large, retry.
Booking
Weak: Only a Confirm button.
Strong: Available, selected, confirming, confirmed, unavailable, expired, cancel.

12. AI action and state critique lab

AI is useful in Session 6 because it can help find missing states and weak labels. The danger is that AI may invent technical behavior or treat every problem as a copywriting issue.

A stronger prompt gives AI the problem sentence, screen or flow, current action labels, and known states. It asks for action roles, button promises, state checklist, prevention, recovery, disabled-state risk, rewrites, and one priority decision.

The learner should practice accept, adapt, reject: accept specific missing-state observations, adapt broad wording suggestions, reject invented backend behavior or generic redesign advice.

Session 12 prompt lab
I am reviewing product actions, button labels, states, errors, and recovery.

Problem sentence:
[paste the user-task-context-outcome sentence]

Screen or flow:
[describe the screen, action, form, or flow]

Current action labels and states:
[list buttons, links, fields, loading states, empty states, error messages, success messages, and recovery paths]

Please analyze this in simple English.
Return:
1. Main user action: what is the user trying to do?
2. Action map: list primary, secondary, destructive, cancel/back, and support actions.
3. Button promise: for each main button, explain what the label promises will happen.
4. State checklist: what should users see before, during, after, blocked, failed, empty, and successful states?
5. Missing states: what important states or edge cases are missing?
6. Error prevention: what can prevent mistakes before they happen?
7. Error recovery: what should the user see if something goes wrong?
8. Disabled-state risk: is any disabled action confusing, and what should explain it?
9. Rewrite: suggest clearer labels and recovery messages.
10. Priority decision: which one action/state issue should improve first, and why?

Rules:
- Do not invent technical system behavior.
- Use the problem sentence to judge action priority.
- Prefer plain action verbs.
- Do not blame the user in error messages.
- Keep user input whenever possible.
- Finish with one product decision sentence.
Check before accepting
  • Does the answer identify the main user action?
  • Does it separate primary, secondary, destructive, cancel, and recovery actions?
  • Does it explain what each button promises?
  • Does it list before, during, after, failed, empty, blocked, and success states?
  • Does it identify missing states or edge cases?
  • Does it rewrite labels and messages in plain language?
  • Does the learner reject invented technical behavior?
Reject or revise when
  • The answer only says to make buttons more visible.
  • The answer ignores loading, error, empty, disabled, or success states.
  • The answer invents system behavior that is not in the brief.
  • The answer writes blameful or vague messages.
  • The answer recommends a full redesign instead of one priority action/state improvement.

13. Worked example: save recommendation

The course project example is a product recommendation experience. A useful action might be saving a recommendation to a shortlist. This one action has multiple states: default, saving, saved, failed, empty shortlist, and remove from shortlist.

The product decision is not only what the button looks like. It is whether the user trusts that their choice was saved, whether they can recover from a failed save, and whether they can find the saved item later.

The learner should say: I would improve the failed-save state first because losing a recommendation damages trust and may make the user repeat research.

Product recommendation action states
Button label
Weak: Save
Strong: Save to shortlist
Loading
Weak: No visible change after press.
Strong: Saving to shortlist...
Success
Weak: Button silently changes color.
Strong: Saved to shortlist. View shortlist.
Failure
Weak: Something went wrong.
Strong: Could not save. Your recommendation is still here. Try again.

14. Worked example: form recovery

A form error is a good beginner practice because the recovery pattern is visible. The learner can see the summary, inline error, preserved input, and resubmit path.

The same principle applies outside forms. If something fails, the product should say what happened, keep safe progress where possible, and give a next action.

The tutor should push the learner away from blame. The product should not sound annoyed that the user made a mistake. It should help the user recover.

Form recovery pattern
Weak
Weak: Error. Invalid field.
Strong: There is a problem. Link: Enter a delivery postcode. Inline: Enter a delivery postcode, for example SW1A 1AA.
Preserve input
Weak: Clear all fields after submit.
Strong: Keep the postcode the user typed so they can edit it.
Recovery
Weak: Leave user at top without field link.
Strong: Move to the postcode field and let the user correct it.

15. Studio exercise and rubric

The studio output is an action-state checklist. It should include one main action, action roles, button labels, state map, missing-state notes, rewritten messages, accessibility risks, AI critique notes, and one product decision sentence.

The artifact should stay small. The learner should not redesign the whole flow. One action is enough if it is mapped deeply.

  1. 01Part ASelect one actionChoose one action from a familiar product screen or from the course project.
  2. 02Part BMap action rolesClassify primary, secondary, destructive, cancel/back, and recovery actions.
  3. 03Part CMap statesList default, focus, pressed, loading, disabled/blocked, success, error, empty, and recovery states.
  4. 04Part DCritique and decideRun the Session 9 prompt, rewrite labels and messages, then choose one priority improvement.
Rubric for a strong action-state checklist
  • Names the main user action and product promise.
  • Classifies action roles correctly.
  • Uses clear button labels with action verbs.
  • Maps before, during, after, blocked, failed, empty, and success states.
  • Identifies at least two missing states or edge cases.
  • Writes one plain error or recovery message.
  • Considers accessibility: names, focus, state, and invalid field relationship.
  • Finishes with one evidence-backed product decision.

16. Home study and follow-up reading

For home study, the learner should collect five buttons from safe apps or websites. For each, she should write what the label promises, what state appears before and after pressing, and what recovery path exists if the action fails.

The lecturer can use the references below to deepen examples around buttons, validation, error summaries, usability heuristics, Material error patterns, accessibility states, and Figma interactive components.

Follow-up reading for the lecturer

Apple Human Interface Guidelines: buttonsProfessional guidance for button roles, prominence, labels, consistency, destructive actions, and how buttons behave across contexts.GOV.UK Design System: button componentA clear source for action hierarchy, including button labels, start buttons, warning buttons, and avoiding unnecessary button overload.GOV.UK Design System: error message componentPractical guidance for inline validation errors: explain what went wrong, how to fix it, keep user input, and avoid generic messages.GOV.UK Design System: error summary componentA strong pattern for form recovery: move focus to a summary, link to fields with errors, and keep the summary wording consistent with inline messages.Nielsen Norman Group: 10 usability heuristicsThe enduring interaction-design reference for visibility of system status, user control, error prevention, and recovery from errors.Nielsen Norman Group: heuristic 9 error recovery posterA visual NN/g reference for error recovery: plain language, no error codes, precise problem statement, and constructive solution.Material Design: errors patternMaterial guidance for user input errors, app errors, loading indicators, disabled states, offline states, preserving input, and actions that help users recover.W3C WAI-ARIA Authoring Practices: button patternWAI-ARIA button pattern guidance for accessible button names, disabled state, toggle state, and keyboard activation.W3C WAI: aria-invalid for error fieldsAccessibility technique for marking invalid form fields and ensuring associated labels or instructions explain the error.Figma Help Center: interactive components with variantsFigma guidance for interactive components and variants, useful for teaching default, hover, pressed, disabled, and saved states in prototypes.

References

Apple Human Interface Guidelines: buttons

Professional guidance for button roles, prominence, labels, consistency, destructive actions, and how buttons behave across contexts.

GOV.UK Design System: button component

A clear source for action hierarchy, including button labels, start buttons, warning buttons, and avoiding unnecessary button overload.

GOV.UK Design System: error message component

Practical guidance for inline validation errors: explain what went wrong, how to fix it, keep user input, and avoid generic messages.

GOV.UK Design System: error summary component

A strong pattern for form recovery: move focus to a summary, link to fields with errors, and keep the summary wording consistent with inline messages.

Nielsen Norman Group: 10 usability heuristics

The enduring interaction-design reference for visibility of system status, user control, error prevention, and recovery from errors.

Nielsen Norman Group: heuristic 9 error recovery poster

A visual NN/g reference for error recovery: plain language, no error codes, precise problem statement, and constructive solution.

Material Design: errors pattern

Material guidance for user input errors, app errors, loading indicators, disabled states, offline states, preserving input, and actions that help users recover.

W3C WAI-ARIA Authoring Practices: button pattern

WAI-ARIA button pattern guidance for accessible button names, disabled state, toggle state, and keyboard activation.

W3C WAI: aria-invalid for error fields

Accessibility technique for marking invalid form fields and ensuring associated labels or instructions explain the error.

Figma Help Center: interactive components with variants

Figma guidance for interactive components and variants, useful for teaching default, hover, pressed, disabled, and saved states in prototypes.

Web examples

Guided practice

Choose one action, classify the action roles around it, map its before/during/after/failure states, run the action-state prompt, revise labels and recovery messages, and prioritize one improvement.

Artifact: Action-state checklist with labels, missing states, and recovery messages
Tutor review questions
  • Can the learner identify primary, secondary, destructive, cancel, and recovery actions?
  • Can the learner explain the promise made by a button label?
  • Can the learner map default, focus, pressed, loading, disabled, success, error, and empty states?
  • Can the learner write a plain error or recovery message without blame?
  • Can the learner consider accessible names, focus movement, state exposure, and invalid-field relationships?
  • Can the learner choose one action or state improvement to prioritize first?
AI prompt
I am reviewing product actions, button labels, states, errors, and recovery.

Problem sentence:
[paste the user-task-context-outcome sentence]

Screen or flow:
[describe the screen, action, form, or flow]

Current action labels and states:
[list buttons, links, fields, loading states, empty states, error messages, success messages, and recovery paths]

Please analyze this in simple English.
Return:
1. Main user action: what is the user trying to do?
2. Action map: list primary, secondary, destructive, cancel/back, and support actions.
3. Button promise: for each main button, explain what the label promises will happen.
4. State checklist: what should users see before, during, after, blocked, failed, empty, and successful states?
5. Missing states: what important states or edge cases are missing?
6. Error prevention: what can prevent mistakes before they happen?
7. Error recovery: what should the user see if something goes wrong?
8. Disabled-state risk: is any disabled action confusing, and what should explain it?
9. Rewrite: suggest clearer labels and recovery messages.
10. Priority decision: which one action/state issue should improve first, and why?

Rules:
- Do not invent technical system behavior.
- Use the problem sentence to judge action priority.
- Prefer plain action verbs.
- Do not blame the user in error messages.
- Keep user input whenever possible.
- Finish with one product decision sentence.

Home study

Find five buttons in different apps or websites. For each one, write the button promise, the before and after state, and the recovery path if the action fails. Choose one and rewrite its label, loading feedback, success message, and error message.