{
  "test_case_id": "A11Y-WCAG-001",
  "title": "WCAG 1.1.1 Non-text Content",
  "category": "wcag_manual",
  "procedure_version": "2026.08.27-rc.9",
  "rule_type": "composite",
  "wcag_criteria": [
    "1.1.1"
  ],
  "level": "A",
  "risk": "high",
  "risk_basis": "Non-text information or controls have no equivalent text, or decorative content is announced as meaningful. People most likely affected: blind people and people using screen readers or braille; People who cannot perceive an image, chart, icon, CAPTCHA, audio or video. Information, purpose or operation conveyed only through non-text content can be lost. In the recorded web-desktop-cross-browser environment, apply the criterion to every relevant state and named normative exception; failures in critical tasks and complete processes carry the greatest user impact.",
  "review_status": "draft",
  "reviewed_at": "",
  "review_note": "Template content is subject to a hash-bound internal consistency review. Formal assessment claims require competent execution, current evidence and the applicable legal, participant and organisational authority.",
  "method_label": "WCAG check",
  "tester_level": "Accessibility tester",
  "estimated_duration": "Typically 33–48 minutes for the stated single-target assumptions; use the component breakdown when estimating a real sample.",
  "execution_class": "manual_with_automation_support",
  "automation_support": "supporting_evidence_only",
  "simulation_policy": "simulation_may_support_but_not_replace_manual_execution",
  "plain_summary": "Non-text information or controls have no equivalent text, or decorative content is announced as meaningful.",
  "objective": "Non-text information or controls have no equivalent text, or decorative content is announced as meaningful.",
  "test_subject": "The selected conformance scope for WCAG 2.2 Success Criterion 1.1.1.",
  "test_targets": [
    "Each non-text item, classified as a control/input, time-based media, test, sensory experience, CAPTCHA, decoration/formatting/invisible item or other meaningful content."
  ],
  "applicability": "Apply to all non-text content presented to users, including CSS images and programmatically exposed image roles.",
  "applicability_questions": [
    "Does the selected content contain this target: Each non-text item, classified as a control/input, time-based media, test, sensory experience, CAPTCHA, decoration/formatting/invisible item or other meaningful content.",
    "Does this applicability rule match it: Apply to all non-text content presented to users, including CSS images and programmatically exposed image roles.",
    "Which states, technologies, page variations and complete-process positions can change the decision?"
  ],
  "inapplicability_conditions": [
    "The completed scope inventory contains no target matching: Each non-text item, classified as a control/input, time-based media, test, sensory experience, CAPTCHA, decoration/formatting/invisible item or other meaningful content."
  ],
  "assumptions": [
    "The selected scope identifies the product version, technologies, states and important user journeys being evaluated.",
    "The tester knows how to use this method and any required assistive technology.",
    "Known browser or assistive-technology limitations are recorded instead of being assigned to the product without evidence."
  ],
  "accessibility_support_assumptions": [
    "The result covers only the browsers, platforms, readers and assistive technologies that were actually tested.",
    "Do not apply a result from one technology combination to an untested combination or to every user."
  ],
  "prerequisites": [
    "The product area and test targets are agreed before testing starts.",
    "The operating system, browser, viewport and input method are recorded.",
    "Test data is safe to use and does not expose unnecessary personal information."
  ],
  "required_environment_fields": [
    "operating_system",
    "operating_system_version",
    "browser",
    "browser_version",
    "viewport_css_pixels",
    "input_method"
  ],
  "steps": [
    {
      "step_id": "S1",
      "title": "Inventory applicable targets",
      "phase": "prepare",
      "action": "Freeze the page, content and product version. Inventory Each non-text item, classified as a control/input, time-based media, test, sensory experience, CAPTCHA, decoration/formatting/invisible item or other meaningful content. Apply this rule: Apply to all non-text content presented to users, including CSS images and programmatically exposed image roles.",
      "test_target": "Each non-text item, classified as a control/input, time-based media, test, sensory experience, CAPTCHA, decoration/formatting/invisible item or other meaningful content.",
      "required_state": "For WCAG 1.1.1 Provide equivalent text for non-text content, use default and every meaningful state or variation that can change the result.",
      "tool_or_command": "For WCAG 1.1.1, use the frozen scope inventory, product requirements and rendered content to identify every Provide equivalent text for non-text content target.",
      "expected": "Every selected target and state is uniquely identifiable before testing.",
      "evidence_to_record": "Page/view, target identifier, state, technology, sample rationale and scope limitation.",
      "decision_effect": "For WCAG 1.1.1, an omitted applicable Provide equivalent text for non-text content target or state remains untested.",
      "recovery_or_repeat": "Repeat the WCAG 1.1.1 target inventory after a material content, state, technology or process change.",
      "novice_guidance": "For WCAG 1.1.1, keep agreed scope exclusions separate from the target's applicable, inapplicable and pass outcomes.",
      "scenario_purpose": "For WCAG 1.1.1 Non-text Content, prepare the named scenario: Inventory applicable targets. Target: Each non-text item, classified as a control/input, time-based media, test, sensory experience, CAPTCHA, decoration/formatting/invisible item or other meaningful content. The preparation must establish this result: Every selected target and state is uniquely identifiable before testing.",
      "user_impact": "Information, purpose or operation conveyed only through non-text content can be lost. This scenario isolates that risk in the action named Inventory applicable targets.",
      "failure_observation": "During WCAG 1.1.1 Non-text Content, the target, starting state, environment or scope record remains ambiguous for the scenario named Inventory applicable targets. The preparation result cannot be demonstrated: Every selected target and state is uniquely identifiable before testing.",
      "decision_rules": {
        "passed": "Record passed for the WCAG 1.1.1 Non-text Content scenario named Inventory applicable targets only when the evidence (Page/view, target identifier, state, technology, sample rationale and scope limitation.) supports: Every selected target and state is uniquely identifiable before testing.",
        "failed": "Record failed when the action is completed and this failure observation is reproduced: During WCAG 1.1.1 Non-text Content, the target, starting state, environment or scope record remains ambiguous for the scenario named Inventory applicable targets. The preparation result cannot be demonstrated: Every selected target and state is uniquely identifiable before testing.",
        "not_applicable": "The completed scope inventory contains no target matching: Each non-text item, classified as a control/input, time-based media, test, sensory experience, CAPTCHA, decoration/formatting/invisible item or other meaningful content.",
        "blocked": "Record blocked, not passed, when The target is applicable, but a required action, state, environment or evidence item was not completed."
      },
      "limitations_and_claim_boundary": "This WCAG 1.1.1 Non-text Content scenario covers only the action named Inventory applicable targets for the recorded target and state. It contributes evidence to 1.1.1; apply the procedure's aggregation, complete-process and conformance-scope rules before making a broader decision."
    },
    {
      "step_id": "S2",
      "title": "Provide equivalent text for non-text content",
      "phase": "test",
      "action": "Classify each non-text item before deciding the result. For controls and inputs, check that the accessible name describes its purpose. For time-based media, tests and sensory experiences, check the required descriptive identification or alternative. For CAPTCHA, check both a purpose description and alternatives for different senses. Confirm decoration, formatting and invisible items are ignored without hiding meaningful information. For all other meaningful items, compare the text alternative with the same purpose or information.",
      "test_target": "Each non-text item, classified as a control/input, time-based media, test, sensory experience, CAPTCHA, decoration/formatting/invisible item or other meaningful content.",
      "required_state": "For WCAG 1.1.1 Provide equivalent text for non-text content, use default and every meaningful state or variation that can change the result.",
      "tool_or_command": "Rendered content, DOM, accessibility tree and the media or task context.",
      "expected": "Each item meets the exact WCAG 1.1.1 branch that applies to its purpose.",
      "evidence_to_record": "Item identifier, classification branch, text alternative or ignored state, accessible name where applicable, equivalent purpose/information and context evidence.",
      "decision_effect": "A Provide equivalent text for non-text content target that does not meet WCAG 1.1.1 and has no supported exception is failed.",
      "recovery_or_repeat": "Repeat the WCAG 1.1.1 action when the target's content, state, environment or underlying technology changes.",
      "novice_guidance": "For WCAG 1.1.1 Provide equivalent text for non-text content, record the actual evidence before deciding; use checker or visual evidence alone only when this procedure defines it as the measurement.",
      "scenario_purpose": "For WCAG 1.1.1 Non-text Content, execute the named scenario: Provide equivalent text for non-text content. Target: Each non-text item, classified as a control/input, time-based media, test, sensory experience, CAPTCHA, decoration/formatting/invisible item or other meaningful content. Compare the observation with this result: Each item meets the exact WCAG 1.1.1 branch that applies to its purpose.",
      "user_impact": "Information, purpose or operation conveyed only through non-text content can be lost. This scenario isolates that risk in the action named Provide equivalent text for non-text content.",
      "failure_observation": "After the tester completes the WCAG 1.1.1 Non-text Content scenario named Provide equivalent text for non-text content, the recorded observation for the target is inconsistent with the required result: Each item meets the exact WCAG 1.1.1 branch that applies to its purpose.",
      "decision_rules": {
        "passed": "Record passed for the WCAG 1.1.1 Non-text Content scenario named Provide equivalent text for non-text content only when the evidence (Item identifier, classification branch, text alternative or ignored state, accessible name where applicable, equivalent purpose/information and context evidence.) supports: Each item meets the exact WCAG 1.1.1 branch that applies to its purpose.",
        "failed": "Record failed when the action is completed and this failure observation is reproduced: After the tester completes the WCAG 1.1.1 Non-text Content scenario named Provide equivalent text for non-text content, the recorded observation for the target is inconsistent with the required result: Each item meets the exact WCAG 1.1.1 branch that applies to its purpose.",
        "not_applicable": "The completed scope inventory contains no target matching: Each non-text item, classified as a control/input, time-based media, test, sensory experience, CAPTCHA, decoration/formatting/invisible item or other meaningful content.",
        "blocked": "Record blocked, not passed, when The target is applicable, but a required action, state, environment or evidence item was not completed."
      },
      "limitations_and_claim_boundary": "This WCAG 1.1.1 Non-text Content scenario covers only the action named Provide equivalent text for non-text content for the recorded target and state. It contributes evidence to 1.1.1; apply the procedure's aggregation, complete-process and conformance-scope rules before making a broader decision."
    },
    {
      "step_id": "S3",
      "title": "Repeat material variations and recovery",
      "phase": "test",
      "test_target": "Each non-text item, classified as a control/input, time-based media, test, sensory experience, CAPTCHA, decoration/formatting/invisible item or other meaningful content.",
      "required_state": "For WCAG 1.1.1 Non-text Content: Default and every meaningful state or variation that can change the result.",
      "tool_or_command": "For WCAG 1.1.1 Non-text Content, use the same recorded method, then change only the state, environment or recovery condition being compared.",
      "action": "Repeat the WCAG 1.1.1 Non-text Content action for each inventoried variation that can change the outcome. Include relevant default, revealed, error, interruption, recovery and confirmation states and complete the selected process from start to finish where this test can affect task completion.",
      "expected": "Every material variation and required recovery path has its own reproducible observation; no unexecuted state is merged into a passing result.",
      "failure_observation": "After the tester completes the WCAG 1.1.1 Non-text Content scenario named Repeat material variations and recovery, the recorded observation for the target is inconsistent with the required result: Every material variation and required recovery path has its own reproducible observation; no unexecuted state is merged into a passing result.",
      "evidence_to_record": "Variation identifier; changed state or environment; start and end points; actual observation; recovery result; intervention; evidence reference and target outcome.",
      "decision_effect": "For WCAG 1.1.1 Non-text Content, a reproduced mismatch fails the affected target; an omitted required variation remains untested; conflicting evidence remains cannot tell.",
      "recovery_or_repeat": "Repeat this action for every required variation of Provide equivalent text for non-text content and after a material target, content, state, environment or configuration change. Preserve the original observation.",
      "novice_guidance": "For WCAG 1.1.1 Non-text Content, change one material condition at a time where practical. Do not assume that a passing default state covers errors, overlays, orientation changes, interruptions or recovery.",
      "limitations_and_claim_boundary": "This WCAG 1.1.1 Non-text Content scenario covers only the action named Repeat material variations and recovery for the recorded target and state. It contributes evidence to 1.1.1; apply the procedure's aggregation, complete-process and conformance-scope rules before making a broader decision.",
      "scenario_purpose": "For WCAG 1.1.1 Non-text Content, execute the named scenario: Repeat material variations and recovery. Target: Each non-text item, classified as a control/input, time-based media, test, sensory experience, CAPTCHA, decoration/formatting/invisible item or other meaningful content. Compare the observation with this result: Every material variation and required recovery path has its own reproducible observation; no unexecuted state is merged into a passing result.",
      "user_impact": "Information, purpose or operation conveyed only through non-text content can be lost. This scenario isolates that risk in the action named Repeat material variations and recovery.",
      "decision_rules": {
        "passed": "Record passed for the WCAG 1.1.1 Non-text Content scenario named Repeat material variations and recovery only when the evidence (Variation identifier; changed state or environment; start and end points; actual observation; recovery result; intervention; evidence reference and target outcome.) supports: Every material variation and required recovery path has its own reproducible observation; no unexecuted state is merged into a passing result.",
        "failed": "Record failed when the action is completed and this failure observation is reproduced: After the tester completes the WCAG 1.1.1 Non-text Content scenario named Repeat material variations and recovery, the recorded observation for the target is inconsistent with the required result: Every material variation and required recovery path has its own reproducible observation; no unexecuted state is merged into a passing result.",
        "not_applicable": "The completed scope inventory contains no target matching: Each non-text item, classified as a control/input, time-based media, test, sensory experience, CAPTCHA, decoration/formatting/invisible item or other meaningful content.",
        "blocked": "Record blocked, not passed, when The target is applicable, but a required action, state, environment or evidence item was not completed."
      }
    },
    {
      "step_id": "S4",
      "title": "Apply branches and exceptions",
      "phase": "decide",
      "action": "Apply these decision branches exactly: Controls and inputs have a name describing purpose. Time-based media, tests and sensory experiences have at least descriptive identification. CAPTCHA has a purpose description and alternative forms using different sensory output modes. Pure decoration, visual formatting and content not presented to users can be ignored by assistive technology. Other meaningful non-text content has an equivalent text alternative. Evaluate only these recorded normative exceptions where relevant: Control or input; Time-based media; Test or exercise; Sensory experience; CAPTCHA; Decoration, formatting or invisible.",
      "test_target": "Each non-text item, classified as a control/input, time-based media, test, sensory experience, CAPTCHA, decoration/formatting/invisible item or other meaningful content.",
      "required_state": "For WCAG 1.1.1, use the same Provide equivalent text for non-text content target and state evidence collected in S2.",
      "tool_or_command": "WCAG 2.2 normative text and Understanding Success Criterion 1.1.1: Non-text Content as informative interpretation.",
      "expected": "Every alternative branch or exception used is named and supported by its exact condition.",
      "evidence_to_record": "Selected branch; exception name, condition and evidence; unresolved judgement and resolver.",
      "decision_effect": "For WCAG 1.1.1, an unsupported Provide equivalent text for non-text content exception fails; unresolved applicability or exception evidence is cannot tell.",
      "recovery_or_repeat": "Reassess WCAG 1.1.1 when source status, normative wording or the Provide equivalent text for non-text content target facts change.",
      "novice_guidance": "For WCAG 1.1.1, use Understanding and Techniques as informative decision support; they do not create extra requirements.",
      "scenario_purpose": "For WCAG 1.1.1 Non-text Content, execute the named scenario: Apply branches and exceptions. Target: Each non-text item, classified as a control/input, time-based media, test, sensory experience, CAPTCHA, decoration/formatting/invisible item or other meaningful content. Compare the observation with this result: Every alternative branch or exception used is named and supported by its exact condition.",
      "user_impact": "Information, purpose or operation conveyed only through non-text content can be lost. This scenario isolates that risk in the action named Apply branches and exceptions.",
      "failure_observation": "After the tester completes the WCAG 1.1.1 Non-text Content scenario named Apply branches and exceptions, the recorded observation for the target is inconsistent with the required result: Every alternative branch or exception used is named and supported by its exact condition.",
      "decision_rules": {
        "passed": "Record passed for the WCAG 1.1.1 Non-text Content scenario named Apply branches and exceptions only when the evidence (Selected branch; exception name, condition and evidence; unresolved judgement and resolver.) supports: Every alternative branch or exception used is named and supported by its exact condition.",
        "failed": "Record failed when the action is completed and this failure observation is reproduced: After the tester completes the WCAG 1.1.1 Non-text Content scenario named Apply branches and exceptions, the recorded observation for the target is inconsistent with the required result: Every alternative branch or exception used is named and supported by its exact condition.",
        "not_applicable": "The completed scope inventory contains no target matching: Each non-text item, classified as a control/input, time-based media, test, sensory experience, CAPTCHA, decoration/formatting/invisible item or other meaningful content.",
        "blocked": "Record blocked, not passed, when The target is applicable, but a required action, state, environment or evidence item was not completed."
      },
      "limitations_and_claim_boundary": "This WCAG 1.1.1 Non-text Content scenario covers only the action named Apply branches and exceptions for the recorded target and state. It contributes evidence to 1.1.1; apply the procedure's aggregation, complete-process and conformance-scope rules before making a broader decision."
    }
  ],
  "expectations": [
    {
      "expectation_id": "E1",
      "statement": "Each item meets the exact WCAG 1.1.1 branch that applies to its purpose.",
      "outcome_if_unmet": "failed"
    },
    {
      "expectation_id": "E2",
      "statement": "Every selected target and material state is executed; omitted coverage remains untested.",
      "outcome_if_unmet": "untested"
    }
  ],
  "exceptions": [
    "Use only an exception stated in the relevant standard, or an agreed out-of-scope decision. Record the reason and evidence.",
    "A tool limitation, lack of time or unavailable assistive technology is a limitation or incomplete result, not a pass."
  ],
  "outcome_definitions": {
    "passed": "The applicable test target meets every expectation in this rule or procedure.",
    "failed": "The applicable test target does not meet at least one expectation in this rule or procedure.",
    "inapplicable": "The test subject contains no target that matches this rule or procedure's applicability.",
    "cantTell": "The tester cannot fully determine applicability or whether every expectation is met.",
    "untested": "The test subject or target was not evaluated using this rule or procedure."
  },
  "examples": [
    {
      "example_id": "A11Y-WCAG-001-EX-PASSED",
      "outcome": "passed",
      "scenario": "Representative calibration example, not client evidence. Procedure: WCAG 1.1.1 Non-text Content. Target: Each non-text item, classified as a control/input, time-based media, test, sensory experience, CAPTCHA, decoration/formatting/invisible item or other meaningful content. Action: Freeze the page, content and product version. Inventory Each non-text item, classified as a control/input, time-based media, test, sensory experience, CAPTCHA, decoration/formatting/invisible item or other meaningful content. Apply this rule: Apply to all non-text content presented to users, including CSS images and programmatically exposed image roles. Evidence: Page/view, target identifier, state, technology, sample rationale and scope limitation. Observed result: Every selected target and state is uniquely identifiable before testing."
    },
    {
      "example_id": "A11Y-WCAG-001-EX-FAILED",
      "outcome": "failed",
      "scenario": "Representative calibration example, not client evidence. Procedure: WCAG 1.1.1 Non-text Content. Target: Each non-text item, classified as a control/input, time-based media, test, sensory experience, CAPTCHA, decoration/formatting/invisible item or other meaningful content. The tester completes the recorded action, but the captured evidence does not demonstrate: Every selected target and state is uniquely identifiable before testing. The failed target and state remain separate from unexecuted targets."
    },
    {
      "example_id": "A11Y-WCAG-001-EX-INAPPLICABLE",
      "outcome": "inapplicable",
      "scenario": "Representative scope example, not client evidence. The completed scope inventory contains no target matching: Each non-text item, classified as a control/input, time-based media, test, sensory experience, CAPTCHA, decoration/formatting/invisible item or other meaningful content. The completed inventory is retained as the basis for the inapplicable outcome."
    },
    {
      "example_id": "A11Y-WCAG-001-EX-CANTTELL",
      "outcome": "cantTell",
      "scenario": "Representative unresolved example, not client evidence. The item's purpose, content branch or equivalent information cannot be determined after checking the surrounding task and content owner evidence. The record identifies the conflicting evidence and the expertise or comparison needed to resolve it."
    },
    {
      "example_id": "A11Y-WCAG-001-EX-UNTESTED",
      "outcome": "untested",
      "scenario": "Representative execution-gap example, not client evidence. The target is applicable, but a required action, state, environment or evidence item was not completed. The missing action, state or environment remains open and is not converted to a pass."
    }
  ],
  "sampling_rule": "Test every in-scope instance when practical. For a large population, document a sample that includes each template, content or control type, meaningful state and high-risk task.",
  "complete_process_requirement": "If this check is part of a user journey, test the selected journey from start to finish, including relevant errors and recovery. Record any path that was not tested.",
  "pass_criteria": "Each item meets the exact WCAG 1.1.1 branch that applies to its purpose.",
  "fail_criteria": "At least one applicable target violates this condition and no documented normative exception applies: Each item meets the exact WCAG 1.1.1 branch that applies to its purpose.",
  "evidence_requirements": [
    "Page/view, target identifier, product/content version, state, technology and sample rationale.",
    "Item identifier, classification branch, text alternative or ignored state, accessible name where applicable, equivalent purpose/information and context evidence.",
    "Target outcome, normative branch, exception evidence, actual result, limitation and issue reference."
  ],
  "official_source_ids": [
    "W3C-WCAG22",
    "W3C-WCAG22-QUICKREF",
    "W3C-ACT-RULES",
    "W3C-ACT-RULES-FORMAT",
    "W3C-WCAG22-TECHNIQUES",
    "W3C-UNDERSTANDING-1-1-1"
  ],
  "act_rule_mapping": {
    "format_alignment": "This is a project-authored manual procedure, not a W3C Approved ACT Rule.",
    "approved_rule_ids": [
      "23a2a8",
      "59796f"
    ],
    "approved_rules": [
      {
        "rule_id": "23a2a8",
        "title": "Image has non-empty accessible name",
        "scope_note": "Applies to HTML img elements and semantic images that are not programmatically hidden; expects a non-empty accessible name or presentational semantic role. It does not test text-alternative equivalence or other non-text branches.",
        "applicability_summary": "HTML img elements and semantic images, excluding programmatically hidden elements.",
        "expectation_summary": "A non-empty accessible name or semantic role none/presentation.",
        "last_verified": "2026-08-04",
        "wcag_criterion": "1.1.1",
        "status": "approved",
        "url": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/"
      },
      {
        "rule_id": "59796f",
        "title": "Image button has non-empty accessible name",
        "scope_note": "Supports only input elements whose type is image. It does not test other non-text content or complete SC 1.1.1 coverage.",
        "applicability_summary": "HTML input elements with type=image that are not programmatically hidden.",
        "expectation_summary": "The image button has a non-empty accessible name.",
        "last_verified": "2026-08-04",
        "wcag_criterion": "1.1.1",
        "status": "approved",
        "url": "https://www.w3.org/WAI/standards-guidelines/act/rules/59796f/"
      }
    ],
    "mapping_status": "Supporting ACT rules identified",
    "registry_reviewed_at": "2026-08-27",
    "registry_source_id": "W3C-ACT-RULES",
    "mapping_rationale": "An ACT result can support only the part of this procedure covered by that rule. It does not replace the remaining manual or assistive-technology checks."
  },
  "technique_traceability": [
    {
      "wcag_criterion": "1.1.1",
      "understanding_url": "https://www.w3.org/WAI/WCAG22/Understanding/non-text-content.html",
      "techniques_registry_source_id": "W3C-WCAG22-TECHNIQUES",
      "technique_ids_applied": [],
      "failure_ids_applied": [],
      "selection_status": "Select relevant techniques during the test",
      "selection_note": "Techniques are examples, not extra requirements. Record any technique or common failure used, but decide the result against the success criterion."
    }
  ],
  "platform_ids": [
    "web-desktop-cross-browser"
  ],
  "review_requirement": "A qualified accessibility reviewer must confirm the scope, evidence and result before it is reported as final.",
  "known_issues": [
    "Check relevant browser, tool or assistive-technology release notes before assigning unexpected behaviour to the product.",
    "If responsibility is unclear, record the reproducible behaviour and use cannot tell until it is resolved."
  ],
  "change_log": [
    {
      "version": "2026.08.27-rc.9",
      "change": "Reworked for plain language, case-focused steps, scoped evidence and transparent draft review status."
    },
    {
      "version": "2026.08.27-rc.9",
      "change": "Removed administrative filler steps, added contextual risk and result boundaries, and prepared the concise worksheet flow for internal consistency review."
    }
  ],
  "tags": [
    "sc-1.1.1",
    "wcag-2.2",
    "wcag-a",
    "wcag_manual"
  ],
  "status": "draft",
  "authoring_readiness": "content_complete",
  "short_title": "Provide equivalent text for non-text content",
  "catalogue_version": "2026.08.27-rc.9",
  "identity": {
    "stable_case_id": "A11Y-WCAG-001",
    "procedure_title": "WCAG 1.1.1 Non-text Content",
    "short_user_centred_title": "Provide equivalent text for non-text content",
    "procedure_version": "2026.08.27-rc.9",
    "catalogue_version": "2026.08.27-rc.9",
    "status": "draft",
    "category": "wcag_manual",
    "procedure_type": "composite",
    "execution_class": "manual_with_automation_support",
    "intended_tester_expertise": "Accessibility tester",
    "effort_model": {
      "model": "component_effort_v2",
      "small_scope_minutes": {
        "minimum": 33,
        "maximum": 48
      },
      "warning": "Add a new per-target execution and evidence allowance for each additional target class or state that could produce a different result. Add setup time for each distinct environment.",
      "calculation_guidance": "Add the recorded setup, per-target execution, evidence and technical-review components; then apply the stated variation rule.",
      "unit": "minutes",
      "setup": {
        "typical": 10,
        "includes": "Confirm scope and target, prepare safe data, establish the required state and record the tool or environment version."
      },
      "per_target_execution": {
        "typical": 8,
        "includes": "Perform the procedure once for one target in its selected states; this excludes remediation and retesting."
      },
      "evidence_capture": {
        "typical": 7,
        "includes": "Capture, name and cross-reference the minimum reproducible evidence while removing unnecessary personal or secret data."
      },
      "technical_review": {
        "typical": 8,
        "includes": "Check applicability, observations, outcome logic, evidence sufficiency and report wording before issue publication."
      },
      "typical_total_range": {
        "minimum": 33,
        "maximum": 48
      },
      "assumptions": "one page or component state; add another execution block for each materially different template or state",
      "variation": "Add a new per-target execution and evidence allowance for each additional target class or state that could produce a different result. Add setup time for each distinct environment.",
      "excludes": "Client coordination, inaccessible-environment recovery, recruitment, legal review, remediation implementation and waiting time unless the procedure states otherwise."
    },
    "related_procedures": [],
    "replaces": [],
    "replaced_by": []
  },
  "purpose_and_user_impact": {
    "barrier_detected": "Non-text information or controls have no equivalent text, or decorative content is announced as meaningful.",
    "people_likely_affected": [
      "Blind people and people using screen readers or braille.",
      "People who cannot perceive an image, chart, icon, CAPTCHA, audio or video."
    ],
    "functionality_or_information_at_risk": "Information, purpose or operation conveyed only through non-text content can be lost.",
    "result_scope": "composite_criterion_assessment",
    "claim_boundary": "This WCAG 1.1.1 Non-text Content procedure determines whether the recorded targets meet WCAG 1.1.1 on web-desktop-cross-browser in the tested states. A broader conformance decision must also account for every applicable target in the declared scope, complete processes, accessibility-supported use and the other WCAG conformance requirements.",
    "why_it_matters": "Information, purpose or operation conveyed only through non-text content can be lost. The procedure is necessary because non-text information or controls have no equivalent text, or decorative content is announced as meaningful and the result can otherwise conceal a material barrier for the affected people named here."
  },
  "requirement_mappings": [
    {
      "source_id": "W3C-WCAG22",
      "requirement_id": "1.1.1",
      "requirement_level": "A",
      "requirement_type": "conformance",
      "coverage_type": "full",
      "canonical_source": "https://www.w3.org/TR/WCAG22/",
      "source_status": "W3C Recommendation",
      "source_version_or_publication_date": "WCAG 2.2; 12 December 2024 Recommendation",
      "date_verified": "2026-08-27",
      "reviewer_notes": "Primary conformance mapping for WCAG 2.2 Success Criterion 1.1.1; decide against the normative success-criterion text.",
      "limitations": "Full mapping describes the intended criterion scope of this manual procedure, not proof that a sample covers every item in a product or that WCAG conformance requirements are satisfied.",
      "dependent_fields": [
        "applicability_model",
        "normative_exceptions",
        "steps",
        "decision_logic"
      ],
      "mapping_role": "primary_conformance_mapping"
    },
    {
      "source_id": "W3C-ACT-RULES",
      "requirement_id": "23a2a8",
      "requirement_level": "informative",
      "requirement_type": "secondary",
      "coverage_type": "partial",
      "canonical_source": "https://www.w3.org/WAI/standards-guidelines/act/rules/23a2a8/",
      "source_status": "W3C-approved informative ACT rule",
      "source_version_or_publication_date": "Registry status checked 2026-08-27",
      "date_verified": "2026-08-27",
      "reviewer_notes": "Current approved ACT rule checked 4 August 2026. Use only its exact applicability and expectation.",
      "limitations": "Passed and inapplicable ACT outcomes both require further criterion testing; the ACT result never sets the complete WCAG decision automatically.",
      "dependent_fields": [
        "act_rule_mapping",
        "decision_logic"
      ],
      "mapping_role": "partial_supporting_check"
    },
    {
      "source_id": "W3C-ACT-RULES",
      "requirement_id": "59796f",
      "requirement_level": "informative",
      "requirement_type": "secondary",
      "coverage_type": "partial",
      "canonical_source": "https://www.w3.org/WAI/standards-guidelines/act/rules/59796f/",
      "source_status": "W3C-approved informative ACT rule",
      "source_version_or_publication_date": "Registry status checked 2026-08-27",
      "date_verified": "2026-08-27",
      "reviewer_notes": "Current approved ACT rule checked 4 August 2026. Use only its exact applicability and expectation.",
      "limitations": "Passed and inapplicable ACT outcomes both require further criterion testing; the ACT result never sets the complete WCAG decision automatically.",
      "dependent_fields": [
        "act_rule_mapping",
        "decision_logic"
      ],
      "mapping_role": "partial_supporting_check"
    },
    {
      "source_id": "W3C-WCAG22-QUICKREF",
      "requirement_id": "W3C-WCAG22-QUICKREF",
      "requirement_level": "informative",
      "requirement_type": "advisory",
      "coverage_type": "supporting",
      "canonical_source": "https://www.w3.org/WAI/WCAG22/quickref/",
      "source_status": "living_guidance",
      "source_version_or_publication_date": "WCAG 2.2 supporting guidance",
      "date_verified": "2026-08-27",
      "reviewer_notes": "Supporting source. Procedure-level content review remains recorded separately.",
      "limitations": "This source does not override WCAG or create an additional WCAG conformance requirement.",
      "dependent_fields": [
        "prerequisites",
        "environment",
        "steps"
      ]
    },
    {
      "source_id": "W3C-ACT-RULES-FORMAT",
      "requirement_id": "W3C-ACT-RULES-FORMAT",
      "requirement_level": "informative",
      "requirement_type": "advisory",
      "coverage_type": "supporting",
      "canonical_source": "https://www.w3.org/TR/act-rules-format/",
      "source_status": "recommendation",
      "source_version_or_publication_date": "ACT Rules Format 1.1; W3C Recommendation 2026",
      "date_verified": "2026-08-27",
      "reviewer_notes": "Supporting source. Procedure-level content review remains recorded separately.",
      "limitations": "This source does not override WCAG or create an additional WCAG conformance requirement.",
      "dependent_fields": [
        "prerequisites",
        "environment",
        "steps"
      ]
    },
    {
      "source_id": "W3C-WCAG22-TECHNIQUES",
      "requirement_id": "W3C-WCAG22-TECHNIQUES",
      "requirement_level": "informative",
      "requirement_type": "advisory",
      "coverage_type": "supporting",
      "canonical_source": "https://www.w3.org/WAI/WCAG22/Techniques/",
      "source_status": "living_guidance",
      "source_version_or_publication_date": "Techniques for WCAG 2.2",
      "date_verified": "2026-08-27",
      "reviewer_notes": "Supporting source. Procedure-level content review remains recorded separately.",
      "limitations": "This source does not override WCAG or create an additional WCAG conformance requirement.",
      "dependent_fields": [
        "prerequisites",
        "environment",
        "steps"
      ]
    },
    {
      "source_id": "W3C-UNDERSTANDING-1-1-1",
      "requirement_id": "Understanding 1.1.1",
      "requirement_level": "informative",
      "requirement_type": "advisory",
      "coverage_type": "supporting",
      "canonical_source": "https://www.w3.org/WAI/WCAG22/Understanding/non-text-content.html",
      "source_status": "living_guidance",
      "source_version_or_publication_date": "Understanding WCAG 2.2 Success Criterion 1.1.1; checked 4 August 2026",
      "date_verified": "2026-08-27",
      "reviewer_notes": "Criterion-specific informative interpretation used for applicability, exceptions and decision guidance.",
      "limitations": "Understanding guidance is informative and does not add a WCAG conformance requirement.",
      "dependent_fields": [
        "purpose_and_user_impact",
        "applicability_model",
        "normative_exceptions",
        "steps",
        "decision_logic",
        "calibration_examples"
      ]
    }
  ],
  "applicability_model": {
    "test_subject": "The selected conformance scope for WCAG 2.2 Success Criterion 1.1.1.",
    "test_targets": [
      "Each non-text item, classified as a control/input, time-based media, test, sensory experience, CAPTCHA, decoration/formatting/invisible item or other meaningful content."
    ],
    "objective_questions": [
      "Does the selected content contain this target: Each non-text item, classified as a control/input, time-based media, test, sensory experience, CAPTCHA, decoration/formatting/invisible item or other meaningful content.",
      "Does this applicability rule match it: Apply to all non-text content presented to users, including CSS images and programmatically exposed image roles.",
      "Which states, technologies, page variations and complete-process positions can change the decision?"
    ],
    "subjective_judgements": [
      "The item's purpose, content branch or equivalent information cannot be determined after checking the surrounding task and content owner evidence."
    ],
    "inapplicability_conditions": [
      "The completed scope inventory contains no target matching: Each non-text item, classified as a control/input, time-based media, test, sensory experience, CAPTCHA, decoration/formatting/invisible item or other meaningful content."
    ],
    "scope_exclusions": [
      "An agreed scope exclusion is a reporting limitation, not an inapplicable target outcome or WCAG pass."
    ],
    "required_states_and_variations": [
      "Default and every meaningful state or variation that can change the result."
    ],
    "complete_process_dependencies": "Where the criterion applies within a complete process, include every selected process step plus error, interruption, recovery and confirmation states. Record any omitted path as untested.",
    "conforming_alternate_version_considerations": "Rely on a conforming alternate version only after the WCAG definition and all conformance conditions are verified for both versions and the mechanism used to reach the alternate."
  },
  "normative_exceptions": [
    {
      "name": "Control or input",
      "decision_condition": "Non-text content is a control or accepts input; a name describing its purpose is provided.",
      "evidence_needed": "Computed accessible name, role and purpose comparison.",
      "common_misinterpretation": "A filename or generic word does not describe purpose.",
      "official_source": "https://www.w3.org/WAI/WCAG22/Understanding/non-text-content.html",
      "scope_of_exception": "Only the control/input branch."
    },
    {
      "name": "Time-based media",
      "decision_condition": "Non-text content is time-based media; the text alternative at least provides descriptive identification.",
      "evidence_needed": "Media classification and identifying text.",
      "common_misinterpretation": "This does not replace Guideline 1.2 media alternatives.",
      "official_source": "https://www.w3.org/WAI/WCAG22/Understanding/non-text-content.html",
      "scope_of_exception": "Only the time-based-media item."
    },
    {
      "name": "Test or exercise",
      "decision_condition": "Presenting the test in text would invalidate it; descriptive identification is provided.",
      "evidence_needed": "Test purpose and why equivalent text would invalidate it.",
      "common_misinterpretation": "Ordinary quiz images are not automatically exempt from equivalent alternatives.",
      "official_source": "https://www.w3.org/WAI/WCAG22/Understanding/non-text-content.html",
      "scope_of_exception": "Only the invalidated test content."
    },
    {
      "name": "Sensory experience",
      "decision_condition": "The content primarily creates a specific sensory experience; descriptive identification is provided.",
      "evidence_needed": "Purpose and identifying text.",
      "common_misinterpretation": "A sensory purpose does not remove other applicable media requirements.",
      "official_source": "https://www.w3.org/WAI/WCAG22/Understanding/non-text-content.html",
      "scope_of_exception": "Only that sensory item."
    },
    {
      "name": "CAPTCHA",
      "decision_condition": "The content confirms human access; purpose-identifying text and alternative CAPTCHA forms using different sensory output modes are provided.",
      "evidence_needed": "Purpose text and functioning alternatives for different senses.",
      "common_misinterpretation": "One inaccessible audio alternative does not automatically cover different disabilities.",
      "official_source": "https://www.w3.org/WAI/WCAG22/Understanding/non-text-content.html",
      "scope_of_exception": "Only the CAPTCHA."
    },
    {
      "name": "Decoration, formatting or invisible",
      "decision_condition": "The item is pure decoration, used only for visual formatting or not presented to users, and can be ignored by assistive technology.",
      "evidence_needed": "Context, semantics and accessibility-tree evidence.",
      "common_misinterpretation": "An empty alternative does not make meaningful content decorative.",
      "official_source": "https://www.w3.org/WAI/WCAG22/Understanding/non-text-content.html",
      "scope_of_exception": "Only the qualifying item."
    }
  ],
  "normative_exceptions_absent_reason": "",
  "environment": {
    "required_tester_expertise": "Accessibility tester",
    "required_platforms": [
      "web-desktop-cross-browser"
    ],
    "minimum_environment_fields": [
      "operating_system",
      "operating_system_version",
      "browser",
      "browser_version",
      "viewport_css_pixels",
      "input_method"
    ],
    "product_and_content_version_required": true,
    "viewport_and_orientation_required": true,
    "input_mode_required": true,
    "relevant_settings": [],
    "known_platform_limitations": [
      "Check relevant browser, tool or assistive-technology release notes before assigning unexpected behaviour to the product.",
      "If responsibility is unclear, record the reproducible behaviour and use cannot tell until it is resolved."
    ],
    "clean_state_requirements": [
      "Start from a documented clean or known state and record pre-existing preferences, extensions and cached data that can change the result."
    ],
    "test_data_and_privacy_constraints": [
      "Use authorised synthetic or controlled data.",
      "Do not record credentials, secrets or unnecessary personal data."
    ],
    "coverage_boundary": [
      "The result covers only the browsers, platforms, readers and assistive technologies that were actually tested.",
      "Do not apply a result from one technology combination to an untested combination or to every user."
    ]
  },
  "decision_logic": {
    "target_passed": "Each item meets the exact WCAG 1.1.1 branch that applies to its purpose.",
    "target_failed": "At least one applicable target violates this condition and no documented normative exception applies: Each item meets the exact WCAG 1.1.1 branch that applies to its purpose.",
    "target_inapplicable": "The completed scope inventory contains no target matching: Each non-text item, classified as a control/input, time-based media, test, sensory experience, CAPTCHA, decoration/formatting/invisible item or other meaningful content.",
    "target_cant_tell": "The item's purpose, content branch or equivalent information cannot be determined after checking the surrounding task and content owner evidence.",
    "target_untested": "The target is applicable, but a required action, state, environment or evidence item was not completed.",
    "aggregation": "Preserve one result per target and material state. A failed target prevents a passed aggregate; cantTell and untested remain unresolved; inapplicable is used only when no target matches applicability.",
    "wcag_requirement_decision": "A WCAG 1.1.1 decision is separate from target and ACT outcomes. It requires all applicable content in the declared conformance scope plus WCAG's full-page, complete-process, accessibility-supported-ways and non-interference requirements as applicable.",
    "conforming_alternate_version_effect": "Rely on a conforming alternate version only after the WCAG definition and all conformance conditions are verified for both versions and the mechanism used to reach the alternate.",
    "passed_automation_follow_up": "A passed automated or ACT check covers only its exact applicability and expectation. Complete all remaining manual, contextual, exception, state and technology checks; never set the criterion to satisfied automatically.",
    "platform_responsibility": "Record reproducible behaviour and environment evidence. Use cantTell when product, browser, operating-system, assistive-technology or configuration responsibility cannot be assigned defensibly.",
    "claim_readiness": "Schema validation and a passed result do not change claim readiness. Required evidence, independent review, scope limitations and governance authorisation are separate gates."
  },
  "evidence_specification": [
    {
      "evidence_id": "EV1",
      "method": "scope_inventory",
      "record": "Page/view, target identifier, product/content version, state, technology and sample rationale.",
      "review_purpose": "Identify what was and was not tested.",
      "privacy_and_security": "Use authorised identifiers and redact credentials, secrets and unnecessary personal data.",
      "required_for_formal_result": true
    },
    {
      "evidence_id": "EV2",
      "method": "criterion_specific_evidence",
      "record": "Item identifier, classification branch, text alternative or ignored state, accessible name where applicable, equivalent purpose/information and context evidence.",
      "review_purpose": "Reproduce the criterion-specific observation or measurement.",
      "privacy_and_security": "Reference redacted evidence; do not embed sensitive files or unnecessary personal data.",
      "required_for_formal_result": true
    },
    {
      "evidence_id": "EV3",
      "method": "decision_record",
      "record": "Target outcome, normative branch, exception evidence, actual result, limitation and issue reference.",
      "review_purpose": "Review the decision without conflating target outcome, WCAG decision or claim readiness.",
      "privacy_and_security": "Use evidence references and apply the engagement retention policy.",
      "required_for_formal_result": true
    }
  ],
  "calibration_examples": [
    {
      "example_id": "A11Y-WCAG-001-EX-PASSED",
      "outcome": "passed",
      "scenario": "A chart has a concise text alternative and an adjacent data table conveying the same relationships.",
      "explanation": "The applicable target meets the criterion-specific condition in the stated state.",
      "fixture_id": "",
      "fixture_version": "",
      "machine_testable": false
    },
    {
      "example_id": "A11Y-WCAG-001-EX-FAILED",
      "outcome": "failed",
      "scenario": "An image-only submit control has no accessible name and its purpose is unavailable in text.",
      "explanation": "The applicable target violates the condition and no supported exception applies.",
      "fixture_id": "",
      "fixture_version": "",
      "machine_testable": false
    },
    {
      "example_id": "A11Y-WCAG-001-EX-INAPPLICABLE",
      "outcome": "inapplicable",
      "scenario": "The frozen scope contains no target matching: Each non-text item, classified as a control/input, time-based media, test, sensory experience, CAPTCHA, decoration/formatting/invisible item or other meaningful content.",
      "explanation": "No target matches applicability; this target outcome is not automatically copied to a WCAG decision.",
      "fixture_id": "",
      "fixture_version": "",
      "machine_testable": false
    },
    {
      "example_id": "A11Y-WCAG-001-EX-CANTTELL",
      "outcome": "cantTell",
      "scenario": "The item's purpose, content branch or equivalent information cannot be determined after checking the surrounding task and content owner evidence.",
      "explanation": "The uncertainty is material and remains unresolved rather than being converted to passed.",
      "fixture_id": "",
      "fixture_version": "",
      "machine_testable": false
    },
    {
      "example_id": "A11Y-WCAG-001-EX-UNTESTED",
      "outcome": "untested",
      "scenario": "An applicable provide equivalent text for non-text content target was inventoried, but a required state or action was not executed.",
      "explanation": "Applicable coverage remains incomplete.",
      "fixture_id": "",
      "fixture_version": "",
      "machine_testable": false
    }
  ],
  "review_record": {
    "author": "",
    "method_reviewer": "",
    "independent_standards_reviewer": "",
    "accessibility_ui_reviewer": "",
    "author_date": "",
    "method_review_date": "",
    "standards_review_date": "",
    "ui_review_date": "",
    "source_versions_reviewed": [],
    "exceptions_reviewed": false,
    "known_limitations": [
      "Procedure content was checked against current WCAG 2.2 normative text and criterion-specific informative guidance on 4 August 2026; real execution and any formal claim authority remain separate."
    ],
    "open_issues": [
      "Competent method and standards review must confirm applicability, exceptions, decision logic, evidence and calibration material; unresolved material findings block use for an external assessment."
    ],
    "decision": "pending",
    "next_review_date": "",
    "status_transition_reason": "",
    "release_gate_id": "",
    "release_gate_completed_at": "",
    "approval_authority": "",
    "approval_date": ""
  },
  "privacy_and_security": {
    "browser_storage": "Worksheet data is stored only in this browser's local storage until the user exports or clears it.",
    "network_transmission": "The static library does not upload worksheet data.",
    "data_minimisation": "Record only evidence necessary to reproduce and review the decision.",
    "redaction": "Remove credentials, secrets and unnecessary personal or participant data before export or sharing.",
    "retention_and_deletion": "Apply the engagement retention schedule and clear local browser data when it is no longer required."
  },
  "version_history": [
    {
      "version": "2026.08.27-rc.9",
      "change": "Reworked for plain language, case-focused steps, scoped evidence and transparent draft review status."
    },
    {
      "version": "2026.08.27-rc.9",
      "change": "Migrated to professional catalogue schema v3 with separated outcomes, structured authority, applicability, evidence, decision and review records."
    },
    {
      "version": "2026.08.27-rc.9",
      "change": "Individually prepared WCAG 1.1.1 procedure content mapped to current normative and informative sources and checked for internal consistency; competent review, real execution and formal claim authority remain separate."
    },
    {
      "version": "2026.08.27-rc.9",
      "change": "Added explicit preparation and variation/recovery steps plus a bounded representative worked example for paid-template use."
    },
    {
      "version": "2026.08.27-rc.9",
      "change": "Procedure guidance and presentation simplified without changing draft governance status."
    }
  ],
  "migration": {
    "from_schema": "accessibility-test-catalog.v2",
    "from_procedure_version": "2026.08.04.1",
    "migrated_at": "2026-08-27",
    "content_review_state": "commercial_completeness_upgrade_agent_verified",
    "stable_identifier_preserved": true,
    "legacy_url_preserved": true,
    "delivery_model": "professional_delivery_v2",
    "agent_content_validation": {
      "status": "complete",
      "method": "case_specific_semantic_and_operational_checks_v1",
      "checked_fields": [
        "target",
        "state",
        "tool",
        "action",
        "expected_observation",
        "failure_observation",
        "evidence",
        "outcome_rules",
        "claim_boundary",
        "compact_examples"
      ],
      "human_approval_effect": "none"
    }
  },
  "test_type": "conformance",
  "library_layer": "composite",
  "decision_branches": [
    "Controls and inputs have a name describing purpose.",
    "Time-based media, tests and sensory experiences have at least descriptive identification.",
    "CAPTCHA has a purpose description and alternative forms using different sensory output modes.",
    "Pure decoration, visual formatting and content not presented to users can be ignored by assistive technology.",
    "Other meaningful non-text content has an equivalent text alternative."
  ],
  "supporting_guidance": [],
  "effort_guidance": {
    "unit": "minutes",
    "setup": {
      "typical": 10,
      "includes": "Confirm scope and target, prepare safe data, establish the required state and record the tool or environment version."
    },
    "per_target_execution": {
      "typical": 8,
      "includes": "Perform the procedure once for one target in its selected states; this excludes remediation and retesting."
    },
    "evidence_capture": {
      "typical": 7,
      "includes": "Capture, name and cross-reference the minimum reproducible evidence while removing unnecessary personal or secret data."
    },
    "technical_review": {
      "typical": 8,
      "includes": "Check applicability, observations, outcome logic, evidence sufficiency and report wording before issue publication."
    },
    "typical_total_range": {
      "minimum": 33,
      "maximum": 48
    },
    "assumptions": "one page or component state; add another execution block for each materially different template or state",
    "variation": "Add a new per-target execution and evidence allowance for each additional target class or state that could produce a different result. Add setup time for each distinct environment.",
    "excludes": "Client coordination, inaccessible-environment recovery, recruitment, legal review, remediation implementation and waiting time unless the procedure states otherwise."
  },
  "worked_examples": [
    {
      "example_id": "A11Y-WCAG-001-WORKED-001",
      "example_kind": "representative_synthetic_example",
      "context": "Representative synthetic example for WCAG 1.1.1 Non-text Content on a fictional, version-frozen product target; no client or participant execution occurred.",
      "inspected": "The tester follows S2 (Provide equivalent text for non-text content) using the target, required state, tool and repeat rule stated in this procedure.",
      "observed_output": "After the tester completes the WCAG 1.1.1 Non-text Content scenario named Provide equivalent text for non-text content, the recorded observation for the target is inconsistent with the required result: Each item meets the exact WCAG 1.1.1 branch that applies to its purpose.",
      "evidence_captured": [
        "example-evidence-001: target and state record for Each non-text item, classified as a control/input, time-based media, test, sensory experience, CAPTCHA, decoration/formatting/invisible item or other meaningful content.",
        "example-evidence-002: contemporaneous observation from the named method — Item identifier, classification branch, text alternative or ignored state, accessible name where applicable, equivalent purpose/information and context evidence.",
        "example-evidence-003: comparison note linking the actual observation to the expected result and claim boundary"
      ],
      "tester_reasoning": "The recorded observation does not demonstrate the expected result: Each item meets the exact WCAG 1.1.1 branch that applies to its purpose. The failed decision is limited to this synthetic target and state; unexecuted coverage is not inferred.",
      "decision": "failed",
      "completed_finding": {
        "finding_id": "A11Y-WCAG-001-example-finding-001",
        "title": "Provide equivalent text for non-text content: expected result is not demonstrated",
        "severity": "high",
        "user_impact": "The represented barrier may affect Blind people and people using screen readers or braille.; People who cannot perceive an image, chart, icon, CAPTCHA, audio or video.",
        "evidence_refs": [
          "example-evidence-001",
          "example-evidence-002",
          "example-evidence-003"
        ]
      },
      "remediation_advice": "Change the represented target or process so it demonstrates this result: Each item meets the exact WCAG 1.1.1 branch that applies to its purpose. Then rerun the affected step and every dependent variation.",
      "reviewer_feedback": "The reviewer confirms applicability, environment, actual-versus-expected comparison, evidence references and bounded wording; unsupported product-wide or conformance language is removed.",
      "final_client_report_wording": "Synthetic training finding: the sampled Provide equivalent text for non-text content target does not meet the procedure expectation in the recorded state. User impact and broader scope require evidence from the buyer's real execution.",
      "retest_outcome": "Synthetic retest example: after the represented change, repeat the failed step plus material error and recovery states. Close the finding only when new evidence demonstrates the expected result; otherwise retain the non-pass outcome.",
      "claim_boundary": "This is a representative, synthetic worked example for training and calibration. It is not evidence from a client product, participant or real assistive-technology execution."
    }
  ]
}
