New to the web platform in July | Blog | web.dev
Discover some of the interesting features that have landed in stable and beta
web browsers during July 2024.
Stable browser releases
In July 2024, Firefox 128,
Safari 17.6, and
Chrome 127 became stable.
This post looks at the new features added to the web platform.
CSS Relative color syntax
Firefox 128 includes
CSS relative color syntax,
this lets you create a color relative to an origin color.
The following CSS desaturates the color indigo
by half, using hsl()
.
.desaturate-by-half {
background: hsl(from indigo h calc(s / 2) l);
}
You can find many more examples in the blog post
CSS relative color syntax.
Relative color syntax is one of the focus areas for Interop 2024,
so this update helps to improve the score for stable Firefox.
Alternative text for the content
property
Firefox 128 supports alternative text for the CSS content
property,
when it includes an image. The alt text is exposed to the accessibility tree.
This means that alternative text is now supported by all browsers for content
.
An update in Chrome 127 ensures that Chrome accepts an arbitrary number of
elements rather than just a single string, enabling the use of the attr()
function, for example.
The font-size-adjust
property
Chrome 127 includes font-size-adjust
, also a focus area for Interop 2024.
This property is useful for situations where font fallback can occur,
as it helps you match the size of a fallback font to the first choice font.
With this Chrome release the font-size-adjust
property becomes part of
Baseline Newly Available.
Support for the View Transition API in iframes
From Chrome 127 concurrent same-document view transitions in a main frame and same-origin iframe will be available.
Previously, running a view transition using the document.startViewTransition in a same-origin iframe wouldn’t work if the main frame was running a transition at the same time. The iframe’s transition would be automatically skipped. Now, both transitions will execute.
Keyboard focusable scroll containers
From Chrome 127 scrollers are click-focusable and programmatically-focusable
by default. Scrollers without focusable children are keyboard-focusable by default.
Learn more about this change in the post
Keyboard focusable scrollers.
The @property
rule
Firefox 128 includes support for the @property
rule and related JavaScript
APIs. This means you can create CSS custom properties that define a syntax,
inheritance, and an initial value.
In the following example the custom property is defined to accept a
value only, to not inherit, and to have an initial value of hotpink
.
@property --myColor {
syntax: '';
inherits: false;
initial-value: hotpink;
}
The @property
rule is now part of Baseline Newly Available, read more in
@property: Next-gen CSS variables now with universal browser support.
Resizable ArrayBuffer
and growable SharedArrayBuffer
Resizeable
ArrayBuffer
and growable
SharedArrayBuffer
are now supported in Firefox 128,
allowing the size of buffers to be changed without having to allocate a
new buffer and copy data into it.
These properties also join Baseline Newly Available.
The safe
keyword in flexbox properties
Safari 17.6 is mostly a release of fixes to existing features,
however it also includes the safe
keyword for flexbox alignment properties.
This makes the safe
keyword interoperable across browsers.
The safe
keyword
prevents a chosen alignment from causing content to display outside of the
viewable area. The following CodePen shows how this acts
with center aligned items. If the center
alignment causes data loss then
start
is used instead.
Beta browser releases
Beta browser versions give you a preview of things that will be in the next
stable version of the browser. It’s a great time to test new features, or
removals, that could impact your site before the world gets that release. New
betas are
Firefox 129 and
Chrome 128. The
Safari 18
beta is still ongoing.
These releases bring many great features to the platform. Check out the release
notes for all of the details. Here are just a few highlights.
Chrome 128 includes the CSS ruby-align
property, along with changes to
make line breaks possible within elements that have display: ruby
, the
zoom
property has also been updated to match the specification. There’s
an update to the AudioContext
API to add a callback assigned to
AudiContext.onerror
, that reports AudioContext creation and rendering errors.
Firefox 129 includes the @starting-style
rule and the transition-behavior
property. These properties will become part of Baseline Newly Available once
Firefox 129 is released to stable.