1. :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.

  2. CSS @when / @else conditional rules

    Syntax allowing CSS conditions (like media and support queries) to be written more simply, as well as making it possibly to write mutually exclusive rules using `@else` statements.

  3. DOM manipulation convenience methods

    jQuery-like methods on DOM nodes to insert nodes around or within a node, or to replace one node with another. These methods accept any number of DOM nodes or HTML strings as arguments. Includes: `ChildNode.before`, `ChildNode.after`, `ChildNode.replaceWith`, `ParentNode.prepend`, and `ParentNode.append`.

  4. JavaScript modules via script tag

    Loading JavaScript module scripts (aka ES6 modules) using `<script type="module">` Includes support for the `nomodule` attribute.

  5. JavaScript modules: dynamic import()

    Loading JavaScript modules dynamically using the import() syntax

  6. 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`.

  7. Full Screen API

    API for allowing content (like a video or canvas element) to take up the entire screen.

  8. Multiple file selection

    Allows users to select multiple files in the file picker.

  9. Intl.PluralRules API

    API for plural sensitive formatting and plural language rules.

  10. Lookbehind in JS regular expressions

    The positive lookbehind (`(?<= )`) and negative lookbehind (`(?<! )`) zero-width assertions in JavaScript regular expressions can be used to ensure a pattern is preceded by another pattern.

  11. Resource Hints: modulepreload

    Using `<link rel="modulepreload">`, browsers can be informed to prefetch module scripts without having to execute them, allowing fine-grained control over when and how module resources are loaded.

  12. CSS3 Multiple backgrounds

    Method of using multiple images as a background

  13. CSS3 Multiple column layout

    Method of flowing information in multiple columns

  14. Trusted Types for DOM manipulation

    An API that forces developers to be very explicit about their use of powerful DOM-injection APIs. Can greatly improve security against XSS attacks.

  15. cssrule api

  16. cssrulelist api

  17. cssrulelist api: item

  18. cssrulelist api: length

  19. cssrule api: csstext

  20. cssrule api: parentrule

  21. cssrule api: type

  22. htmlulistelement api

  23. htmlulistelement api: type

  24. css at-rule: `@charset`

  25. css at-rule: `@container`

  26. css at-rule: `@document`

  27. css at-rule: `@import`

  28. css at-rule: `@keyframes`

  29. css at-rule: `@layer`

  30. css at-rule: `@media`

  31. css at-rule: `@page`

  32. css at-rule: `@property`

  33. html element: ul

  34. html element: ul: compact

  35. html element: ul: type

  36. javascript built-in: date: getfullyear

  37. javascript built-in: date: getutcfullyear

  38. javascript built-in: date: setfullyear

  39. javascript built-in: date: setutcfullyear

  40. javascript built-in: intl: pluralrules: `pluralrules()` constructor

  41. javascript built-in: intl: pluralrules: resolvedoptions

  42. javascript built-in: intl: pluralrules: select

  43. javascript built-in: intl: pluralrules: selectrange

  44. javascript built-in: intl: pluralrules: supportedlocalesof

  45. javascript built-in: math: imul

  46. javascript built-in: regexp: multiline

  47. grammar: null literal (`null`)

  48. grammar: regular expression literals (`/ab+c/g`)

  49. javascript operator: multiplication (`*`)

  50. javascript operator: null