On 5/27/25 10:46 AM, Torne (Richard Coles) wrote:
On Tue, 27 May 2025 at 05:48, Peter Birk Pakkenberg
<pb...@chromium.org> wrote:
Hi,
It is not entirely clear if this will also be enabled for WebView
as part of the Android enablement.
WebView has an API to explicitly set the text zoom
<https://developer.android.com/reference/android/webkit/WebSettings#setTextZoom(int)>,
which is applied to the FrameWidget here
<https://source.chromium.org/chromium/chromium/src/+/main:android_webview/renderer/aw_render_frame_ext.cc;l=278;drc=ce105292810e6be50e97686ae76b32fb6c3579c8;bpv=1;bpt=1>
(and
to the WebPreferences here if the layout algorithm is
text_autosizing
<https://source.chromium.org/chromium/chromium/src/+/main:android_webview/browser/aw_settings.cc;l=589;drc=ce105292810e6be50e97686ae76b32fb6c3579c8;bpv=1;bpt=1?q=getTextSizePercentLocked>),
so it sounds like this change would be useful for WebViews as
well, but at the same time could cause app breakage if the app
developer is using this API and their page rendering suddenly changes.
In addition to the text zoom API, WebView also just handles the
Android system level display and font size settings differently than
Chrome even without the app changing any settings. So, exposing this
in WebView might cause double scaling or other similar issues. I'm not
sure we have the exact current behavior documented anywhere either :/
Given the compat risk, perhaps the best path forward is to file a
feature request and document how WebView behaves so the feature team can
consider this as future work (and be best equipped for success). Peter,
would you be willing to file a bug?
Sincerely,
Google Logo
Peter Birk Pakkenberg
Software Engineer
pb...@chromium.org
On Fri, 23 May 2025 at 23:49, 'Philip Rogers' via blink-dev
<blink-dev@chromium.org> wrote:
Thanks Daniel! Responses inline.
On Thursday, May 22, 2025 at 9:49:57 PM UTC-7 Daniel Herr wrote:
I've skimmed through these docs, and personally it seems
like an unnecessary feature.
The explainer says a considered alternative is
"font-size: medium would always be affected
by the OS-level font scale."
with cons
"Sites are NOT built correctly and things that used to
just look small would now be clipped
You can simulate the effect of this alternative in Chrome
by setting the UA-level font at chrome://settings/fonts.
Set "font-size" to the maximum. old.reddit.com
<http://old.reddit.com>, gmail, etc, all break. Sites
today ineffectively mix px and em because there is no
safeguard against doing so — few authors change the
UA-level font-size at chrome://settings/fonts."
So why would introducing another way to adapt to the
user's preferred font size fix the root problem?
Developers will continue to create bad code with pem
instead of em which break when the user sets a higher font
size.
On its own, env(preferred-text-scale) does not prevent the
issues we saw with em/rem. I think the prevalence of
non-default text scale settings on mobile (over a third of
mobile users) and more focus on accessibility mean it will
receive more attention than in the past. This is amenable to
automated testing with a command line flag, and we are hoping
to add a devtools option (https://crbug.com/419595584) next to
similar options for dark mode, high contrast, etc.
One small note: this proposal is only for
env(preferred-text-scale) and not pem.
You mention that "Currently, it is not practical for a
page to detect if the user has changed their preferred
font size via the Operating System's preferences." That's
not always true, for example on Chrome OS the system wide
font size setting (also used for Android apps) has been
Chrome's web font size settings.
But my biggest concern is backwards compatibility. Does
this work mean that em/rem will no longer scale with font
size settings in the future?
This proposal enables developers to opt-in to having em/rem
reflect the Android OS font setting in a backwards-compatible
way. Our recommended best-practice is:
:root {
font-size: calc(100% * env(preferred-text-scale, 1));
}
With this, authors can use em/rem as before, but these will
now include the Android OS font setting.
On Thu, May 22, 2025 at 10:07 PM Domenic Denicola
<dom...@chromium.org> wrote:
On Fri, May 23, 2025 at 9:00 AM Chromestatus
<ad...@cr-status.appspotmail.com> wrote:
Contact emails dgr...@chromium.org, p...@chromium.org
Explainer
https://davidsgrogan.github.io/env-explainer.html
Specification
https://drafts.csswg.org/css-env-1/#text-zoom
Summary
Exposes a user's preferred font scale to CSS.
Currently, it is not practical for a page to
detect if the user has changed their preferred
font size via the Operating System's preferences.
This CSS environment variable will reflect the
scale chosen by the user.
Blink component Blink>Accessibility
<https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EAccessibility%22>
TAG review
https://github.com/w3ctag/design-reviews/issues/1101
TAG review status Pending
Risks
Interoperability and Compatibility
None
/Gecko/: No signal
(https://github.com/mozilla/standards-positions/issues/1229)
/WebKit/: No signal
(https://github.com/WebKit/standards-positions/issues/499)
/Web developers/: Positive
(https://github.com/w3c/csswg-drafts/issues/10674)
This proposal started with a request from a BBC
developer
/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?
None
Debuggability
This can be debugged using existing devtools
support by connecting to a device. We have a plan
for making this easier at https://crbug.com/419595584.
Will this feature be supported on all six Blink
platforms (Windows, Mac, Linux, ChromeOS, Android,
and Android WebView)? No
Initial support will be limited to Android, which
has limited practical ability to respect the OS
font scale today. On Windows, we scale the entire
browser in response to the OS setting, and some
followup work is needed to support this while not
double-zooming.
I'd like to learn more about this from a compat and
interop perspective. From skimming the explainer, this
seems like a complicated problem space.
If we never ship support on desktop, and authors start
using this feature, what will the user experience be?
If we don't ship support on desktop for 10 milestones,
but then suddenly do, what will the user experience be?
You mentioned Windows, but what about macOS, Linux,
ChromeOS, and Android WebView?
Is this feature fully tested by web-platform-tests
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?
Yes
This is tested with internal WPT tests due to lack
of support for OS font scale setting in tests.
https://github.com/web-platform-tests/wpt/issues/12725
Flag name on about://flags None
Finch feature name CSSPreferredTextScale
Rollout plan Will ship enabled for all users
Requires code in //chrome? False
Tracking bug https://crbug.com/397737223
Measurement UseCounter:
https://chromestatus.com/metrics/feature/popularity#CSSEnvironmentVariable_PreferredTextScale
Estimated milestones Shipping on Android 138
Anticipated spec changes
Open questions about a feature may be a source of
future web compat or interop issues. Please list
open issues (e.g. links to known github issues in
the project for the feature specification) whose
resolution may introduce web compat/interop risk
(e.g., changing to naming or structure of the API
in a non-backward-compatible way).
https://github.com/w3c/csswg-drafts/issues/10674
Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5328467685801984?gate=6195643460354048
Links to previous Intent discussions Intent to
Prototype:
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOZbSt1dSWUwuFD%2Bu%3DwGXf-ubdgh8K%3D0oj13%3DkrvADSOM41xtw%40mail.gmail.com
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
blink-dev+...@chromium.org.
To view this discussion visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/682fba7d.170a0220.2aa17e.152d.GAE%40google.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/682fba7d.170a0220.2aa17e.152d.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
blink-dev+...@chromium.org.
To view this discussion visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra9kLUA-FJ_et-2%3DbVCVJ6miD6zNw1LgJYNTAh8fiE_8WA%40mail.gmail.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra9kLUA-FJ_et-2%3DbVCVJ6miD6zNw1LgJYNTAh8fiE_8WA%40mail.gmail.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 blink-dev+unsubscr...@chromium.org.
To view this discussion visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/bf55edc4-c0dc-4dd3-9899-d612bfdc9386n%40chromium.org
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/bf55edc4-c0dc-4dd3-9899-d612bfdc9386n%40chromium.org?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 blink-dev+unsubscr...@chromium.org.
To view this discussion visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACvTYjspqdzHUVWS8%3DfC5y4zAxjauOCD0UQWibGVTPmYysfLtQ%40mail.gmail.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACvTYjspqdzHUVWS8%3DfC5y4zAxjauOCD0UQWibGVTPmYysfLtQ%40mail.gmail.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 blink-dev+unsubscr...@chromium.org.
To view this discussion visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAEV-rjdtp-RKiyZQe7n0TuUm_BBo75YLiS%2BDYxEs_%2BOWayi_5Q%40mail.gmail.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAEV-rjdtp-RKiyZQe7n0TuUm_BBo75YLiS%2BDYxEs_%2BOWayi_5Q%40mail.gmail.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 blink-dev+unsubscr...@chromium.org.
To view this discussion visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/aae6f07f-bbab-435a-8f0a-3cbab9e7fc66%40chromium.org.