Intent to Implement: Form-associated custom elements

123 views
Skip to first unread message

TAMURA, Kent

unread,
Nov 15, 2018, 10:43:40 PM11/15/18
to blin...@chromium.org

Contact emails

tk...@chromium.org


Explainer

https://docs.google.com/document/d/1JO8puctCSpW-ZYGU8lF-h4FWRIDQNDVexzHoOQ2iQmY/edit?pli=1#heading=h.2hgix04sc53t


Git hub issue: https://github.com/w3c/webcomponents/issues/187


Design doc/Spec

N/A

Tag review: https://github.com/w3ctag/design-reviews/issues/305 (waiting for TAG feedback)

We're going to merge this feature to the HTML specification.


Summary

Form-associated custom elements enable web developers to define and create custom elements which participate in form submission.


Motivation

The current Custom Elements API provides a capability to define and create web developers' own elements, but such custom elements can't be associated to <form>. If we'd like to submit a value in a custom element, we need hacks such as putting a proxy <input type=hidden>. Polymer's <iron-form> contains such hacks. Form-associated custom elements will provide much cleaner way to associate custom elements and <form>.


Web developers will be able to write HTML like:

<form action="..">

<my-control name="..."></my-control>

<input type=submit>

</form>


Risks

Interoperability and Compatibility

Risk is low. This is a new feature, and major browser vendors support this.


Edge: Public support

Firefox: Public support

Safari: Public support

Web / Framework developers: I heard multiple vendors wanted this.


Ergonomics

This feature will be used in tandem with other HTML elements and DOM API.

The implementation will be done only in Blink, and won't be a performance bottleneck.

The API was designed so that Chrome's Autofill feature can support form-associated custom elements.


Activation

Polyfills would be helpful until other browser vendors support this.



Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?

Yes


Is this feature fully tested by web-platform-tests?

Yes. We should be able to test this in WPT.


Link to entry on the feature dashboard

https://www.chromestatus.com/feature/4708990554472448


Requesting approval to ship?

No


--
TAMURA Kent
Software Engineer, Google


Reply all
Reply to author
Forward
0 new messages