Contact emails
[email protected], [email protected]

Explainer
https://github.com/w3c/csswg-drafts/blob/main/css-env-1/explainers/meta-text-scale.md


Specification
https://drafts.csswg.org/css-fonts-5/#text-scale-meta


Summary
Makes the root element's default font size scale in proportion to both the 
operating system's and browser's text scale setting. This allows pages that 
follow best practices around font-relative units (ie use rem and em for font 
sizes and page elements that should change with the user's text size 
preferences) to respect the user's OS-level text scale setting. This also 
causes the browser to disable existing browser-based mechanisms (ie full-page 
zoom on windows) and heuristics (ie text autosizing on mobile). Now web 
developers can signal to the browser that the page is constructed in a way (ie 
with rem and em) that will scale well across various user-selected font size 
preferences. Similar to env(preferred-text-scale), which provides authors with 
a way to access the text scale; this API extends that by enabling scaling via 
the root element's default font size and opting-out of automatic text scaling.


Blink component
Blink>Accessibility


Web Feature ID
Missing feature


Motivation
Authors currently don't have an easy way to respect the OS-level text scale 
setting on all devices. It is practically impossible to detect and respect this 
on desktop. On mobile, there is env(preferred-text-scale), but authors would 
need to use it in calc() functions to set the root font-size and some media 
queries. They would need a lot of guidance to ensure it gets used correctly and 
there would be little variation in how they would use it. Therefore, it would 
be much easier for authors if they could continue to use font-relative units as 
they do now and the UA initial font-size was redefined to incorporate the 
OS-level text scale setting.


Initial public proposal
https://github.com/w3c/csswg-drafts/issues/12380


TAG review
https://github.com/w3ctag/design-reviews/issues/1172


TAG review status
Issues addressed


Risks




Interoperability and Compatibility
Compat – no issues as it's a new feature Interop – none really – even if other 
browsers don't implement it's a progressive enhancement

Gecko: No signal (https://github.com/mozilla/standards-positions/issues/1326)

WebKit: No signal (https://github.com/WebKit/standards-positions/issues/587)

Web developers: Positive (https://github.com/w3c/csswg-drafts/issues/12380) 
Positive emoji votes on the initial proposal

Other signals:


Activation
We intend to do some outreach after the feature has baked on Stable. Some ideas 
are discussed at the end of this TAG review comment: 
https://github.com/w3ctag/design-reviews/issues/1172#issuecomment-3667481287


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 higher risk. This opt-in feature has WebView-specific behaviors. The goal of 
the WebView-specific parts is to allow authors to ensure their pages render 
identically on Chrome and WebView. Today renderings may not be identical due to 
some WebView font-sizing quirks. See commit message at 
https://chromium-review.googlesource.com/c/chromium/src/+/7280046 for more info.



Debuggability
No information provided


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?
No
Not tested in WPT because there is no API to simulate changing user font size 
preferences. The wpt_internal tests are at 
https://source.chromium.org/search?q=file:meta&sq=&ss=chromium%2Fchromium%2Fsrc:third_party%2Fblink%2Fweb_tests%2Fwpt_internal%2Fcss%2Fcss-fonts%2F
 There are other automated WebView java tests and C++ Unit tests.


Flag name on about://flags
No information provided


Finch feature name
TextScaleMetaTag


Rollout plan
Will ship enabled for all users


Requires code in //chrome?
False


Tracking bug
https://crbug.com/430566925


Measurement
Added WebDX UseCounter in 
https://chromium-review.googlesource.com/c/chromium/src/+/7267330


Estimated milestones


Shipping on desktop 146

Shipping on Android 146

Shipping on WebView 146




Anticipated spec changes

Open questions about a feature may be a source of future web compat or interop 
issues. Please list open issues (eg links to known github issues in the project 
for the feature specification) whose resolution may introduce web 
compat/interop risk (eg, changing to naming or structure of the API in a 
non-backward-compatible way).
No information provided


Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5112244702674944?gate=5080483318857728


Links to previous Intent discussions
Intent to Prototype: 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOZbSt0S4JY2pHY23SVKTFR63Q3ak5Z8RXmqqNhHkXigb2feKw%40mail.gmail.com



This intent message was generated by Chrome Platform Status.

-- 
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/69698acd.2b0a0220.232ace.0145.GAE%40google.com.

Reply via email to