Web Components specifications

Safari supports a subset of the overall specifications that make up Web Components, but I'm wondering where are these specific specifications defined by WHATWG?

  • customized built-in elements
  • form-associated custom elements

Currently web engineers have to provide polyfills in Safari to support customized built-in elements and form-associated custom elements.

These bugs track the implementation of form-associated custom elements, so I'm optimistic web engineers will see this specification sooner than later in Safari. As a web engineer concerned with security, I have some doubts polyfilling a specification that interacts so closely with forms.

https://bugs.webkit.org/show_bug.cgi?id=197963 https://bugs.webkit.org/show_bug.cgi?id=197960

Previously, a representative from Apple refused to implement customized built-in elements specification here in discussion about the topic, claiming the specification "would harm the long term health of the Web platform".

https://github.com/WICG/webcomponents/issues/509#issuecomment-230700060

Since 2016, customized built-in elements have been supported in Firefox, Edge, and Chrome, so I'm wondering why hasn't Apple at least planned to implement this particular specification as defined by the WHATWG, despite prior objections?

As a web engineer concerned with performance, I find it less than desirable to have to load polyfills for web specifications. The main allure of Web Components over framework-based components is they have zero dependencies blocking rendering.

Customized built-in elements allow engineers to extend from native HTML elements, inheriting the accessibility behaviors of the elements they extend from. I'm honestly surprised given Apple's excellent track record with accessibility that Safari does not support customized built-in elements.

Declarative Shadow DOM just shipped in Chrome. This specification is a huge boon for Web Components because it promotes server-side rendering and can ensure better SEO than Shadow DOM. Will Safari ever support Declarative Shadow DOM? I couldn't find a bug that tracked this particular specification.

Web Components have become a fundamental part of the web platform. According to Google, over 10% of sites they analyzed in 2020 included custom elements, up from 5% from the year before. The specifications that comprise Web Components are growing in popularity. I respectively ask that Webkit reconsiders the prioritization of supporting Web Components in the future.