2027 Web Platform Feature Ranking

Cameron Pak

Ranked proposals (top = most important)

  1. Web app manifest share_target

    Allows an installed web app to appear in the device's share dialog as a target for shared content.

  2. Web app installation via <install> and navigator.install()

    Prompts the user to install a progressive web app.

  3. JavaScript self-profiling API

    The Profiler API records data about the execution of a page, which you can send to a server for later analysis.

  4. CSS flex-⁠wrap: balance

    Distributes items in a multi-line flex container so each line has about the same number of items.

  5. Responsive iframes

    The frame-⁠sizing CSS property sizes an <iframe> to its content, avoiding scrolling within the iframe.

  6. CSS interpolate-⁠size property and calc-⁠size() function

    Allows animating to height: auto, and using intrinsic sizes in calculations.

  7. Element-scoped view transitions

    element.startViewTransition() starts a view transition that only affects that element's subtree, allowing multiple transitions to run concurrently.

  8. Sanitizer API, via document.parseHTML() and element.setHTML()

    Customizes the sanitization of HTML inserted into the DOM, to prevent cross-site scripting attacks.

  9. DOM moveBefore()

    Relocates a node while preserving its state like focus, animation, or move an iframe without reloading its content.

  10. Connection-⁠Allowlist header

    Limits which origins a page may connect to using fetch and other APIs.

  11. Contact Picker API

    navigator.contacts allows users to share selected entries from their contact list.

  12. Single-axis scroll containers

    Such as overflow: scroll clip, which allows position: sticky to work relative to different scroll containers per axis.

  13. Additional sanitizing HTML methods and trusted types integration

    Such as beforeHTML(), appendHTML(), and replaceWithHTML(), which insert sanitized HTML into an existing tree.

  14. Allow CSS transitioning/animating display and content-⁠visibility

    Useful for delaying display: none until an exit animation completes.