Microsoft Edge Developer Guide

Tip

We've partnered with other browsers and the web community in adopting MDN Web Docs as the definitive place for useful, unbiased, browser-agnostic documentation for current and emerging standards-based web technologies. You can find details about EdgeHTML API support directly in each page of the MDN web reference library. Visit Microsoft Edge's Platform status for the latest features supported in Microsoft Edge.

What's new in EdgeHTML 17

Here's a list of the new and updated features shipped in the current release of the Microsoft Edge platform, as of the Windows 10 April 2018 Update (04/2018, Build 17134). For changes in specific Windows Insider Preview builds, see the Microsoft Edge Changelog and What's New in EdgeHTML.

Here's the permalink for the following list of changes: https://aka.ms/devguide_edgehtml_17.

New and updated features

ARIA 1.1 Roles, States, and Events

EdgeHTML 17 adds support for various roles, states, and properties from the Accessible Rich Internet Applications (WAI-ARIA) 1.1 specification, including feed, form, aria-haspopup, aria-placeholder, and many more; find a full list of ARIA updates in the changelog. With this update, EdgeHTML 17 now supports all roles and attributes defined in WAI-ARIA 1.1. Check out the Accessibility docs for more information about accessibility in Microsoft Edge.

CSS masking

EdgeHTML 17 includes experimental support for CSS Masking. The partial implementation introduces the CSS mask-image and mask-size properties. Check the "Enable CSS Masking" flag in about:flags to being experimenting!

CSS transforms on SVG elements

EdgeHTML 17 now supports CSS transforms on SVG elements and presentation attributes. This allows SVG elements to be visually manipulated, including rotating, scaling, moving, skewing, or translating.

Extensions

Microsoft Edge now supports the Notification API which displays notifications from extensions. Extension developers can now create different types of notifications (basic, list, image etc.) which support full user interaction. The notifications are also automatically logged into the Action Center. Visit the notifications sample on how to use this API in your extension.

EdgeHTML 17 now also supports the Tabs.reload() method as part of the standard tabs API class. Also new in the Windows 10 April 2018 Update, users can now choose to allow extensions to run during inPrivate browsing.

For more details on extensions updates in this release, head over to the blog post New features for extensions in the Windows 10 April 2018 Update.

DevTools

This release of the DevTools ships in two ways: as the traditional in-browser (F12) tools for Edge, and previewing as a standalone Windows 10 app from the Microsoft Store!

Microsoft Edge DevTools app

The tools have also been updated with a number of major features, including basic support for remote debugging (via our new DevTools Protocol), PWA debugging features, IndexedDB cache management, vertical docking and more! We also continued the overall refactoring effort started last release as part of ongoing investments in performance and reliability.

Visit DevTools in the latest Windows 10 update (EdgeHTML 17) for more details.

Media element

EdgeHTML 17 includes updates to HTMLMediaElement including:

  • The new preload attribute on the <media> element indicates what data should be preloaded.
  • The addition of the setSinkId() method and sinkId property allow developers to select the audio output device. (Note: this is not yet avaiable in RTC)

Media Capture API

Microsoft Edge now supports Screen Capture in RTC via the Media Capture API. This feature lets web pages capture output of a user’s display device, commonly used to broadcast a desktop for plugin-free virtual meetings or presentation

Progressive Web Apps

Starting in EdgeHTML 17, Service Workers and push notifications are enabled by default (learn more about these features in the blog post Service Worker: Going beyond the page. This completes the suite of technologies (including Fetch networking and the Push and Cache APIs) that lays the technical foundation for progressive Web Apps (PWAs) on Windows 10.

PWAs are simply web apps that are progressively enhanced with native app-like features on supporting platforms and browser engines, such as installation / home screen launch, offline support, and push notifications. On Windows 10 with the Microsoft Edge (EdgeHTML) engine, PWAs enjoy the added advantage of running independently of the browser window as Universal Windows Platform apps.

Beyond PWAs, Service Workers and the Cache API allow developers the ability to intercept network requests and respond from the cache. A website need not even been a full-blow web app to take advantage of the Service Worker cache for fine-tined page load performance and reliability, as well as the ability to provide an offline experience during periods of no internet or poor-quality connection.

Head over to our Progressive Web Apps on Windows docs to learn more about Service Workers and details about PWAs on Windows 10.

Web Security

EdgeHTML 17 introduces support for Subresource Integrity (SRI). Subresource Integrity is a secuirty feature that allows browsers to verify that fetched resources (e.g. images, scripts, fonts, etc.) are delivered without unexpected manipulation.

Add an integrity attribute containing a cryptographic hash representation of the resource that you expect to load on your webpage to a <script> or <link> element, like the example below. Then, Microsoft Edge will compare the requested resource to the hash defined in the integrity attribute. If they do not match, Microsoft Edge will not execute the resource and returns an error to the network.

<script src="https://example.com/example-framework.js" 
        integrity="sha384-Li9vy3DqF8tnTXuiaAJuML3ky+er10rcgNR/VqsVpcw+ThHmYcwiB1pbOxEbzJr7" 
        crossorigin="anonymous"></script>

Also new in EdgeHTML 17, the Upgrade-Insecure-Requests request header allows browsers to request a secure browsing experience. This header tells the server that the browser supports upgrading any insecure requests and the user should be redirected to a secure version of the site if available.

Variable Fonts

Full support for Variable Fonts (including CSS font-variation-settings and font-optical-sizing) is available in EdgeHTML 17. Variable fonts enable developers to achieve the look of seemingly different typefaces with a single font by adjusting various axes – reducing the need for multiple font files and bettering performance.

Join us on an expedition to learn about what variable fonts provide web developers and designers, and how to use them on your site. And read more about Variable Fonts in the blog post, Bringing expressive, performant typography to Microsoft Edge with Variable Fonts.

New APIs in EdgeHTML 17

Here's the full list of new APIs in EdgeHTML 17. They are listed in the format of [interface name].[api name].

Note

Although the following APIs are exposed in the DOM, the end-to-end behavior of some might still be in development. Refer to Microsoft Edge platform status for the official word on feature support.

Previous EdgeHTML releases

EdgeHTML 13 / Windows build 10586 (11/2015)

EdgeHTML 14 / Windows build 14393 (8/2016)

EdgeHTML 15 / Windows build 15063 (4/2017)

EdgeHTML 16 / Windows build 16299 (10/2017)