{
  "test_case_id": "A11Y-MOB-020",
  "title": "Android interruption and recovery",
  "category": "mobile_accessibility",
  "procedure_version": "2026.08.27-rc.9",
  "rule_type": "journey",
  "wcag_criteria": [
    "1.3.4",
    "1.4.10",
    "2.1.1",
    "2.4.11",
    "2.5.8"
  ],
  "level": "AA",
  "risk": "medium",
  "risk_basis": "Checks android interruption and recovery on physical supported mobile hardware. People most likely affected: disabled mobile users who rely on voice, switches, keyboards, magnification, captions, reduced motion or adapted input. The named mobile configuration may prevent task completion, error recovery or state preservation. In the recorded android-alternative-input environment, exercise the physical device in each required orientation, text size and input mode; touch geometry, on-screen keyboards, system bars and responsive state changes can expose device-only blockers.",
  "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": "Mobile accessibility journey",
  "tester_level": "Experienced mobile accessibility tester",
  "estimated_duration": "Typically 69–100 minutes for the stated single-target assumptions; use the component breakdown when estimating a real sample.",
  "execution_class": "real_device_manual",
  "automation_support": "supporting_evidence_only",
  "simulation_policy": "simulation_prohibited_for_coverage",
  "plain_summary": "Checks android interruption and recovery on physical supported mobile hardware.",
  "objective": "Verify android interruption and recovery on physical supported mobile hardware.",
  "test_subject": "The frozen mobile task executed on the named physical device and input or display configuration.",
  "test_targets": [
    "The selected complete task and states relevant to Android interruption and recovery on physical hardware."
  ],
  "applicability": "Apply Android interruption and recovery when the frozen mobile task executed on the named physical device and input or display configuration. The selected focus is Android interruption and recovery.",
  "applicability_questions": [
    "Does the frozen scope contain a target relevant to Android interruption and recovery?",
    "Are the required real environments, versions and settings identified separately from diagnostic simulations?",
    "Which default, revealed, error, interruption, recovery and confirmation states can change the result?",
    "Does a scope exclusion need to be reported separately from target applicability?"
  ],
  "inapplicability_conditions": [
    "The frozen mobile scope contains no task, control or media relevant to Android interruption and recovery."
  ],
  "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",
    "assistive_technology",
    "assistive_technology_version",
    "device_model",
    "orientation"
  ],
  "steps": [
    {
      "step_id": "S1",
      "title": "Prepare the scope, target and environment",
      "phase": "prepare",
      "test_target": "The selected complete task and states relevant to Android interruption and recovery on physical hardware.",
      "required_state": "For Android interruption and recovery, the product version and scope are frozen; every selected target and material starting state is uniquely identified.",
      "tool_or_command": "Use the scope record and worksheet environment fields for Android interruption and recovery: operating_system, operating_system_version, browser, browser_version, viewport_css_pixels, input_method, assistive_technology, assistive_technology_version, device_model, orientation.",
      "action": "Before executing Android interruption and recovery, freeze the product version and scope. Inventory each applicable target, select the required starting states, prepare safe test data and record every required environment value. Complete any named known-good calibration before attributing an observation to the product.",
      "expected": "The selected targets, states, test data, environment and any scope limitations are complete enough for another qualified tester to reproduce the setup.",
      "failure_observation": "During Android interruption and recovery, the target, starting state, environment or scope record remains ambiguous for the scenario named Prepare the scope, target and environment. The preparation result cannot be demonstrated: The selected targets, states, test data, environment and any scope limitations are complete enough for another qualified tester to reproduce the setup.",
      "evidence_to_record": "Scope/version reference; target inventory; starting states; safe-data reference; every required environment value; calibration result or reason it is not required.",
      "decision_effect": "For Android interruption and recovery, an incomplete setup blocks the affected execution or leaves the omitted target untested; it never creates a pass or product failure.",
      "recovery_or_repeat": "For Android interruption and recovery, correct the setup gap, preserve the original blocked record and start a new execution observation before proceeding.",
      "novice_guidance": "For Android interruption and recovery, do not begin from an undocumented browser tab, document copy, device state, participant plan or evidence set. Record the exact item you will test first.",
      "limitations_and_claim_boundary": "This scenario records the action named Prepare the scope, target and environment for Android interruption and recovery in android-alternative-input. It does not establish behaviour for another target, state or environment and does not set a WCAG conformance decision.",
      "scenario_purpose": "For Android interruption and recovery, prepare the named scenario: Prepare the scope, target and environment. Target: The selected complete task and states relevant to Android interruption and recovery on physical hardware. The preparation must establish this result: The selected targets, states, test data, environment and any scope limitations are complete enough for another qualified tester to reproduce the setup.",
      "user_impact": "The named mobile configuration may prevent task completion, error recovery or state preservation. This scenario isolates that risk in the action named Prepare the scope, target and environment.",
      "decision_rules": {
        "passed": "Record passed for the Android interruption and recovery scenario named Prepare the scope, target and environment only when the evidence (Scope/version reference; target inventory; starting states; safe-data reference; every required environment value; calibration result or reason it is not required.) supports: The selected targets, states, test data, environment and any scope limitations are complete enough for another qualified tester to reproduce the setup.",
        "failed": "Record failed when the action is completed and this failure observation is reproduced: During Android interruption and recovery, the target, starting state, environment or scope record remains ambiguous for the scenario named Prepare the scope, target and environment. The preparation result cannot be demonstrated: The selected targets, states, test data, environment and any scope limitations are complete enough for another qualified tester to reproduce the setup.",
        "not_applicable": "The frozen mobile scope contains no task, control or media relevant to Android interruption and recovery.",
        "blocked": "Record blocked, not passed, when An applicable target, required state, complete process or named real environment was not executed."
      }
    },
    {
      "step_id": "S2",
      "title": "During a critical task on physical Android, background/foreground the browser, lock/unlock, receive an allowed interruption and recover after connectivity loss",
      "phase": "test",
      "action": "During a critical task on physical Android, background/foreground the browser, lock/unlock, receive an allowed interruption and recover after connectivity loss.",
      "expected": "Data, focus/context and accessible status recover predictably without forcing inaccessible re-entry.",
      "evidence_to_record": "Success, validation error, interruption, recovery and confirmation evidence plus every fallback. Capture screen recording, displayed speech/command output or detailed contemporaneous notes and record every fallback intervention.",
      "test_target": "The selected complete task and states relevant to Android interruption and recovery on physical hardware.",
      "required_state": "For Android interruption and recovery, begin in the recorded task position immediately before the interruption, with recoverable input already entered; preserve the exact content, account, platform and configuration used.",
      "tool_or_command": "In android-alternative-input, Use the named accessibility feature on the recorded physical iOS, iPadOS or Android device. Follow the platform's current first-party setup path and perform the exact gesture, switch, keyboard or voice command stated in the action.",
      "decision_effect": "For Android interruption and recovery, compare the recorded observation with this expected result: Data, focus/context and accessible status recover predictably without forcing inaccessible re-entry. A material mismatch fails this target expectation; conflicting platform or responsibility evidence is cannot tell, not a pass.",
      "recovery_or_repeat": "Repeat success, error and recovery paths without falling back to unrecorded touch or visual assistance. Repeat in portrait and landscape where supported and through backgrounding, interruption, validation and recovery states that can change the task. Preserve the first Android interruption and recovery observation when repeating.",
      "novice_guidance": "For Android interruption and recovery: Record device model, operating-system version, app or browser version, orientation and accessibility-feature configuration before testing; emulators and desktop device modes are diagnostic only.",
      "scenario_purpose": "For Android interruption and recovery, execute the named scenario: During a critical task on physical Android, background/foreground the browser, lock/unlock, receive an allowed interruption and recover after connectivity loss. Target: The selected complete task and states relevant to Android interruption and recovery on physical hardware. Compare the observation with this result: Data, focus/context and accessible status recover predictably without forcing inaccessible re-entry.",
      "user_impact": "The named mobile configuration may prevent task completion, error recovery or state preservation. This scenario isolates that risk in the action named During a critical task on physical Android, background/foreground the browser, lock/unlock, receive an allowed interruption and recover after connectivity loss.",
      "failure_observation": "After the tester completes the Android interruption and recovery scenario named During a critical task on physical Android, background/foreground the browser, lock/unlock, receive an allowed interruption and recover after connectivity loss, the recorded observation for the target is inconsistent with the required result: Data, focus/context and accessible status recover predictably without forcing inaccessible re-entry.",
      "decision_rules": {
        "passed": "Record passed for the Android interruption and recovery scenario named During a critical task on physical Android, background/foreground the browser, lock/unlock, receive an allowed interruption and recover after connectivity loss only when the evidence (Success, validation error, interruption, recovery and confirmation evidence plus every fallback. Capture screen recording, displayed speech/command output or detailed contemporaneous notes and record every fallback intervention.) supports: Data, focus/context and accessible status recover predictably without forcing inaccessible re-entry.",
        "failed": "Record failed when the action is completed and this failure observation is reproduced: After the tester completes the Android interruption and recovery scenario named During a critical task on physical Android, background/foreground the browser, lock/unlock, receive an allowed interruption and recover after connectivity loss, the recorded observation for the target is inconsistent with the required result: Data, focus/context and accessible status recover predictably without forcing inaccessible re-entry.",
        "not_applicable": "The frozen mobile scope contains no task, control or media relevant to Android interruption and recovery.",
        "blocked": "Record blocked, not passed, when An applicable target, required state, complete process or named real environment was not executed."
      },
      "limitations_and_claim_boundary": "This scenario records the action named During a critical task on physical Android, background/foreground the browser, lock/unlock, receive an allowed interruption and recover after connectivity loss for Android interruption and recovery in android-alternative-input. It does not establish behaviour for another target, state or environment and does not set a WCAG conformance decision."
    },
    {
      "step_id": "S3",
      "title": "Repeat material variations and recovery",
      "phase": "test",
      "test_target": "The selected complete task and states relevant to Android interruption and recovery on physical hardware.",
      "required_state": "For Android interruption and recovery: Default, revealed, loading, empty, validation error, interruption, recovery and confirmation where meaningful. Every required environment, viewport, orientation, language and authenticated state recorded in the frozen scope.",
      "tool_or_command": "For Android interruption and recovery, use the same recorded method, then change only the state, environment or recovery condition being compared.",
      "action": "Repeat the Android interruption and recovery 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 Android interruption and recovery 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 Android interruption and recovery, 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 Android interruption and recovery and after a material target, content, state, environment or configuration change. Preserve the original observation.",
      "novice_guidance": "For Android interruption and recovery, 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 scenario records the action named Repeat material variations and recovery for Android interruption and recovery in android-alternative-input. It does not establish behaviour for another target, state or environment and does not set a WCAG conformance decision.",
      "scenario_purpose": "For Android interruption and recovery, execute the named scenario: Repeat material variations and recovery. Target: The selected complete task and states relevant to Android interruption and recovery on physical hardware. 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": "The named mobile configuration may prevent task completion, error recovery or state preservation. This scenario isolates that risk in the action named Repeat material variations and recovery.",
      "decision_rules": {
        "passed": "Record passed for the Android interruption and recovery 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 Android interruption and recovery 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 frozen mobile scope contains no task, control or media relevant to Android interruption and recovery.",
        "blocked": "Record blocked, not passed, when An applicable target, required state, complete process or named real environment was not executed."
      }
    }
  ],
  "expectations": [
    {
      "expectation_id": "E1",
      "statement": "Data, focus/context and accessible status recover predictably without forcing inaccessible re-entry.",
      "outcome_if_unmet": "failed"
    }
  ],
  "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-MOB-020-EX-PASSED",
      "outcome": "passed",
      "scenario": "Representative calibration example, not client evidence. Procedure: Android interruption and recovery. Target: The selected complete task and states relevant to Android interruption and recovery on physical hardware. Action: Before executing Android interruption and recovery, freeze the product version and scope. Inventory each applicable target, select the required starting states, prepare safe test data and record every required environment value. Complete any named known-good calibration before attributing an observation to the product. Evidence: Scope/version reference; target inventory; starting states; safe-data reference; every required environment value; calibration result or reason it is not required. Observed result: The selected targets, states, test data, environment and any scope limitations are complete enough for another qualified tester to reproduce the setup."
    },
    {
      "example_id": "A11Y-MOB-020-EX-FAILED",
      "outcome": "failed",
      "scenario": "Representative calibration example, not client evidence. Procedure: Android interruption and recovery. Target: The selected complete task and states relevant to Android interruption and recovery on physical hardware. The tester completes the recorded action, but the captured evidence does not demonstrate: The selected targets, states, test data, environment and any scope limitations are complete enough for another qualified tester to reproduce the setup. The failed target and state remain separate from unexecuted targets."
    },
    {
      "example_id": "A11Y-MOB-020-EX-INAPPLICABLE",
      "outcome": "inapplicable",
      "scenario": "Representative scope example, not client evidence. The frozen mobile scope contains no task, control or media relevant to Android interruption and recovery. The completed inventory is retained as the basis for the inapplicable outcome."
    },
    {
      "example_id": "A11Y-MOB-020-EX-CANTTELL",
      "outcome": "cantTell",
      "scenario": "Representative unresolved example, not client evidence. The target is applicable, but conflicting evidence or unresolved responsibility prevents a defensible expectation decision after recorded comparison. The record identifies the conflicting evidence and the expertise or comparison needed to resolve it."
    },
    {
      "example_id": "A11Y-MOB-020-EX-UNTESTED",
      "outcome": "untested",
      "scenario": "Representative execution-gap example, not client evidence. An applicable target, required state, complete process or named real environment was not executed. The missing action, state or environment remains open and is not converted to a pass."
    }
  ],
  "sampling_rule": "Run each selected critical journey from start to finish, including its main error and recovery paths. Record which journeys and states were included.",
  "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": "Data, focus/context and accessible status recover predictably without forcing inaccessible re-entry.",
  "fail_criteria": "Fail if any applicable sampled instance does not satisfy: Data, focus/context and accessible status recover predictably without forcing inaccessible re-entry.",
  "evidence_requirements": [
    "Device model, operating system, browser/app, accessibility feature/input, versions, orientation and settings.",
    "Exact command, gesture, switch, key or setting and resulting target/focus/state.",
    "Success, validation error, interruption, recovery and confirmation evidence plus every fallback."
  ],
  "official_source_ids": [
    "W3C-WCAG22",
    "W3C-MOBILE",
    "GOOGLE-ANDROID-TESTING",
    "W3C-WCAG22-TECHNIQUES"
  ],
  "act_rule_mapping": {
    "format_alignment": "This is a project-authored manual procedure, not a W3C Approved ACT Rule.",
    "approved_rule_ids": [],
    "approved_rules": [],
    "mapping_status": "No supporting ACT rule selected",
    "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.3.4",
      "understanding_url": "https://www.w3.org/WAI/WCAG22/Understanding/orientation.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."
    },
    {
      "wcag_criterion": "1.4.10",
      "understanding_url": "https://www.w3.org/WAI/WCAG22/Understanding/reflow.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."
    },
    {
      "wcag_criterion": "2.1.1",
      "understanding_url": "https://www.w3.org/WAI/WCAG22/Understanding/keyboard.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."
    },
    {
      "wcag_criterion": "2.4.11",
      "understanding_url": "https://www.w3.org/WAI/WCAG22/Understanding/focus-not-obscured-minimum.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."
    },
    {
      "wcag_criterion": "2.5.8",
      "understanding_url": "https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum.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": [
    "android-alternative-input"
  ],
  "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": "Case-specific specialist content, evidence and platform boundaries completed for hash-bound agent verification."
    },
    {
      "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": [
    "alternative-input",
    "mobile",
    "mobile_accessibility",
    "physical-device"
  ],
  "status": "draft",
  "authoring_readiness": "content_complete",
  "short_title": "Android interruption and recovery",
  "catalogue_version": "2026.08.27-rc.9",
  "identity": {
    "stable_case_id": "A11Y-MOB-020",
    "procedure_title": "Android interruption and recovery",
    "short_user_centred_title": "Android interruption and recovery",
    "procedure_version": "2026.08.27-rc.9",
    "catalogue_version": "2026.08.27-rc.9",
    "status": "draft",
    "category": "mobile_accessibility",
    "procedure_type": "journey",
    "execution_class": "real_device_manual",
    "intended_tester_expertise": "Experienced mobile accessibility tester",
    "effort_model": {
      "model": "component_effort_v2",
      "small_scope_minutes": {
        "minimum": 69,
        "maximum": 100
      },
      "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": 20,
        "includes": "Confirm scope and target, prepare safe data, establish the required state and record the tool or environment version."
      },
      "per_target_execution": {
        "typical": 25,
        "includes": "Perform the procedure once for one target in its selected states; this excludes remediation and retesting."
      },
      "evidence_capture": {
        "typical": 12,
        "includes": "Capture, name and cross-reference the minimum reproducible evidence while removing unnecessary personal or secret data."
      },
      "technical_review": {
        "typical": 12,
        "includes": "Check applicability, observations, outcome logic, evidence sufficiency and report wording before issue publication."
      },
      "typical_total_range": {
        "minimum": 69,
        "maximum": 100
      },
      "assumptions": "one short app journey on one physical device; repeat platforms, orientations and accessibility-service configurations separately",
      "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": [
      "A11Y-WCAG-010",
      "A11Y-WCAG-017",
      "A11Y-WCAG-021",
      "A11Y-WCAG-034",
      "A11Y-WCAG-040"
    ],
    "replaces": [],
    "replaced_by": []
  },
  "purpose_and_user_impact": {
    "barrier_detected": "Checks android interruption and recovery on physical supported mobile hardware.",
    "people_likely_affected": [
      "Disabled mobile users who rely on voice, switches, keyboards, magnification, captions, reduced motion or adapted input."
    ],
    "functionality_or_information_at_risk": "The named mobile configuration may prevent task completion, error recovery or state preservation.",
    "result_scope": "platform_interoperability",
    "claim_boundary": "This procedure records how Android interruption and recovery behaves on android-alternative-input. It can expose evidence relevant to WCAG 1.3.4, 1.4.10, 2.1.1, 2.4.11 and 2.5.8 for the tested task and environment. Use the linked conformance procedures for WCAG 1.3.4, 1.4.10, 2.1.1, 2.4.11 and 2.5.8 to assess the complete requirements across the declared conformance scope.",
    "why_it_matters": "The named mobile configuration may prevent task completion, error recovery or state preservation. The procedure is necessary because checks android interruption and recovery on physical supported mobile hardware and the result can otherwise conceal a material barrier for the affected people named here."
  },
  "requirement_mappings": [
    {
      "source_id": "W3C-WCAG22",
      "requirement_id": "1.3.4",
      "requirement_level": "AA",
      "requirement_type": "secondary",
      "coverage_type": "partial",
      "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": "The mapping describes the intended scope of this draft procedure. Independent standards review remains required.",
      "limitations": "This Mobile accessibility journey observes Android interruption and recovery in the recorded android-alternative-input environment. Use the linked WCAG 1.3.4 conformance procedure to evaluate all normative parts of WCAG 1.3.4 across the declared scope.",
      "dependent_fields": [
        "applicability_model",
        "normative_exceptions",
        "steps",
        "decision_logic"
      ]
    },
    {
      "source_id": "W3C-WCAG22",
      "requirement_id": "1.4.10",
      "requirement_level": "AA",
      "requirement_type": "secondary",
      "coverage_type": "partial",
      "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": "The mapping describes the intended scope of this draft procedure. Independent standards review remains required.",
      "limitations": "This Mobile accessibility journey observes Android interruption and recovery in the recorded android-alternative-input environment. Use the linked WCAG 1.4.10 conformance procedure to evaluate all normative parts of WCAG 1.4.10 across the declared scope.",
      "dependent_fields": [
        "applicability_model",
        "normative_exceptions",
        "steps",
        "decision_logic"
      ]
    },
    {
      "source_id": "W3C-WCAG22",
      "requirement_id": "2.1.1",
      "requirement_level": "AA",
      "requirement_type": "secondary",
      "coverage_type": "partial",
      "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": "The mapping describes the intended scope of this draft procedure. Independent standards review remains required.",
      "limitations": "This Mobile accessibility journey observes Android interruption and recovery in the recorded android-alternative-input environment. Use the linked WCAG 2.1.1 conformance procedure to evaluate all normative parts of WCAG 2.1.1 across the declared scope.",
      "dependent_fields": [
        "applicability_model",
        "normative_exceptions",
        "steps",
        "decision_logic"
      ]
    },
    {
      "source_id": "W3C-WCAG22",
      "requirement_id": "2.4.11",
      "requirement_level": "AA",
      "requirement_type": "secondary",
      "coverage_type": "partial",
      "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": "The mapping describes the intended scope of this draft procedure. Independent standards review remains required.",
      "limitations": "This Mobile accessibility journey observes Android interruption and recovery in the recorded android-alternative-input environment. Use the linked WCAG 2.4.11 conformance procedure to evaluate all normative parts of WCAG 2.4.11 across the declared scope.",
      "dependent_fields": [
        "applicability_model",
        "normative_exceptions",
        "steps",
        "decision_logic"
      ]
    },
    {
      "source_id": "W3C-WCAG22",
      "requirement_id": "2.5.8",
      "requirement_level": "AA",
      "requirement_type": "secondary",
      "coverage_type": "partial",
      "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": "The mapping describes the intended scope of this draft procedure. Independent standards review remains required.",
      "limitations": "This Mobile accessibility journey observes Android interruption and recovery in the recorded android-alternative-input environment. Use the linked WCAG 2.5.8 conformance procedure to evaluate all normative parts of WCAG 2.5.8 across the declared scope.",
      "dependent_fields": [
        "applicability_model",
        "normative_exceptions",
        "steps",
        "decision_logic"
      ]
    },
    {
      "source_id": "W3C-MOBILE",
      "requirement_id": "W3C-MOBILE",
      "requirement_level": "informative",
      "requirement_type": "platform",
      "coverage_type": "supporting",
      "canonical_source": "https://www.w3.org/WAI/standards-guidelines/mobile/",
      "source_status": "living_guidance",
      "source_version_or_publication_date": "Current first-party publication; exact version pending source review",
      "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": "GOOGLE-ANDROID-TESTING",
      "requirement_id": "GOOGLE-ANDROID-TESTING",
      "requirement_level": "informative",
      "requirement_type": "platform",
      "coverage_type": "supporting",
      "canonical_source": "https://developer.android.com/guide/topics/ui/accessibility/testing",
      "source_status": "vendor_guidance",
      "source_version_or_publication_date": "Android accessibility testing guidance; checked 4 August 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": "platform",
      "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"
      ]
    }
  ],
  "applicability_model": {
    "test_subject": "The frozen mobile task executed on the named physical device and input or display configuration.",
    "test_targets": [
      "The selected complete task and states relevant to Android interruption and recovery on physical hardware."
    ],
    "objective_questions": [
      "Does the frozen scope contain a target relevant to Android interruption and recovery?",
      "Are the required real environments, versions and settings identified separately from diagnostic simulations?",
      "Which default, revealed, error, interruption, recovery and confirmation states can change the result?",
      "Does a scope exclusion need to be reported separately from target applicability?"
    ],
    "subjective_judgements": [
      "Record any judgement about meaning, equivalence, task success, platform responsibility or exception use with evidence for independent review."
    ],
    "inapplicability_conditions": [
      "The frozen mobile scope contains no task, control or media relevant to Android interruption and recovery."
    ],
    "scope_exclusions": [
      "An agreed exclusion is a reporting limitation, not an inapplicable target and not a pass."
    ],
    "required_states_and_variations": [
      "Default, revealed, loading, empty, validation error, interruption, recovery and confirmation where meaningful.",
      "Every required environment, viewport, orientation, language and authenticated state recorded in the frozen scope."
    ],
    "complete_process_dependencies": "Run each selected critical process from its defined start through success, at least one representative error, interruption and recovery, and confirmation where the focus can affect task completion.",
    "conforming_alternate_version_considerations": "A conforming alternate version can affect a WCAG report only when all WCAG conformance conditions are verified separately. It does not erase a platform or usability observation."
  },
  "normative_exceptions": [],
  "normative_exceptions_absent_reason": "This platform, journey, usability or quality procedure creates no additional normative exception. Apply exceptions only in the linked atomic or criterion-level conformance procedure and preserve that separate decision.",
  "environment": {
    "required_tester_expertise": "Experienced mobile accessibility tester",
    "required_platforms": [
      "android-alternative-input"
    ],
    "minimum_environment_fields": [
      "operating_system",
      "operating_system_version",
      "browser",
      "browser_version",
      "viewport_css_pixels",
      "input_method",
      "assistive_technology",
      "assistive_technology_version",
      "device_model",
      "orientation"
    ],
    "product_and_content_version_required": true,
    "viewport_and_orientation_required": true,
    "input_mode_required": true,
    "relevant_settings": [
      "Physical device model",
      "Operating system",
      "Browser or app",
      "Input/accessibility feature",
      "Orientation",
      "Display and text size"
    ],
    "known_platform_limitations": [
      "Only the recorded physical-device execution counts. Results do not represent every device, operating-system release or accessibility configuration.",
      "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": [
      "Complete a known-good calibration in the same environment before product testing.",
      "Start from a recorded clean or known state and preserve any prior preferences, extensions, cache or profile settings that can affect output."
    ],
    "test_data_and_privacy_constraints": [
      "Use authorised synthetic or controlled data.",
      "Do not record credentials, secrets or unnecessary personal data."
    ],
    "coverage_boundary": "Only the recorded physical-device execution counts. Results do not represent every device, operating-system release or accessibility configuration."
  },
  "decision_logic": {
    "target_passed": "Data, focus/context and accessible status recover predictably without forcing inaccessible re-entry.",
    "target_failed": "An applicable Android interruption and recovery target has a reproducible material barrier against one or more stated expectations; identify the exact expectation, state and evidence.",
    "target_inapplicable": "The frozen mobile scope contains no task, control or media relevant to Android interruption and recovery.",
    "target_cant_tell": "The target is applicable, but conflicting evidence or unresolved responsibility prevents a defensible expectation decision after recorded comparison.",
    "target_untested": "An applicable target, required state, complete process or named real environment was not executed.",
    "aggregation": "Preserve every target/environment outcome. Any failed target prevents an overall passed procedure result. cantTell and untested remain unresolved; inapplicable is valid only when the completed inventory contains no applicable target.",
    "wcag_requirement_decision": "This specialist, platform, document, usability or quality result does not set a WCAG success criterion to satisfied or not_satisfied automatically. Use linked atomic and criterion-level procedures for that separate decision.",
    "conforming_alternate_version_effect": "Record alternate-version evidence separately. It does not erase a barrier in this tested version or environment.",
    "passed_automation_follow_up": "A checker, accessibility-tree inspection, emulator or simulated assistive technology is diagnostic evidence only. Complete every required manual, real-platform, contextual and exception check.",
    "platform_responsibility": "Compare the product with a known-good control and an authorised alternate environment. Record product defect, external limitation or unresolved responsibility only when evidence supports it; otherwise use cantTell.",
    "claim_readiness": "Schema validation or a passed target never creates a conformance or release claim. Required executions, a distinct competent review, limitations and any applicable legal, participant or organisational authority remain separate gates."
  },
  "evidence_specification": [
    {
      "evidence_id": "EV1",
      "method": "physical_device_record",
      "record": "Device model, operating system, browser/app, accessibility feature/input, versions, orientation and settings.",
      "review_purpose": "Allow an independent reviewer to reproduce the target, environment, action, actual behaviour and decision.",
      "privacy_and_security": "Reference or redact sensitive material. Do not store credentials, secrets, unnecessary personal data or unconsented participant data.",
      "required_for_formal_result": true
    },
    {
      "evidence_id": "EV2",
      "method": "interaction_sequence",
      "record": "Exact command, gesture, switch, key or setting and resulting target/focus/state.",
      "review_purpose": "Allow an independent reviewer to reproduce the target, environment, action, actual behaviour and decision.",
      "privacy_and_security": "Reference or redact sensitive material. Do not store credentials, secrets, unnecessary personal data or unconsented participant data.",
      "required_for_formal_result": true
    },
    {
      "evidence_id": "EV3",
      "method": "journey_record",
      "record": "Success, validation error, interruption, recovery and confirmation evidence plus every fallback.",
      "review_purpose": "Allow an independent reviewer to reproduce the target, environment, action, actual behaviour and decision.",
      "privacy_and_security": "Reference or redact sensitive material. Do not store credentials, secrets, unnecessary personal data or unconsented participant data.",
      "required_for_formal_result": true
    }
  ],
  "calibration_examples": [
    {
      "example_id": "A11Y-MOB-020-EX-PASS",
      "outcome": "passed",
      "scenario": "In android-alternative-input, the selected Android interruption and recovery target completes the recorded action and meets this expectation: Data, focus/context and accessible status recover predictably without forcing inaccessible re-entry.",
      "explanation": "The example is a calibration scenario, not an execution or approval.",
      "fixture_id": "",
      "fixture_version": "",
      "machine_testable": false
    },
    {
      "example_id": "A11Y-MOB-020-EX-FAIL",
      "outcome": "failed",
      "scenario": "An applicable Android interruption and recovery target produces a reproducible barrier during the named action, with the exact state and affected user task recorded.",
      "explanation": "A failed target remains failed even if another environment or target passes.",
      "fixture_id": "",
      "fixture_version": "",
      "machine_testable": false
    },
    {
      "example_id": "A11Y-MOB-020-EX-INAPPLICABLE",
      "outcome": "inapplicable",
      "scenario": "The frozen mobile scope contains no task, control or media relevant to Android interruption and recovery.",
      "explanation": "Inapplicable requires a completed inventory showing that no target matches applicability; a missing environment is not inapplicable.",
      "fixture_id": "",
      "fixture_version": "",
      "machine_testable": false
    },
    {
      "example_id": "A11Y-MOB-020-EX-CANTTELL",
      "outcome": "cantTell",
      "scenario": "The Android interruption and recovery target is applicable, but conflicting product/platform evidence or missing authoritative information prevents a defensible responsibility or expectation decision.",
      "explanation": "Record the conflict, comparisons attempted and person or evidence needed to resolve it.",
      "fixture_id": "",
      "fixture_version": "",
      "machine_testable": false
    },
    {
      "example_id": "A11Y-MOB-020-EX-UNTESTED",
      "outcome": "untested",
      "scenario": "The Android interruption and recovery target is applicable, but a required state, complete process or real environment was not executed.",
      "explanation": "Untested remains incomplete and cannot be converted to passed or inapplicable.",
      "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": [
      "Only the recorded physical-device execution counts. Results do not represent every device, operating-system release or accessibility configuration.",
      "Real execution evidence and any customer-required legal, participant or organisational authority remain separate."
    ],
    "open_issues": [
      "Execute all required real environments and calibration cases.",
      "Complete a distinct competent review and retain any unresolved material finding as blocked or cantTell."
    ],
    "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": "Specialist procedure mapped to its task family and current first-party platform guidance and checked for internal consistency; competent review and real execution 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": "platform_interoperability",
  "related_procedures": [
    "A11Y-WCAG-010",
    "A11Y-WCAG-017",
    "A11Y-WCAG-021",
    "A11Y-WCAG-034",
    "A11Y-WCAG-040"
  ],
  "platform_validation": {
    "required": true,
    "evidence_status": "not_executed",
    "real_device_or_at_claimed": false,
    "required_environment_ids": [
      "android-alternative-input"
    ],
    "calibration_required": true,
    "evidence_refs": [],
    "limitations": "Only the recorded physical-device execution counts. Results do not represent every device, operating-system release or accessibility configuration."
  },
  "effort_guidance": {
    "unit": "minutes",
    "setup": {
      "typical": 20,
      "includes": "Confirm scope and target, prepare safe data, establish the required state and record the tool or environment version."
    },
    "per_target_execution": {
      "typical": 25,
      "includes": "Perform the procedure once for one target in its selected states; this excludes remediation and retesting."
    },
    "evidence_capture": {
      "typical": 12,
      "includes": "Capture, name and cross-reference the minimum reproducible evidence while removing unnecessary personal or secret data."
    },
    "technical_review": {
      "typical": 12,
      "includes": "Check applicability, observations, outcome logic, evidence sufficiency and report wording before issue publication."
    },
    "typical_total_range": {
      "minimum": 69,
      "maximum": 100
    },
    "assumptions": "one short app journey on one physical device; repeat platforms, orientations and accessibility-service configurations separately",
    "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-MOB-020-WORKED-001",
      "example_kind": "representative_synthetic_example",
      "context": "Representative synthetic example for Android interruption and recovery on a fictional, version-frozen product target; no client or participant execution occurred.",
      "inspected": "The tester follows S2 (During a critical task on physical Android, background/foreground the browser, lock/unlock, receive an allowed interruption and recover after connectivity loss) using the target, required state, tool and repeat rule stated in this procedure.",
      "observed_output": "After the tester completes the Android interruption and recovery scenario named During a critical task on physical Android, background/foreground the browser, lock/unlock, receive an allowed interruption and recover after connectivity loss, the recorded observation for the target is inconsistent with the required result: Data, focus/context and accessible status recover predictably without forcing inaccessible re-entry.",
      "evidence_captured": [
        "example-evidence-001: target and state record for The selected complete task and states relevant to Android interruption and recovery on physical hardware.",
        "example-evidence-002: contemporaneous observation from the named method — Success, validation error, interruption, recovery and confirmation evidence plus every fallback. Capture screen recording, displayed speech/command output or detailed contemporaneous notes and record every fallback intervention.",
        "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: Data, focus/context and accessible status recover predictably without forcing inaccessible re-entry. The failed decision is limited to this synthetic target and state; unexecuted coverage is not inferred.",
      "decision": "failed",
      "completed_finding": {
        "finding_id": "A11Y-MOB-020-example-finding-001",
        "title": "Android interruption and recovery: expected result is not demonstrated",
        "severity": "medium",
        "user_impact": "The represented barrier may affect Disabled mobile users who rely on voice, switches, keyboards, magnification, captions, reduced motion or adapted input.",
        "evidence_refs": [
          "example-evidence-001",
          "example-evidence-002",
          "example-evidence-003"
        ]
      },
      "remediation_advice": "Change the represented target or process so it demonstrates this result: Data, focus/context and accessible status recover predictably without forcing inaccessible re-entry. 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 Android interruption and recovery 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."
    }
  ]
}
