{"abstract":"A text-bearing child disappears when its structural wrapper has no exposed role.","category":"Accessibility interaction semantics","checks":6,"contract":"Input is preorder [id,parent,presentational] with unique IDs and earlier parents. Return [id,exposed_parent] for nonpresentational nodes. Presentational nodes disappear but their descendants retain the nearest nonpresentational ancestor, or None.","contract_signature":"nodes","evaluation_group":"model-3bde22bf95210fed","failed_approach":"Keeping every descendant as a root preserves content but destroys the nearest meaningful parent relationship.","family":"z-accessibility-presentation-flatten","id":"FA-11396","implementations":{"attempt":{"sha256":"53bd37219f654ea40cf05b02a92d44e822b1a30f49cb8a0f3a5bf24a19238c11","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(nodes):\n    present = {ident for ident,parent,presentation in nodes if presentation}\n    return [[ident, None if parent in present else parent] for ident,parent,presentation in nodes if not presentation]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('nested wrapper', solve([('a',None,False),('w','a',True),(str(N),'w',False)]), [['a',None],[str(N),'a']])\ncheck('root wrapper', solve([('w',None,True),(str(N),'w',False)]), [[str(N),None]])\ncheck('multiple wrappers', solve([('a',None,False),('w','a',True),('v','w',True),(str(N),'v',False)]), [['a',None],[str(N),'a']])\ncheck('meaningful child parent', solve([('a',None,False),('b','a',False),(str(N),'b',False)]), [['a',None],['b','a'],[str(N),'b']])\ncheck('only wrapper', solve([(str(N),None,True)]), [])\ncheck('empty', solve([]), [])\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"aaf2e652d045c496359d4e8925f19bc65f69a20ce6b2d21e16c913eaf1d8f809","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(nodes):\n    gone = set()\n    result = []\n    for ident,parent,presentation in nodes:\n        if presentation or parent in gone: gone.add(ident)\n        else: result.append([ident,parent])\n    return result\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('nested wrapper', solve([('a',None,False),('w','a',True),(str(N),'w',False)]), [['a',None],[str(N),'a']])\ncheck('root wrapper', solve([('w',None,True),(str(N),'w',False)]), [[str(N),None]])\ncheck('multiple wrappers', solve([('a',None,False),('w','a',True),('v','w',True),(str(N),'v',False)]), [['a',None],[str(N),'a']])\ncheck('meaningful child parent', solve([('a',None,False),('b','a',False),(str(N),'b',False)]), [['a',None],['b','a'],[str(N),'b']])\ncheck('only wrapper', solve([(str(N),None,True)]), [])\ncheck('empty', solve([]), [])\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":" This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"z-accessibility-presentation-flatten","generated_at":"2026-09-29T14:38:47.493339+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A controlled offline accessibility-data model. It isolates the stated contract; it does not simulate browser accessibility APIs or claim full ARIA conformance.","root_cause":"Suppressing wrapper semantics is confused with suppressing the entire subtree.","sha256":"9c0ac2a68bd03e0c62b50b7f78b9faae6c4634e6080cb352f3124779881376cf","title":"Removing a presentational wrapper deletes its meaningful descendants · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":39.479,"exit_code":1,"observations":[{"actual":[["a",null],["1",null]],"check":"nested wrapper","expected":[["a",null],["1","a"]],"passed":false},{"actual":[["1",null]],"check":"root wrapper","expected":[["1",null]],"passed":true},{"actual":[["a",null],["1",null]],"check":"multiple wrappers","expected":[["a",null],["1","a"]],"passed":false},{"actual":[["a",null],["b","a"],["1","b"]],"check":"meaningful child parent","expected":[["a",null],["b","a"],["1","b"]],"passed":true},{"actual":[],"check":"only wrapper","expected":[],"passed":true},{"actual":[],"check":"empty","expected":[],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"nested wrapper\", \"actual\": [[\"a\", null], [\"1\", null]], \"expected\": [[\"a\", null], [\"1\", \"a\"]], \"passed\": false}, {\"check\": \"root wrapper\", \"actual\": [[\"1\", null]], \"expected\": [[\"1\", null]], \"passed\": true}, {\"check\": \"multiple wrappers\", \"actual\": [[\"a\", null], [\"1\", null]], \"expected\": [[\"a\", null], [\"1\", \"a\"]], \"passed\": false}, {\"check\": \"meaningful child parent\", \"actual\": [[\"a\", null], [\"b\", \"a\"], [\"1\", \"b\"]], \"expected\": [[\"a\", null], [\"b\", \"a\"], [\"1\", \"b\"]], \"passed\": true}, {\"check\": \"only wrapper\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"empty\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":46.595,"exit_code":1,"observations":[{"actual":[["a",null]],"check":"nested wrapper","expected":[["a",null],["1","a"]],"passed":false},{"actual":[],"check":"root wrapper","expected":[["1",null]],"passed":false},{"actual":[["a",null]],"check":"multiple wrappers","expected":[["a",null],["1","a"]],"passed":false},{"actual":[["a",null],["b","a"],["1","b"]],"check":"meaningful child parent","expected":[["a",null],["b","a"],["1","b"]],"passed":true},{"actual":[],"check":"only wrapper","expected":[],"passed":true},{"actual":[],"check":"empty","expected":[],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"nested wrapper\", \"actual\": [[\"a\", null]], \"expected\": [[\"a\", null], [\"1\", \"a\"]], \"passed\": false}, {\"check\": \"root wrapper\", \"actual\": [], \"expected\": [[\"1\", null]], \"passed\": false}, {\"check\": \"multiple wrappers\", \"actual\": [[\"a\", null]], \"expected\": [[\"a\", null], [\"1\", \"a\"]], \"passed\": false}, {\"check\": \"meaningful child parent\", \"actual\": [[\"a\", null], [\"b\", \"a\"], [\"1\", \"b\"]], \"expected\": [[\"a\", null], [\"b\", \"a\"], [\"1\", \"b\"]], \"passed\": true}, {\"check\": \"only wrapper\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"empty\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}