w3c / w3c/csswg-drafts

FontFaceSet.ready resolve-time

Open
#4,248 9 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

css-font-loading-3 Needs Edits
Dominant language
Bikeshed
Stars
4.9k
Forks
816
PR merge metrics
PR metrics pending

Description

https://drafts.csswg.org/css-font-loading/#font-face-set-ready

This appears to be pretty vague as to when it resolves:

The ready attribute contains a Promise which is resolved when the document is done loading fonts, which provides a way for authors to avoid having to keep track of which fonts have or haven’t been loaded before examining content which may be affected by loading fonts.

At what point is the document "done loading fonts"? It would be good to add some cross-reference to something for this. Which document? Or is this meant to be informative and the normative definition that in "switch the FontFaceSet to loaded"?

Per https://github.com/web-platform-tests/wpt/pull/17219#issuecomment-521909714, it seems Blink and Gecko wait until after the first layout, whereas WebKit resolves once it has loaded but before layout is done (should add tests for fallback!). The IDL block has a comment // async notification that font loading and layout operations are done but the "layout operations" part doesn't seem to be backed up by any normative text?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the CSS Font Loading specification's FontFaceSet.ready section and the “switch the FontFaceSet to loaded” definition, then review the linked WPT pull request and its discussion of Blink, Gecko, and WebKit timing. Done means the spec clearly defines when ready resolves and the unresolved fallback or layout behavior is covered by tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
css
Domain
documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.