Re: [csswg-drafts] [css-fonts] Font Sizing for Readability (#6709)

Hi Nick!  @nicksherman 

Glad to see there is still interest here—this conversation has obviously been continuing for years...


> _I've always wanted to be able to specify the size of x-heights and cap-heights in CSS without having to know a font's internal font metrics ahead of time._

Me too. Among other things, creating design guidelines that are consistent is challenging when the technology itself is completely inconsistent! The way things work, the browser developers need to incorporate the features into their browsers before it will do us any good.


### ex-to-em
> ..._Perhaps there's a more intuitive/self-descriptive name than `font-sizing` though? Maybe something like `font-size-anchor`? `font-size-basis`? Or adapt terminology from Adobe and call it `font-size-reference`?

In my first post at the top, I did—I call it ` ex-to-em: ` and there are a number of examples in that post of how to use it with ` font-x-size: ` to gain predictable control of the apparent size a font rasterizes to screen. See the first post for the examples.


## It's Not Just for Convenience

User personalization is the holy grail of accessible interactive design. But you can not have good personalization unless you have technology that is perceptually uniform, and provides predictable results, able to accommodate any given person's user needs. 


### This Means:
- The user can increase or decrease the overall contrast by a perceptually uniform amount, so the designer's intent for the visual hierarchy is not lost.
- The user can swap out the font family without breaking the layout, but also, while maintaining or enhancing readability.
- The user can choose from a variety of color schemes, including multiple Dark modes, Daltonized modes, and modes specifically tailored to user needs.
    - On this last point, it's labor intensive for a designer to create multiple schemes: with perceptual uniformity, alternate schemes can be created programmatically, with minimal (or no) need for designer labor to create.


## The Buck Stops a Bunch of Places
Right now, web standards like WCAG are relying on the author and content creator—but many of the user needs are really only achievable when incorporated into the technology (i.e. the user agent or browser).

Arguably, WCAG should not be relying on content authors to effectuate all of the accessible accommodations needed. Years ago when W3C WAI attempted to develop standards for browsers & the technology, developers were less than enthusiastic The politics of international standards can be.... eh.... nefarious. As a result, WAI created WCAG, saddling content creators with some tasks that would be better served by mature technology.

### Some Stuff Have We, Yes?
Progress is being made, but we are a long way from the ideal of automated and robust personalization-on-demand for all. Some things that would be very helpful is supported or better supported by the technology:


- Set font-size per the actual rasterizing size.
    - `font-x-size:` is a step in that direction—setting size by x-height does a lot to improve consistency.
    - Add in proportional text zoom, so large text zooms up less than small text, and doesn't get unwieldy.
    - Use `ex-to-em:` to make the proportional `em` value consistent relative to the font in use.
- Set font weight per the perceived rendered weight.
- Enable optical kerning.

And all these features help to enable better text reflow and responsive design, so users can adjust to their needed text size without breaking the layout.


Thank You,

Andy


------
<sub>_Andrew Somers_</sub>     
_Director of Research_   
<sup>_Inclusive Reading Technologies_</sup>
<sup>[_APC—Readability Criterion_](https://readtech.org/ARC/)</sup>  




-- 
GitHub Notification of comment by Myndex
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/6709#issuecomment-2067800681 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Saturday, 20 April 2024 22:11:12 UTC