LGTM to experiment from M148 to M150 inclusive.
On 4/8/26 7:23 p.m., Chromestatus wrote:
*Contact emails*
[email protected], [email protected], [email protected],
[email protected], [email protected]
*Explainer*
https://github.com/ffiori/webappsec-permissions-policy/blob/focus-without-user-activation-explainer/policies/focus-without-user-activation.md
*Specification*
https://html.spec.whatwg.org/#focus-without-user-activation-feature
*Summary*
Gives embedders control over programmatic focus from embedded content
via the focus-without-user-activation permissions policy. When the
policy is denied for a frame, programmatic focus calls
(element.focus(), autofocus, window.focus(), dialog.showModal(), and
popover focusing) are blocked unless triggered by user activation.
User-initiated focus such as clicking or tabbing is never affected.
The policy can be set via a Permissions-Policy HTTP response header or
the iframe allow attribute. Focus delegation is supported: a parent
frame that has focus can programmatically pass focus to a child
iframe, even if the child has the policy denied, and once a frame has
focus it can move focus within its own subtree.
*Blink component*
Blink>FeaturePolicy
<https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EFeaturePolicy%22>
*Web Feature ID*
/No information provided/
*Search tags*
focus-without-user-activation
</features#tags:focus-without-user-activation>, focus
</features#tags:focus>, permissions policy </features#tags:permissions
policy>
*TAG review*
https://github.com/w3ctag/design-reviews/issues/1066
*TAG review status*
Issues addressed
*Goals for experimentation*
Validate the current API design and get feedback on whether it
satisfies developer needs in real life use cases.
*Risks*
*Interoperability and Compatibility*
/Gecko/: No
signal (https://github.com/mozilla/standards-positions/issues/1080)
/WebKit/:
Support (https://github.com/WebKit/standards-positions/issues/406)
/Web developers/:
Positive (https://github.com/w3c/webappsec-permissions-policy/issues/273) Several
comments on that thread expressing web developer support.
/Other signals/:
*WebView application risks*
Does this intent deprecate or change behavior of existing APIs, such
that it has potentially high risk for Android WebView-based applications?
No impact on WebView applications. The policy shipping with a default
of allow * would avoid breaking any webapp that uses focus APIs and
make it an opt-in feature for web developers. Also the implementation
has a base::Feature (BlockingFocusWithoutUserActivation) killswitch
that can be flipped off in case of compat issues.
*Ongoing technical constraints*
None.
*Debuggability*
Planning to add console messages when focus movement is blocked by
this permissions policy to help developers debug their implementations
related to this feature. CL in progress here:
https://chromium-review.googlesource.com/c/chromium/src/+/7734991
*Will this feature be supported on all six Blink platforms (Windows,
Mac, Linux, ChromeOS, Android, and Android WebView)?*
Yes
*Is this feature fully tested by web-platform-tests
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?*
Yes
https://wpt.fyi/results/permissions-policy/experimental-features?label=master&label=experimental&aligned&q=focus-without
<https://wpt.fyi/results/permissions-policy/experimental-features?label=master&label=experimental&aligned&q=focus-without>
*Flag name on about://flags*
blocking-focus-without-user-activation
*Finch feature name*
BlockingFocusWithoutUserActivation
*Requires code in //chrome?*
False
*Tracking bug*
https://crbug.com/40095111
*Estimated milestones*
Shipping on desktop 150
Origin trial desktop first 148
Origin trial desktop last 150
Shipping on Android 150
Origin trial Android first 148
Origin trial Android last 150
Shipping on WebView 150
Origin trial WebView first 148
Origin trial WebView last 150
*Link to entry on the Chrome Platform Status*
https://chromestatus.com/feature/5179186249465856?gate=5948644329521152
This intent message was generated by Chrome Platform Status
<https://chromestatus.com>.
--
You received this message because you are subscribed to the Google
Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected].
To view this discussion visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/69d6e35a.050a0220.1c79a0.0dc6.GAE%40google.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/69d6e35a.050a0220.1c79a0.0dc6.GAE%40google.com?utm_medium=email&utm_source=footer>.
--
You received this message because you are subscribed to the Google Groups
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/b0546f75-edf2-4335-bc5f-a0fe911872e1%40chromium.org.