Task pattern

Permissions

Request, explain, and recover access without hiding scope or coercing consent.

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