{"abstract":"Hidden content is used as a fallback accessible name.","category":"Assistive semantics","checks":8,"contract":"Resolve existing labelledby references in order, including explicit empty labels; then aria-label, native label, and visible content; explicit labels take precedence over fallback content.","contract_signature":"labelledby, nodes, aria_label, native_label, content, hidden","evaluation_group":"xi-accessible-name","failed_approach":"Suppressing visible content prevents valid content naming.","family":"xi-accessible-name-hidden-content","id":"FA-8446","implementations":{"attempt":{"sha256":"34eb85c654df9b21e1b983328f856ee7a45148865b3d1d567fee22988c97ea0b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(labelledby, nodes, aria_label, native_label, content, hidden):\n    referenced = [nodes[x] for x in labelledby if x in nodes]\n    if referenced: return ' '.join(referenced)\n    if aria_label is not None: return aria_label\n    if native_label is not None: return native_label\n    if not hidden: return ''\n    return content\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('reference order', solve(['z','a'], {'z':'Zulu','a':'Alpha'}, 'fallback', 'native', 'body', False), 'Zulu Alpha')\ncheck('aria empty', solve([], {}, '', 'native', 'body', False), '')\ncheck('native empty', solve([], {}, None, '', 'body', False), '')\ncheck('hidden', solve([], {}, None, None, 'secret', True), '')\ncheck('visible', solve([], {}, None, None, 'visible', False), 'visible')\ncheck('empty reference', solve(['missing','empty'], {'empty':''}, 'fallback', None, 'body', False), '')\ncheck('parameterized label content', solve([], {}, 'label'+str(N), None, 'body', False), 'label'+str(N))\nfor repetition in range(N):\n    check('repeat empty reference', solve(['missing','empty'], {'empty':''}, 'fallback', None, 'body', False), '')\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":"98f48672101943c5f14fd000427321073f6d0dab963e7fc809f928410e5d7879","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(labelledby, nodes, aria_label, native_label, content, hidden):\n    referenced = [nodes[x] for x in labelledby if x in nodes]\n    if referenced: return ' '.join(referenced)\n    if aria_label is not None: return aria_label\n    if native_label is not None: return native_label\n    if hidden: return content\n    return content\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('reference order', solve(['z','a'], {'z':'Zulu','a':'Alpha'}, 'fallback', 'native', 'body', False), 'Zulu Alpha')\ncheck('aria empty', solve([], {}, '', 'native', 'body', False), '')\ncheck('native empty', solve([], {}, None, '', 'body', False), '')\ncheck('hidden', solve([], {}, None, None, 'secret', True), '')\ncheck('visible', solve([], {}, None, None, 'visible', False), 'visible')\ncheck('empty reference', solve(['missing','empty'], {'empty':''}, 'fallback', None, 'body', False), '')\ncheck('parameterized label content', solve([], {}, 'label'+str(N), None, 'body', False), 'label'+str(N))\nfor repetition in range(N):\n    check('repeat empty reference', solve(['missing','empty'], {'empty':''}, 'fallback', None, 'body', False), '')\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":"xi-accessible-name-hidden-content","generated_at":"2026-09-29T14:38:21.422309+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A deterministic model of accessible name precedence; this isolates one interface invariant without requiring a browser.","root_cause":"The hidden content operation uses `if hidden: return content` where the contract requires `if hidden: return ''`.","sha256":"37092e8edf7c7d35ac058c8bba8b98d915c80db49246f92639cc4f383abf8946","title":"Accessible name precedence: Hidden content is used as a fallback accessible name · 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":37.161,"exit_code":1,"observations":[{"actual":"Zulu Alpha","check":"reference order","expected":"Zulu Alpha","passed":true},{"actual":"","check":"aria empty","expected":"","passed":true},{"actual":"","check":"native empty","expected":"","passed":true},{"actual":"secret","check":"hidden","expected":"","passed":false},{"actual":"","check":"visible","expected":"visible","passed":false},{"actual":"","check":"empty reference","expected":"","passed":true},{"actual":"label1","check":"parameterized label content","expected":"label1","passed":true},{"actual":"","check":"repeat empty reference","expected":"","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"reference order\", \"actual\": \"Zulu Alpha\", \"expected\": \"Zulu Alpha\", \"passed\": true}, {\"check\": \"aria empty\", \"actual\": \"\", \"expected\": \"\", \"passed\": true}, {\"check\": \"native empty\", \"actual\": \"\", \"expected\": \"\", \"passed\": true}, {\"check\": \"hidden\", \"actual\": \"secret\", \"expected\": \"\", \"passed\": false}, {\"check\": \"visible\", \"actual\": \"\", \"expected\": \"visible\", \"passed\": false}, {\"check\": \"empty reference\", \"actual\": \"\", \"expected\": \"\", \"passed\": true}, {\"check\": \"parameterized label content\", \"actual\": \"label1\", \"expected\": \"label1\", \"passed\": true}, {\"check\": \"repeat empty reference\", \"actual\": \"\", \"expected\": \"\", \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":36.02,"exit_code":1,"observations":[{"actual":"Zulu Alpha","check":"reference order","expected":"Zulu Alpha","passed":true},{"actual":"","check":"aria empty","expected":"","passed":true},{"actual":"","check":"native empty","expected":"","passed":true},{"actual":"secret","check":"hidden","expected":"","passed":false},{"actual":"visible","check":"visible","expected":"visible","passed":true},{"actual":"","check":"empty reference","expected":"","passed":true},{"actual":"label1","check":"parameterized label content","expected":"label1","passed":true},{"actual":"","check":"repeat empty reference","expected":"","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"reference order\", \"actual\": \"Zulu Alpha\", \"expected\": \"Zulu Alpha\", \"passed\": true}, {\"check\": \"aria empty\", \"actual\": \"\", \"expected\": \"\", \"passed\": true}, {\"check\": \"native empty\", \"actual\": \"\", \"expected\": \"\", \"passed\": true}, {\"check\": \"hidden\", \"actual\": \"secret\", \"expected\": \"\", \"passed\": false}, {\"check\": \"visible\", \"actual\": \"visible\", \"expected\": \"visible\", \"passed\": true}, {\"check\": \"empty reference\", \"actual\": \"\", \"expected\": \"\", \"passed\": true}, {\"check\": \"parameterized label content\", \"actual\": \"label1\", \"expected\": \"label1\", \"passed\": true}, {\"check\": \"repeat empty reference\", \"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."}}