← Back to Mobile app developers
See how it helps
Mobile forms and permission UX
Makes phone forms easier to complete and permission requests understandable at the moment they are needed.
mobile-forms-permissions
Team members using this skill
When is it useful?
Use when keyboards, validation or early permission prompts interrupt a task.
What does it help you do?
- Chooses suitable keyboards and predictable focus progression.
- Preserves entered values through validation and submission failures.
- Explains permission purpose and the next step after denial.
Try asking this
Design address entry and location permission so manual entry remains available when access is refused. Refuse location access after entering part of an address. Keep those fields editable, explain manual completion and avoid repeatedly prompting for the same permission.
Detailed documentation
Read the skill’s original instructions, examples and checks in their authored language.
Show less
Mobile Forms & Permissions
Design mobile forms and permission flows that minimize typing effort, prevent input errors, and handle every permission state transparently.
Mobile Form Design
- Minimize typing: Eliminate unnecessary fields, use smart defaults, offer selection controls or autocomplete where appropriate, and split complex forms into logical, digestable steps only when it reduces cognitive load.
- Field order & keyboard orchestration: Define explicit field order, keyboard types (
email,tel,numeric,decimal,url,search),autocapitalize/autocorrectrules, autofill hints (one-time codes, credentials, addresses), and keyboard return key actions (NextvsDone/Submit). - Keyboard avoidance: Keep the active input, its label, inline helper/error message, and the primary submit button accessible when the software keyboard opens.
- Persistent labels & formatting: Never rely on disappearing placeholder text as the only field label. Specify input masks or forgiving formatting (phone numbers, dates, amounts) that never silently drop user input.
Validation & Submission States
- Timely, helpful validation: Validate at the right moment (on blur or submit rather than punishing the user on the first keystroke), explain how to fix the error in plain language, and scroll/focus to the first invalid field on submit.
- Submission lifecycle: Specify the in-flight disabled/loading state to prevent double submission, preserve user input on network or server errors, and clearly differentiate field-level errors from form-level failures.
Permission Lifecycle Design
- Pre-permission clarity: Make it unmistakable why a permission (camera, photos, location, notifications, microphone, contacts, biometrics) is needed before or when the user triggers it.
- Full permission state coverage: Design all three paths:
- Granted (or partial/approximate access such as "While Using", "Selected Photos", or coarse location).
- Denied: Explain the consequence calmly and provide a degraded fallback or manual alternative where possible.
- Permanently denied / revoked in OS Settings: Provide a clear explanation and a direct deep-link action to open system settings when the user tries to use the feature again.
Included files 1
SKILL.md
