Interop 2026: Continuing to improve the web for developers | Blog | web.dev
Skip to main content
English
Deutsch
Español – América Latina
Français
Indonesia
Italiano
Polski
Português – Brasil
Tiếng Việt
Türkçe
Русский
עברית
العربيّة
فارسی
हिंदी
বাংলা
ภาษาไทย
中文 – 简体
中文 – 繁體
日本語
한국어
Sign in
Blog
Home
Blog
Interop 2026: Continuing to improve the web for developers
Stay organized with collections
Save and categorize content based on your preferences.
Rachel Andrew
GitHub
Mastodon
Bluesky
Homepage
Published: February 12, 2026
We're excited to announce Interop 2026 , an effort to increase the interoperability of key features of the web platform across browsers. Run by a team of representatives from companies that make substantial contributions to browser rendering engines—including Apple, Google, Igalia, Microsoft, and Mozilla—Interop 2026 focuses on features that are high-priority for web developers and end users.
Consistent with earlier Interop efforts, selected tests will be continuously run on automated testing infrastructure, with pass rates displayed on the Interop 2026 dashboard.
Focus Areas
The focus areas for 2026 include several areas identified as top<br>interop issues in the State of HTML and State of CSS surveys.<br>We track these issues on webstatus.dev.<br>Many features included this year also appear in the top 20 requested issues in<br>the developer signals repository.
Anchor positioning
Appears in: Top interop issues, developer signals anchor positioning
Anchor positioning lets you place an element based on the position of another element, such as placing a tooltip next to the content it references. This focus area continues from Interop 2025 and includes only the tests from 2025.
Container style queries
Appears in: Top interop issues, developer signals container style queries
Container style queries apply styles to an element based on the computed values of custom properties of its container, using the @container at-rule together with one or more style() functions.
Dialogs and popovers
Appears in: Top interop issues, developer signals closedby, hint
For Interop 2026, work on the element and Popover API focuses on:
The attribute, which sets the user actions that close a dialog (for example, clicking outside the dialog).
The :open CSS pseudo-class, which matches elements that have open states.
The popover="hint" global attribute, which creates a popover subordinate to other auto popovers, useful for tooltips.
Scroll-driven animations
Appears in: Top interop issues
This includes the animation-timeline, scroll-timeline, and view-timeline CSS properties, which advance animations based on the user's scroll position.
View transitions
Appears in: Top interop issues, developer signals Cross-document view transitions
Interop 2025 brought same-document view transitions to Baseline Newly available. For Interop 2026, the view transitions work focuses on:
Improving same-document view transitions.
The blocking="render" attribute for , , and .
The attribute.
The :active-view-transition-type() CSS pseudo-class.
Cross-document view transitions.
The attr() CSS function
Appears in developer signals attr()
The attr() CSS function returns the value of an attribute of an HTML element, with the option to return that value as a specific type or with a specific unit.
As well as these key features highlighted by you in the surveys, Interop 2026 includes:
The contrast-color() CSS function
The contrast-color() CSS function selects a color that has guaranteed contrast against a specified foreground or background color.
Custom highlights
Custom highlights let you style arbitrary text ranges without adding extra elements to the DOM.
Fetch uploads and ranges
Work on the fetch() method focuses on ReadableStream in the body to stream data to the server, supporting FormData and media types for requests and responses, and supporting the Range header.
IndexedDB
The IndexedDB focus area targets the getAllRecords() methods of IDBObjectStore and IDBIndex. These methods speed up read operations on large datasets by returning records and their primary keys in batches.
JSPI for Wasm
The JavaScript Promise Integration API (JSPI) lets Wasm applications that expect synchronous access to external functionality work in an environment where that functionality is asynchronous.
Media pseudo-classes
This area includes the :playing, :paused, :seeking, :buffering, :stalled, :muted, and :volume-locked CSS pseudo-classes, which match and elements based on their state.
Navigation API
This year, the work will focus on continuing to improve the interoperability of the Navigation API, and on the precommitHandler option to navigateEvent.intercept(), which defers the commit until a handler has resolved.
Scoped custom element registries
The CustomElementRegistry() constructor creates a new custom element registry separate from the global one, letting multiple custom elements...