{"abstract":"Horizontal scroll shifts disclosure target the wrong way produces the wrong hierarchical widget state in a regression fixture.","category":"Tree accessibility","checks":13,"contract":"Hit testing is in logical row coordinates after horizontal scrolling. Disclosure zone occupies one indent unit at the row depth; row text starts after it. Leaves have no disclosure action. RTL reflects the physical x coordinate. Drag handles and editable fields take priority over row selection.","evaluation_group":"s3-tree-tree-hit-zone","failed_approach":"The partial repair `logical=local` still violates a boundary or preservation case.","family":"s3-tree_accessibility-tree-hit-zone-02","id":"FA-39396","implementations":{"attempt":{"sha256":"b17ec38514f813f199c980b6949bb9d2b900d3a6a4964ba40a7d85049b9f238a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    local=d['width']-d['x'] if d['rtl'] else d['x']\n    logical=local\n    start=d['depth']*d['indent']\n    end=start+d['indent']\n    inside=0<=d['x']<d['width'] and 0<=d['y']<d['height']\n    disclosure=start<=logical<end and d['branch']\n    text=logical>=end\n    control=next((name for name,left,right in d['controls'] if left<=logical<right),None)\n    action=('control:'+control) if control is not None else ('toggle' if disclosure else ('select' if text else 'none'))\n    action=action if inside and not d['disabled'] else 'none'\n    return [action,logical,start,end]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = {1: [('disclosure start', {'width': 130, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('text boundary', {'width': 130, 'x': 30, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['select', 30, 20, 30]), ('leaf disclosure', {'width': 130, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': False, 'controls': [], 'disabled': False}, ['none', 20, 20, 30]), ('leaf indent', {'width': 130, 'x': 25, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': False, 'controls': [], 'disabled': False}, ['none', 25, 20, 30]), ('scrolled control', {'width': 130, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 10, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 30, 40]], 'disabled': False}, ['control:edit', 30, 20, 30]), ('RTL', {'width': 130, 'x': 110, 'y': 3, 'rtl': True, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('scrolled', {'width': 130, 'x': 10, 'y': 3, 'rtl': False, 'scroll': 10, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('control overlay', {'width': 130, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 20, 30]], 'disabled': False}, ['control:edit', 20, 20, 30]), ('control start', {'width': 130, 'x': 30, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 30, 40]], 'disabled': False}, ['control:edit', 30, 20, 30]), ('right edge', {'width': 130, 'x': 130, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 130, 20, 30]), ('bottom edge', {'width': 130, 'x': 40, 'y': 20, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 40, 20, 30]), ('above row', {'width': 130, 'x': 40, 'y': -1, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 40, 20, 30]), ('disabled', {'width': 130, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': True}, ['none', 20, 20, 30])], 2: [('disclosure start', {'width': 140, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('text boundary', {'width': 140, 'x': 30, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['select', 30, 20, 30]), ('leaf disclosure', {'width': 140, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': False, 'controls': [], 'disabled': False}, ['none', 20, 20, 30]), ('leaf indent', {'width': 140, 'x': 25, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': False, 'controls': [], 'disabled': False}, ['none', 25, 20, 30]), ('scrolled control', {'width': 140, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 10, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 30, 40]], 'disabled': False}, ['control:edit', 30, 20, 30]), ('RTL', {'width': 140, 'x': 120, 'y': 3, 'rtl': True, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('scrolled', {'width': 140, 'x': 10, 'y': 3, 'rtl': False, 'scroll': 10, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('control overlay', {'width': 140, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 20, 30]], 'disabled': False}, ['control:edit', 20, 20, 30]), ('control start', {'width': 140, 'x': 30, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 30, 40]], 'disabled': False}, ['control:edit', 30, 20, 30]), ('right edge', {'width': 140, 'x': 140, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 140, 20, 30]), ('bottom edge', {'width': 140, 'x': 40, 'y': 20, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 40, 20, 30]), ('above row', {'width': 140, 'x': 40, 'y': -1, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 40, 20, 30]), ('disabled', {'width': 140, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': True}, ['none', 20, 20, 30])], 3: [('disclosure start', {'width': 150, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('text boundary', {'width': 150, 'x': 30, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['select', 30, 20, 30]), ('leaf disclosure', {'width': 150, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': False, 'controls': [], 'disabled': False}, ['none', 20, 20, 30]), ('leaf indent', {'width': 150, 'x': 25, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': False, 'controls': [], 'disabled': False}, ['none', 25, 20, 30]), ('scrolled control', {'width': 150, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 10, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 30, 40]], 'disabled': False}, ['control:edit', 30, 20, 30]), ('RTL', {'width': 150, 'x': 130, 'y': 3, 'rtl': True, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('scrolled', {'width': 150, 'x': 10, 'y': 3, 'rtl': False, 'scroll': 10, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('control overlay', {'width': 150, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 20, 30]], 'disabled': False}, ['control:edit', 20, 20, 30]), ('control start', {'width': 150, 'x': 30, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 30, 40]], 'disabled': False}, ['control:edit', 30, 20, 30]), ('right edge', {'width': 150, 'x': 150, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 150, 20, 30]), ('bottom edge', {'width': 150, 'x': 40, 'y': 20, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 40, 20, 30]), ('above row', {'width': 150, 'x': 40, 'y': -1, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 40, 20, 30]), ('disabled', {'width': 150, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': True}, ['none', 20, 20, 30])], 4: [('disclosure start', {'width': 160, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('text boundary', {'width': 160, 'x': 30, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['select', 30, 20, 30]), ('leaf disclosure', {'width': 160, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': False, 'controls': [], 'disabled': False}, ['none', 20, 20, 30]), ('leaf indent', {'width': 160, 'x': 25, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': False, 'controls': [], 'disabled': False}, ['none', 25, 20, 30]), ('scrolled control', {'width': 160, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 10, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 30, 40]], 'disabled': False}, ['control:edit', 30, 20, 30]), ('RTL', {'width': 160, 'x': 140, 'y': 3, 'rtl': True, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('scrolled', {'width': 160, 'x': 10, 'y': 3, 'rtl': False, 'scroll': 10, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('control overlay', {'width': 160, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 20, 30]], 'disabled': False}, ['control:edit', 20, 20, 30]), ('control start', {'width': 160, 'x': 30, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 30, 40]], 'disabled': False}, ['control:edit', 30, 20, 30]), ('right edge', {'width': 160, 'x': 160, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 160, 20, 30]), ('bottom edge', {'width': 160, 'x': 40, 'y': 20, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 40, 20, 30]), ('above row', {'width': 160, 'x': 40, 'y': -1, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 40, 20, 30]), ('disabled', {'width': 160, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': True}, ['none', 20, 20, 30])], 5: [('disclosure start', {'width': 170, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('text boundary', {'width': 170, 'x': 30, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['select', 30, 20, 30]), ('leaf disclosure', {'width': 170, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': False, 'controls': [], 'disabled': False}, ['none', 20, 20, 30]), ('leaf indent', {'width': 170, 'x': 25, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': False, 'controls': [], 'disabled': False}, ['none', 25, 20, 30]), ('scrolled control', {'width': 170, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 10, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 30, 40]], 'disabled': False}, ['control:edit', 30, 20, 30]), ('RTL', {'width': 170, 'x': 150, 'y': 3, 'rtl': True, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('scrolled', {'width': 170, 'x': 10, 'y': 3, 'rtl': False, 'scroll': 10, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('control overlay', {'width': 170, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 20, 30]], 'disabled': False}, ['control:edit', 20, 20, 30]), ('control start', {'width': 170, 'x': 30, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 30, 40]], 'disabled': False}, ['control:edit', 30, 20, 30]), ('right edge', {'width': 170, 'x': 170, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 170, 20, 30]), ('bottom edge', {'width': 170, 'x': 40, 'y': 20, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 40, 20, 30]), ('above row', {'width': 170, 'x': 40, 'y': -1, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 40, 20, 30]), ('disabled', {'width': 170, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': True}, ['none', 20, 20, 30])]}\nfor label, data, expected in cases[N]:\n    check(label, solve(data), expected)\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":"49909d3db9f047e9f4746de6a958e580086c0e5b1db903480ca8cbfdd813f474","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    local=d['width']-d['x'] if d['rtl'] else d['x']\n    logical=local-d['scroll']\n    start=d['depth']*d['indent']\n    end=start+d['indent']\n    inside=0<=d['x']<d['width'] and 0<=d['y']<d['height']\n    disclosure=start<=logical<end and d['branch']\n    text=logical>=end\n    control=next((name for name,left,right in d['controls'] if left<=logical<right),None)\n    action=('control:'+control) if control is not None else ('toggle' if disclosure else ('select' if text else 'none'))\n    action=action if inside and not d['disabled'] else 'none'\n    return [action,logical,start,end]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = {1: [('disclosure start', {'width': 130, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('text boundary', {'width': 130, 'x': 30, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['select', 30, 20, 30]), ('leaf disclosure', {'width': 130, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': False, 'controls': [], 'disabled': False}, ['none', 20, 20, 30]), ('leaf indent', {'width': 130, 'x': 25, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': False, 'controls': [], 'disabled': False}, ['none', 25, 20, 30]), ('scrolled control', {'width': 130, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 10, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 30, 40]], 'disabled': False}, ['control:edit', 30, 20, 30]), ('RTL', {'width': 130, 'x': 110, 'y': 3, 'rtl': True, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('scrolled', {'width': 130, 'x': 10, 'y': 3, 'rtl': False, 'scroll': 10, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('control overlay', {'width': 130, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 20, 30]], 'disabled': False}, ['control:edit', 20, 20, 30]), ('control start', {'width': 130, 'x': 30, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 30, 40]], 'disabled': False}, ['control:edit', 30, 20, 30]), ('right edge', {'width': 130, 'x': 130, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 130, 20, 30]), ('bottom edge', {'width': 130, 'x': 40, 'y': 20, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 40, 20, 30]), ('above row', {'width': 130, 'x': 40, 'y': -1, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 40, 20, 30]), ('disabled', {'width': 130, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': True}, ['none', 20, 20, 30])], 2: [('disclosure start', {'width': 140, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('text boundary', {'width': 140, 'x': 30, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['select', 30, 20, 30]), ('leaf disclosure', {'width': 140, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': False, 'controls': [], 'disabled': False}, ['none', 20, 20, 30]), ('leaf indent', {'width': 140, 'x': 25, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': False, 'controls': [], 'disabled': False}, ['none', 25, 20, 30]), ('scrolled control', {'width': 140, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 10, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 30, 40]], 'disabled': False}, ['control:edit', 30, 20, 30]), ('RTL', {'width': 140, 'x': 120, 'y': 3, 'rtl': True, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('scrolled', {'width': 140, 'x': 10, 'y': 3, 'rtl': False, 'scroll': 10, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('control overlay', {'width': 140, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 20, 30]], 'disabled': False}, ['control:edit', 20, 20, 30]), ('control start', {'width': 140, 'x': 30, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 30, 40]], 'disabled': False}, ['control:edit', 30, 20, 30]), ('right edge', {'width': 140, 'x': 140, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 140, 20, 30]), ('bottom edge', {'width': 140, 'x': 40, 'y': 20, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 40, 20, 30]), ('above row', {'width': 140, 'x': 40, 'y': -1, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 40, 20, 30]), ('disabled', {'width': 140, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': True}, ['none', 20, 20, 30])], 3: [('disclosure start', {'width': 150, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('text boundary', {'width': 150, 'x': 30, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['select', 30, 20, 30]), ('leaf disclosure', {'width': 150, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': False, 'controls': [], 'disabled': False}, ['none', 20, 20, 30]), ('leaf indent', {'width': 150, 'x': 25, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': False, 'controls': [], 'disabled': False}, ['none', 25, 20, 30]), ('scrolled control', {'width': 150, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 10, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 30, 40]], 'disabled': False}, ['control:edit', 30, 20, 30]), ('RTL', {'width': 150, 'x': 130, 'y': 3, 'rtl': True, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('scrolled', {'width': 150, 'x': 10, 'y': 3, 'rtl': False, 'scroll': 10, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('control overlay', {'width': 150, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 20, 30]], 'disabled': False}, ['control:edit', 20, 20, 30]), ('control start', {'width': 150, 'x': 30, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 30, 40]], 'disabled': False}, ['control:edit', 30, 20, 30]), ('right edge', {'width': 150, 'x': 150, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 150, 20, 30]), ('bottom edge', {'width': 150, 'x': 40, 'y': 20, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 40, 20, 30]), ('above row', {'width': 150, 'x': 40, 'y': -1, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 40, 20, 30]), ('disabled', {'width': 150, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': True}, ['none', 20, 20, 30])], 4: [('disclosure start', {'width': 160, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('text boundary', {'width': 160, 'x': 30, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['select', 30, 20, 30]), ('leaf disclosure', {'width': 160, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': False, 'controls': [], 'disabled': False}, ['none', 20, 20, 30]), ('leaf indent', {'width': 160, 'x': 25, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': False, 'controls': [], 'disabled': False}, ['none', 25, 20, 30]), ('scrolled control', {'width': 160, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 10, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 30, 40]], 'disabled': False}, ['control:edit', 30, 20, 30]), ('RTL', {'width': 160, 'x': 140, 'y': 3, 'rtl': True, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('scrolled', {'width': 160, 'x': 10, 'y': 3, 'rtl': False, 'scroll': 10, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('control overlay', {'width': 160, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 20, 30]], 'disabled': False}, ['control:edit', 20, 20, 30]), ('control start', {'width': 160, 'x': 30, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 30, 40]], 'disabled': False}, ['control:edit', 30, 20, 30]), ('right edge', {'width': 160, 'x': 160, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 160, 20, 30]), ('bottom edge', {'width': 160, 'x': 40, 'y': 20, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 40, 20, 30]), ('above row', {'width': 160, 'x': 40, 'y': -1, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 40, 20, 30]), ('disabled', {'width': 160, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': True}, ['none', 20, 20, 30])], 5: [('disclosure start', {'width': 170, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('text boundary', {'width': 170, 'x': 30, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['select', 30, 20, 30]), ('leaf disclosure', {'width': 170, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': False, 'controls': [], 'disabled': False}, ['none', 20, 20, 30]), ('leaf indent', {'width': 170, 'x': 25, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': False, 'controls': [], 'disabled': False}, ['none', 25, 20, 30]), ('scrolled control', {'width': 170, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 10, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 30, 40]], 'disabled': False}, ['control:edit', 30, 20, 30]), ('RTL', {'width': 170, 'x': 150, 'y': 3, 'rtl': True, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('scrolled', {'width': 170, 'x': 10, 'y': 3, 'rtl': False, 'scroll': 10, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('control overlay', {'width': 170, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 20, 30]], 'disabled': False}, ['control:edit', 20, 20, 30]), ('control start', {'width': 170, 'x': 30, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 30, 40]], 'disabled': False}, ['control:edit', 30, 20, 30]), ('right edge', {'width': 170, 'x': 170, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 170, 20, 30]), ('bottom edge', {'width': 170, 'x': 40, 'y': 20, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 40, 20, 30]), ('above row', {'width': 170, 'x': 40, 'y': -1, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 40, 20, 30]), ('disabled', {'width': 170, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': True}, ['none', 20, 20, 30])]}\nfor label, data, expected in cases[N]:\n    check(label, solve(data), expected)\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":"20304ba39a6e1e4bffabb379ff1e7f67c5ca068994eac00355b418c4c7a0b015","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    local=d['width']-d['x'] if d['rtl'] else d['x']\n    logical=local+d['scroll']\n    start=d['depth']*d['indent']\n    end=start+d['indent']\n    inside=0<=d['x']<d['width'] and 0<=d['y']<d['height']\n    disclosure=start<=logical<end and d['branch']\n    text=logical>=end\n    control=next((name for name,left,right in d['controls'] if left<=logical<right),None)\n    action=('control:'+control) if control is not None else ('toggle' if disclosure else ('select' if text else 'none'))\n    action=action if inside and not d['disabled'] else 'none'\n    return [action,logical,start,end]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = {1: [('disclosure start', {'width': 130, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('text boundary', {'width': 130, 'x': 30, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['select', 30, 20, 30]), ('leaf disclosure', {'width': 130, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': False, 'controls': [], 'disabled': False}, ['none', 20, 20, 30]), ('leaf indent', {'width': 130, 'x': 25, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': False, 'controls': [], 'disabled': False}, ['none', 25, 20, 30]), ('scrolled control', {'width': 130, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 10, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 30, 40]], 'disabled': False}, ['control:edit', 30, 20, 30]), ('RTL', {'width': 130, 'x': 110, 'y': 3, 'rtl': True, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('scrolled', {'width': 130, 'x': 10, 'y': 3, 'rtl': False, 'scroll': 10, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('control overlay', {'width': 130, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 20, 30]], 'disabled': False}, ['control:edit', 20, 20, 30]), ('control start', {'width': 130, 'x': 30, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 30, 40]], 'disabled': False}, ['control:edit', 30, 20, 30]), ('right edge', {'width': 130, 'x': 130, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 130, 20, 30]), ('bottom edge', {'width': 130, 'x': 40, 'y': 20, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 40, 20, 30]), ('above row', {'width': 130, 'x': 40, 'y': -1, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 40, 20, 30]), ('disabled', {'width': 130, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': True}, ['none', 20, 20, 30])], 2: [('disclosure start', {'width': 140, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('text boundary', {'width': 140, 'x': 30, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['select', 30, 20, 30]), ('leaf disclosure', {'width': 140, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': False, 'controls': [], 'disabled': False}, ['none', 20, 20, 30]), ('leaf indent', {'width': 140, 'x': 25, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': False, 'controls': [], 'disabled': False}, ['none', 25, 20, 30]), ('scrolled control', {'width': 140, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 10, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 30, 40]], 'disabled': False}, ['control:edit', 30, 20, 30]), ('RTL', {'width': 140, 'x': 120, 'y': 3, 'rtl': True, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('scrolled', {'width': 140, 'x': 10, 'y': 3, 'rtl': False, 'scroll': 10, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('control overlay', {'width': 140, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 20, 30]], 'disabled': False}, ['control:edit', 20, 20, 30]), ('control start', {'width': 140, 'x': 30, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 30, 40]], 'disabled': False}, ['control:edit', 30, 20, 30]), ('right edge', {'width': 140, 'x': 140, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 140, 20, 30]), ('bottom edge', {'width': 140, 'x': 40, 'y': 20, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 40, 20, 30]), ('above row', {'width': 140, 'x': 40, 'y': -1, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 40, 20, 30]), ('disabled', {'width': 140, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': True}, ['none', 20, 20, 30])], 3: [('disclosure start', {'width': 150, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('text boundary', {'width': 150, 'x': 30, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['select', 30, 20, 30]), ('leaf disclosure', {'width': 150, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': False, 'controls': [], 'disabled': False}, ['none', 20, 20, 30]), ('leaf indent', {'width': 150, 'x': 25, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': False, 'controls': [], 'disabled': False}, ['none', 25, 20, 30]), ('scrolled control', {'width': 150, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 10, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 30, 40]], 'disabled': False}, ['control:edit', 30, 20, 30]), ('RTL', {'width': 150, 'x': 130, 'y': 3, 'rtl': True, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('scrolled', {'width': 150, 'x': 10, 'y': 3, 'rtl': False, 'scroll': 10, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('control overlay', {'width': 150, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 20, 30]], 'disabled': False}, ['control:edit', 20, 20, 30]), ('control start', {'width': 150, 'x': 30, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 30, 40]], 'disabled': False}, ['control:edit', 30, 20, 30]), ('right edge', {'width': 150, 'x': 150, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 150, 20, 30]), ('bottom edge', {'width': 150, 'x': 40, 'y': 20, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 40, 20, 30]), ('above row', {'width': 150, 'x': 40, 'y': -1, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 40, 20, 30]), ('disabled', {'width': 150, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': True}, ['none', 20, 20, 30])], 4: [('disclosure start', {'width': 160, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('text boundary', {'width': 160, 'x': 30, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['select', 30, 20, 30]), ('leaf disclosure', {'width': 160, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': False, 'controls': [], 'disabled': False}, ['none', 20, 20, 30]), ('leaf indent', {'width': 160, 'x': 25, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': False, 'controls': [], 'disabled': False}, ['none', 25, 20, 30]), ('scrolled control', {'width': 160, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 10, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 30, 40]], 'disabled': False}, ['control:edit', 30, 20, 30]), ('RTL', {'width': 160, 'x': 140, 'y': 3, 'rtl': True, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('scrolled', {'width': 160, 'x': 10, 'y': 3, 'rtl': False, 'scroll': 10, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('control overlay', {'width': 160, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 20, 30]], 'disabled': False}, ['control:edit', 20, 20, 30]), ('control start', {'width': 160, 'x': 30, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 30, 40]], 'disabled': False}, ['control:edit', 30, 20, 30]), ('right edge', {'width': 160, 'x': 160, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 160, 20, 30]), ('bottom edge', {'width': 160, 'x': 40, 'y': 20, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 40, 20, 30]), ('above row', {'width': 160, 'x': 40, 'y': -1, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 40, 20, 30]), ('disabled', {'width': 160, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': True}, ['none', 20, 20, 30])], 5: [('disclosure start', {'width': 170, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('text boundary', {'width': 170, 'x': 30, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['select', 30, 20, 30]), ('leaf disclosure', {'width': 170, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': False, 'controls': [], 'disabled': False}, ['none', 20, 20, 30]), ('leaf indent', {'width': 170, 'x': 25, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': False, 'controls': [], 'disabled': False}, ['none', 25, 20, 30]), ('scrolled control', {'width': 170, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 10, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 30, 40]], 'disabled': False}, ['control:edit', 30, 20, 30]), ('RTL', {'width': 170, 'x': 150, 'y': 3, 'rtl': True, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('scrolled', {'width': 170, 'x': 10, 'y': 3, 'rtl': False, 'scroll': 10, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['toggle', 20, 20, 30]), ('control overlay', {'width': 170, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 20, 30]], 'disabled': False}, ['control:edit', 20, 20, 30]), ('control start', {'width': 170, 'x': 30, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [['edit', 30, 40]], 'disabled': False}, ['control:edit', 30, 20, 30]), ('right edge', {'width': 170, 'x': 170, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 170, 20, 30]), ('bottom edge', {'width': 170, 'x': 40, 'y': 20, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 40, 20, 30]), ('above row', {'width': 170, 'x': 40, 'y': -1, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': False}, ['none', 40, 20, 30]), ('disabled', {'width': 170, 'x': 20, 'y': 3, 'rtl': False, 'scroll': 0, 'depth': 2, 'indent': 10, 'height': 20, 'branch': True, 'controls': [], 'disabled': True}, ['none', 20, 20, 30])]}\nfor label, data, expected in cases[N]:\n    check(label, solve(data), expected)\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":"Synthetic deterministic hierarchical-widget data contract; not an implementation of a browser accessibility tree. 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-tree_accessibility-tree-hit-zone-02","generated_at":"2026-09-29T14:43:20.796911+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Offline executable model of a hierarchical accessibility interaction; inputs are bounded and valid as stipulated. No browser, assistive technology, or normative ARIA conformance is claimed.","repair":"Restore `logical=local+d['scroll']` at this fault site while retaining the other tree state decisions.","root_cause":"The tree-hit-zone contract is violated at `logical=local+d['scroll']` by replacing it with `logical=local-d['scroll']`.","sha256":"6ba76bb10fa902659d7f7e37f026288c1d61109c9d37cfd5bf88a00ab5bf81d2","title":"Tree indentation disclosure hit region: Horizontal scroll shifts disclosure target the wrong way · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":44.715,"exit_code":1,"observations":[{"actual":["toggle",20,20,30],"check":"disclosure start","expected":["toggle",20,20,30],"passed":true},{"actual":["select",30,20,30],"check":"text boundary","expected":["select",30,20,30],"passed":true},{"actual":["none",20,20,30],"check":"leaf disclosure","expected":["none",20,20,30],"passed":true},{"actual":["none",25,20,30],"check":"leaf indent","expected":["none",25,20,30],"passed":true},{"actual":["toggle",20,20,30],"check":"scrolled control","expected":["control:edit",30,20,30],"passed":false},{"actual":["toggle",20,20,30],"check":"RTL","expected":["toggle",20,20,30],"passed":true},{"actual":["none",10,20,30],"check":"scrolled","expected":["toggle",20,20,30],"passed":false},{"actual":["control:edit",20,20,30],"check":"control overlay","expected":["control:edit",20,20,30],"passed":true},{"actual":["control:edit",30,20,30],"check":"control start","expected":["control:edit",30,20,30],"passed":true},{"actual":["none",130,20,30],"check":"right edge","expected":["none",130,20,30],"passed":true},{"actual":["none",40,20,30],"check":"bottom edge","expected":["none",40,20,30],"passed":true},{"actual":["none",40,20,30],"check":"above row","expected":["none",40,20,30],"passed":true},{"actual":["none",20,20,30],"check":"disabled","expected":["none",20,20,30],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"disclosure start\", \"actual\": [\"toggle\", 20, 20, 30], \"expected\": [\"toggle\", 20, 20, 30], \"passed\": true}, {\"check\": \"text boundary\", \"actual\": [\"select\", 30, 20, 30], \"expected\": [\"select\", 30, 20, 30], \"passed\": true}, {\"check\": \"leaf disclosure\", \"actual\": [\"none\", 20, 20, 30], \"expected\": [\"none\", 20, 20, 30], \"passed\": true}, {\"check\": \"leaf indent\", \"actual\": [\"none\", 25, 20, 30], \"expected\": [\"none\", 25, 20, 30], \"passed\": true}, {\"check\": \"scrolled control\", \"actual\": [\"toggle\", 20, 20, 30], \"expected\": [\"control:edit\", 30, 20, 30], \"passed\": false}, {\"check\": \"RTL\", \"actual\": [\"toggle\", 20, 20, 30], \"expected\": [\"toggle\", 20, 20, 30], \"passed\": true}, {\"check\": \"scrolled\", \"actual\": [\"none\", 10, 20, 30], \"expected\": [\"toggle\", 20, 20, 30], \"passed\": false}, {\"check\": \"control overlay\", \"actual\": [\"control:edit\", 20, 20, 30], \"expected\": [\"control:edit\", 20, 20, 30], \"passed\": true}, {\"check\": \"control start\", \"actual\": [\"control:edit\", 30, 20, 30], \"expected\": [\"control:edit\", 30, 20, 30], \"passed\": true}, {\"check\": \"right edge\", \"actual\": [\"none\", 130, 20, 30], \"expected\": [\"none\", 130, 20, 30], \"passed\": true}, {\"check\": \"bottom edge\", \"actual\": [\"none\", 40, 20, 30], \"expected\": [\"none\", 40, 20, 30], \"passed\": true}, {\"check\": \"above row\", \"actual\": [\"none\", 40, 20, 30], \"expected\": [\"none\", 40, 20, 30], \"passed\": true}, {\"check\": \"disabled\", \"actual\": [\"none\", 20, 20, 30], \"expected\": [\"none\", 20, 20, 30], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":43.667,"exit_code":1,"observations":[{"actual":["toggle",20,20,30],"check":"disclosure start","expected":["toggle",20,20,30],"passed":true},{"actual":["select",30,20,30],"check":"text boundary","expected":["select",30,20,30],"passed":true},{"actual":["none",20,20,30],"check":"leaf disclosure","expected":["none",20,20,30],"passed":true},{"actual":["none",25,20,30],"check":"leaf indent","expected":["none",25,20,30],"passed":true},{"actual":["none",10,20,30],"check":"scrolled control","expected":["control:edit",30,20,30],"passed":false},{"actual":["toggle",20,20,30],"check":"RTL","expected":["toggle",20,20,30],"passed":true},{"actual":["none",0,20,30],"check":"scrolled","expected":["toggle",20,20,30],"passed":false},{"actual":["control:edit",20,20,30],"check":"control overlay","expected":["control:edit",20,20,30],"passed":true},{"actual":["control:edit",30,20,30],"check":"control start","expected":["control:edit",30,20,30],"passed":true},{"actual":["none",130,20,30],"check":"right edge","expected":["none",130,20,30],"passed":true},{"actual":["none",40,20,30],"check":"bottom edge","expected":["none",40,20,30],"passed":true},{"actual":["none",40,20,30],"check":"above row","expected":["none",40,20,30],"passed":true},{"actual":["none",20,20,30],"check":"disabled","expected":["none",20,20,30],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"disclosure start\", \"actual\": [\"toggle\", 20, 20, 30], \"expected\": [\"toggle\", 20, 20, 30], \"passed\": true}, {\"check\": \"text boundary\", \"actual\": [\"select\", 30, 20, 30], \"expected\": [\"select\", 30, 20, 30], \"passed\": true}, {\"check\": \"leaf disclosure\", \"actual\": [\"none\", 20, 20, 30], \"expected\": [\"none\", 20, 20, 30], \"passed\": true}, {\"check\": \"leaf indent\", \"actual\": [\"none\", 25, 20, 30], \"expected\": [\"none\", 25, 20, 30], \"passed\": true}, {\"check\": \"scrolled control\", \"actual\": [\"none\", 10, 20, 30], \"expected\": [\"control:edit\", 30, 20, 30], \"passed\": false}, {\"check\": \"RTL\", \"actual\": [\"toggle\", 20, 20, 30], \"expected\": [\"toggle\", 20, 20, 30], \"passed\": true}, {\"check\": \"scrolled\", \"actual\": [\"none\", 0, 20, 30], \"expected\": [\"toggle\", 20, 20, 30], \"passed\": false}, {\"check\": \"control overlay\", \"actual\": [\"control:edit\", 20, 20, 30], \"expected\": [\"control:edit\", 20, 20, 30], \"passed\": true}, {\"check\": \"control start\", \"actual\": [\"control:edit\", 30, 20, 30], \"expected\": [\"control:edit\", 30, 20, 30], \"passed\": true}, {\"check\": \"right edge\", \"actual\": [\"none\", 130, 20, 30], \"expected\": [\"none\", 130, 20, 30], \"passed\": true}, {\"check\": \"bottom edge\", \"actual\": [\"none\", 40, 20, 30], \"expected\": [\"none\", 40, 20, 30], \"passed\": true}, {\"check\": \"above row\", \"actual\": [\"none\", 40, 20, 30], \"expected\": [\"none\", 40, 20, 30], \"passed\": true}, {\"check\": \"disabled\", \"actual\": [\"none\", 20, 20, 30], \"expected\": [\"none\", 20, 20, 30], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":44.706,"exit_code":0,"observations":[{"actual":["toggle",20,20,30],"check":"disclosure start","expected":["toggle",20,20,30],"passed":true},{"actual":["select",30,20,30],"check":"text boundary","expected":["select",30,20,30],"passed":true},{"actual":["none",20,20,30],"check":"leaf disclosure","expected":["none",20,20,30],"passed":true},{"actual":["none",25,20,30],"check":"leaf indent","expected":["none",25,20,30],"passed":true},{"actual":["control:edit",30,20,30],"check":"scrolled control","expected":["control:edit",30,20,30],"passed":true},{"actual":["toggle",20,20,30],"check":"RTL","expected":["toggle",20,20,30],"passed":true},{"actual":["toggle",20,20,30],"check":"scrolled","expected":["toggle",20,20,30],"passed":true},{"actual":["control:edit",20,20,30],"check":"control overlay","expected":["control:edit",20,20,30],"passed":true},{"actual":["control:edit",30,20,30],"check":"control start","expected":["control:edit",30,20,30],"passed":true},{"actual":["none",130,20,30],"check":"right edge","expected":["none",130,20,30],"passed":true},{"actual":["none",40,20,30],"check":"bottom edge","expected":["none",40,20,30],"passed":true},{"actual":["none",40,20,30],"check":"above row","expected":["none",40,20,30],"passed":true},{"actual":["none",20,20,30],"check":"disabled","expected":["none",20,20,30],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"disclosure start\", \"actual\": [\"toggle\", 20, 20, 30], \"expected\": [\"toggle\", 20, 20, 30], \"passed\": true}, {\"check\": \"text boundary\", \"actual\": [\"select\", 30, 20, 30], \"expected\": [\"select\", 30, 20, 30], \"passed\": true}, {\"check\": \"leaf disclosure\", \"actual\": [\"none\", 20, 20, 30], \"expected\": [\"none\", 20, 20, 30], \"passed\": true}, {\"check\": \"leaf indent\", \"actual\": [\"none\", 25, 20, 30], \"expected\": [\"none\", 25, 20, 30], \"passed\": true}, {\"check\": \"scrolled control\", \"actual\": [\"control:edit\", 30, 20, 30], \"expected\": [\"control:edit\", 30, 20, 30], \"passed\": true}, {\"check\": \"RTL\", \"actual\": [\"toggle\", 20, 20, 30], \"expected\": [\"toggle\", 20, 20, 30], \"passed\": true}, {\"check\": \"scrolled\", \"actual\": [\"toggle\", 20, 20, 30], \"expected\": [\"toggle\", 20, 20, 30], \"passed\": true}, {\"check\": \"control overlay\", \"actual\": [\"control:edit\", 20, 20, 30], \"expected\": [\"control:edit\", 20, 20, 30], \"passed\": true}, {\"check\": \"control start\", \"actual\": [\"control:edit\", 30, 20, 30], \"expected\": [\"control:edit\", 30, 20, 30], \"passed\": true}, {\"check\": \"right edge\", \"actual\": [\"none\", 130, 20, 30], \"expected\": [\"none\", 130, 20, 30], \"passed\": true}, {\"check\": \"bottom edge\", \"actual\": [\"none\", 40, 20, 30], \"expected\": [\"none\", 40, 20, 30], \"passed\": true}, {\"check\": \"above row\", \"actual\": [\"none\", 40, 20, 30], \"expected\": [\"none\", 40, 20, 30], \"passed\": true}, {\"check\": \"disabled\", \"actual\": [\"none\", 20, 20, 30], \"expected\": [\"none\", 20, 20, 30], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}