Pattern model
Parts that must work together
Trigger and purposeScopeSystem or product promptDenied stateSettings and recovery
Why this matters
A pattern is not a screenshot. It is a reusable decision model that must preserve intent, state, recovery, and accessibility as layouts change.
Decision framework
Questions to answer before choosing UI
When is permission needed?
Ask in context, immediately before the feature needs access, after explaining the benefit and consequence.
What scope is proportionate?
Request the smallest duration and data scope that completes the task. Separate required access from optional enhancement.
How can denial recover?
Keep the core product usable when possible and give exact steps to grant access later without repeatedly prompting.
Cross-system baseline
End-to-end accessibility
- Explain purpose before a platform prompt
- Do not rely on iconography alone
- Keep denial and settings recovery keyboard accessible
- Avoid time-limited prompts that disappear before assistive technology can interpret them
Common mistakes
Failure patterns to test
01
Requesting permission at launch
02
Using manipulative pre-prompts
03
Treating denial as an error
04
Hiding what data or duration is requested