Skip to content

standards, browsers, CSS, Baseline

Web

18 items
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

Webmedium signal

Safari 27 fixes top-level await, after WebKit rewrote the module loader in C++

WebKit published the fix on September 2, 2026. Dynamic imports of a module that uses top-level await could complete out of order in Safari, and an importer that ran early hit an error about accessing a value before initialization. The cause was a module loader built on the abandoned WHATWG Loader proposal rather than on the algorithms in the ECMAScript standard. WebKit rewrote the loader from self-hosted JavaScript into native C++, and the result ships in Safari 27 and in Safari Technology Preview 251.

WebKitverified

Webstrong signal

Chrome 152 lets a page name the hosts it is allowed to call

The release reached the stable channel on August 25, 2026 with a response header in which a server lists the endpoints its document and workers may reach. Chrome checks each destination against that list before it opens a connection. The same release brings relative alpha colors in CSS, CSSPseudoElement for three more pseudo-elements, and the autocorrect attribute reflected on HTMLElement. Two things leave: the Private Aggregation API is removed, and client-side XSLT enters a deprecation trial.

Chrome for Developersverified

Webmedium signal

A polyfill brings the CSS random() function to Chrome and Firefox

Lee Meyer published css-random-polyfill on CSS-Tricks on August 31, 2026. Only Safari implements CSS random() today, and it has since Safari 26.2 on December 12, 2025. The polyfill asks for a naming convention in exchange, and what you write stays valid CSS that keeps working once the script is removed.

CSS-Tricksverified

Webmedium signal

Safari Technology Preview 251 adds corner-shape, and the first way to feature-detect an at-rule

Twelve new CSS features and eleven JavaScript ones landed in the preview build on August 26. The one that changes how you write CSS is not the rounded-corner property everyone will notice, but at-rule() inside supports, which lets a stylesheet ask whether an at-rule exists before relying on it. Until now there was no way to do that. This is a preview build, so nothing here is shippable, and none of it moves Baseline.

WebKitverified

Webmedium signal

A class prefix selector is now spec text in Selectors Level 5

The draft of August 18 adds section 2.1, Class Prefix Selectors, defining .foo-* to match any class beginning with that prefix. It replaces the attribute-selector workarounds every design system carries. Nothing implements it yet, and the matching rule has an edge that will catch people: .foo-* does not match foo--bar.

CSS Working Groupverified

Webmedium signal

Put Baseline in CI so the browser stops deciding for you

Three packages and about 20 minutes. One config tells your build which browsers you target, a linter warns when a stylesheet reaches past that line, and CI says it on the pull request instead of a user saying it in a bug report six weeks later.

web.dev, npmverified

Webweak signal

A timing chart as the blueprint for SMIL animation in SVG

On August 20 at Smashing Magazine, Johan Grobler described a method in which a complex SMIL animation is first drawn as a timing chart and only then written in markup. Every bar on the chart corresponds to one animate element, and its length and position become the values of the dur and begin attributes. Because a single animate changes exactly one property of one element, the count climbs fast: a three-dot loader takes six of them. The piece also covers synchronizing to another animation's start or end through the begin attribute, and honoring prefers-reduced-motion through the picture element.

Smashing Magazineverified

Webmedium signal

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.

MDNverified

Webmedium signal

New on the web platform in July: Firefox 153 and Chrome 151

Rachel Andrew summarizes July's stable releases, and one item outweighs the rest: Firefox 153 widened how the select element is parsed, so any nested element is allowed inside it. That opens the path to genuinely customizable dropdowns without a JavaScript replacement, which is the most troublesome category of hand-built component on client sites. The same release brings the Picture-in-Picture API to desktop, the Intl.Locale Info API with getCalendars(), getTimeZones(), and getWeekInfo(), and IndexedDB getAllRecords(). Chrome 151 adds the CSS ruby-overhang property, manual slot assignment in declarative Shadow DOM through the shadowrootslotassignment attribute, and the animation property on the AnimationEvent and TransitionEvent interfaces.

web.devverified

Webmedium signal

July Baseline digest: Intl.Locale and rect() cross the line

The edition published on August 10 moves Intl.Locale into newly available — a standard way to parse, modify, and inspect Unicode language and region tags, useful anywhere dates, numbers, and currencies are formatted without an extra library. Array.fromAsync(), which turns asynchronous data streams into an array, and the CSS rect() function, which describes rectangular shapes for clip-path and offset-path far more readably than going through polygon(), both moved to widely available. An updated MDN guide to choosing image formats shipped alongside the digest.

web.devverified

Webweak signal

May Baseline digest: container style queries and the :open pseudo-class

The May edition moves container style queries, the :open pseudo-class for dialog and details, ToggleEvent.source, image-rendering, text-decoration-skip-ink: all, and SharedWorker into newly available. The lh and rlh units, Navigator.userActivation, clip-path, and :user-invalid became widely available. Most of it takes work off JavaScript: state that used to be tracked in a script now has a selector of its own, and a component can finally read a custom property from its parent. Check the exact status for your own audience before you ship, because newly available and widely available are not the same thing.

web.devverified

Webmedium signal

How Baseline helps you ship less JavaScript

Jad Joubran gives a practical method for auditing package.json: which libraries can be dropped today because the browser does the same job natively. The piece explains Baseline's three states — limited availability, newly available, and widely available — and shows how to use them as a measure instead of a feeling. The gap between the claim that something needs a library and the fact that the browser already does it closes faster than most projects track.

Smashing Magazineverified

Webmedium signal

NoLoJS: a catalog of patterns HTML and CSS now handle

Aaron T. Grogg assembled a survey of common JavaScript patterns that today are solved with plain HTML and CSS, with no script at all, or the smallest one possible. The collection pairs well with the Baseline piece: first check what the platform already does, then drop the dependency. The result is a lighter page and better Core Web Vitals numbers.

GitHubverified