Skip to content
Webmedium signalverifiedsupport checked August 22, 2026

Firefox 154 brings sibling-index(), sibling-count(), and text-box-trim

The August 18 release adds three CSS features you can use right away. sibling-index() and sibling-count() give an element's position among its siblings and their total, directly in CSS and without a line of JavaScript, which ends the need to hand-write variables like --i for staggered animation delays. Alongside them come text-box-edge, text-box-trim, and the text-box shorthand, which remove the extra space above and below text so headings finally sit in the grid the way they look in the design. On the JavaScript side, includes(), join(), chunks(), and windows() were added to the iterator prototype.

By Redakcija WebAiRadarPublished 2 min readwritten by a model

Firefox 154 shipped on August 18. Three CSS features solve problems that until now required JavaScript or manual arithmetic in the design: counting sibling elements and removing the extra space around text.

sibling-index() and sibling-count()

These two functions give CSS what previously came only from a template or a script. The first returns an element's position among its siblings, the second their total, counting the element itself.

One detail is easy to miss: counting starts at one, not zero — like :nth-child(), not like a JavaScript array.

  • A staggered animation delay is written as animation-delay: calc(sibling-index() * 60ms), instead of variables hand-written onto every item.
  • A color ramp through a list comes from computing color, opacity, or offset out of the ratio between sibling-index() and sibling-count().
  • On dynamic lists the values recompute themselves the moment an item is added or removed, without a line of script.

text-box-trim and text-box-edge

Every font carries extra vertical space above the capitals and below the baseline. That is why a heading in a browser never sits exactly the way it looks in the design, and the difference has been patched for years with negative margins that break the moment the font or size changes.

These declarations, together with the text-box shorthand, remove that excess at the level of the text box itself, so spacing in grid and flex layouts finally becomes predictable. The benefit is largest when one block mixes fonts with different metrics.

JavaScript and developer tools

  • The iterator prototype gains includes(), join(), chunks(), and windows(); of the last two, chunks splits an iterator into consecutive arrays and windows produces a sliding window.
  • The JSON viewer in developer tools shows the path of the selected entry as a breadcrumb trail at the bottom of the panel.
  • WebDriver BiDi gains browsingContext.startScreencast and stopScreencast for video capture, along with download identifier tracking.

Behind a flag, for now

Several features arrived but are off by default. They are worth watching because they signal the next round.

  • Unprefixed line-clamp, behind layout.css.line-clamp.enabled.
  • The CSS progress() function, for a value computed from progress between a minimum and a maximum.
  • Percentage values for text-decoration-inset, computed against the font size.
  • CSS Typed Object Model Level 1, for now only in the development build.
„The index starts at 1, not 0.“
MDN, Firefox 154 release notes

Related

An iPad, desktop, and an iPhone each displaying a browser showing an image of a 3D hiking boot model.
Webstrong signal

Safari 27.0 ships an MCP server, so a coding agent can drive the browser itself

WebKit published the feature list on September 17, 2026, and it is the longest the team has written: 83 features, up from 58 at the first beta in June, and 844 quality fixes against the 525 announced at WWDC. The headline for anyone who builds with a coding agent is the Safari MCP server, which hands the agent the DOM, network requests, screenshots and console output from a real Safari window. Customizable Select turns the real select element into something you can fully restyle, and scroll anchoring stops the page from jumping when content loads in above what you are reading.

WebKit Blogverified

WEBKIT252eleven new features in the preview build
Webmedium signal

Safari Technology Preview 252 adds named-feature() and lets SVG reach a filter in another file

The preview build came out on September 11, 2026 and covers WebKit changes between 319252@main and 320112@main. Eleven features are new, and two of them extend the same job: how a stylesheet, and then a script, finds out what the engine underneath can do. The named-feature() function asks about a behavior that has no syntax of its own, and the registry behind it holds exactly two entries today. SVG also gained external resources, so the url() reference can finally point at a filter, mask or gradient stored in another document.

WebKitverified

INTEROP 2027Sept 23twenty days to file a proposal
Webmedium signal

Interop 2027 proposals close on September 23, and untested ideas do not qualify

The call for Interop 2027 Focus Area proposals opened on September 3, 2026 and closes on September 23, 2026. Proposals are filed as issues on the web-platform-tests/interop repository, and two conditions decide almost everything: the technology must already have a mature standard, and it must be testable, because the test results are what the dashboard scores. Anything that fails the second condition is steered toward an Interop Investigation instead. Twenty days is the whole window, and the evidence a good proposal needs takes longer than an evening to assemble.

WebKitverified