惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Hacker News - Newest:
Hacker News - Newest: "LLM"
Webroot Blog
Webroot Blog
S
Security @ Cisco Blogs
H
Heimdal Security Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
www.infosecurity-magazine.com
www.infosecurity-magazine.com
N
News and Events Feed by Topic
H
Hacker News: Front Page
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Application and Cybersecurity Blog
Application and Cybersecurity Blog
SecWiki News
SecWiki News
N
News | PayPal Newsroom
T
Tor Project blog
W
WeLiveSecurity
A
Arctic Wolf
Security Archives - TechRepublic
Security Archives - TechRepublic
S
Secure Thoughts
月光博客
月光博客
AWS News Blog
AWS News Blog
D
Docker
C
CERT Recently Published Vulnerability Notes
MyScale Blog
MyScale Blog
Google Online Security Blog
Google Online Security Blog
大猫的无限游戏
大猫的无限游戏
T
The Blog of Author Tim Ferriss
I
InfoQ
人人都是产品经理
人人都是产品经理
Recent Announcements
Recent Announcements
Google DeepMind News
Google DeepMind News
Hacker News: Ask HN
Hacker News: Ask HN
Blog — PlanetScale
Blog — PlanetScale
博客园 - 【当耐特】
Engineering at Meta
Engineering at Meta
Stack Overflow Blog
Stack Overflow Blog
Recorded Future
Recorded Future
罗磊的独立博客
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
T
The Exploit Database - CXSecurity.com
D
DataBreaches.Net
S
Security Affairs
WordPress大学
WordPress大学
T
Threatpost
Microsoft Security Blog
Microsoft Security Blog
V
Vulnerabilities – Threatpost
The Hacker News
The Hacker News
S
SegmentFault 最新的问题
B
Blog RSS Feed
Project Zero
Project Zero
P
Proofpoint News Feed

Adrian Roselli

Link + Popover Navigation Focusgroup Tests ∪ of Target Audiences (Accessibility, SEO, AEO/GEO) headingoffset is Not the Document Outline Algorithm Maybe Don’t Rely on Google’s “Modern Web Guidance” WCAG3 Contrast as of April 2026 Accessibility Law of Headlines Your Browser Can Already Speak a Page You Know What? Just Don’t Split Words into Letters Barriers from Links with ARIA
Honoring Mobile OS Text Size
Adrian Roselli · 2026-02-07 · via Adrian Roselli

If your users scale the text size in Android or iDeviceOS, that doesn’t always affect the size of text on a web page. It’s a function of browser and authored code, as opposed to a standardized approach. That may be changing.

Support

The current state of affairs in the three rendering engines…

Firefox

Firefox on Android supports scaling a web page’s text if you adjust the system font size. It doesn’t seem to care if you use px units. You don’t need to do anything special; it just works.

Safari

Safari will not scale a web page’s text with the OS settings unless the author adds some CSS. This code points to the system font properties (such as size):

body {
  font: -apple-system-body;
  /* other styles, including font-family */
}

This feature query checks for support while trying to limit it to touch devices only, then sets the font size:

@supports (font: -apple-system-body) and (not (-webkit-touch-callout: default)) {
  :root {
    font-size: 100%;
  }
}

The rest of your styles have to use relative units or this breaks down.

Chrome

Google has opted not to follow Firefox’s lead and support OS text sizes by default. Google has also opted not to mimic Safari and make platform-specific features. Instead, Google has decided to use its weight in the CSSWG to mint a new value for the <meta> element:

<meta name="text-scale" content="scale">

For this to work, however, the author will need to “opt-in” by not setting a base font size in your CSS:

body {
  /* font-size: yeah, no */
}

You actually can set one, but it should be a percentage. You then need to avoid fixed units (such as px) throughout your site. If this seems familiar, it’s the core thesis of my aptly-named post The Ultimate Ideal Bestest Base Font Size That Everyone Is Keeping a Secret, Especially Chet.

Read Josh Tumath’s post Try text scaling support in Chrome Canary for more details.

Frankenstyle’s Monster

Let’s combine those into one set of code that will work in Safari and now Chrome. Firefox was always on point, so no effort needed there.

Add this HTML to the <head> of your page (it’s the CSSWG code):

<meta name="text-scale" content="scale">

Add this to the CSS of your page (it’s Apple’s code):

body {
  font: -apple-system-body;
  /* other styles, including font-family */
}
@supports (font: -apple-system-body) and (not (-webkit-touch-callout: default)) {
  :root {
    font-size: 100%;
  }
}

Done.

Frankenstyle’s Demo

I made a demo. It has images and a table. Visit the debug version in your mobile browser.

See the Pen Untitled by Adrian Roselli (@aardrian) on CodePen.

How to Test Frankenstyle’s Demo

Seriously, visit the debug version in your mobile browser. I’m not dealing with desktop here.

With your Android device, install Chrome Canary from the Google Play store. If you are using an Android device with another app store, I leave it to you to sort that out. Then, using chrome://flags, enable Experimental Web Platform Features in Chrome Canary.

Android

In Android, go to SettingsAccessibilityDisplay size & text; in the Size options section, go to Font size and make it as large as possible.

The Android text size settings screen at the smallest size. The Android text size settings screen at the largest size.
The smallest Android text size setting and then the largest setting.

iDevices

In iDevices, go to SettingsAccessibilityDisplay & Text SizeLarger Text, toggle Larger Accessibility Sizes, then drag that slider all the way to the to max.

The iPadOS text size settings screen at the smallest size. The iPadOS text size settings screen at the largest size.
The smallest iPadOS text size setting and then the largest setting.

My Results from Frankenstyle’s Demo

These are before (small text) and after (largest text) images of Frankenstyle’s Demo. Your experience may differ. If you’re reading this from the future, it may differ a lot.

None of these required a browser reload. It may take a moment, so be patient.

Firefox

Firefox showing four paragraphs and the embedded photo of Jeff Goldblum. Firefox showing twelve lines of text under the massive heading and about 20 characters per line.
Frankenstyle’s Demo in Firefox on Android, behaving just as it would without the Frankenstyles.

Safari

Safari showing about four paragraphs of text and images. Safari showing eight lines of text and about 10 characters per line.
Frankenstyle’s Demo in Safari on iPadOS. I scrolled the second one a bit to show the inline images.

Chrome Canary

Chrome Canary showing four paragraphs and the embedded photo of Jeff Goldblum. Chrome Canary showing twelve lines of text under the massive heading and about 20 characters per line.
Chrome Canary showing Frankenstyle’s Demo.

Other Reading

Things that may better inform those words and pictures above: