spec checked

W3C: Permissions

Defines common browser permission infrastructure for powerful features, user choices to allow or deny access, querying permission state, state-change notification, permission lifetime, and reacting to revocation.

Open source

Pattern Decisions This Source Supports

Pattern Supported decision Required contract Claim note
Location permission flow Choose location permission flow when current device coordinates are the central interaction and the task needs permission timing, precision, grant or denial recovery, and location lifecycle states. The native browser or OS prompt appears only after users understand why location is needed and choose a location-dependent action. Supports shared permission infrastructure, permission lifetime, and revocation behavior.
Permission prompt with no context Flag this anti-pattern when a permission prompt appears before the user starts a resource-dependent feature or before the interface explains why the resource is needed now. The product must not invoke the platform prompt from page load, app launch, passive onboarding, timers, or unrelated navigation. Supports powerful-feature permission states, allow or deny choices, permission lifetime, and revocation handling.
Permission request Choose permission request when the user is authorizing an OS, browser, or device resource such as camera, microphone, location, photos, contacts, notifications, clipboard, Bluetooth, motion sensors, storage access, or another powerful feature. The product evaluates whether permission is truly needed before declaring or requesting the platform permission. Supports powerful-feature permission state, allow or deny choices, state-change notification, permission lifetime, and revocation handling.

Evidence Role

This source is treated as spec evidence. Use it to validate the decision rules above, not as a visual style reference.

Publisher: World Wide Web Consortium. Last checked: .