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
OpenUI-WHATWG/HTML-CSSWG Meeting Minutes 2024-08-22
OpenUI-WHATWG/HTML-CSSWG meeting
CSS UI
- Resolved: ::picker(select) is a part-like pseudo-element which applies to select elements which are in base appearance mode. It maps to the popover element inside the select’s UA shadowroot (Issue #10758: Pseudo-element for select’s UA popover)
- A new issue will be opened to discuss having ::picker(select) match :popover-open.
Form Controls
- The group discussed the different proposals to resolve issue #10440 (Styling form control pickers).
- There was some momentum toward fantasai’s proposed text, however there were still concerns about the second point in the proposal and having one vs. two opt-ins.
- Discussion will return to github to further debate the second point. Additionally, there was a request of Google to provide more details on their vision for the redesign.
Full Meeting Minutes
Minutes Telecon 2024-08-21
- On the call there was no clear sense of if the best way to handle issue #10249 (Effect of `meta name=color-scheme` on the (prefers-color-scheme) MQ) was to allow a meta to set prefers-color-scheme or if it’s better to have a style query. Discussion will return to the issue.
- Resolved: We publish current draft of CSS Cascade 6, and we open an issue for the multiple nested scopes (Issue #10370: Publish an updated WD)
- It wasn’t clear that setting inert was the right solution for issue #10711 (Support setting offscreen content inert), though the problem space was clear. Discussion will return to the issue to further determine if inert is the right path forward given concerns about accessibility.
Full Meeting Minutes
Minutes View Transitions Breakout Telecon 2024-08-21
View Transitions Breakout Meeting
- Resolved: Navigation is a CSSOMString, it returns an empty string when navigation descriptor is missing or invalid (Issue #10654: CSSOM for CSSViewTransitionRule.navigation does not match implementation)
- Resolved: idents take precedence over contain in view-transition-group (Issue #10639: Should view-transition-group contain or `ident` take precedence)
- Resolved: Change the capture mode for all view-transitions and specify how each property is affected by this capture mode change (Issue #10585: Optionally capture some properties (e.g. opacity/border) as style instead of snapshot)
- Resolved: Describe categorization of properties in the Module Interactions sections of each spec (Issue #10585)
- Resolved: Blink will experiment and come back with changes needed if there are compat concerns (Issue #10585)
Full Meeting Minutes
Minutes Telecon 2024-08-14
- Resolved: Add 1 more calc-size edit in, then issue first working draft of css-values-5
- Resolved: Add ChrisL and TabAtkins for easing level 2 and publish FWD (Issue #10688: Time for FPWD)
- There was a lot of discussion and thought about if tooltips are worth solving in issue #9236. There wasn’t a clear yes or no decided on the call, however a lot of good points were raised that needed further discussion. Some of the questions/comments were:
- Specific delays might be better than named values
- Different delays based on modality, hover vs touch
- If focus delay should be zero or if tabbing should have a different behavior
- Should there be a pseudo class for first tooltip open
- Resolved: Edit in what’s described in Tab’s last comment (Issue #10179: Should :not(foo) match the host of the shadow tree?)
- Resolved: :host:has() can match, :has() can’t (Issue #10693: Should `:host:has()` match?)
Full Meeting Minutes
OpenUI-WHATWG/HTML-CSSWG Meeting Minutes 2024-08-08
OpenUI-WHATWG/HTML-CSSWG meeting
CSS UI
- Resolved: Pseudo-element selectors apply only to the UA-provided elements in a particular role (Issue #10462: Pseudo-elements for stylable select)
Form Controls
- The group discussed the proposal to have incremental opt in for elements with pickers using ::picker pseudo (Issue #10440: Styling form control pickers).
- Several folks spoke about author needs in this space. Having to set several properties increases the burden on authors, especially at smaller firms with limited resources. However, there has not been specific research on this topic so there could be room to learn more about author needs and wants.
- Additional to the author needs, there was also concern expressed that if the first opt-in releases aren’t scoped to specific element types, authors would use a broad opt-in and it would lead to compat problems when functionality expands.
- There was broad agreement that appearance:base is the north star that the group should be working toward, though some disagreement on how long/hard that will be to achieve.
- As the call concluded, there was a proposal to ship appearance:base-select just for selects as an increment and then ship appearance:base for everything. There was support expressed, but the call ran out of time for further discussion.
Full Meeting Minutes