---
title: "Verify iOS Dynamic Type preserves recovery instructions"
description: "Test an iOS form at an externally prepared Dynamic Type size, ensuring long validation messages remain readable and corrected input can be submitted."
canonical_url: "https://vostride.com/agent-library/ios-flows/dynamic-type-long-error.md"
md_url: "https://vostride.com/agent-library/ios-flows/dynamic-type-long-error.md"
content_kind: "recipe"
topic: "ios-flows"
---

# Verify iOS Dynamic Type preserves recovery instructions

Test an iOS form at an externally prepared Dynamic Type size, ensuring long validation messages remain readable and corrected input can be submitted.

## Risk

Large type can reveal an error while hiding the control needed to fix it. This recipe verifies that the full recovery path remains usable and that the corrected result is persisted, rather than checking visual presence alone.

## Fixtures

- An iOS device fixture externally set to a supported large Dynamic Type size, with the exact size recorded in the run context.
- An owned sandbox invitation form whose invalid identifier produces a multi-sentence explanation and whose submit action requires a role choice.
- A test administrator, a disposable invitee address, and an independent invitation-status oracle; delivery is routed to a sandbox mail sink.

## Steps

1. Open the invitation sheet and verify the address field, role selector, and submit action can all be reached at the prepared text size.
2. Enter the invalid fixture address and submit; verify the complete recovery instruction is readable through the available scrolling surface.
3. Correct the address, choose the Viewer role, and verify the selected role label is fully distinguishable from the neighboring options.
4. Submit the corrected invitation and verify the UI shows the complete recipient and Viewer role in the pending list.
5. Inspect the independent invitation oracle and sandbox delivery sink and verify one pending Viewer invitation to the corrected address, with no invitation for the invalid value.

## Expected results

- The error explains how to recover without clipping away its required input rule.
- The persisted invitation uses the corrected recipient and the selected least-privileged fixture role.
- Only one sandbox delivery corresponds to the accepted invitation.

## False-pass traps

- A visible red error icon is insufficient evidence that recovery text can be read.
- A collapsed role label can conceal selecting the neighboring higher-privilege role.

## Cleanup

- Revoke the sandbox invitation and restore the external Dynamic Type setting.

## 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 mobile testing](/docs/agent-qa/guides/mobile-testing.md)
- [agent-qa test](/docs/agent-qa/configuration/test.md)
- [agent-qa hooks](/docs/agent-qa/guides/hooks.md)

- [iOS application QA recipes](/agent-library/ios-flows.md)
- [Software factory QA library](/agent-library.md)
