Minutes Telecon 2024-10-23
- Resolved: Propagation of text-box-trim from ancestor of multicol works the same as propagation from multicol itself (Issue #11038: Should the “first formatted line” propagate into a different BFC?)
- Performance was no longer a concern for the proposal in issue #10795 (Should the scope proximity calculation be impacted by nesting scopes?), however the use cases still weren’t clear to everyone in the group. Discussion will return to github to clarify.
- Resolved: Reject option 1 [Provide a name to the ‘un-layered layer’ so that it can be placed in the layer order like any other layer.] (Issue #6323: Allow authors to explicitly place unlayered styles in the cascade layer order)
- Resolved: ResizeObserver uses the “current” global document (Issue #10516: It is unclear which Document object https://drafts.csswg.org/resize-observer/#ref-for-resizeobserver is talking about)
Full Meeting Minutes
Minutes Telecon 2024-10-16
- Resolved: Make property text-box-edge inherited (Issue #10904: Is `text-box-edge` inherited or not?)
- Resolved: 2 values are required unless the single value provided can be doubled (Issue #10703: The behavior when one value is specified for `text-box-edge`)
- Resolved: We allow mix-and-match syntax for
text-edge
keywords (Issue #10713: Allow re-ordering of text-edge
keywords)
- Resolved: Revert the previous resolution: allow all combinations for `text-box` (Issue #10748: Disallow `auto` in `text-box` shorthand)
- Resolved: text-box-trim trims inline to the text-box-edge; otherwise use the line-fit-edge; both for sizing and for painting (Issue #10834: Inline boxes and line-fit-edge vs text-box-trim/edge)
- Resolved: When an anchor position element is first rendered or change fallback position, use the current scroll offset to calculate its position area (Issue #10999: Better handling of scroll position for fixpos elements on first layout)
- fantasai introduced issue #11038 (Should the “first formatted line” propagate into a different BFC?) during the last few minutes of the call so that there can be further discussion on the issue or in a future meeting.
Full Meeting Minutes
Minutes Telecon 2024-10-09
- Resolved: Take 2nd option (reserve space as for scrollbar-gutter) and add a new value to scrollbar-gutter for inline-axis scrollbars (tbd) (Issue #7875: `overflow: auto` incompatible with size containment and container queries)
- Florian will file a new issue on the new scrollbar-gutter value.
- Resolved: Mark counters in ‘content’ alt text as at-risk (Issue #10387: Use case for counter / counters in content alt text?)
- Resolved: Serialize custom properties with empty value as a single space (Issue #9847: Empty value doesn’t round-trip)
- Resolved: All conditions listed (other than which property it’s used in) are computed-value time (Issue #10955: Should anchor() be validated at parse time when it is known invalid?)
- The Anchor Positioning editors were actioned to clarify (by adjusting the legacy wording) that anchor() is invalid outside inset properties.
- Resolved: Use commas for progress() (Issue #10489: Syntax of progress() vs mix() functions)
- In order to address issue #7648 (Mesh gradient / Freeform gradient / 2D gradient) we need info on PDF compatibility and color interpolation abilities of the options, so we know what is possible to render to screen and print.
- Resolved: Drop validation of fallbacks with regards to their custom property (Issue #10455: Are fallbacks provided for registered properties validated by the CP syntax?)
- Resolved: We will expose large/small/dynamic objects representing the layout viewport sizes as accessors with width/height/block/inline properties; details and which object TBD (Issue #8709: Expose small/large viewport dimensions of the layout viewport)
Full Meeting Minutes
Minutes Telecon 2024-09-04
- Resolved: New WD for Anchor Positioning
- The proposed behavior for issue #5335 (text-box-trim vs fragmentation) appeared to be what authors wanted, but there were concerns with implementability. There will be some discussion offline by the implementors before the issue is brought back for resolution.
- Issue #10761 (Applying `margin-trim` to fragmentation containers) had the same concern about implementability and will be included in the offline conversations about issue #5335.
- Resolved: Undo the previous resolution and not add position-anchor and position-type to the position shorthand for now (Issue #10321: `position-anchor` should be defined as a longhand of `position`)
- Resolved: No change to spec, add a note (Issue #10448: display: -webkit-box and line-clamp without -webkit-box-orient: vertical)
- Resolved: Allow linear() to have a single stop (Issue #10580: Linear easing function requires at least two points?)
Full Meeting Minutes
First Public Working Draft of CSS Grid Level 3 / Masonry Layout
The CSS Working Group has published a First Public Working Draft of CSS Grid Layout Module Level 3 aka CSS Masonry Layout. This draft represents masonry layout as a built-in capability of CSS in two possible syntactic forms: a grid-integrated syntax, and a grid-independent syntax, both of which are outlined as alternatives. We hope publication of this draft facilitates discussion about their relative merits.
The CSSWG has resolved to adopt fully mixed track sizing for this layout model, allowing all the possible track listings expressible in CSS Grid Layout for masonry layout as well. This unifies the two incoming proposals’ underlying layout models; and therefore both syntactic forms represent essentially equal capabilities for masonry layout (though there are some open issues about possible differences in their initial values). To address performance concerns with mixed track sizing, the draft outlines specific performance optimizations in the layout model and adopts some simplifying heuristics for e.g. subgrids.
We are grateful to the designers and developers who commented in the issues with their use cases, diagrams, and demos, which informed the development of this module—and welcome additional input, suggestions, and use cases to help guide its further refinement. We expect development of this module to proceed rapidly from this point forward, since it builds on the existing foundation of the grid layout algorithms.
Please send feedback by filing an issue in GitHub or commenting on an existing one (such as this one or this one). Alternatively you can send mail to the (archived) public mailing list www-style@w3.org with the spec code ([css-grid-3]
) and your comment topic in the subject line; or email one of the editors and ask them to forward your comment.
Minutes OpenUI-WHATWG/HTML-CSSWG Joint Meeting 2024-09-19
OpenUI-WHATWG/HTML-CSSWG meeting
CSS UI
- Resolved: Add the principles and examples of use to css-forms-1 (Issue #10866: Define design principles for `appearance: base` stylesheet)
- Resolved: Add fantasai and ntim as editors of css-forms-1 (Issue #10866)
- Resolved: Do not add a pseudo-element for the user-agent fallback select button (Issue #10717: Pseudo-element for select’s UA button)
- Resolved: Font properties won’t be set in the UA style sheet (Issue #10857: UA stylesheet for appearance:base `select`)
Content Model
- There was interest in expanding the PR for WHATWG issue #10317 (Content model and ‘what’ to render for stylable `select` elements) to capture many more types of elements.
Full Meeting Minutes
Minutes Telecon 2024-09-18
- Resolved: Whenever you are comparing names, and at least one is tree scoped, then both are tree scoped, and the scoping has to be exact (not subtree) (Issue #10526: When does anchor-scope “match” a name?)
- Resolved: The ‘all’ keyword is tree-scoped (Issue #10525: anchor-scope and part descendant styling)
- Resolved: When scroll-start-target targets multiple elements, scroll to each in reverse DOM order with text to specify priority is the first item (Issue #10774: How should competing scroll-start-targets be resolved?)
- Resolved: Add auto value for text-emphasis-position, and change the meaning of text-underline-position: auto to care about left vs right in vertical text (Issue #1198: text-underline-position auto in vertical text)
Full Meeting Minutes
Introducing CSS Values and Units Level 5!
The CSS Working Group has published a First Public Working Draft of CSS Values and Units Level 5. This module defines a variety of value types for CSS. This module is currently drafted as a diff spec over CSS Values and Units Level 4, and defines several new generic value functions that can be used nearly anywhere in CSS. Additions since Level 4 are listed in the Changes section and include:
- “Comma upgrading” for functional notations
- To accommodate the increasing numbers of value-substitution functions that might take multiple arguments containing commas, all CSS functions can now “upgrade” their own syntactic commas to semicolons, allowing their arguments to unambiguously contain commas.
- The
*-progress()
family of functions
- These calculate a value’s “progress” through a given range. The value can be a normal numeric value, a Media Query value, or a Container Query value.
- The
*-mix()
family of functions
- These represent an interpolation between two values for which the intermediate values are either inconvenient or impossible to represent in CSS syntax. By accepting a
*-progress()
function, they allow interpolation along a given range.
- The first-valid() function
- Resolves to the first argument that’s valid for the property this is used in. (Normally, CSS’s generic fallback mechanisms for invalid syntax achieve this, but when a value is stored in a variable or similar, we can’t rely on that.
first-valid()
brings the ability back for these cases.)
- The toggle() function
- Allows a value to alternate between multiple possibilities as it’s inherited through the tree. For example,
<em>
inside of a context that’s already italics can automatically switch to being unitalicized; or nested lists can automatically cycle between several list-style-type
values regardless of nesting depth.
- The attr() function
- Allows values to be pulled from attributes on the element. Previously this function was only defined to work for the
content
property, and only pulled the attribute value as a string; this spec allows it to parse to multiple types of values, and be used anywhere.
- The
random()
and random-item()
functions
- Allow returning a random numeric value or random choice among multiple values, in a well-defined way.
- The
sibling-count()
and sibling-index()
functions
- Allow values to respond to how many siblings the element has and where in the sibling list it is.
- The
calc-size()
function
- Allows intrinsic sizes (such as
auto
or max-content
) to be adjusted similar to calc()
. Most importantly, this allows such keywords to be interpolated with lengths, allowing things like interpolating height: auto
to height: 0
. The new interpolate-size
property allows authors to opt into this interpolation behavior by default (as back-compat prevents us from doing it automatically).
- URL modifiers
- Several new
url()
modifiers allow control over cross-origin requests etc.
Please send feedback by either filing an issue in GitHub (preferable) or sending mail to the (archived) public mailing list www-style@w3.org with the spec code ([css-values-5]
) and your comment topic in the subject line. (Alternatively, you can email one of the editors and ask them to forward your comment.)
CSS Cascading & Inheritance Draft Updated
The CSS Working Group has published an updated Working Draft of CSS Cascading & Inheritance Module Level 6. This CSS module describes how to collate style rules and assign values to all properties on all elements. By way of cascading and inheritance, values are propagated for all properties on all elements. New in this level is the @scope
rule.
This update doesn’t capture all the resolutions since the previous version, but does clarify a few things. The biggest changes included:
- Deferring the scoped descendant combinator
- Settling on ‘weak’ scope proximity, and removing the ‘strong’ variant
- Allowing shadow hosts to act as implicit scope roots, and be selected with the
:scope
selector
Changes since the last Working Draft are listed in the Changes section.
Please send feedback by either filing an issue in GitHub (preferable) or sending mail to the (archived) public mailing list www-style@w3.org with the spec code ([css-cascade-6]
) and your comment topic in the subject line. (Alternatively, you can email one of the editors and ask them to forward your comment.)
Minutes Telecon 2024-08-28
- flackr went over the current explainer for scroll markers (issue #10720) looking for support of the general direction. The group discussed some feedback and history of the issue and was broadly supportive of the direction. Any issues with the explainer can be opened separately in github for further discussion.
- There was no clear winner between the options to address scroll snap on content such as auto paginated fragments(Issue #10715: Snapping and generating scroll-marker pseudo-elements from fragments). flackr will write up a third option that was raised on the call and fantasai will add comments to the issue.
- Issue #10722 (Scroll button pseudo-elements) is a problem space the group is interested in solving. The current proposal would benefit from more documentation of in and out of scope use cases as well as additional details in the proposal.
- Resolved: Blockification of -webkit-box happens at computed value time (Issue #10435: When does the blockification of -webkit-box occur?)
Full Meeting Minutes