{"id":"ACC-010","name":"Error message states problem and recovery","domain":"accessibility","layer":"section","strength":"hard_constraint","human_logic":"IF an error message appears, THEN state what happened, what remains safe or changed, and the next corrective action in non-blaming language ELSE retain.","when":{"path":"section.type","operator":"eq","value":"error_message"},"then":[{"action":"complete","target":"section.error_message","fields":["problem","state_or_consequence","corrective_action"],"tone":"non_blame"}],"else":[{"action":"retain","target":"current_text","reason":"No triggering condition is present."}],"unless":[],"because":"An error is useful only when the reader can recover.","diagnostics":[],"examples":{},"source_ids":["WEB-004","WEB-006"],"laka":{"smallest_sufficient_intervention":true,"primary_axes":["scope","depth","magnitude","reversibility"]},"requires_facts":["section.type"],"tests":[{"id":"TST-021","rule_id":"ACC-010","before":"Invalid input.","after":"Enter an email in the format name@example.com. Your other form entries are still saved.","reason":"The error explains recovery and state.","assertion":{"if":{"path":"output","operator":"eq","value":"Enter an email in the format name@example.com. Your other form entries are still saved."},"then":"pass","else":"review"}}],"sources":[{"id":"WEB-004","title":"Microsoft Writing Style Guide","creator":"Microsoft","domain":"technical_style","type":"Official style guide","note":"Warm, clear, concise, helpful technical communication.","url":"https://learn.microsoft.com/en-us/style-guide/welcome/"},{"id":"WEB-006","title":"Making Content Usable for People with Cognitive and Learning Disabilities","creator":"W3C","domain":"cognitive_accessibility","type":"W3C Working Group Note","note":"Clear words, simple voice and tense, explicit instructions, and supportive structure.","url":"https://www.w3.org/TR/coga-usable/"}],"defined_in":{"file":"17-accessibility-rules.json","title":"Accessible and Cognitively Usable Writing Rules","slug":"accessibility-rules"}}