April 2026 platform update: stable and beta highlights
Chrome 147 and Firefox 150 both reached stable in April. Safari did not ship a stable release this month. Here is a rundown of the notable additions across these browser releases, plus a preview of what is coming in the next round of betas.
What landed in stable builds
contrast-color() reaches Baseline
With Chrome 147, the CSS contrast-color() function is now available in all major engines, making it Baseline Newly available. The function evaluates a given color and returns either black or white, whichever offers the higher contrast. This helps developers meet accessibility contrast requirements for text without manual color computation.
ariaNotify() for screen reader announcements
Firefox 150 adds support for the ariaNotify() method on both Document and Element. The method queues a string of text to be announced by a screen reader. It is designed as a more reliable and ergonomic alternative to ARIA live regions, particularly for announcements that are not tied to DOM updates.
"auto" sizes for lazy-loaded images
Firefox 150 now supports the "auto" keyword for the sizes attribute on <img> elements. When combined with lazy loading, the browser uses the computed image layout size to select the appropriate source from a srcset, simplifying responsive image configuration.
Element-scoped view transitions
Chrome 147 exposes element.startViewTransition() on arbitrary HTML elements. This scopes transitions to a specific element rather than the whole page. Pseudo-elements are affected by ancestor clips and transforms, and multiple such transitions can run concurrently.
CSS border-shape
Chrome 147 introduces the border-shape property, making it possible to create non-rectangular borders using shapes such as polygons or circles.
Inline path for SVG <textPath>
Chrome 147 adds support for the path attribute on the SVG <textPath> element, allowing text path geometry to be defined inline without referencing an external element.
JSON and style modulepreload
Chrome 147 now supports JSON and style module types as <link rel="modulepreload"> destinations.
Math.sumPrecise
Chrome 147 implements the TC39 proposal for Math.sumPrecise, which returns a precise sum of the values in an iterable. This JavaScript addition is now Baseline Newly available.
Beta previews for the next cycle
Chrome 148, Firefox 151, and Safari 26.5 entered beta in April, offering a preview of features heading to stable soon.
Chrome 148 beta includes name-only container queries in CSS, lazy loading for video and audio elements, and the at-rule() function for feature detection within @supports.
Firefox 151 beta brings CSS container style queries.
Safari 26.5 beta adds support for the :open pseudo-class on <details>, <dialog>, <select>, and <input> elements, alongside a large number of issue resolutions.
Note: This article previously mentioned the scroll-driven animation range properties reaching Baseline. They have not shipped in Firefox yet, so that information has been removed.



