Chrome experimentiert mit einem neuen Flag: Try text scaling support in Chrome Canary: <meta name="text-scale" content="scale">
Darin sagt der Author:
And thatâs not great, because research by Appt shows around 37% of Android users and 34% of iOS users have changed their system-level text scale factor from the default. And web developers currently have no way to respect that.
Falls ihr das Problem jetzt schon lösen mĂŒsst: Das stimmt nicht ganz, aktuell kann man das auf iOS mit einem Trick lösen.
Auf iOS gibt es die CSS-Aliase mit dem PrĂ€fix -apple. Ihr kennt vielleicht -apple-system. Das ist ein Alias fĂŒr die Systemfont auf Apple-GerĂ€ten (also quasi ein Alias fĂŒr âSan Franciscoâ).
DarĂŒber hinaus gibt es noch mehr, unter anderem -apple-sytem-body. Das ist nicht nur ein Alias fĂŒr die Font, sondern fĂŒr alles, was zum Stil eines âBody-Textesâ auf Apple-Systemen dazu gehört. Also auch die Font-Size.
Verwendet man (Fallbacks mal ausgelassen):
font: -apple-system-body;
Dann skaliert sich der Text auch mit den a11y-Settings des Betreibssystems. Das Problem: Das setzt dann die Font auf San Francisco. Das will man vielleicht nicht.
DafĂŒr gibt es einen Trick: Man benutzt die Definition von -apple-system-body, um die komplette Font-Definition zu setzen (also Fontname, GröĂe, etc.) und ĂŒberschreibt dann die font-famlily separat:
@supports (font: -apple-system-body) {
:root {
font: -apple-system-body;
font-family: 'Courier New', Courier, monospace;
}
}
So hat man auf iOS-GerĂ€ten automatisch angepasste SchriftgröĂen. Wenn man das als Base-GröĂe verwendet, dann passt das in den anderen GröĂen mit rem auch wieder.
Ich hab das mal fĂŒr einen Kunden untersucht, ein funktionierendes Beispiel ist hier deployed:
https://nikeee.github.io/ios-dynamic-font-test/
Wer also nicht warten kann und jetzt eine Lösung braucht, die vielleicht nur auf iOS funktionieren muss (z. B. bei einem WebView in einer App), dann hat man hiermit eine okayish lösung. Auf Android funktioniert sie natĂŒrlich nicht. Das Ganze mit env-Vars zu standardisieren wirkt auf mich aber noch deutlich sinnvoller.