{"abstract":"Unexposed child placeholders consume page capacity.","category":"Accessibility interaction semantics","checks":10,"contract":"Input [children,start,count,revision,requested_revision,exposed_ids]. Page accessibility child descriptors in source order, first dedupe IDs then filter exposed IDs. start/count must be nonnegative integers excluding booleans; invalid returns {error:range}. Stale requested revision returns {error:stale} before range checks. Return children slice, total exposed unique count, next offset or None, revision. Zero count yields empty page with next None to avoid nonprogress. Start beyond total gives empty and next None.","evaluation_group":"s3-accessibility-child-pages","failed_approach":"The local repair substitutes if x in exposed or x == 'hidden' but still mishandles the regression fixtures.","family":"s3-accessibility-child-pages-exposure-before-page","id":"FA-54031","implementations":{"attempt":{"sha256":"b04583d529c298b77f9236d63bbe1c6e6f786bf1f543b84ac8711567812498ea","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(data):\n    children,start,count,revision,requested,exposed = data\n    if requested != revision: return {'error':'stale'}\n    if type(start) is not int or type(count) is not int or start < 0 or count < 0: return {'error':'range'}\n    items = [x for x in dict.fromkeys(children) if x in exposed or x == 'hidden']\n    page = items[start:start+count]\n    nxt = start+len(page) if page and start+len(page) < len(items) else None\n    return {'children':page,'total':len(items),'next':nxt,'revision':revision}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('contract fixture 1', solve([['a','hidden','b','a','c'],0,2,N,N,['a','b','c']],), {'children':['a','b'],'total':3,'next':2,'revision':N})\ncheck('contract fixture 2', solve([['a','b','c'],2,4,N,N,['a','b','c']],), {'children':['c'],'total':3,'next':None,'revision':N})\ncheck('contract fixture 3', solve([['a','b'],0,0,N,N,['a','b']],), {'children':[],'total':2,'next':None,'revision':N})\ncheck('contract fixture 4', solve([['a'],-1,2,N,N-1,['a']],), {'error':'stale'})\ncheck('contract fixture 5', solve([['a'],True,1,N,N,['a']],), {'error':'range'})\ncheck('contract fixture 6', solve([['a'],0,False,N,N,['a']],), {'error':'range'})\ncheck('contract fixture 7', solve([['a'],0,-1,N,N,['a']],), {'error':'range'})\ncheck('contract fixture 8', solve([['a'],-1,1,N,N,['a']],), {'error':'range'})\ncheck('contract fixture 9', solve([['a','b','c'],1,1,N,N,['a','b','c']],), {'children':['b'],'total':3,'next':2,'revision':N})\ncheck('contract fixture 10', solve([['a'],N+2,1,N,N,['a']],), {'children':[],'total':1,'next':None,'revision':N})\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":"3d8b749b42326216203a45bdd42cce3cd3f6ca3fbe3d007d291f9b8dfaf20a0a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(data):\n    children,start,count,revision,requested,exposed = data\n    if requested != revision: return {'error':'stale'}\n    if type(start) is not int or type(count) is not int or start < 0 or count < 0: return {'error':'range'}\n    items = [x for x in dict.fromkeys(children) if True]\n    page = items[start:start+count]\n    nxt = start+len(page) if page and start+len(page) < len(items) else None\n    return {'children':page,'total':len(items),'next':nxt,'revision':revision}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('contract fixture 1', solve([['a','hidden','b','a','c'],0,2,N,N,['a','b','c']],), {'children':['a','b'],'total':3,'next':2,'revision':N})\ncheck('contract fixture 2', solve([['a','b','c'],2,4,N,N,['a','b','c']],), {'children':['c'],'total':3,'next':None,'revision':N})\ncheck('contract fixture 3', solve([['a','b'],0,0,N,N,['a','b']],), {'children':[],'total':2,'next':None,'revision':N})\ncheck('contract fixture 4', solve([['a'],-1,2,N,N-1,['a']],), {'error':'stale'})\ncheck('contract fixture 5', solve([['a'],True,1,N,N,['a']],), {'error':'range'})\ncheck('contract fixture 6', solve([['a'],0,False,N,N,['a']],), {'error':'range'})\ncheck('contract fixture 7', solve([['a'],0,-1,N,N,['a']],), {'error':'range'})\ncheck('contract fixture 8', solve([['a'],-1,1,N,N,['a']],), {'error':'range'})\ncheck('contract fixture 9', solve([['a','b','c'],1,1,N,N,['a','b','c']],), {'children':['b'],'total':3,'next':2,'revision':N})\ncheck('contract fixture 10', solve([['a'],N+2,1,N,N,['a']],), {'children':[],'total':1,'next':None,'revision':N})\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"},"fixed":{"sha256":"20df8118bdcae1b7f2289293c8fb880daa29a315f4b40dc04357ca9a3102780a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(data):\n    children,start,count,revision,requested,exposed = data\n    if requested != revision: return {'error':'stale'}\n    if type(start) is not int or type(count) is not int or start < 0 or count < 0: return {'error':'range'}\n    items = [x for x in dict.fromkeys(children) if x in exposed]\n    page = items[start:start+count]\n    nxt = start+len(page) if page and start+len(page) < len(items) else None\n    return {'children':page,'total':len(items),'next':nxt,'revision':revision}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('contract fixture 1', solve([['a','hidden','b','a','c'],0,2,N,N,['a','b','c']],), {'children':['a','b'],'total':3,'next':2,'revision':N})\ncheck('contract fixture 2', solve([['a','b','c'],2,4,N,N,['a','b','c']],), {'children':['c'],'total':3,'next':None,'revision':N})\ncheck('contract fixture 3', solve([['a','b'],0,0,N,N,['a','b']],), {'children':[],'total':2,'next':None,'revision':N})\ncheck('contract fixture 4', solve([['a'],-1,2,N,N-1,['a']],), {'error':'stale'})\ncheck('contract fixture 5', solve([['a'],True,1,N,N,['a']],), {'error':'range'})\ncheck('contract fixture 6', solve([['a'],0,False,N,N,['a']],), {'error':'range'})\ncheck('contract fixture 7', solve([['a'],0,-1,N,N,['a']],), {'error':'range'})\ncheck('contract fixture 8', solve([['a'],-1,1,N,N,['a']],), {'error':'range'})\ncheck('contract fixture 9', solve([['a','b','c'],1,1,N,N,['a','b','c']],), {'children':['b'],'total':3,'next':2,'revision':N})\ncheck('contract fixture 10', solve([['a'],N+2,1,N,N,['a']],), {'children':[],'total':1,'next':None,'revision':N})\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":"Stipulated finite adapter contract, not a claim of platform accessibility or ARIA conformance. 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":"s3-accessibility-child-pages-exposure-before-page","generated_at":"2026-09-29T14:45:44.582940+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Offline accessibility bridge model with explicit policy; useful for testing semantic API adapters independently of browser implementations.","repair":"Apply the exact contract at the exposure before page decision: if x in exposed","root_cause":"The exposure before page decision in the child pages adapter violates its declared contract.","sha256":"99c3fdb718024b47cb7e6d42e1e96dd8c14f5a9ee86b9fe4f42500589cf698bb","title":"Unexposed child placeholders consume page capacity · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.874,"exit_code":1,"observations":[{"actual":{"children":["a","hidden"],"next":2,"revision":1,"total":4},"check":"contract fixture 1","expected":{"children":["a","b"],"next":2,"revision":1,"total":3},"passed":false},{"actual":{"children":["c"],"next":null,"revision":1,"total":3},"check":"contract fixture 2","expected":{"children":["c"],"next":null,"revision":1,"total":3},"passed":true},{"actual":{"children":[],"next":null,"revision":1,"total":2},"check":"contract fixture 3","expected":{"children":[],"next":null,"revision":1,"total":2},"passed":true},{"actual":{"error":"stale"},"check":"contract fixture 4","expected":{"error":"stale"},"passed":true},{"actual":{"error":"range"},"check":"contract fixture 5","expected":{"error":"range"},"passed":true},{"actual":{"error":"range"},"check":"contract fixture 6","expected":{"error":"range"},"passed":true},{"actual":{"error":"range"},"check":"contract fixture 7","expected":{"error":"range"},"passed":true},{"actual":{"error":"range"},"check":"contract fixture 8","expected":{"error":"range"},"passed":true},{"actual":{"children":["b"],"next":2,"revision":1,"total":3},"check":"contract fixture 9","expected":{"children":["b"],"next":2,"revision":1,"total":3},"passed":true},{"actual":{"children":[],"next":null,"revision":1,"total":1},"check":"contract fixture 10","expected":{"children":[],"next":null,"revision":1,"total":1},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"contract fixture 1\", \"actual\": {\"children\": [\"a\", \"hidden\"], \"total\": 4, \"next\": 2, \"revision\": 1}, \"expected\": {\"children\": [\"a\", \"b\"], \"total\": 3, \"next\": 2, \"revision\": 1}, \"passed\": false}, {\"check\": \"contract fixture 2\", \"actual\": {\"children\": [\"c\"], \"total\": 3, \"next\": null, \"revision\": 1}, \"expected\": {\"children\": [\"c\"], \"total\": 3, \"next\": null, \"revision\": 1}, \"passed\": true}, {\"check\": \"contract fixture 3\", \"actual\": {\"children\": [], \"total\": 2, \"next\": null, \"revision\": 1}, \"expected\": {\"children\": [], \"total\": 2, \"next\": null, \"revision\": 1}, \"passed\": true}, {\"check\": \"contract fixture 4\", \"actual\": {\"error\": \"stale\"}, \"expected\": {\"error\": \"stale\"}, \"passed\": true}, {\"check\": \"contract fixture 5\", \"actual\": {\"error\": \"range\"}, \"expected\": {\"error\": \"range\"}, \"passed\": true}, {\"check\": \"contract fixture 6\", \"actual\": {\"error\": \"range\"}, \"expected\": {\"error\": \"range\"}, \"passed\": true}, {\"check\": \"contract fixture 7\", \"actual\": {\"error\": \"range\"}, \"expected\": {\"error\": \"range\"}, \"passed\": true}, {\"check\": \"contract fixture 8\", \"actual\": {\"error\": \"range\"}, \"expected\": {\"error\": \"range\"}, \"passed\": true}, {\"check\": \"contract fixture 9\", \"actual\": {\"children\": [\"b\"], \"total\": 3, \"next\": 2, \"revision\": 1}, \"expected\": {\"children\": [\"b\"], \"total\": 3, \"next\": 2, \"revision\": 1}, \"passed\": true}, {\"check\": \"contract fixture 10\", \"actual\": {\"children\": [], \"total\": 1, \"next\": null, \"revision\": 1}, \"expected\": {\"children\": [], \"total\": 1, \"next\": null, \"revision\": 1}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.789,"exit_code":1,"observations":[{"actual":{"children":["a","hidden"],"next":2,"revision":1,"total":4},"check":"contract fixture 1","expected":{"children":["a","b"],"next":2,"revision":1,"total":3},"passed":false},{"actual":{"children":["c"],"next":null,"revision":1,"total":3},"check":"contract fixture 2","expected":{"children":["c"],"next":null,"revision":1,"total":3},"passed":true},{"actual":{"children":[],"next":null,"revision":1,"total":2},"check":"contract fixture 3","expected":{"children":[],"next":null,"revision":1,"total":2},"passed":true},{"actual":{"error":"stale"},"check":"contract fixture 4","expected":{"error":"stale"},"passed":true},{"actual":{"error":"range"},"check":"contract fixture 5","expected":{"error":"range"},"passed":true},{"actual":{"error":"range"},"check":"contract fixture 6","expected":{"error":"range"},"passed":true},{"actual":{"error":"range"},"check":"contract fixture 7","expected":{"error":"range"},"passed":true},{"actual":{"error":"range"},"check":"contract fixture 8","expected":{"error":"range"},"passed":true},{"actual":{"children":["b"],"next":2,"revision":1,"total":3},"check":"contract fixture 9","expected":{"children":["b"],"next":2,"revision":1,"total":3},"passed":true},{"actual":{"children":[],"next":null,"revision":1,"total":1},"check":"contract fixture 10","expected":{"children":[],"next":null,"revision":1,"total":1},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"contract fixture 1\", \"actual\": {\"children\": [\"a\", \"hidden\"], \"total\": 4, \"next\": 2, \"revision\": 1}, \"expected\": {\"children\": [\"a\", \"b\"], \"total\": 3, \"next\": 2, \"revision\": 1}, \"passed\": false}, {\"check\": \"contract fixture 2\", \"actual\": {\"children\": [\"c\"], \"total\": 3, \"next\": null, \"revision\": 1}, \"expected\": {\"children\": [\"c\"], \"total\": 3, \"next\": null, \"revision\": 1}, \"passed\": true}, {\"check\": \"contract fixture 3\", \"actual\": {\"children\": [], \"total\": 2, \"next\": null, \"revision\": 1}, \"expected\": {\"children\": [], \"total\": 2, \"next\": null, \"revision\": 1}, \"passed\": true}, {\"check\": \"contract fixture 4\", \"actual\": {\"error\": \"stale\"}, \"expected\": {\"error\": \"stale\"}, \"passed\": true}, {\"check\": \"contract fixture 5\", \"actual\": {\"error\": \"range\"}, \"expected\": {\"error\": \"range\"}, \"passed\": true}, {\"check\": \"contract fixture 6\", \"actual\": {\"error\": \"range\"}, \"expected\": {\"error\": \"range\"}, \"passed\": true}, {\"check\": \"contract fixture 7\", \"actual\": {\"error\": \"range\"}, \"expected\": {\"error\": \"range\"}, \"passed\": true}, {\"check\": \"contract fixture 8\", \"actual\": {\"error\": \"range\"}, \"expected\": {\"error\": \"range\"}, \"passed\": true}, {\"check\": \"contract fixture 9\", \"actual\": {\"children\": [\"b\"], \"total\": 3, \"next\": 2, \"revision\": 1}, \"expected\": {\"children\": [\"b\"], \"total\": 3, \"next\": 2, \"revision\": 1}, \"passed\": true}, {\"check\": \"contract fixture 10\", \"actual\": {\"children\": [], \"total\": 1, \"next\": null, \"revision\": 1}, \"expected\": {\"children\": [], \"total\": 1, \"next\": null, \"revision\": 1}, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":43.152,"exit_code":0,"observations":[{"actual":{"children":["a","b"],"next":2,"revision":1,"total":3},"check":"contract fixture 1","expected":{"children":["a","b"],"next":2,"revision":1,"total":3},"passed":true},{"actual":{"children":["c"],"next":null,"revision":1,"total":3},"check":"contract fixture 2","expected":{"children":["c"],"next":null,"revision":1,"total":3},"passed":true},{"actual":{"children":[],"next":null,"revision":1,"total":2},"check":"contract fixture 3","expected":{"children":[],"next":null,"revision":1,"total":2},"passed":true},{"actual":{"error":"stale"},"check":"contract fixture 4","expected":{"error":"stale"},"passed":true},{"actual":{"error":"range"},"check":"contract fixture 5","expected":{"error":"range"},"passed":true},{"actual":{"error":"range"},"check":"contract fixture 6","expected":{"error":"range"},"passed":true},{"actual":{"error":"range"},"check":"contract fixture 7","expected":{"error":"range"},"passed":true},{"actual":{"error":"range"},"check":"contract fixture 8","expected":{"error":"range"},"passed":true},{"actual":{"children":["b"],"next":2,"revision":1,"total":3},"check":"contract fixture 9","expected":{"children":["b"],"next":2,"revision":1,"total":3},"passed":true},{"actual":{"children":[],"next":null,"revision":1,"total":1},"check":"contract fixture 10","expected":{"children":[],"next":null,"revision":1,"total":1},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"contract fixture 1\", \"actual\": {\"children\": [\"a\", \"b\"], \"total\": 3, \"next\": 2, \"revision\": 1}, \"expected\": {\"children\": [\"a\", \"b\"], \"total\": 3, \"next\": 2, \"revision\": 1}, \"passed\": true}, {\"check\": \"contract fixture 2\", \"actual\": {\"children\": [\"c\"], \"total\": 3, \"next\": null, \"revision\": 1}, \"expected\": {\"children\": [\"c\"], \"total\": 3, \"next\": null, \"revision\": 1}, \"passed\": true}, {\"check\": \"contract fixture 3\", \"actual\": {\"children\": [], \"total\": 2, \"next\": null, \"revision\": 1}, \"expected\": {\"children\": [], \"total\": 2, \"next\": null, \"revision\": 1}, \"passed\": true}, {\"check\": \"contract fixture 4\", \"actual\": {\"error\": \"stale\"}, \"expected\": {\"error\": \"stale\"}, \"passed\": true}, {\"check\": \"contract fixture 5\", \"actual\": {\"error\": \"range\"}, \"expected\": {\"error\": \"range\"}, \"passed\": true}, {\"check\": \"contract fixture 6\", \"actual\": {\"error\": \"range\"}, \"expected\": {\"error\": \"range\"}, \"passed\": true}, {\"check\": \"contract fixture 7\", \"actual\": {\"error\": \"range\"}, \"expected\": {\"error\": \"range\"}, \"passed\": true}, {\"check\": \"contract fixture 8\", \"actual\": {\"error\": \"range\"}, \"expected\": {\"error\": \"range\"}, \"passed\": true}, {\"check\": \"contract fixture 9\", \"actual\": {\"children\": [\"b\"], \"total\": 3, \"next\": 2, \"revision\": 1}, \"expected\": {\"children\": [\"b\"], \"total\": 3, \"next\": 2, \"revision\": 1}, \"passed\": true}, {\"check\": \"contract fixture 10\", \"actual\": {\"children\": [], \"total\": 1, \"next\": null, \"revision\": 1}, \"expected\": {\"children\": [], \"total\": 1, \"next\": null, \"revision\": 1}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}