Window fires `beforeprint` and `afterprint` events so the printed document can be annotated.
Content Security Policy 1.0
Mitigate cross-site scripting attacks by only allowing certain sources of script, style, and other resources.
Content Security Policy Level 2
Mitigate cross-site scripting attacks by only allowing certain sources of script, style, and other resources. CSP 2 adds hash-source, nonce-source, and five new directives
The `print-color-adjust` (or `-webkit-print-color-adjust` as prefixed in WebKit/Blink browsers) property is a CSS extension that can be used to force printing of background colors and images.
:default CSS pseudo-class
The `:default` pseudo-class matches checkboxes and radio buttons which are checked by default, `<option>`s with the `selected` attribute, and the default submit button (if any) of a form.
CSS Filter Effects
Method of applying filter effects using the `filter` property to elements, matching filters available in SVG. Filter functions include blur, brightness, contrast, drop-shadow, grayscale, hue-rotate, invert, opacity, sepia and saturate.
::first-letter CSS pseudo-element selector
CSS pseudo-element that allows styling only the first "letter" of text within an element. Useful for implementing initial caps or drop caps styling.
:focus-visible CSS pseudo-class
The `:focus-visible` pseudo-class applies while an element matches the `:focus` pseudo-class, and the UA determines via heuristics that the focus should be specially indicated on the element (typically via a “focus ring”).
:focus-within CSS pseudo-class
The `:focus-within` pseudo-class matches elements that either themselves match `:focus` or that have descendants which match `:focus`.
Allows some punctuation characters from start (or the end) of text elements to be placed "outside" of the box in order to preserve the reading flow.
:has() CSS relational pseudo-class
Select elements containing specific content. For example, `a:has(img)` selects all `<a>` elements that contain an `<img>` child.
CSS ::marker pseudo-element
The `::marker` pseudo-element allows list item markers to be styled or have their content value customized.
:is() CSS pseudo-class
The `:is()` (formerly `:matches()`, formerly `:any()`) pseudo-class checks whether the element at its position in the outer selector matches any of the selectors in its selector list. It's useful syntactic sugar that allows you to avoid writing out all the combinations manually as separate selectors. The effect is similar to nesting in Sass and most other CSS preprocessors.
CSS Motion Path
Allows elements to be animated along SVG paths or shapes via the `offset-path` property. Originally defined as the `motion-path` property.
::placeholder CSS pseudo-element
The ::placeholder pseudo-element represents placeholder text in an input field: text that represents the input and provides a hint to the user on how to fill out the form. For example, a date-input field might have the placeholder text `YYYY-MM-DD` to clarify that numeric dates are to be entered in year-month-day order.
:placeholder-shown CSS pseudo-class
Input elements can sometimes show placeholder text as a hint to the user on what to type in. See, for example, the placeholder attribute in HTML5. The :placeholder-shown pseudo-class matches an input element that is showing such placeholder text.
A mechanism that allows developers to set certain rules and policies for a given site. The rules can change default browser behaviour, block certain features or set limits on resource usage. Document Policy is useful both for security and performance, and is similar to [Permissions Policy](/permissions-policy).
ECMAScript 2015 (ES6)
Support for the ECMAScript 2015 specification. Features include Promises, Modules, Classes, Template Literals, Arrow Functions, Let and Const, Default Parameters, Generators, Destructuring Assignment, Rest & Spread, Map/Set & WeakMap/WeakSet and many more.
This specification defines a mechanism that allows developers to selectively enable and disable use of various browser features and APIs. Feature Policy is deprecated and has been replaced with [Permissions Policy](/permissions-policy) and [Document Policy](/document-policy).
CSS Flexible Box Layout Module
Method of positioning elements in horizontal or vertical stacks. Support includes all properties prefixed with `flex`, as well as `display: flex`, `display: inline-flex`, `align-content`, `align-items`, `align-self`, `justify-content` and `order`.
High-quality kerning pairs & ligatures
When used in HTML, the unofficial `text-rendering: optimizeLegibility` CSS property enables high-quality kerning and ligatures in certain browsers. Newer browsers have this behavior enabled by default.
Resource Hints: preconnect
Gives a hint to the browser to begin the connection handshake (DNS, TCP, TLS) in the background to improve performance. This is indicated using `<link rel="preconnect" href="https://example-domain.com/">`
Resource Hints: prefetch
Informs the browsers that a given resource should be prefetched so it can be loaded more quickly. This is indicated using `<link rel="prefetch" href="(url)">`
Resource Hints: preload
Using `<link rel="preload">`, browsers can be informed to prefetch resources without having to execute them, allowing fine-grained control over when and how resources are loaded.
Resource Hints: prerender
Gives a hint to the browser to render the specified page in the background, speeding up page load if the user navigates to it. This is indicated using `<link rel="prerender" href="(url)">`
Fired at the Window when the page's entry in the session history stops being the current entry. Includes the `pageshow` and `pagehide` events.
Passive event listeners
Event listeners created with the `passive: true` option cannot cancel (`preventDefault()`) the events they receive. Primarily intended to be used with touch events and `wheel` events. Since they cannot prevent scrolls, passive event listeners allow the browser to perform optimizations that result in smoother scrolling.
Passkeys, also known as Multi-device FIDO Credentials, provide users with an alternative to passwords that is much easier to use and far more secure.
Allows path objects to be declared on 2D canvas surfaces
Payment Request API
Payment Request is a new API for the open web that makes checkout flows easier, faster and consistent on shopping sites.
Built-in PDF viewer
Support for a PDF viewer that is part of the browser, rather than requiring a PDF file to be opened in an external application.
A security mechanism that allows developers to explicitly enable or disable various powerful browser features for a given site. Similar to [Document Policy](/document-policy).
A responsive images method to control which image resource a user agent presents to a user, based on resolution, media query and/or support for a particular image format
When used on an anchor, this attribute signifies that the browser should send a ping request the resource the attribute points to.
This specification integrates various inputs from mice, touchscreens, and pens, making separate implementations no longer necessary and authoring for cross-device pointers easier. Not to be mistaken with the unrelated "pointer-events" CSS property.
CSS pointer-events (for HTML)
This CSS property, when set to "none" allows elements to not receive hover/click events, instead the event will occur on anything behind it.
Portals enable seamless navigation between sites or pages. A new page can be loaded as an inset using the `<portal>` element (similar to an iframe) which can then seamlessly transition to the new navigated state when "activated".
prefers-color-scheme media query
Media query to detect if the user has set their system to use a light or dark color theme.
prefers-reduced-motion media query
CSS media query based on a user preference for preferring reduced motion (animation, etc).
Method of indicating a progress state.
When the promise is settled, whether fulfilled or rejected, the specified callback function is executed.
A promise represents the eventual result of an asynchronous operation.
The Proxy object allows custom behavior to be defined for fundamental operations. Useful for logging, profiling, object visualization, etc.
A policy that controls how much information is shared through the HTTP `Referer` header. Helps to protect user privacy.
Custom protocol handling
Method of allowing a webpage to handle a given protocol using `navigator.registerProtocolHandler`. This allows certain URLs to be opened by a given web application, for example `mailto:` addresses can be opened by a webmail client.
Allows representation of an indefinite number of arguments as an array.
DOM Parsing and Serialization
Various DOM parsing and serializing functions, specifically `DOMParser`, `XMLSerializer`, `innerHTML`, `outerHTML` and `insertAdjacentHTML`.
html element: p