Issue: error recovery in a free workshop registration form Problem: a rejection gives no usable correction route; a hidden session error can keep blocking submission after the attendance mode changes. Purpose: retain entered content and help users correct currently applicable fields, then continue registration. Scope: name, email, attendance mode and onsite session. No login, payment or attachments. Independent fictional design. Rules: name/email/mode required; session only onsite. Agree trimming, lengths and accepted formats with engineering and enforce the same rules server-side. Email syntax is not deliverability or ownership. Mode change: switching online clears session value/error and excludes it from the request. Explain the reset beforehand and announce that no session is needed afterwards. Returning onsite requires a fresh selection. Keep name and email, including incorrect values. Timing: no initial typing errors. On submit, check all applicable fields and list errors in screen order; do not stop at the first. Mirror summary and field messages. Server validation uses the same presentation. Focus: submit errors focus the summary heading. Each link focuses the input or first operable choice in its group. Keep the target clear of sticky headers and associate text errors with controls. Correction: recheck previously failing fields on blur. Remove resolved errors from both locations and update the remaining count; remove an empty summary. Do not move focus back during correction. Check newly invalid fields on the next full submit. Messages: Enter your name / Enter your email address / Check both sides of @ in your email address (only for that condition) / Choose how you will attend / Choose an onsite session. Full session: preserve other input, mark the selected session is full and require a new choice. Never substitute another session automatically. Recheck availability on submission. Engineering must verify capacity and registration confirmation as one consistent operation. Service problem: do not mark correct inputs invalid. If the outcome is unknown, provide an evidence-based outcome check without claiming success/failure or automatically submitting again. Roles: planning owns rules/messages/transitions/focus; engineering confirms client/server agreement, rejection mapping and outcome evidence; QA checks sequences and assistive technology; support distinguishes correction from service issues. QA: empty submit, multiple errors, incorrect value retention, keyboard links, resolved errors, onsite→online→onsite, outgoing fields, server full capacity, timeout, 320px and zoom. Record actual result/version/environment/owner/evidence separately after testing. Measurement: inspect repeated error categories and resubmission results. Never collect name/email/input values as analytics. Fewer recorded errors alone do not prove better completion. Additional QA: choose session A → switch online → verify no session in the request → return onsite → verify A is not restored → submit without choosing and expect the required-session error. This case concerns confirmed full capacity only; deadlines and event cancellation are separate conditions.