The following are the new web platform features and updates in Microsoft Edge 157, which releases on Nov. 5, 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:
- Microsoft Edge DevTools
- WebView2
- CSS features
- HTML features
- Web APIs
- Updated HTML insertion and streaming methods
- Sanitizer API:
javascriptURLsoption - HTML-in-canvas
- Long Animation Frames API: style and layout durations
- CORS enforcement for the Background Fetch API
ProgressEventin service workers- Web Bluetooth:
BluetoothRemoteGATTServeris anEventTarget - WebGPU:
atomic-vec2u-min-maxfeature
- Origin trials
Microsoft Edge DevTools
See What's new in Microsoft Edge DevTools.
WebView2
See Release notes for WebView2.
CSS features
The following new Cascading Style Sheets (CSS) features are included in Microsoft Edge.
corner shorthand properties
The new corner CSS shorthand property sets both the radius and the shape of an element's corners in a single declaration, by combining the border-radius and corner-shape properties.
For example:
.card {
/* Equivalent to: border-radius: 20px; corner-shape: squircle; */
corner: 20px squircle;
}
The following additional shorthand properties let you set the radius and shape of specific corners:
- Per-corner shorthands:
corner-top-left,corner-top-right,corner-bottom-left, andcorner-bottom-right. - Physical edge shorthands, such as
corner-topandcorner-bottom, which set the two corners of an edge. - Logical edge shorthands, such as
corner-block-startandcorner-block-end, which set the two corners of an edge, based on the writing mode.
See also:
- The corner shorthand in CSS Borders and Box Decorations Module Level 4.
- border-radius CSS property at MDN.
- corner-shape CSS property at MDN.
text-decoration-inset property
The text-decoration-inset CSS property controls how far underlines, overlines, and line-through decorations are inset from or extended beyond the start and end edges of an element's text.
text-decoration-inset supports the following types of values:
auto, which lets the browser determine the appropriate inset based on the element's text and surrounding context.- A length value, such as
20px. - A percentage value, such as
10%. - Either one or two values. The first value sets the start offset. The second value, if specified, sets the end offset.
This lets you adjust decoration spacing and create reveal effects with native text decorations, instead of using background gradients or additional elements.
See also:
Custom string value for text-overflow
The text-overflow CSS property now accepts a string value, to specify the custom text that's displayed when the content of an element overflows and is clipped.
Previously, you could only use the clip or ellipsis values. A custom string lets you create overflow indicators that better fit your content, for example:
.summary {
overflow: hidden;
white-space: nowrap;
text-overflow: " (more)";
}
See also:
- text-overflow CSS property at MDN.
- text-overflow in CSS Overflow Module Level 4.
position-visibility: anchor-valid and anchor-visible
When using CSS anchor positioning, the position-visibility CSS property controls when an anchor-positioned element is hidden. The position-visibility property now supports the following values:
anchor-valid(new) - The anchor-positioned element is only displayed if its default anchor element exists, and the element can therefore be positioned relative to it.anchor-visible- The anchor-positioned element is only displayed if its default anchor element is at least partially visible. This value replaces theanchors-visiblevalue.
The plural anchors-visible value is now deprecated, and is an alias of anchor-visible. Use anchor-visible instead.
See also:
- position-visibility CSS property at MDN.
- CSS anchor positioning at MDN.
- position-visibility in CSS Anchor Positioning Module Level 1.
HTML features
The following new HTML features are included in Microsoft Edge.
Icon-only mode for the <camera>, <microphone>, and <geolocation> elements
The <camera>, <microphone>, and <geolocation> HTML elements now support the displaymode attribute, which you can use to render these elements as compact, icon-only buttons, without text. For example:
<camera displaymode="icon-only"></camera>
Icon-only buttons are useful in space-constrained layouts, such as map controls or floating video toolbars. In icon-only mode, the elements keep the same security guarantees, and remain fully accessible to screen readers.
See also:
- <geolocation> HTML element at MDN.
<camera>and<microphone>elements in Microsoft Edge 153 web platform release notes (Sep. 10, 2026).- Media capture HTML elements in Media Capture and Streams Extensions.
Web APIs
The following new Web API features are included in Microsoft Edge.
Updated HTML insertion and streaming methods
The following HTML insertion and streaming methods provide a more coherent way to dynamically insert HTML into an existing document:
- Positional methods, which take HTML as an argument and effectively replace
insertAdjacentHTML():beforeHTML()andbeforeHTMLUnsafe()afterHTML()andafterHTMLUnsafe()appendHTML()andappendHTMLUnsafe()prependHTML()andprependHTMLUnsafe()replaceWithHTML()andreplaceWithHTMLUnsafe()
- Streaming methods, which return a
WritableStreamobject that parses the HTML text that you write to it:streamHTML()andstreamHTMLUnsafe()streamAppendHTML()andstreamAppendHTMLUnsafe()streamPrependHTML()andstreamPrependHTMLUnsafe()streamReplaceWithHTML()andstreamReplaceWithHTMLUnsafe()streamBeforeHTML()andstreamBeforeHTMLUnsafe()streamAfterHTML()andstreamAfterHTMLUnsafe()
Additionally, you can set the runScripts option to true when calling any of the unsafe HTML insertion or streaming methods, to allow the method to run scripts in a similar fashion to createContextualFragment().
Trusted Types policies can also override the scripting mode and the sanitizer that are used by these methods.
Before these methods, you could already update HTML dynamically from script by using multiple disjointed APIs, each with its own subtle differences. For example, you can:
- Partially update an element by using
insertAdjacentHTML(). - Sanitize HTML by using
setHTML(). - Execute scripts by using
createContextualFragment(). - Stream HTML by using a detached document.
Such multiple, disjointed APIs can be confusing and hard to use. Such APIs can also cause security issues when not used well.
See also:
Sanitizer API: javascriptURLs option
The Sanitizer API now provides the javascriptURLs configuration option and the setJavascriptURLs() method, to control whether javascript: URLs that are used for navigation, such as in the href attribute of an <a> element, are removed when sanitizing HTML.
Previously, whether javascript: URLs were removed depended on the method that you used:
- The safe methods, such as
setHTML(), always removedjavascript:URLs. - The unsafe methods, such as
setHTMLUnsafe(), never removedjavascript:URLs.
Now, removing javascript: URLs is an explicit part of the sanitizer configuration, which you can use with any method.
If you don't use the new option, the behavior is unchanged.
See also:
- HTML Sanitizer API at MDN.
- Sanitizer at MDN.
- setJavascriptURLs() in HTML Standard.
HTML-in-canvas
The HTML-in-canvas API lets you draw HTML elements into a <canvas> element, so that you can use the canvas to customize how HTML content is rendered, while keeping the content accessible, interactive, and correctly laid out.
For example, you can use HTML-in-canvas to render the following:
- Styled text in charts.
- Rich content in creative tools.
- In-game menus.
- HTML content on surfaces within a 3D scene.
HTML-in-canvas provides the following primitives:
- Attributes to opt the descendants of a
<canvas>element into layout and drawing. - Methods to draw elements into the canvas:
drawElementImage()for 2D canvas contexts, and equivalent methods for WebGL and WebGPU. - A
paintevent, which fires when the drawn elements need to be updated in the canvas. - Methods to synchronize the geometry of the drawn elements with the DOM, for hit testing and accessibility.
See also:
Long Animation Frames API: style and layout durations
The Long Animation Frames API now reports how much time was spent on style and layout calculations, so that you can distinguish style time from layout time when analyzing slow frames:
PerformanceLongAnimationFrameTimingobjects have the newstyleDurationandlayoutDurationproperties, which report the time that's spent recalculating styles and updating layout, as part of the rendering update.PerformanceScriptTimingobjects have the newforcedStyleDurationandforcedLayoutDurationproperties, which report the time that's spent on style and layout calculations that were forced synchronously by scripts.
See also:
- Long animation frame timing at MDN.
- PerformanceLongAnimationFrameTiming at MDN.
CORS enforcement for the Background Fetch API
The Background Fetch API now enforces Cross-Origin Resource Sharing (CORS).
This ensures that Background Fetch requests are subject to the same security policies, such as Local Network Access checks. This prevents sites from bypassing CORS (and other security policy checks) by using Background Fetch instead of regular Fetch.
See also:
- Background Fetch API at MDN.
- Fetch API at MDN.
- Fetch standard.
- Cross-Origin Resource Sharing (CORS) at MDN.
ProgressEvent in service workers
The ProgressEvent interface is now available in service workers. You can use the ProgressEvent() constructor in a service worker to create progress events with the lengthComputable, loaded, and total properties.
This aligns service workers with other worker contexts and with the XMLHttpRequest standard.
See also:
- ProgressEvent at MDN.
- Service Worker API at MDN.
Web Bluetooth: BluetoothRemoteGATTServer is an EventTarget
The BluetoothRemoteGATTServer interface now inherits from EventTarget, and therefore exposes the addEventListener(), removeEventListener(), and dispatchEvent() methods.
This allows connection-level events to be dispatched directly on the GATT server object.
See also:
- BluetoothRemoteGATTServer at MDN.
- Web Bluetooth API at MDN.
WebGPU: atomic-vec2u-min-max feature
The atomic-vec2u-min-max WebGPU feature allows you to use 64-bit atomic minimum and maximum operations on atomic<vec2u> values, in WebGPU Shading Language (WGSL) shaders.
This lets you implement algorithms that require 64-bit atomics, without requiring full support for 64-bit integers.
See also:
- WebGPU API at MDN.
- atomic-vec2u-min-max in WebGPU, at W3C.
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.
| Name | Description | Register |
|---|---|---|
| Gamepad raw input event | Instead of relying on frequent polling via navigator.getGamepads(), webpages can listen for gamepadrawinputchanged events. These events are fired whenever changes are detected between input frames from the same device. |
Register |
| Control viewport heuristics in Speculation Rules API | Lets you control the viewport heuristics that are used by speculation rules, to determine if different heuristics parameters give you better results than the default ones. | Register |
| User Agent Image Replacement API | Lets you observe when browser features replace images in your page's content. These browser features are currently limited to selected sites. | Register |
| Autofill Event | Detects when browser autofill updates form controls, for adapting custom UI and validation. | Register |
| Prerendering cross-origin iframes | Prerenders cross-origin iframes via an opt-in response header, instead of delaying them until page activation. | Register |
| Speculative Load measurement | performance.speculations exposes data about used and unused preloads, prefetches, and prerenders. This helps you measure the effectiveness of speculative loading strategies and optimize performance-versus-cost tradeoffs. |
Register |
| Prompt API sampling parameters | The topK and temperature sampling parameters let you optimize model behavior per language-model session. |
Register |
PrefetchAndPrerenderActivationBeacon |
Allows Edge to reliably report an activation beacon when a prefetch or prerendered page is activated. | Register |
prerender_until_script Speculation Rules API action |
A Speculation Rules API action that prerenders a page, but switches to prefetching when a script executes. | Register |
| JS Self-Profiling Markers | Extends the JS Self-Profiling API with sample markers such as script, gc, style, layout, and paint. These markers identify the activity that the browser was doing at capture time. |
Register |
| Email Verification Protocol | Enables websites to verify email ownership by using cryptographic tokens that are issued by email providers. This reduces reliance on email one-time passcodes (OTPs), and streamlines sign-up, sign-in, and recovery flows. | Register |
| WebAssembly Custom Descriptors V2 | Stores data that's associated with source-level types more efficiently, in custom descriptor objects. | Register |
| Declarative Performance Observer API | Uses HTTP response headers to prove a reliable browser-managed telemetry system that reports performance metrics for the site, from navigation initiation to page termination. | Register |
| WebMCP | Enables your site to register tools for an in-browser agent to complete tasks on behalf of a user. | Register |
| Connection Allowlist Embedded Enforcement | Lets an embedder use the connectionallowlist attribute on an <iframe> element to require that the framed document restricts its outgoing network connections to a declared allowlist. If the framed document doesn't deliver a matching Connection-Allowlist header, its response is blocked. |
Register |
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.