---
title: "Check a form can be completed with a defined keyboard path"
description: "Verify a prepared keyboard-only path reaches every required form control in a meaningful order and produces the same saved UI outcome."
canonical_url: "https://vostride.com/agent-library/accessibility-flows/keyboard-only-form-order.md"
md_url: "https://vostride.com/agent-library/accessibility-flows/keyboard-only-form-order.md"
content_kind: "recipe"
topic: "accessibility-flows"
---

# Check a form can be completed with a defined keyboard path

Verify a prepared keyboard-only path reaches every required form control in a meaningful order and produces the same saved UI outcome.

## Risk

A mouse-driven successful submission does not establish keyboard access. Use a separate approved keyboard runner or manual audit for key events and focus tracing, with agent-qa checking the resulting visible product state.

## Fixtures

- A disposable contact form requires Name, Team selection, and consent to save a synthetic profile.
- The prepared keyboard audit specifies traversal from the page entry point through every required control to Submit.
- The fixture oracle expects name Keyboard probe, team QA, and enabled consent, with no existing matching profile.

## Steps

1. Open the contact form and verify all required control labels and the Submit action are visible.
2. Run the separate keyboard-only procedure from the defined starting focus without using pointer clicks to bypass a control.
3. Verify the procedure records a meaningful focus order and enters Keyboard probe, selects QA, and enables consent.
4. Submit through that keyboard procedure and verify the application opens the saved profile detail.
5. Reload the profile and verify all three expected values persist, then review the independent focus trace for skipped or unreachable required controls.

## Expected results

- The saved profile contains the exact prepared values entered during the keyboard-only journey.
- The separate keyboard evidence demonstrates every required interaction was reachable without pointer assistance.
- The focus trace follows the stated logical order; semantic naming and broader assistive-technology compatibility require their own checks.

## False-pass traps

- A successful mouse click on an otherwise unreachable Submit button invalidates the keyboard-only claim.
- A saved profile cannot by itself prove which input method produced it.

## Cleanup

- Delete the synthetic keyboard profile and reset the test page to its initial state.

## Use with agent-qa

Adapt this test design to your application's acceptance criteria and configured target using the [recipe execution guide](/agent-library/software-factory/turn-a-recipe-into-an-agent-qa-test.md). External fixture setup and non-UI checks require your own supported hooks or test tooling. Validate the authored test, execute it, and inspect the completed evidence; this recipe is not a recorded test result.

## References

- [agent-qa test](/docs/agent-qa/configuration/test.md)
- [agent-qa first test](/docs/agent-qa/guides/first-test.md)
- [agent-qa web testing](/docs/agent-qa/guides/web-testing.md)

- [Accessibility workflow QA recipes](/agent-library/accessibility-flows.md)
- [Software factory QA library](/agent-library.md)
