-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
<search> HTML element #714
Comments
Hello, I'm Kaleidea, seasoned software architect, volunteer contributor (individual workstream participant). I've researched and implemented the As a software architect I see efficient solutions where hundreds do not. I saw how much people have misjudged the complexity of adding form functionality. I expected a better solution, so I was happy to invest my free time for about 2 months to help progress this feature. The Chromium implementation got close to prototype stage. That's an order of magnitude more effort than all other participants combined, yet I have to oppose this proposal due to various violations of design principles, WHATWG principles and policies. The list of issues has unfortunately grown very long since November 2021.
Cause of the contentionDomenic wrongly assumed that form functionality would have significant complexities and risks, thus he excluded that option even before standardization began. If an implementer would have evaluated the possible solutions, it would be clear the complexity is minimal. To this day I'm the only implementer to have done that evaluation. Unfortunately, Domenic didn't want to hear the research results. I hope we can avoid burdening W3C with further fruitless debate that's been going on for 3 months, so these are the reasons why the discussion failed:
Since November 2021 I've tried many approaches to get the message through. It was ignored. I've also raised a number of complaints that were ignored too. All attempts at resolution failed, making the current opposition necessary. After all that happened, it is pointless to debate the form functionality in any other form but to present verifiable examples (SourceGraph, HTTPArchive) to support any claim. That should happen on the WHATWG discussion to keep this place focused. |
Outline of issues
Issues of professional conductThe following information is not a complaint, but necessary to understand the context. I've intended to fill the gaps in the standardization process with an alternative proposal, where I've summarized the research results. Stunningly, Domenic has immediately closed it, labeling it as "off-topic". In December I've prepared the implementation for an origin trial to acquire real-world data on the debated risks and resolve the disagreement. As soon as Domenic was informed about my intent, within 3 minutes he instructed the chromestatus.com admin to revoke my access, thus preventing the path to a resolution. This is in stark contrast with the WHATWG's working mode. By this time the origin trial might be in progress, but 2 months were lost due to animus. These and other counterproductive actions necessitated a code of conduct complaint. Continuing this pattern, the implementations and the 2 months' work I've done isn't even mentioned in this description. It is clear that the intent is to make my work disappear. It is very difficult to "collaborate" in this manner, yet it should be noted that despite all the negatives I've experienced, I have great respect for Domenic's expertise in standardization. We don't have to be always right to be valued. |
What's wrong with this proposal?
There is an even more concerning pattern underlying the issue: Imperative bias in HTML standardizationHTML was created as a declarative language. JS was meant to be an enhancement to add affordances, polish and complex features. This has caused developer dissatisfaction on a large scale, for a long time. 4 years ago: "One of the promises of early Shadow DOM ... was that while we would build the first version as an imperative (JS-based) API ..., we'd come in later and backfill a declarative version that made it very easy to use for common cases." The only such effort is now championed by a non-WHATWG member. The WHATWG, while contributing immense value to the web platform, seems to be distant from HTML's core tenets. |
Fact-checking the description
"Palate" is the gauge of the master chef, not the master engineer, but it sums up the reasoning against form functionality well: dislike, not technical reasons.
Only 2 "primary contacts" and recently a colleague of Domenic commented in opposition of form functionality.
In fact, we couldn't come to a conclusion as time was running out. This cannot be resolved until the real risks and complexities are understood by participants. |
ConclusionI ask the W3C to reject this proposal at this time in this form due to inappropriate procedure, the lack of research, and policy violations. Domenic's work is of great value and often great quality, but there are exceptions, such as this low-priority feature. It would be beneficial if Domenic could be more open and inclusive to help and able to let go of overbearing control for features that are less important to him. How to resolveThe path forward is proper user research and an origin trial with form functionality. With that feedback a more informed discussion can take place and the final proposal can be selected based on whether form functionality was accepted by the developer community. To avoid undue influence it is best if Domenic focuses on higher priority features where his expertise is more needed (the specification was written by Scott and myself). The best progress with this feature will be made if my implementation work is supported (eg. my access to chromestatus.com is restored) and I can continue prototyping. |
Request to participantsTo avoid this discussion becoming another echo chamber, please limit discussion of risks and complexities to the WHATWG issue. Please present verifiable evidence (SourceGraph, HTTPArchive), no more speculations. Seeing that I've put the most effort into this feature (months), @domenic I kindly ask you to mention my efforts in the description:
The report and the discussions are long, I don't expect every part of it will be read. If somebody needs a tl;dr of some part, feel free to ask. |
I would like to address one point, as I am called out directly:
This is not accurate. I am not opposed to form functionality for a "search", but rather I am opposed to the direction the alternate proposal has taken. It was mentioned early on in the Effectively, the alternate proposal presented for a Presently, the proposal which HTML has requested the TAG review for can also achieve the exact same functionality as the alternate "form functionality" proposal, but for the fact that web authors would be required to nest a I still believe having a |
Thank you, @scottaohara for the correction and once again I appreciate your professionalism. I apologize for the careless wording. What I've meant is what you've said. I've reworded to: "opposed to adding form functionality to the And I'm also sorry for being so critical, but saying the same more politely was just ignored... You've summarized your POV very succinctly. I'd like to put the alternative POV besides it for a whole picture:
Same, but not exactly: there are subtle, hard to notice differences in features, such as the long-dormant bug of two landmarks announced. These are unexpected, frustrating and hard to get fixed due to relatively low attention to these areas. The "completely unrelated functionality could break" sentiment applies here equally: "understanding why it suddenly doesn't work [might be] very hard." The alternative solution avoids these pitfalls. But the developer experience is different. This is very nuanced and its importance depends on personal values and biases. It is noted that the original proposal does not give any importance to this, not even mentioning these developer needs, which I believe does not meet the new features guideline. Adding an extra element adds unnecessary topological complexity that increases the possibility of developer mistakes and might break selectors. As such the OG proposal will only serve SPA developers, others will be divided about using it. The OG proposal focuses on meeting one notional goal - mapping an ARIA role to an HTML element - and ignores what would give meaningful functionality to authors. As one developer expressed: "why would an author ever use this new element? Using a Although very little user research was done, it suggests this is a common sentiment. |
The rest of "form functionality" is either optional or available even without a form. The feature that's not disabled is associating form controls, which 1) does not affect developers who don't need it and 2) it's a benefit as authors now can add a reset button that works natively. There is no known use-case that would conflict with this solution. Although, if you know one, feel free to share. I'll note that we have discussed this since November 4+ times: 1, 2, 3, January triage meeting. The "form submit functionality is disabled if the action attribute is unspecified". This is a good example of how facts that don't agree with others' preconceived notions are ignored, but there are countless more examples. This is the underlying issue in the standardization process. |
whatwg/html#5811 - Fwiw, and if setting the other stuff aside, I would also agree with the functional benefits being worth it for a Semantic Markup/HTML <search> element. Even if compromises on the direction for implementing this would need to be found. :3 Many apologies if this response is expressed incorrectly or otherwise against any established SoP guidelines, but felt it'd be important to atleast voice it |
Hi @domenic we're going to be taking a look at this at our upcoming virtual f2f (in 2 weeks). Can you please put the documented user need at the beginning of the explainer? |
Hi folks - just FYI we've been asked to review the proposal. We're now moving forward with the review of the proposal as outlined in the initial request on its technical merits and not on WHATWG process issues. Can we please limit discussion here to that context? Thanks! |
It seems obvious to me that the added complexity of making this inherit from However, it does trouble me a little that the entire reason this element exists is to have |
The explainer mentions that this element closes <p> tags. Doesn't this require a parser change? It seems problematic if an older UA doesn't produce the same DOM from <search>...<p>...</search> as a newer one would. |
Wasn't there another comment about set but also that
Similar to |
@plinss yeah, we'd change the parser. While in the short-to-medium term this might create minor issues, long term it's what web developers would expect and not having that behavior would result in confusion/disappointment. |
We have concerns about the parser change. We understand (and don't disagree with) the reasoning, but feel that parser changes need to be a 'big deal' and question if the benefits really outweigh the cost. We are breaking a promise here and that should only be done when there's a significant benefit. It's not clear the benefit is here. We're not saying no, but more of 'tread carefully'. In the longer term, we'd like to see a declarative mechanism that allows this kind of parsing behavior change to be added to HTML in a forward-compatible way. (e.g. a meta tag that defines behavior changes, or a micro-syntax in the open tag, or ??). We can foresee wanting this kind of behavior in other yet to be defined tags and if we're going to change the algorithm, better to do it once rather than over and over. (It would also be nice to support new self-closing tags.) |
Aside from the parser issue, we're satisfied with this proposal. I've filed an issue against HTML and we're closing this. Thanks for flying TAG. |
Hmmm. Late in the discussion, but... any chance that a new form-submission element (this is what it is, right?) might relax the set of available HTTP methods? (cc @mnot) |
This is not related to form submission. |
Braw mornin' TAG!
I'm requesting a TAG review of the
<search>
HTML element.This new element allows authors to express the semantics of "a set of form controls or other content related to performing a search or filtering operation".
This is an especially desired semantic because it is something that an ARIA landmark role exists for (role="search"), but today can only be expressed with ARIA. Adding a dedicated element allows authors to follow the first rule of ARIA (~ "don't use ARIA if you can avoid it") and is part of the co-evolution process between ARIA and HTML.
Further details:
We'd prefer the TAG provide feedback as (please delete all but the desired option):
💬 leave review feedback as a comment in this issue and @-notify @domenic, @carmacleod, @scottaohara
The text was updated successfully, but these errors were encountered: