Search element proposal

View project on GitHub

Standardization errors

  1. Inappropriate procedure
  2. Speculation instead of research
  3. Contempt towards developers
  4. W3C Design Principle violation

Inappropriate procedure

The WHATWG’s new feature guideline was not followed. Crucial steps were skipped that would ensure that the proposal best meets the web developer community’s needs. This is detailed in the appeal according to the WHATWG workstream policy. Briefly:

Speculation instead of research

I am familiar with the relevant codebases in 3 browsers, with that knowledge I can tell that other participants are not familiar. The lead editor did not consult with implementers to evaluate complexity. A damaging consequence has been that Domenic and Scott believe that form functionality would be implemented by duplication (1, 2. That would be a terrible solution.

That’s obviously not the case: browser DOM implementations are very well designed, code reuse is easily achieved. In fact, I’ve implemented the search element specifically to prove that adding form functionality is trivial: instead of mapping <search> to HTMLElement, it is mapped to HTMLFormElement, and a few nuances.

Unfortunately, this confusion about “huge implementation costs” repeated by Domenic and Scott proliferates to this day. They have ignored all my efforts to prove the minimal complexity. There is no interest, no discussion about it. I feel that weeks of research and implementation were for nothing.

Contempt towards developers

“a lot of people expressed confusion about when they would use this versus using <form role="search">.” That is a response to developers requesting form functionality.

This attitude characterizes the entire process that led to this proposal. Such attitude was also present in the alert() debacle and previous cases of developers having a different POV. One wonders how long the developer community tolerates this.

W3C Design Principle violation

The proposal violates the first principle (“Priority of Constituencies”) by putting implementors’ and specification writers’ needs ahead of authors: “huge implementation and spec lift that isn’t worth it” (Fact correction: the implementation is trivial, the spec requires 3 days’ worth of editorializing that I’ve already done).

Domenic decided against form functionality to avoid the need to research implementation risks and complexities. As an initial proposal that was an understandable trade-off, but once a volunteer has done that work it is inappropriate to take the path easier for spec writers.