Closed pes10k closed 4 years ago
@pes10k Sorry for the long delay getting back to this. I've updated it to present this as one of several options that we haven't decided between. I think I want to describe pros and cons here too, eventually, but it'd be good to have all the options listed before we write that.
What do you think about this text?
Thanks for these changes @jyasskin . To comments:
* Web users who have been installing web fonts over cheap connections to avoid
spending money or time downloading them on expensive or slow connections,
shouldn't now have to use the expensive or slow connections.
The problem of how to prevent people from being fingerprinted based on fonts, and web perf issues, are not-un-related, but pretty distinct. I'd prefer to remove this perf-improvement as a goal of the proposal / issue, and just treat it as a constraint (e.g. the solution arrived to shouldn't foreclose future per improvements).
That proposal is:
os, default local
tuple, built through a system undefined by the spec, but expected to be through crawls identifying fonts needed to fulfill the Websites that depend on a font that's commonly installed among their visitors but uncommon on the web, should have a way to continue working
use case. Vendors MAY use this list when determining the default configuration.I would volunteer to, alone or with other members of PING / CSSWG / PrivacyCG / etc, work on the infrastructure for this list.
I don't see a difference between treating "don't regress performance too much" as a "goal" vs a "constraint". My understanding is that that's one of the reasons the CSS folks objected to the solution of just restricting to OS-provided fonts, so I think it does belong here, unless one the CSS folks (@astearns?) says my understanding is wrong. That doesn't mean we're trying to improve performance with this change, just avoid regressing it.
This proposal looks the same as the text here? There's some initial list, here described as the "Allowed system fonts", and then users can add fonts manually. Is the problem that my description of "Allowed system fonts" is bad or doesn't say that they should be allowed in addition to the other sets? If that's it, let's do it in another PR to avoid cluttering this one.
re 1. yes that would be good to have clarity on, that was not my understanding from the call. My understanding from the call was the "absolutely cannot break" cases were (i) sites that expect but don't request a font, and (ii) don't break uses like PDF renderers
Yes, solutions that require minority-language users to switch to webfonts while letting majority languages rely on installed fonts are an unacceptable a11y/i18n regression. That's the reason for all the additional stuff around tracking font usage/etc.
Sure, but i think thats answering a similar-but-unrelated question.
All the stuff about "tracking font usage" can be captured in the default font allowed list in my proposal above.
The question is is perf-loss for reasons unrelated to minority languages a deal breaker. (the above proposal would prevent the perf loss for minority languages through the default configuration / list building)
or, even more subtle, i guess the question scrapes down to, is perf loss in cases (i) unrelated to minority language status, (ii) limited to default configuration, acceptable.
Advanced users can still opt in their only-for-perf-improving fonts through the above proposal
No, outside of minority langs it's fine; people installing fonts locally just for themselves is an acceptable loss.
@pes10k
- the difference here is that this proposal allows for a default broader than OS fonts, but narrower than everything. The current "Allowed system fonts" in the current text, if im reading it correctly, seems to only include OS-provided fonts
My intent there was that the browser could also provide "system" fonts, but that's not clear enough. I think we should fix that in another PR.
@jyasskin im happy to write up another PR, but the organization of this is getting difficult. What I'm proposing is an alternative to "solve the problem with a mega cache" proposal in master. Where would you like me to put this PR: off master, or a PR to this PR?
@jyasskin im happy to write up another PR, but the organization of this is getting difficult. What I'm proposing is an alternative to "solve the problem with a mega cache" proposal in master. Where would you like me to put this PR: off master, or a PR to this PR?
For editing the "Allowed system fonts" section to be clear that the browser is allowed or encouraged to add fonts, it should be a PR against main
, since that's an improvement even without this PR, and it doesn't conflict with this PR.
@jyasskin hmm, i'm not sure I understand. Right now there seem to be there proposals under discussion:
I only mean for additions to "allowed system fonts" to apply for 3 and 2. I don't yet have an understanding of how it'd interact with 1.
I would prefer to see this merged and discussions to continue as needed, because keeping the diff in my head as I read the main document is confusing
I don't think there is anything waiting on me to merge the above (I think i've addressed all the outstanding questions), but if thats not the case, and I'm the blocker for merging things, please let me know.
If it'd be easier, we could also just replace most of this PR with a pointer to the Brave proposal too
I haven't fully integrated the proposal into the text (e.g. if we go this route, text further down doesn't make sense), but wanted to write the proposal down.
TL;DR;
We can solve all the above by removing ambiguity about which fonts users want browsers to know about.