Two Weeks of Frontend: The Advent Calendar Edition

It’s the most wonderful time of the year for the web platform: end-of-year roundups, new browser releases, and standards finally hitting baseline. Here’s what you need to know from the last couple of weeks.

Advent Calendars and WebKit Deep Dives

Manuel Matuzović is running the HTMHell Advent Calendar 2025, with 24 HTML-focused articles dropping daily until Christmas. We’re already 16 pieces in, and the standout so far covers Invoker Commands — timely because those commands just became supported across all major browsers.

WebKit has also published a detailed piece on ::target-text, the pseudo-element that lets you style the text a search engine or link sender highlights when directing someone to a URL. The selector has been a bit under the radar, but it’s fully supported everywhere now.

Reducing JS with Modern CSS

Chizaram Ken walks through CSS techniques that replace JavaScript workarounds in a post at LogRocket. The argument for using the platform instead of polyfilling with scripts gets stronger every month as CSS adds layout, styling, and behavioral features at a rapid clip.

A Bluesky thread by @eva.town wished for granular control over where words can hyphenate, specifically to prevent awkward breaks like “light-er” for “lighter.” @knowler.dev added that we can approach that already: the hyphenate-limit-chars property lets you set a preferred minimum number of characters on either side of a break. The trade-off: still waiting on Safari.

Another Bluesky discussion posed the evergreen question of which color format to standardize on. Reasonable cases were made for human-readable syntax and color depth; oklch() looks like a strong pick, though the tooling situation is still fragmented — some major UI design apps don’t even output HSL.

Yearly Roundups Kick Off

It’s season for the annual recaps we all know: CSS Wrapped 2025 covers what Chrome has delivered for CSS and HTML this year, while the State of HTML 2025 survey examines the HTML ecosystem more broadly.

There were also two quick hits worth saving. A post from @heyo53 got the scrollbar-styling debate going again — the physical-asset argument is weakening, so many are fine with scrollbar-width: none. And Bramus put together a visual demo for position-area values with guidance on handling inside corners.

A Look at the Latest Browser Releases

The steady flood of new features across the three major engines continues; these are the notable additions from each release.

Chrome 143

The headline CSS feature here is anchored container queries, allowing elements to query a container they’re anchored to rather than just an ancestor — a meaningful upgrade for popover and tooltip scenarios.

Firefox 146

  • contrast-color() arrives for choosing a readable text color against a given background. It will really demonstrate its potential once the CSS Color 6 spec’s winner-selection logic lands.
  • text-decoration-inset gives finer control over the position and size of text underlines and decorations.
  • @scope becomes a baseline feature, making scoped styling (a long-time highlight) available everywhere.
  • @custom-media — custom properties, but for media queries — is also being put through its trials.

Safari 26.2

Safari shipped a broader slate this cycle, including:

  • random() for generating numbers directly in CSS (but alone among the engines for now).
  • sibling-index() and sibling-count() return a node’s position and total sibling count, respectively — Firefox has yet to catch up.
  • field-sizing enables inputs to resize to fit content (again waiting on Firefox).
  • command and commandfor, now baseline, let you invoke JavaScript events from HTML markup.
  • hidden=until-found, hiding content until find-in-page searches for it, is also now baseline.
  • The cursor property finally works on pseudo-elements like ::before and ::after, one of those missing pieces that nobody asks for but you’re happy to have.

The command and commandfor attributes were picked as the year’s best HTML feature — a win for declarative interactivity in the platform.