{
  "test_case_id": "A11Y-VBRL-002",
  "title": "VoiceOver with a physical refreshable braille display: form input, cursor routing and errors",
  "category": "refreshable_braille",
  "procedure_version": "2026.08.27-rc.9",
  "rule_type": "journey",
  "wcag_criteria": [
    "2.1.1",
    "3.3.1",
    "3.3.2",
    "4.1.3"
  ],
  "level": "AA",
  "risk": "medium",
  "risk_basis": "Checks form input, cursor routing and errors using VoiceOver with a physical refreshable braille display rather than a visual braille viewer. People most likely affected: blind and deafblind people who read or enter digital content using refreshable braille. Text, roles, states, cursor position or task feedback may be missing or ambiguous in braille. In the recorded macos-voiceover-braille environment, check braille translation, routing, cursor position, structure and live updates with the named display; speech-only cues or stale cells can conceal state and prevent precise editing.",
  "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": "Refreshable-braille journey",
  "tester_level": "Experienced braille tester",
  "estimated_duration": "Typically 85–123 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 form input, cursor routing and errors using VoiceOver with a physical refreshable braille display rather than a visual braille viewer.",
  "objective": "Verify form input, cursor routing and errors using VoiceOver with a physical refreshable braille display rather than a visual braille viewer.",
  "test_subject": "The frozen task executed with the named screen reader and a physical refreshable braille display.",
  "test_targets": [
    "The selected content, braille output/input and complete task relevant to form input, cursor routing and errors."
  ],
  "applicability": "Apply VoiceOver with a physical refreshable braille display: form input, cursor routing and errors when the frozen task executed with the named screen reader and a physical refreshable braille display. The selected focus is form input, cursor routing and errors.",
  "applicability_questions": [
    "Does the frozen scope contain a target relevant to form input, cursor routing and errors?",
    "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 scope contains no content, input or task relevant to form input, cursor routing and errors."
  ],
  "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",
    "braille_display_model",
    "braille_display_firmware",
    "braille_translation_table"
  ],
  "steps": [
    {
      "step_id": "S1",
      "title": "Prepare the scope, target and environment",
      "phase": "prepare",
      "test_target": "The selected content, braille output/input and complete task relevant to form input, cursor routing and errors.",
      "required_state": "For VoiceOver with a physical refreshable braille display: form input, cursor routing and errors, 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 VoiceOver with a physical refreshable braille display: form input, cursor routing and errors: operating_system, operating_system_version, browser, browser_version, viewport_css_pixels, input_method, assistive_technology, assistive_technology_version, device_model, braille_display_model, braille_display_firmware, braille_translation_table.",
      "action": "Before executing VoiceOver with a physical refreshable braille display: form input, cursor routing and errors, 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 VoiceOver with a physical refreshable braille display: form input, cursor routing and errors, 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 VoiceOver with a physical refreshable braille display: form input, cursor routing and errors, 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 VoiceOver with a physical refreshable braille display: form input, cursor routing and errors, correct the setup gap, preserve the original blocked record and start a new execution observation before proceeding.",
      "novice_guidance": "For VoiceOver with a physical refreshable braille display: form input, cursor routing and errors, 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 VoiceOver with a physical refreshable braille display: form input, cursor routing and errors in macos-voiceover-braille. It does not establish behaviour for another target, state or environment and does not set a WCAG conformance decision.",
      "scenario_purpose": "For VoiceOver with a physical refreshable braille display: form input, cursor routing and errors, prepare the named scenario: Prepare the scope, target and environment. Target: The selected content, braille output/input and complete task relevant to form input, cursor routing and errors. 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": "Text, roles, states, cursor position or task feedback may be missing or ambiguous in braille. This scenario isolates that risk in the action named Prepare the scope, target and environment.",
      "decision_rules": {
        "passed": "Record passed for the VoiceOver with a physical refreshable braille display: form input, cursor routing and errors 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 VoiceOver with a physical refreshable braille display: form input, cursor routing and errors, 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 scope contains no content, input or task relevant to form input, cursor routing and errors.",
        "blocked": "Record blocked, not passed, when An applicable target, required state, complete process or named real environment was not executed."
      }
    },
    {
      "step_id": "S2",
      "title": "Record display make/model/firmware, connection, cell count, translation table, contracted/uncontracted mode, input mode, screen reader, OS and browser versions",
      "phase": "test",
      "action": "Record display make/model/firmware, connection, cell count, translation table, contracted/uncontracted mode, input mode, screen reader, OS and browser versions; calibrate every cell and routing key.",
      "expected": "The physical braille environment is reproducible and no dead cells or configuration defects invalidate the run.",
      "evidence_to_record": "Display make/model/firmware, connection, cells, translation table, input/output mode and screen-reader environment.",
      "test_target": "The selected content, braille output/input and complete task relevant to form input, cursor routing and errors.",
      "required_state": "For VoiceOver with a physical refreshable braille display: form input, cursor routing and errors, begin in keyboard focus on the last confirmed target before the action, with no pointer assistance; preserve the exact content, account, platform and configuration used.",
      "tool_or_command": "In macos-voiceover-braille, Use the recorded physical braille display with the named screen reader, translation table and input mode. Use the display's routing or navigation keys stated in the action and record the exact cells before and after interaction.",
      "decision_effect": "For VoiceOver with a physical refreshable braille display: form input, cursor routing and errors, compare the recorded observation with this expected result: The physical braille environment is reproducible and no dead cells or configuration defects invalidate the run. A material mismatch fails this target expectation; conflicting platform or responsibility evidence is cannot tell, not a pass.",
      "recovery_or_repeat": "Repeat with speech muted and record braille output exactly enough to reproduce names, roles, states, values, cursor position and status changes. Repeat with contracted and uncontracted output where required and after focus, value, validation and live-region changes that update braille cells. Preserve the first VoiceOver with a physical refreshable braille display: form input, cursor routing and errors observation when repeating.",
      "novice_guidance": "For VoiceOver with a physical refreshable braille display: form input, cursor routing and errors: Verify the display connection and translation table on known text first. A visual braille viewer does not demonstrate physical routing, cursor or input behaviour.",
      "scenario_purpose": "For VoiceOver with a physical refreshable braille display: form input, cursor routing and errors, execute the named scenario: Record display make/model/firmware, connection, cell count, translation table, contracted/uncontracted mode, input mode, screen reader, OS and browser versions. Target: The selected content, braille output/input and complete task relevant to form input, cursor routing and errors. Compare the observation with this result: The physical braille environment is reproducible and no dead cells or configuration defects invalidate the run.",
      "user_impact": "Text, roles, states, cursor position or task feedback may be missing or ambiguous in braille. This scenario isolates that risk in the action named Record display make/model/firmware, connection, cell count, translation table, contracted/uncontracted mode, input mode, screen reader, OS and browser versions.",
      "failure_observation": "After the tester completes the VoiceOver with a physical refreshable braille display: form input, cursor routing and errors scenario named Record display make/model/firmware, connection, cell count, translation table, contracted/uncontracted mode, input mode, screen reader, OS and browser versions, the recorded observation for the target is inconsistent with the required result: The physical braille environment is reproducible and no dead cells or configuration defects invalidate the run.",
      "decision_rules": {
        "passed": "Record passed for the VoiceOver with a physical refreshable braille display: form input, cursor routing and errors scenario named Record display make/model/firmware, connection, cell count, translation table, contracted/uncontracted mode, input mode, screen reader, OS and browser versions only when the evidence (Display make/model/firmware, connection, cells, translation table, input/output mode and screen-reader environment.) supports: The physical braille environment is reproducible and no dead cells or configuration defects invalidate the run.",
        "failed": "Record failed when the action is completed and this failure observation is reproduced: After the tester completes the VoiceOver with a physical refreshable braille display: form input, cursor routing and errors scenario named Record display make/model/firmware, connection, cell count, translation table, contracted/uncontracted mode, input mode, screen reader, OS and browser versions, the recorded observation for the target is inconsistent with the required result: The physical braille environment is reproducible and no dead cells or configuration defects invalidate the run.",
        "not_applicable": "The frozen scope contains no content, input or task relevant to form input, cursor routing and errors.",
        "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 Record display make/model/firmware, connection, cell count, translation table, contracted/uncontracted mode, input mode, screen reader, OS and browser versions for VoiceOver with a physical refreshable braille display: form input, cursor routing and errors in macos-voiceover-braille. It does not establish behaviour for another target, state or environment and does not set a WCAG conformance decision."
    },
    {
      "step_id": "S3",
      "title": "Enter and edit text from the braille keyboard, route the cursor, select controls, submit invalid data and locate/correct every error",
      "phase": "test",
      "action": "Enter and edit text from the braille keyboard, route the cursor, select controls, submit invalid data and locate/correct every error.",
      "expected": "Input, cursor routing, values, validation and status are available through braille without speech or visual fallback.",
      "evidence_to_record": "Exact cells or unambiguous transcription with role, state, value, cursor/routing position and command.",
      "test_target": "The selected content, braille output/input and complete task relevant to form input, cursor routing and errors.",
      "required_state": "For VoiceOver with a physical refreshable braille display: form input, cursor routing and errors, begin in the validation-error state immediately after submitting representative invalid input; preserve the exact content, account, platform and configuration used.",
      "tool_or_command": "In macos-voiceover-braille, Use the recorded physical braille display with the named screen reader, translation table and input mode. Use the display's routing or navigation keys stated in the action and record the exact cells before and after interaction.",
      "decision_effect": "For VoiceOver with a physical refreshable braille display: form input, cursor routing and errors, compare the recorded observation with this expected result: Input, cursor routing, values, validation and status are available through braille without speech or visual fallback. A material mismatch fails this target expectation; conflicting platform or responsibility evidence is cannot tell, not a pass.",
      "recovery_or_repeat": "Repeat with speech muted and record braille output exactly enough to reproduce names, roles, states, values, cursor position and status changes. Repeat with contracted and uncontracted output where required and after focus, value, validation and live-region changes that update braille cells. Preserve the first VoiceOver with a physical refreshable braille display: form input, cursor routing and errors observation when repeating.",
      "novice_guidance": "For VoiceOver with a physical refreshable braille display: form input, cursor routing and errors: Verify the display connection and translation table on known text first. A visual braille viewer does not demonstrate physical routing, cursor or input behaviour.",
      "scenario_purpose": "For VoiceOver with a physical refreshable braille display: form input, cursor routing and errors, execute the named scenario: Enter and edit text from the braille keyboard, route the cursor, select controls, submit invalid data and locate/correct every error. Target: The selected content, braille output/input and complete task relevant to form input, cursor routing and errors. Compare the observation with this result: Input, cursor routing, values, validation and status are available through braille without speech or visual fallback.",
      "user_impact": "Text, roles, states, cursor position or task feedback may be missing or ambiguous in braille. This scenario isolates that risk in the action named Enter and edit text from the braille keyboard, route the cursor, select controls, submit invalid data and locate/correct every error.",
      "failure_observation": "After the tester completes the VoiceOver with a physical refreshable braille display: form input, cursor routing and errors scenario named Enter and edit text from the braille keyboard, route the cursor, select controls, submit invalid data and locate/correct every error, the recorded observation for the target is inconsistent with the required result: Input, cursor routing, values, validation and status are available through braille without speech or visual fallback.",
      "decision_rules": {
        "passed": "Record passed for the VoiceOver with a physical refreshable braille display: form input, cursor routing and errors scenario named Enter and edit text from the braille keyboard, route the cursor, select controls, submit invalid data and locate/correct every error only when the evidence (Exact cells or unambiguous transcription with role, state, value, cursor/routing position and command.) supports: Input, cursor routing, values, validation and status are available through braille without speech or visual fallback.",
        "failed": "Record failed when the action is completed and this failure observation is reproduced: After the tester completes the VoiceOver with a physical refreshable braille display: form input, cursor routing and errors scenario named Enter and edit text from the braille keyboard, route the cursor, select controls, submit invalid data and locate/correct every error, the recorded observation for the target is inconsistent with the required result: Input, cursor routing, values, validation and status are available through braille without speech or visual fallback.",
        "not_applicable": "The frozen scope contains no content, input or task relevant to form input, cursor routing and errors.",
        "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 Enter and edit text from the braille keyboard, route the cursor, select controls, submit invalid data and locate/correct every error for VoiceOver with a physical refreshable braille display: form input, cursor routing and errors in macos-voiceover-braille. It does not establish behaviour for another target, state or environment and does not set a WCAG conformance decision."
    },
    {
      "step_id": "S4",
      "title": "Disconnect and reconnect the display during a safe task state, then resume or recover the journey",
      "phase": "test",
      "action": "Disconnect and reconnect the display during a safe task state, then resume or recover the journey.",
      "expected": "The product and assistive-technology session recover without silent data loss or inaccessible context.",
      "evidence_to_record": "Speech-muted task, validation, interruption/reconnection, recovery and confirmation evidence.",
      "test_target": "The selected content, braille output/input and complete task relevant to form input, cursor routing and errors.",
      "required_state": "For VoiceOver with a physical refreshable braille display: form input, cursor routing and errors, 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 macos-voiceover-braille, Use the recorded physical braille display with the named screen reader, translation table and input mode. Use the display's routing or navigation keys stated in the action and record the exact cells before and after interaction.",
      "decision_effect": "For VoiceOver with a physical refreshable braille display: form input, cursor routing and errors, compare the recorded observation with this expected result: The product and assistive-technology session recover without silent data loss or inaccessible context. A material mismatch fails this target expectation; conflicting platform or responsibility evidence is cannot tell, not a pass.",
      "recovery_or_repeat": "Repeat with speech muted and record braille output exactly enough to reproduce names, roles, states, values, cursor position and status changes. Repeat with contracted and uncontracted output where required and after focus, value, validation and live-region changes that update braille cells. Preserve the first VoiceOver with a physical refreshable braille display: form input, cursor routing and errors observation when repeating.",
      "novice_guidance": "For VoiceOver with a physical refreshable braille display: form input, cursor routing and errors: Verify the display connection and translation table on known text first. A visual braille viewer does not demonstrate physical routing, cursor or input behaviour.",
      "scenario_purpose": "For VoiceOver with a physical refreshable braille display: form input, cursor routing and errors, execute the named scenario: Disconnect and reconnect the display during a safe task state, then resume or recover the journey. Target: The selected content, braille output/input and complete task relevant to form input, cursor routing and errors. Compare the observation with this result: The product and assistive-technology session recover without silent data loss or inaccessible context.",
      "user_impact": "Text, roles, states, cursor position or task feedback may be missing or ambiguous in braille. This scenario isolates that risk in the action named Disconnect and reconnect the display during a safe task state, then resume or recover the journey.",
      "failure_observation": "After the tester completes the VoiceOver with a physical refreshable braille display: form input, cursor routing and errors scenario named Disconnect and reconnect the display during a safe task state, then resume or recover the journey, the recorded observation for the target is inconsistent with the required result: The product and assistive-technology session recover without silent data loss or inaccessible context.",
      "decision_rules": {
        "passed": "Record passed for the VoiceOver with a physical refreshable braille display: form input, cursor routing and errors scenario named Disconnect and reconnect the display during a safe task state, then resume or recover the journey only when the evidence (Speech-muted task, validation, interruption/reconnection, recovery and confirmation evidence.) supports: The product and assistive-technology session recover without silent data loss or inaccessible context.",
        "failed": "Record failed when the action is completed and this failure observation is reproduced: After the tester completes the VoiceOver with a physical refreshable braille display: form input, cursor routing and errors scenario named Disconnect and reconnect the display during a safe task state, then resume or recover the journey, the recorded observation for the target is inconsistent with the required result: The product and assistive-technology session recover without silent data loss or inaccessible context.",
        "not_applicable": "The frozen scope contains no content, input or task relevant to form input, cursor routing and errors.",
        "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 Disconnect and reconnect the display during a safe task state, then resume or recover the journey for VoiceOver with a physical refreshable braille display: form input, cursor routing and errors in macos-voiceover-braille. It does not establish behaviour for another target, state or environment and does not set a WCAG conformance decision."
    },
    {
      "step_id": "S5",
      "title": "Repeat material variations and recovery",
      "phase": "test",
      "test_target": "The selected content, braille output/input and complete task relevant to form input, cursor routing and errors.",
      "required_state": "For VoiceOver with a physical refreshable braille display: form input, cursor routing and errors: 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 VoiceOver with a physical refreshable braille display: form input, cursor routing and errors, use the same recorded method, then change only the state, environment or recovery condition being compared.",
      "action": "Repeat the VoiceOver with a physical refreshable braille display: form input, cursor routing and errors 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 VoiceOver with a physical refreshable braille display: form input, cursor routing and errors 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 VoiceOver with a physical refreshable braille display: form input, cursor routing and errors, 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 VoiceOver with a physical refreshable braille display: form input, cursor routing and errors and after a material target, content, state, environment or configuration change. Preserve the original observation.",
      "novice_guidance": "For VoiceOver with a physical refreshable braille display: form input, cursor routing and errors, 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 VoiceOver with a physical refreshable braille display: form input, cursor routing and errors in macos-voiceover-braille. It does not establish behaviour for another target, state or environment and does not set a WCAG conformance decision.",
      "scenario_purpose": "For VoiceOver with a physical refreshable braille display: form input, cursor routing and errors, execute the named scenario: Repeat material variations and recovery. Target: The selected content, braille output/input and complete task relevant to form input, cursor routing and errors. 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": "Text, roles, states, cursor position or task feedback may be missing or ambiguous in braille. This scenario isolates that risk in the action named Repeat material variations and recovery.",
      "decision_rules": {
        "passed": "Record passed for the VoiceOver with a physical refreshable braille display: form input, cursor routing and errors 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 VoiceOver with a physical refreshable braille display: form input, cursor routing and errors 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 scope contains no content, input or task relevant to form input, cursor routing and errors.",
        "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": "Input, cursor routing, values, validation and status are available through braille without speech or visual fallback.",
      "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-VBRL-002-EX-PASSED",
      "outcome": "passed",
      "scenario": "Representative calibration example, not client evidence. Procedure: VoiceOver with a physical refreshable braille display: form input, cursor routing and errors. Target: The selected content, braille output/input and complete task relevant to form input, cursor routing and errors. Action: Before executing VoiceOver with a physical refreshable braille display: form input, cursor routing and errors, 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-VBRL-002-EX-FAILED",
      "outcome": "failed",
      "scenario": "Representative calibration example, not client evidence. Procedure: VoiceOver with a physical refreshable braille display: form input, cursor routing and errors. Target: The selected content, braille output/input and complete task relevant to form input, cursor routing and errors. 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-VBRL-002-EX-INAPPLICABLE",
      "outcome": "inapplicable",
      "scenario": "Representative scope example, not client evidence. The frozen scope contains no content, input or task relevant to form input, cursor routing and errors. The completed inventory is retained as the basis for the inapplicable outcome."
    },
    {
      "example_id": "A11Y-VBRL-002-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-VBRL-002-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": "Input, cursor routing, values, validation and status are available through braille without speech or visual fallback.",
  "fail_criteria": "Fail if any applicable sampled instance does not satisfy: Input, cursor routing, values, validation and status are available through braille without speech or visual fallback.",
  "evidence_requirements": [
    "Display make/model/firmware, connection, cells, translation table, input/output mode and screen-reader environment.",
    "Exact cells or unambiguous transcription with role, state, value, cursor/routing position and command.",
    "Speech-muted task, validation, interruption/reconnection, recovery and confirmation evidence."
  ],
  "official_source_ids": [
    "W3C-WCAG22",
    "GOVUK-AT-TESTING",
    "APPLE-VOICEOVER-MAC",
    "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": "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": "3.3.1",
      "understanding_url": "https://www.w3.org/WAI/WCAG22/Understanding/error-identification.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": "3.3.2",
      "understanding_url": "https://www.w3.org/WAI/WCAG22/Understanding/labels-or-instructions.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": "4.1.3",
      "understanding_url": "https://www.w3.org/WAI/WCAG22/Understanding/status-messages.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": [
    "macos-voiceover-braille"
  ],
  "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": [
    "braille-only",
    "real-at",
    "refreshable-braille",
    "refreshable_braille"
  ],
  "status": "draft",
  "authoring_readiness": "content_complete",
  "short_title": "VoiceOver with a physical refreshable braille display: form input, cursor routing and errors",
  "catalogue_version": "2026.08.27-rc.9",
  "identity": {
    "stable_case_id": "A11Y-VBRL-002",
    "procedure_title": "VoiceOver with a physical refreshable braille display: form input, cursor routing and errors",
    "short_user_centred_title": "VoiceOver with a physical refreshable braille display: form input, cursor routing and errors",
    "procedure_version": "2026.08.27-rc.9",
    "catalogue_version": "2026.08.27-rc.9",
    "status": "draft",
    "category": "refreshable_braille",
    "procedure_type": "journey",
    "execution_class": "real_device_manual",
    "intended_tester_expertise": "Experienced braille tester",
    "effort_model": {
      "model": "component_effort_v2",
      "small_scope_minutes": {
        "minimum": 85,
        "maximum": 123
      },
      "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": 25,
        "includes": "Confirm scope and target, prepare safe data, establish the required state and record the tool or environment version."
      },
      "per_target_execution": {
        "typical": 30,
        "includes": "Perform the procedure once for one target in its selected states; this excludes remediation and retesting."
      },
      "evidence_capture": {
        "typical": 15,
        "includes": "Capture, name and cross-reference the minimum reproducible evidence while removing unnecessary personal or secret data."
      },
      "technical_review": {
        "typical": 15,
        "includes": "Check applicability, observations, outcome logic, evidence sufficiency and report wording before issue publication."
      },
      "typical_total_range": {
        "minimum": 85,
        "maximum": 123
      },
      "assumptions": "one short journey with one display and translation table; contracted input, cursor routing and device-specific commands add time",
      "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-021",
      "A11Y-WCAG-048",
      "A11Y-WCAG-049",
      "A11Y-WCAG-055"
    ],
    "replaces": [],
    "replaced_by": []
  },
  "purpose_and_user_impact": {
    "barrier_detected": "Checks form input, cursor routing and errors using VoiceOver with a physical refreshable braille display rather than a visual braille viewer.",
    "people_likely_affected": [
      "Blind and deafblind people who read or enter digital content using refreshable braille."
    ],
    "functionality_or_information_at_risk": "Text, roles, states, cursor position or task feedback may be missing or ambiguous in braille.",
    "result_scope": "platform_interoperability",
    "claim_boundary": "This procedure records how VoiceOver with a physical refreshable braille display: form input, cursor routing and errors behaves on macos-voiceover-braille. It can expose evidence relevant to WCAG 2.1.1, 3.3.1, 3.3.2 and 4.1.3 for the tested task and environment. Use the linked conformance procedures for WCAG 2.1.1, 3.3.1, 3.3.2 and 4.1.3 to assess the complete requirements across the declared conformance scope.",
    "why_it_matters": "Text, roles, states, cursor position or task feedback may be missing or ambiguous in braille. The procedure is necessary because checks form input, cursor routing and errors using VoiceOver with a physical refreshable braille display rather than a visual braille viewer and the result can otherwise conceal a material barrier for the affected people named here."
  },
  "requirement_mappings": [
    {
      "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 Refreshable-braille journey observes VoiceOver with a physical refreshable braille display: form input, cursor routing and errors in the recorded macos-voiceover-braille 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": "3.3.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 Refreshable-braille journey observes VoiceOver with a physical refreshable braille display: form input, cursor routing and errors in the recorded macos-voiceover-braille environment. Use the linked WCAG 3.3.1 conformance procedure to evaluate all normative parts of WCAG 3.3.1 across the declared scope.",
      "dependent_fields": [
        "applicability_model",
        "normative_exceptions",
        "steps",
        "decision_logic"
      ]
    },
    {
      "source_id": "W3C-WCAG22",
      "requirement_id": "3.3.2",
      "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 Refreshable-braille journey observes VoiceOver with a physical refreshable braille display: form input, cursor routing and errors in the recorded macos-voiceover-braille environment. Use the linked WCAG 3.3.2 conformance procedure to evaluate all normative parts of WCAG 3.3.2 across the declared scope.",
      "dependent_fields": [
        "applicability_model",
        "normative_exceptions",
        "steps",
        "decision_logic"
      ]
    },
    {
      "source_id": "W3C-WCAG22",
      "requirement_id": "4.1.3",
      "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 Refreshable-braille journey observes VoiceOver with a physical refreshable braille display: form input, cursor routing and errors in the recorded macos-voiceover-braille environment. Use the linked WCAG 4.1.3 conformance procedure to evaluate all normative parts of WCAG 4.1.3 across the declared scope.",
      "dependent_fields": [
        "applicability_model",
        "normative_exceptions",
        "steps",
        "decision_logic"
      ]
    },
    {
      "source_id": "GOVUK-AT-TESTING",
      "requirement_id": "GOVUK-AT-TESTING",
      "requirement_level": "informative",
      "requirement_type": "platform",
      "coverage_type": "supporting",
      "canonical_source": "https://www.gov.uk/service-manual/technology/testing-with-assistive-technologies",
      "source_status": "government_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": "APPLE-VOICEOVER-MAC",
      "requirement_id": "APPLE-VOICEOVER-MAC",
      "requirement_level": "informative",
      "requirement_type": "platform",
      "coverage_type": "supporting",
      "canonical_source": "https://support.apple.com/guide/voiceover/web-commands-vo27972/mac",
      "source_status": "vendor_guidance",
      "source_version_or_publication_date": "Current VoiceOver User Guide for Mac; checked 5 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 task executed with the named screen reader and a physical refreshable braille display.",
    "test_targets": [
      "The selected content, braille output/input and complete task relevant to form input, cursor routing and errors."
    ],
    "objective_questions": [
      "Does the frozen scope contain a target relevant to form input, cursor routing and errors?",
      "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 scope contains no content, input or task relevant to form input, cursor routing and errors."
    ],
    "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 braille tester",
    "required_platforms": [
      "macos-voiceover-braille"
    ],
    "minimum_environment_fields": [
      "operating_system",
      "operating_system_version",
      "browser",
      "browser_version",
      "viewport_css_pixels",
      "input_method",
      "assistive_technology",
      "assistive_technology_version",
      "device_model",
      "braille_display_model",
      "braille_display_firmware",
      "braille_translation_table"
    ],
    "product_and_content_version_required": true,
    "viewport_and_orientation_required": true,
    "input_mode_required": true,
    "relevant_settings": [
      "Display make, model and firmware",
      "Connection and cell count",
      "Translation table",
      "Contracted/uncontracted mode",
      "Input mode",
      "Screen reader"
    ],
    "known_platform_limitations": [
      "A visual braille viewer is not physical-display evidence. Results apply only to the recorded display, translation table and screen-reader 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": "A visual braille viewer is not physical-display evidence. Results apply only to the recorded display, translation table and screen-reader configuration."
  },
  "decision_logic": {
    "target_passed": "Input, cursor routing, values, validation and status are available through braille without speech or visual fallback.",
    "target_failed": "An applicable form input, cursor routing and errors target has a reproducible material barrier against one or more stated expectations; identify the exact expectation, state and evidence.",
    "target_inapplicable": "The frozen scope contains no content, input or task relevant to form input, cursor routing and errors.",
    "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": "Display make/model/firmware, connection, cells, translation table, input/output mode and screen-reader environment.",
      "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": "braille_output",
      "record": "Exact cells or unambiguous transcription with role, state, value, cursor/routing position and command.",
      "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": "Speech-muted task, validation, interruption/reconnection, recovery and confirmation evidence.",
      "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-VBRL-002-EX-PASS",
      "outcome": "passed",
      "scenario": "In macos-voiceover-braille, the selected form input, cursor routing and errors target completes the recorded action and meets this expectation: Input, cursor routing, values, validation and status are available through braille without speech or visual fallback.",
      "explanation": "The example is a calibration scenario, not an execution or approval.",
      "fixture_id": "",
      "fixture_version": "",
      "machine_testable": false
    },
    {
      "example_id": "A11Y-VBRL-002-EX-FAIL",
      "outcome": "failed",
      "scenario": "An applicable form input, cursor routing and errors 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-VBRL-002-EX-INAPPLICABLE",
      "outcome": "inapplicable",
      "scenario": "The frozen scope contains no content, input or task relevant to form input, cursor routing and errors.",
      "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-VBRL-002-EX-CANTTELL",
      "outcome": "cantTell",
      "scenario": "The form input, cursor routing and errors 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-VBRL-002-EX-UNTESTED",
      "outcome": "untested",
      "scenario": "The form input, cursor routing and errors 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": [
      "A visual braille viewer is not physical-display evidence. Results apply only to the recorded display, translation table and screen-reader 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-021",
    "A11Y-WCAG-048",
    "A11Y-WCAG-049",
    "A11Y-WCAG-055"
  ],
  "platform_validation": {
    "required": true,
    "evidence_status": "not_executed",
    "real_device_or_at_claimed": false,
    "required_environment_ids": [
      "macos-voiceover-braille"
    ],
    "calibration_required": true,
    "evidence_refs": [],
    "limitations": "A visual braille viewer is not physical-display evidence. Results apply only to the recorded display, translation table and screen-reader configuration."
  },
  "effort_guidance": {
    "unit": "minutes",
    "setup": {
      "typical": 25,
      "includes": "Confirm scope and target, prepare safe data, establish the required state and record the tool or environment version."
    },
    "per_target_execution": {
      "typical": 30,
      "includes": "Perform the procedure once for one target in its selected states; this excludes remediation and retesting."
    },
    "evidence_capture": {
      "typical": 15,
      "includes": "Capture, name and cross-reference the minimum reproducible evidence while removing unnecessary personal or secret data."
    },
    "technical_review": {
      "typical": 15,
      "includes": "Check applicability, observations, outcome logic, evidence sufficiency and report wording before issue publication."
    },
    "typical_total_range": {
      "minimum": 85,
      "maximum": 123
    },
    "assumptions": "one short journey with one display and translation table; contracted input, cursor routing and device-specific commands add time",
    "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-VBRL-002-WORKED-001",
      "example_kind": "representative_synthetic_example",
      "context": "Representative synthetic example for VoiceOver with a physical refreshable braille display: form input, cursor routing and errors on a fictional, version-frozen product target; no client or participant execution occurred.",
      "inspected": "The tester follows S2 (Record display make/model/firmware, connection, cell count, translation table, contracted/uncontracted mode, input mode, screen reader, OS and browser versions) using the target, required state, tool and repeat rule stated in this procedure.",
      "observed_output": "After the tester completes the VoiceOver with a physical refreshable braille display: form input, cursor routing and errors scenario named Record display make/model/firmware, connection, cell count, translation table, contracted/uncontracted mode, input mode, screen reader, OS and browser versions, the recorded observation for the target is inconsistent with the required result: The physical braille environment is reproducible and no dead cells or configuration defects invalidate the run.",
      "evidence_captured": [
        "example-evidence-001: target and state record for The selected content, braille output/input and complete task relevant to form input, cursor routing and errors.",
        "example-evidence-002: contemporaneous observation from the named method — Display make/model/firmware, connection, cells, translation table, input/output mode and screen-reader environment.",
        "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: The physical braille environment is reproducible and no dead cells or configuration defects invalidate the run. The failed decision is limited to this synthetic target and state; unexecuted coverage is not inferred.",
      "decision": "failed",
      "completed_finding": {
        "finding_id": "A11Y-VBRL-002-example-finding-001",
        "title": "VoiceOver with a physical refreshable braille display: form input, cursor routing and errors: expected result is not demonstrated",
        "severity": "medium",
        "user_impact": "The represented barrier may affect Blind and deafblind people who read or enter digital content using refreshable braille.",
        "evidence_refs": [
          "example-evidence-001",
          "example-evidence-002",
          "example-evidence-003"
        ]
      },
      "remediation_advice": "Change the represented target or process so it demonstrates this result: The physical braille environment is reproducible and no dead cells or configuration defects invalidate the run. 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 VoiceOver with a physical refreshable braille display: form input, cursor routing and errors 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."
    }
  ]
}
