Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The following are the new web platform features and updates in Microsoft Edge 148, which releases on May 7, 2026.
To stay up-to-date and get the latest web platform features, download a preview channel of Microsoft Edge (Beta, Dev, or Canary); go to Become a Microsoft Edge Insider.
Detailed contents:
- Edge DevTools
- WebView2
- CSS features
- Web APIs
- Content type in Resource Timing
dropEffecthandling in drag-and-drop events- Extended lifetime shared workers
- Detect Secure Payment Confirmation capabilities
- IDNA ContextJ rules
- Lazy loading for video and audio elements
- Manifest localization
- Support for avar2 in OpenType font format
- Pointer event suppression on drag start
- Prompt API
- Reuse
no-storeimages when samesrcis reassigned - Web Authentication Immediate UI mode
- WebGPU
linear_indexingfeature - WebSocket disconnection on bfcache entry
- Always negotiate data channels in WebRTC
- Origin trials
- Writer API
- Rewriter API
- Proofreader API
- Prompt API
- WebGPU Compatibility Mode
- Extended lifetime for Shared Workers
- SharedArrayBuffers in non-isolated pages on Desktop platforms
- Incoming Call Notifications
- WebAssembly Custom Descriptors
- Web Install API
<usermedia>HTML element- Enhanced Canvas TextMetrics
- WebNN
focusgroupHTML attribute for keyboard navigation- URL and eval hashes in CSP script-src
- Digital Credentials API - Issuance Support
prerender_until_scriptSpeculation Rules API action- WebAudio Configurable Render Quantum
- Prerender activation by form submission
- CPU Performance API
- Prerendering cross-origin iframes
- Autofill Event
Edge DevTools
See What's new in Microsoft Edge DevTools.
WebView2
See Release notes for the WebView2 SDK.
CSS features
The following new Cascading Style Sheets (CSS) features are included in Microsoft Edge.
CSS name-only container queries
A CSS query container can be queried based on its container-name only, and the container doesn't need any container-type set:
<style>
#container {
container-name: --foo;
}
@container --foo {
input { background-color: green; }
}
</style>
<div id="container">
<div><input></div>
</div>
Previously, @container required some query in addition to the container-name.
See also:
- @container at MDN.
- container-name at MDN.
The revert-rule keyword
The revert-rule keyword rolls back the cascade to the previous rule.
This is similar to how revert-layer rolls back the cascade to the previous layer.
For example:
div { color: green; }
div { color: revert-rule; /* Effectively green */ }
The revert-rule keyword is especially useful in combination with conditionals. The revert-rule keyword allows eliminating the current rule if some condition is not met:
div {
display: if(style(--layout: fancy): grid; else: revert-rule);
}
See also:
- The revert-rule keyword in CSS Cascading and Inheritance Level 6.
at-rule(): CSS feature detection
The at-rule() function can be used in CSS @supports, to feature-detect support for CSS at-rules.
See also:
- Extensions to the @supports rule in CSS Conditional Rules Module Level 5.
text-decoration-skip-ink: all
The text-decoration-skip-ink property now has an all value. This property continues to support auto and none.
all- Unconditionally applies ink-skipping to all glyphs, including CJK characters. When usingtext-decoration-skip-ink: all, if you adjusttext-underline-positionortext-underline-offsetto avoid clashing with CJK glyphs, you can explicitly opt in to ink-skipping for those characters as well.auto- Keeps CJK characters un-skipped. Useful for ideographic scripts. Ink-skipping can produce undesirable visual results for ideographic scripts, at typical underline positions.none- Prevents ink-skipping.
See also:
- text-decoration-skip-ink at MDN.
- The text-decoration-skip-ink property in CSS Text Decoration Module Level 4.
Web APIs
The following new Web API features are included in Microsoft Edge.
Content type in Resource Timing
The new contentType field on PerformanceResourceTiming holds a string that corresponds to the content type of the fetched resource, as returned by the server.
See also:
dropEffect handling in drag-and-drop events
When using the Drag and Drop API, the dropEffect attribute now has the correct predetermined values during dragenter, dragover, and dragleave events, as specified by the HTML standard.
For dragenter and dragover events, the dropEffect attribute is now based on the current effectAllowed.
For dragleave events, dropEffect is always "none".
See also:
- HTML Drag and Drop API at MDN.
- DataTransfer: dropEffect property at MDN.
Extended lifetime shared workers
Set the extendedLifetime option when creating a shared worker, to keep the service worker alive for a bounded time after all client pages close. This technique enables reliable completion of async operations during unload.
See also:
- SharedWorker at MDN.
Detect Secure Payment Confirmation capabilities
Use the PaymentRequest.getSecurePaymentConfirmationCapabilities() method to determine which Secure Payment Confirmation features are supported in the browser.
This method returns an object that describes the browser's Secure Payment Confirmation capabilities. Use the returned object to decide whether to use Secure Payment Confirmation features for your payment flow.
This is an async, static method.
See also:
IDNA ContextJ rules
Microsoft Edge now implements the IDNA ContextJ rules, by disallowing the following characters in most places within URLs:
ZWNJ (U+200C ZERO WIDTH NON-JOINER)
ZWJ (U+200D ZERO WIDTH JOINER)
This improves interoperability with other browsers.
IDNA is the mechanism by which non-ASCII characters can occur in domain names. For example, the URL http://네이버.한국/ is encoded as http://xn--950bt9s8xi.xn--3e0b707e/.
See also:
- Better Unicode support in Microsoft Edge 143 web platform release notes (Dec. 2025).
Lazy loading for video and audio elements
Use the new loading attribute of <video> and <audio> elements, with a value of lazy, to defer media resource loading until the element is near the viewport.
Syntax:
<audio loading="lazy"/>
<video loading="lazy"/>
This matches the existing lazy loading behavior for <img> and <iframe> elements, improving page load performance and reducing data usage.
See also:
- loading in
<video>: The Video Embed element at MDN. - loading in
<audio>: The Embed Audio element at MDN. - loading in
<img>: The Image Embed element at MDN. - loading in
<iframe>: The Inline Frame element at MDN.
Manifest localization
You can now localize manifest members, to adapt your PWA name, description, icon, and shortcuts to the user's language and region.
You provide localized values in the web app manifest JSON file. The browser then automatically selects the appropriate resources based on the user's language settings.
See also:
Support for avar2 in OpenType font format
Version 2 of the axis variations table (avar2) in the OpenType font format is now supported.
Avar2 enables designers of fonts to create fonts with better control over interpolation. With avar2, the axes of variation in a font can influence one another, allowing for more complex designs, easier-to-use fonts, and smaller file sizes.
See also:
Pointer event suppression on drag start
When a drag operation starts, the browser now sends pointercancel, pointerout, and pointerleave events to the drag source, to indicate that the pointer event stream has ended.
This behavior ensures that the drag source doesn't expect any more events from this pointer during the drag operation.
This behavior is now fully implemented across all platforms.
See also:
- HTML Drag and Drop API at MDN.
- Pointer events at MDN.
Prompt API
The Prompt API provides direct access to a browser-provided on-device AI language model. The API design offers fine-grained control for progressively enhancing sites with model interactions tailored to individualized use cases.
The Prompt API complements task-based language model APIs (such as the Summarizer API), and varied APIs and frameworks for generalized on-device inference using developer-supplied ML models.
The initial implementation supports:
- Text inputs.
- Image inputs.
- Audio inputs.
- Response constraints that ensure that the generated text conforms with predefined regex and JSON schema formats.
Use the Prompt API for:
- Generating image captions.
- Performing visual searches.
- Transcribing audio.
- Classifying sound events.
- Generating text by following specific instructions.
- Extracting information or insights from multimodal source material.
See also:
Reuse no-store images when same src is reassigned
When you reassign the same src value to an <img> element, the browser now reuses the already-decoded image from the document, even if the image was served with Cache-Control: no-store. This avoids an unnecessary network re-fetch and improves performance.
Previously, the browser would re-fetch the image, even though the image was already decoded and available in the document.
This web interoperability fix aligns Microsoft Edge with Firefox and Safari.
See also:
- <img>: The Image Embed element at MDN.
- Cache-Control header at MDN.
Web Authentication Immediate UI mode
Most sign-in experiences on the web require a sign-in page that offers multiple options, such as username/password fields, federated sign-in buttons, and passkey buttons. When the browser already knows about passkeys or passwords for a site, the Web Authentication Immediate UI mode can make the sign-in page unnecessary.
The Immediate UI mode is a new mode for navigator.credentials.get(). If the browser has a passkey or password for the site, the browser displays a sign-in UI to the user. If no matching credential is available, the promise is rejected with NotAllowedError and no browser UI is shown, so the user's sign-in experience falls back to the site's traditional sign-in page.
This reduces sign-in friction and avoids user confusion from having to remember which sign-in option they previously used on a given site.
See also:
- Web Authentication API at MDN.
WebGPU linear_indexing feature
The linear_indexing feature adds two new compute shader built-in values to the WebGPU Shading Language (WGSL):
global_invocation_index, a linearized version ofglobal_invocation_id.workgroup_index, a linearized version ofworkgroup_id.
These built-in values provide a convenient single-dimensional index for compute shader invocations, replacing manual linearization that is easy to get wrong.
See also:
- WebGPU API at MDN.
WebSocket disconnection on bfcache entry
Open WebSocket connections are now closed when a page enters the back/forward cache (bfcache), instead of preventing the page from being cached.
Previously, a page with an active WebSocket connection couldn't be stored in the bfcache. With this change, more pages benefit from instant backward and forward navigation.
Your page receives a close event on each affected WebSocket when the page enters the bfcache. Listen for the pageshow event, and then reconnect when event.persisted is true.
See also:
- WebSocket at MDN.
- Working with the bfcache at MDN.
Always negotiate data channels in WebRTC
Use the new alwaysNegotiateDataChannels option for a WebRTC RTCPeerConnection to negotiate data channels in the Session Description Protocol offer, before creating a data channel.
When enabled:
- The data channel
m=line is placed before any audio or videom=lines. - When using
BUNDLE, to reuse a single connection for multiple media types, the data channelm=line is used as the offerer tagged media section.
See also:
- RTCPeerConnection at MDN.
Origin trials
The following are origin trials for new experimental APIs that are available in Microsoft Edge.
Origin trials let you try experimental APIs on your own live website for a limited time. To learn more about origin trials, see Use origin trials in Microsoft Edge.
For the full list of available origin trials, see Microsoft Edge Origin Trials.
Writer API
Expires on Apr. 21, 2026.
The Writer API can be used to generate text from a writing task prompt, backed by an on-device AI language model.
For example, use this API to:
- Generate a textual explanation of structured data.
- Compose a post about a product, based on reviews or a product description.
- Generate a biography based on background information.
See also Summarize, write, and rewrite text with the Writing Assistance APIs.
Rewriter API
Expires on Apr. 21, 2026.
The Rewriter API transforms and rephrases input text in requested ways, backed by an on-device AI language model.
Use this API to remove redundancies within input text, in order to:
- Fit the text into a word limit.
- Rephrase the text to suit the intended audience.
- Be more constructive if the text uses inadequate language.
See also Summarize, write, and rewrite text with the Writing Assistance APIs.
Proofreader API
Expires on May 19, 2026.
The Proofreader API corrects grammar, spelling, and punctuation errors in text.
The Proofreader API uses a small language model (SLM) that's built into Microsoft Edge, from your website's JavaScript code, or from your browser extension's JavaScript code.
See also Correct grammar and spelling with the Proofreader API.
Prompt API
Expires on Jun. 16, 2026
Use the Prompt API to prompt a small language model (SLM) that's built into Microsoft Edge, from your website's JavaScript code, or from your browser extension's JavaScript code.
The Prompt API is an experimental web API.
Use the Prompt API to:
- Generate and analyze text.
- Create application logic based on user input.
- Discover innovative ways to integrate prompt-engineering capabilities into your web app.
See also:
- Prompt API, above.
Information about this origin trial:
WebGPU Compatibility Mode
Expires on Apr. 21, 2026.
WebGPU Compatibility Mode is an opt-in, lightly restricted subset of WebGPU capable of running older graphics APIs such as OpenGL and Direct3D11.
The goal is to expand the reach of WebGPU applications to older devices that don't have the modern, explicit graphics APIs that core WebGPU requires.
Extended lifetime for Shared Workers
Expires on Apr. 21, 2026.
Extended lifetime for Shared Workers enables performing critical asynchronous work after page unload, without the overhead of Service Workers.
Set the extendedLifetime option when creating a shared worker, to keep the service worker alive for a bounded time after all client pages close. This technique enables reliable completion of async operations during unload.
Such async operations include:
- IndexedDB writes.
- Encryption or compression.
- Analytics requests.
Information about this origin trial:
SharedArrayBuffers in non-isolated pages on Desktop platforms
Expires on May 19, 2026.
Temporary extension for ungated use of SharedArrayBuffers in pages that are not cross-origin isolated.
Incoming Call Notifications
Expires on May 19, 2026.
The Incoming Call Notifications API extends the Notifications API to allow an installed PWA to send incoming call notifications.
Incoming call notifications have a ringtone and buttons that are styled to indicate accepting or rejecting a call.
This helps web apps create more engaging experiences by making it easier for users to recognize a calling notification and answer it.
WebAssembly Custom Descriptors
Expires on Jun. 16, 2026.
WebAssembly Custom Descriptors allows WebAssembly to store data that's associated with source-level types more efficiently, in custom descriptor objects.
Web Install API
Expires on Jul. 14, 2026.
The Web Install API allows a website to install another website as a web app on the user's device, by using navigator.install().
<usermedia> HTML element
Expires on Jul. 14, 2026.
The <usermedia> HTML element is a browser-controlled element for requesting camera or microphone access.
Using a semantic HTML element instead of JavaScript:
- Provides better clarity to users about the permission request.
- Improves accessibility.
- Prevents manipulative UI patterns.
- Streamlines the workflow, by directly providing the media stream to your application. This eliminates the need for separate API calls.
Information about this origin trial:
Enhanced Canvas TextMetrics
Expires on Aug. 11, 2026.
The Enhanced Canvas TextMetrics origin trial expands the TextMetrics Canvas API to support:
- Selection rectangles.
- Bounding-box queries.
- Operations based on a glyph cluster.
This new functionality enables complex text-editing applications to have accurate selection, caret positioning, and hit-testing.
Also, cluster-based rendering facilitates sophisticated text effects, such as:
- Independent character animations.
- Independent character styling.
Information about this origin trial:
WebNN
Expires on Aug. 11, 2026.
Use the WebNN API to build and execute machine-learning models directly in your web app.
Use hardware-accelerated neural networks by creating computational graphs that efficiently map to platform capabilities and device hardware.
focusgroup HTML attribute for keyboard navigation
Expires on Aug. 11, 2026.
Standardize keyboard navigation for composite widgets such as toolbars, tabs, menus, and radio groups, by using the focusgroup HTML attribute.
The focusgroup attribute automatically handles the following, without requiring custom JavaScript code:
- The roving tabindex behavior.
- Navigation via arrow keys.
- Focus memory; restores the last-focused element when re-entering the focusgroup.
Information about this origin trial:
URL and eval hashes in CSP script-src
Expires on Aug. 25, 2026.
This feature introduces url- and eval- hashes to be used in script-src directives in Content Security Policy.
This enables you to write a strict CSP that only relies on hash and nonce based policies, without having to use permissive hostname based allowlists or unsafe-eval.
Digital Credentials API - Issuance Support
Expires on Sep. 8, 2026.
The Digital Credentials API enables triggering the issuance of user credentials from a credential issuer server to a digital wallet application.
For example, use the Digital Credentials API to trigger the provisioning of a new driver's license, or a verified academic degree, from a government or university server to a user's digital wallet.
prerender_until_script Speculation Rules API action
Expires on Sep. 8, 2026.
prerender_until_script is a new action for the Speculation Rules API. This new action provides a middle option in between the prefetch and the prerender actions.
Use the prerender_until_script action when you want the browser to prerender a page, but stop and switch back to prefetching after a specific script starts executing.
WebAudio Configurable Render Quantum
Expires on Sep. 8, 2026.
By default, WebAudio processes audio in fixed blocks of 128 sample-frames (a render quantum). When your app's audio processing block size doesn't match this default, development becomes complex and processing becomes less efficient.
Use the WebAudio Configurable Render Quantum origin trial to specify a renderSizeHint option when creating an AudioContext or OfflineAudioContext, to request a particular render quantum size.
- Pass an integer, to request a specific size.
- Pass
"default"(or omit the option), to use the default of 128 frames. - Pass
"hardware", to let the browser pick an optimal size for the current configuration.
Information about this origin trial:
Prerender activation by form submission
Expires on Sep. 8, 2026.
This origin trial adds a new field to the Speculation Rules API, to allow prerender rules to be activated by form submissions.
CPU Performance API
Expires on Sep. 8, 2026.
The CPU Performance API exposes information about how powerful the user's device is.
This API targets web applications that use this information to provide an improved user experience, possibly in combination with the Compute Pressure API.
The Compute Pressure API provides information about the user device's CPU pressure and utilization, and allows the app to react to changes in CPU pressure.
Prerendering cross-origin iframes
Expires on Sep. 22, 2026.
By default, navigational prerendering delays the loading of all cross-origin iframes until the prerendered page is activated. When cross-origin iframes are critical to your application, this delay can negate many of the benefits of prerendering.
This origin trial prerenders cross-origin iframes by using an opt-in response header. The browser prerenders all cross-origin frames if the top-level frame's HTTP response includes the Supports-Loading-Mode: prerender-cross-origin-frames header.
Autofill Event
Expires on Nov. 3, 2026.
Use the new autofill event to detect when browser autofill updates form controls.
This makes it easier to adapt custom UI, validation, or dependent form logic after autofill completes.
Note
Portions of this page are modifications based on work created and shared by Chromium.org and used according to terms described in the Creative Commons Attribution 4.0 International License.