1. Array.prototype.includes

    Determines whether or not an array includes the given value, returning a boolean value (unlike `indexOf`).

  2. BigInt

    Arbitrary-precision integers in JavaScript.

  3. Case-insensitive CSS attribute selectors

    Including an `i` before the `]` in a CSS attribute selector causes the attribute value to be matched in an ASCII-case-insensitive manner. For example, `[b="xyz" i]` would match both `<a b="xyz">` and `<a b="XYZ">`.

  4. 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.

  5. :in-range and :out-of-range CSS pseudo-classes

    If a temporal or number `<input>` has `max` and/or `min` attributes, then `:in-range` matches when the value is within the specified range and `:out-of-range` matches when the value is outside the specified range. If there are no range constraints, then neither pseudo-class matches.

  6. CSS Initial Letter

    Method of creating an enlarged cap, including a drop or raised cap, in a robust way.

  7. CSS initial value

    A CSS value that will apply a property's initial value as defined in the CSS specification that defines the property

  8. Media Queries: interaction media features

    Allows a media query to be set based on the presence and accuracy of the user's pointing device, and whether they have the ability to hover over elements on the page. This includes the `pointer`, `any-pointer`, `hover`, and `any-hover` media features.

  9. CSS text-indent

    The `text-indent` property applies indentation to lines of inline content in a block.

  10. CSS3 Cursors: zoom-in & zoom-out

    Support for `zoom-in`, `zoom-out` values for the CSS3 `cursor` property.

  11. Input Method Editor API

    Provides scripted access to the Input Method Editor (IME). An IME is often used to input characters from East Asian languages by typing roman characters and selecting from the resulting suggestions.

  12. IndexedDB

    Method of storing data client-side, allows indexed database queries.

  13. IndexedDB 2.0

    Improvements to Indexed DB, including getAll(), renaming stores and indexes, and binary keys.

  14. HTMLElement.innerText

    A property representing the text within a DOM element and its descendants. As a getter, it approximates the text the user would get if they highlighted the contents of the element with the cursor and then copied to the clipboard.

  15. Color input type

    Form field allowing the user to select a color.

  16. Date and time input types

    Form field widgets to easily allow users to enter a date, time or both, generally by using a calendar/time input widget. Refers to supporting the following input types: `date`, `time`, `datetime-local`, `month` & `week`.

  17. Email, telephone & URL input types

    Text input fields intended for email addresses, telephone numbers or URLs. Particularly useful in combination with [form validation](https://caniuse.com/#feat=form-validation)

  18. input event

    The `input` event is fired when the user changes the value of an `<input>` element, `<select>` element, or `<textarea>` element. By contrast, the "change" event usually only fires after the form control has lost focus.

  19. accept attribute for file input

    Allows a filter to be defined for what type of files a user may pick with from an `<input type="file">` dialog

  20. Directory selection from file input

    The `webkitdirectory` attribute on the `<input type="file">` element allows entire directory with file contents (and any subdirectories) to be selected.

  21. inputmode attribute

    The `inputmode` attribute specifies what kind of input mechanism would be most helpful for users entering content into the form control.

  22. Number input type

    Form field type for numbers.

  23. Pattern attribute for input fields

    Allows validation of an input field based on a given regular expression pattern.

  24. input placeholder attribute

    Method of setting placeholder text for text-like input fields, to suggest the expected inserted information.

  25. Range input type

    Form field type that allows the user to select a value using a slider widget.

  26. Search input type

    Search field form input type. Intended to look like the underlying platform's native search field widget (if there is one). Other than its appearance, it's the same as an `<input type="text">`.

  27. Selection controls for input & textarea

    Controls for setting and getting text selection via `setSelectionRange()` and the `selectionStart` & `selectionEnd` properties.

  28. Element.insertAdjacentElement() & Element.insertAdjacentText()

    Methods for inserting an element or text before or after a given element, or appending or prepending an element or text to a given element's list of children.

  29. Element.insertAdjacentHTML()

    Inserts a string of HTML into a specified position in the DOM relative to the given element.

  30. Internationalization API

    Locale-sensitive collation (string comparison), number formatting, and date and time formatting.

  31. IntersectionObserver

    API that can be used to understand the visibility and position of DOM elements relative to a containing element or to the top-level viewport. The position is delivered asynchronously and is useful for understanding the visibility of elements and implementing pre-loading and deferred loading of DOM content.

  32. IntersectionObserver V2

    Iteration on the original API that also reports if the element is covered by another element or has filters applied to it. Useful for blocking clickjacking attempts or tracking ad exposure.

  33. Intl.PluralRules API

    API for plural sensitive formatting and plural language rules.

  34. maxlength attribute for input and textarea elements

    Declares an upper bound on the number of characters the user can input. Normally the UI ignores attempts by the user to type in additional characters beyond this limit.

  35. Network Information API

    The Network Information API enables web applications to access information about the network connection in use by the device. Accessed via `navigator.connection`

  36. Picture-in-Picture

    Allows websites to create a floating video window that is always on top of other windows so that users may continue consuming media while they interact with other sites or applications on their device.

  37. readonly attribute of input and textarea elements

    Makes the form control non-editable. Unlike the `disabled` attribute, `readonly` form controls are still included in form submissions and the user can still select (but not edit) their value text.

  38. display: run-in

    If the run-in box contains a block box, same as block. If a block box follows the run-in box, the run-in box becomes the first inline box of the block box. If an inline box follows, the run-in box becomes a block box.

  39. Server Name Indication

    An extension to the TLS computer networking protocol by which a client indicates which hostname it is attempting to connect to at the start of the handshaking process.

  40. Subresource Integrity

    Subresource Integrity enables browsers to verify that file is delivered without unexpected manipulation.

  41. SVG in CSS backgrounds

    Method of using SVG images as CSS backgrounds

  42. SVG in HTML img element

    Method of displaying SVG images in HTML using <img>.

  43. Upgrade Insecure Requests

    Declare that browsers should transparently upgrade HTTP resources on a website to HTTPS.

  44. indexeddb api

  45. ink api

  46. inputevent api

  47. installevent api

  48. invokeevent api

  49. microsoft internet explorer

  50. samsung internet browser