61 comments

  • dajonker19 hours ago
    Popover, dialog, invoker commands, our entire production app uses these everywhere and it works really well! The fact that dialogs and popovers are rendered on the &quot;top layer&quot; and that nested popovers are also automatically stacked on top of each other and have &#x27;cascading close&#x27; shows how well these standards were designed.<p>The only hard thing is still to position a popover near the element that triggers it, such as when you want to create a context menu that has to render above&#x2F;below the button that triggered it. There is anchor positioning in CSS now but support is still limited and I find it hard to wrap my head around.<p>LLMs are also terrible at these new standards. If they even know about them, they often think they&#x27;re not baseline yet and they have almost zero training data compared to the giant mountain of weird JS and CSS that people had to use before the introduction of these standards.
    • nozzlegear18 hours ago
      &gt; <i>The only hard thing is still to position a popover near the element that triggers it, such as when you want to create a context menu that has to render above&#x2F;below the button that triggered it. There is anchor positioning in CSS now but support is still limited and I find it hard to wrap my head around.</i><p>I was going to suggest anchor positioning. I found it difficult to wrap my head around too, but once it clicks it&#x27;s pretty simple. As a bonus, you can use it to position many other things than just popovers.
      • Semaphor5 hours ago
        Baseline newly available. For Germany that means 80% vs the usual 90% (I wonder how the Internet looks for those 10% who use ie, Firefox 20 and Chrome 1 or whatever), which, considering that it doesn&#x27;t really degrade well, makes it pretty much unusable for serious sites.
    • alwillis14 hours ago
      &gt; LLMs are also terrible at these new standards. If they even know about them, they often think they&#x27;re not baseline yet…<p>It doesn’t have to be that way.<p>You could create a Skill [1] that tells the agent to use modern css; the newer models like Opus 5 are probably much better with modern css.<p>Google released a set of skills at I&#x2F;O called Modern Web Guidance [2] that steer coding agents to use modern css and best practices.<p>[1]: <a href="https:&#x2F;&#x2F;www.skills.sh&#x2F;paulirish&#x2F;dotfiles&#x2F;modern-css" rel="nofollow">https:&#x2F;&#x2F;www.skills.sh&#x2F;paulirish&#x2F;dotfiles&#x2F;modern-css</a><p>[2]: <a href="https:&#x2F;&#x2F;developer.chrome.com&#x2F;docs&#x2F;modern-web-guidance&#x2F;get-started" rel="nofollow">https:&#x2F;&#x2F;developer.chrome.com&#x2F;docs&#x2F;modern-web-guidance&#x2F;get-st...</a>
      • chmod77528 minutes ago
        Can we stop calling them skills? They&#x27;re mostly just documents like any other. Call them cheat-sheets or guides.<p>Wrapping an .md file in all this circus, with lingo carefully designed to hide the fact that under the hood you&#x27;re really just dumping another text file into the LLM&#x27;s context , helps nobody but people&#x27;s AI psychosis.<p>But I guess &quot;my LLM can use skills&quot; sounds a lot cooler than &quot;my LLM can read text files&quot;, so we&#x27;d rather keep pretending really hard.
        • edgyquant18 minutes ago
          Skill is the terminology the industry has adopted.
        • WelkinFolk24 minutes ago
          I have started hearing echoes of how LLMs are &quot;conscious&quot; on every forum I go. Strange times.
    • bjackman4 hours ago
      &gt; LLMs are also terrible at these new standards.<p>This seems like a common enough issue that it would be worthwhile publishing a &quot;Markdown library&quot; of &quot;stuff HTML can do&quot; that you can &quot;call&quot; from your AGENTS.md.<p>Edit: lol, a sibling commenter shows I am not the first to have this idea! <a href="https:&#x2F;&#x2F;developer.chrome.com&#x2F;docs&#x2F;modern-web-guidance&#x2F;get-started" rel="nofollow">https:&#x2F;&#x2F;developer.chrome.com&#x2F;docs&#x2F;modern-web-guidance&#x2F;get-st...</a><p>(They made it a skill, which brings me to another thing I&#x27;ve had on my mind lately: that&#x27;s annoying if you know when you start the harness that you will want it to read the skill. It&#x27;s a roundtrip through the model to activate it. But maybe there&#x27;s a way to fix that?)<p>(Edit2: Claude says if you activate the skill via &#x2F;skill-name in the initial prompt, you get what I want)
    • doginasuit16 hours ago
      &gt; The only hard thing is still to position a popover near the element that triggers it, such as when you want to create a context menu that has to render above&#x2F;below the button that triggered it.<p>If you put something like this in your popover class, it will resolve to the button that called it when position-anchor is not set:<p>top: anchor(bottom);<p>I&#x27;m not sure how widely supported it is but I&#x27;ve been using it in Firefox&#x2F;Chrome.
      • extra8813 hours ago
        All current browsers support anchor positioning including popover buttons being the implicit anchor. However, the anchor positioning polyfill does not support this, it requires an explicit anchor-name.
    • meerita5 hours ago
      I believe CSS anchor is now widely supported.
    • commandlinefan17 hours ago
      &gt; often think they&#x27;re not baseline yet<p>I&#x27;m not an LLM, but that was my immediate thought - how new does a browser have to be to support these and which browsers am I excluding by using these features?
      • jxf17 hours ago
        Support is pretty good in general for these. Click any of the element links in the article and you get taken to the support grid.
    • Wowfunhappy15 hours ago
      &gt; LLMs are also terrible at these new standards. If they even know about them, they often think they&#x27;re not baseline yet and they have almost zero training data compared to the giant mountain of weird JS and CSS that people had to use before the introduction of these standards.<p>I really wonder if AI coding is just going to lock us into 2024-ish era languages and libraries forever.
      • actionfromafar15 hours ago
        At least one thing to hold the torrent of churn back just a little. Silver linings..
      • sublinear15 hours ago
        Yes. The maintenance costs of these models are very high. Something&#x27;s gotta give soon.<p>It&#x27;s exactly like trying to acquire a bootleg of a movie, but all you can afford is a single blurry jpeg taken from the back row of a theater.<p>What&#x27;s worse is you&#x27;re an alien who wants to understand life on Earth by watching this single movie. That&#x27;s how far away we are from AGI.
    • jmpeax13 hours ago
      &gt; LLMs are also terrible at these new standards.<p>Skill issue? I mean, I wonder if adding a skill to use these newer standards can push it over the edge from the crappy JS it was trained on.
    • sublinear19 hours ago
      I&#x27;m curious how many people are involved in the design of your app and what their concerns are.<p>Testing for accessibility and on mobile devices has a tendency to derail the best intentions. What tools are you using for those concerns? I&#x27;m not asking because I need advice. I&#x27;m asking because I want to know what you or your team did.
    • maya3355 hours ago
      [flagged]
    • vee-kay17 hours ago
      [dead]
  • dematz22 hours ago
    This comment by yurishimo should not be [dead], imo<p>&gt;Just a heads up but datalist is not really a great solution if you need a strong contract. The user can still type whatever they want into the field and there is no fuzzy filtering or typo mitigation. Once you add those requirements, a library that gives you a more fully featured combobox is likely going to make a lot of sense in your project.<p>It is true! HTML can do a lot of cool stuff, it might get you 100% of the way depending on what you&#x27;re doing. But if you have a lot of forms where users pick from a value set, and want to enforce no other strings and get a good search experience, datalist does not get you there.
    • yurishimo20 hours ago
      Thanks for the vouch! The rest of the article was indeed good but I find a lot of value in hacker news comments precisely because someone comes back to the comments and lays out why what I just read might need a different perspective. If you just want to see cool stuff that a browser can technically do, we are all capable of reading the Chrome dev blog, but we come to HN for a wider perspective. Someone telling a war story about how some little tidbit came back to bite them is also valuable (imo).
    • honr20 hours ago
      I mildly disagree. You still have to validate what the browser gives you. The user could have edited the &quot;strong contract&quot; using browser dev tools.<p>So, let the user type, then validate in javascript if you want instant feedback (by changing colors, say, to red &#x2F; orange), but ideally don&#x27;t fully block it from being seen by the server. And do the real validation on the server side. This is what I found to be fairly robust, while allowing mitigations if a bad rollout breaks something (delivering to clients is slower than updating something on the server side, most often).
      • jonahx18 hours ago
        GP was addressing the client-side UX, not backend validation, which is an orthogonal concern.
      • yurishimo19 hours ago
        Where did I say to forgo backend validation? Of course you validate on the backend as well, but the better UX would be to prevent the user from entering a bad value to begin with, assuming it fits within your team’s performance budget.<p>I’m not advocating for willy-nilly package inclusion, just highlighting a current shortcoming of datalist that is often not mentioned in these sorts of articles.
      • c-hendricks20 hours ago
        That solves the validation portion, but not the rest of the UX issues
    • Gualdrapo22 hours ago
      I seem to recall there was a proposal to add such thing to &lt;select&gt;s
      • bulder21 hours ago
        I definitely remember seeing a post by a Chromium maintainer talking about starting development on a proof of concept implementation and surveying for semantics.
    • kotaKat21 hours ago
      (iirc if you have [showdead] on you can click on the timestamp to the comment and will get a [vouch] option as a reverse-flag, fwiw. i see it and don&#x27;t have showdead enabled, so enough people have re-vouched it!)
    • gulugawa12 hours ago
      The field can be enhanced with JavaScript to support filtering or typo mitigation.
  • jamescun22 hours ago
    I&#x27;m that minutia in your statistics that is still rocking NoScript in 2026, enabling JavaScript on a site-by-site basis, but this is increasingly difficult with the modern web.<p>Hopefully these and others modern HTML features gain adoption, along with realizing perhaps a Single Page Application isn&#x27;t necessary in most instances.<p>I don&#x27;t often have to write frontend code, but when I do, there is very little in terms of interactivity you cannot do with HTML these days, worst case a little sprinkle of something like HTMX.
    • bee_rider21 hours ago
      Thank goodness you exist, the fingerprinters will be confused as to which one of the two of us went to their website!
      • jamescun21 hours ago
        How? There are dozens of us! DOZENS!
        • Perz1val21 hours ago
          How would you count?
          • steanne20 hours ago
            &quot;you don&#x27;t have to, they&#x27;ll tell you.&quot;<p>(+1)
      • jccalhoun19 hours ago
        i&#x27;m right there with you!
    • AdieuToLogic9 hours ago
      &gt; I don&#x27;t often have to write frontend code, but when I do, there is very little in terms of interactivity you cannot do with HTML these days, worst case a little sprinkle of something like HTMX.<p>And for some front-end form field validation in the spirit of htmx, ParsleyJS[0] is quite nice. Below is one way to enable the former to support the latter:<p><pre><code> htmx.defineExtension ( &#x27;parsley-validation&#x27;, { onEvent : function (name, evt) { var allow = true; if (name === &#x27;htmx:load&#x27;) $(evt.target).parsley (); else if (name === &#x27;htmx:confirm&#x27;) { var theForm = $(evt.target).parsley (); theForm.validationResult = allow = theForm.isValid (); if (!allow) evt.preventDefault (); } return allow; } } ) </code></pre> 0 - <a href="https:&#x2F;&#x2F;parsleyjs.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;parsleyjs.org&#x2F;</a>
    • gunalx21 hours ago
      Single page applications are one of the most anoying web patterns i know of. Please just let me have one page for each ting to do so i actually can bookmark it properly.
      • phyzix576121 hours ago
        Once backend and frontend became two separate teams frontend people didn&#x27;t want to keep asking backend to make logic changes for state, so frontend took things into their own hands. The mistake was making it two separate teams.
        • impulsivepuppet2 hours ago
          the frontend team can write a BFF to make all pages render server-side. there is an advocacy group for keeping oauth2 clients out of browsers which gives this idea some _political_ merit. in ways more than one, SPA is not the only solution when a dedicated _frontend team_ is employed.
          • phyzix57611 hour ago
            The separation of teams happened before the BFF pattern came into existence so all frontend engineers became specialists in frameworks like React. Unless you can do it with React, FE&#x27;s won&#x27;t touch a BFF or anything else for that matter.
      • tyre20 hours ago
        This is possible and, in my experience building them, the norm. SPAs have routers and update navigation state, including history for browser Back&#x2F;Forward
        • account421 hour ago
          It&#x27;s the norm to try to re-implement browser functionality in JS but it is very far from the norm for the re-implementation to work as well and as reliably as the native browser functionality.
        • gunalx20 hours ago
          Yes true. But also way to often neglected.
        • preg_match12 hours ago
          Right but most of the time they don’t work. For example, LinkedIn, and instagram. I understand they have apps but… come on.
      • ThunderSizzle20 hours ago
        Ive made SPAs in Blazor that make it a point to update the URL whenever a &quot;navigation&quot; occurs. I also made it a point to ensure refreshing or loading the URL restored the state.<p>It&#x27;s a small problem compared to the ease of use for development you can gain via Blazor, so I don&#x27;t see any reason not to solve it.
        • bdhdhduuyd6 hours ago
          This. I also create a lot of Blazor apps and I always make sure things like filters are based on GET query parameters.<p>But this can be done in any JavaScript framework and ofcourse Vanilla JavaScript. It takes some effort, but creates a much better user experience.
      • culi20 hours ago
        On the other hand, converting a SPA to a PWA is often a breeze
    • michaelchisari15 hours ago
      The View Transition API makes this even more viable.<p><a href="https:&#x2F;&#x2F;developer.mozilla.org&#x2F;en-US&#x2F;docs&#x2F;Web&#x2F;API&#x2F;View_Transition_API" rel="nofollow">https:&#x2F;&#x2F;developer.mozilla.org&#x2F;en-US&#x2F;docs&#x2F;Web&#x2F;API&#x2F;View_Transi...</a><p><a href="https:&#x2F;&#x2F;view-transitions.chrome.dev" rel="nofollow">https:&#x2F;&#x2F;view-transitions.chrome.dev</a><p>Best part about it is how gracefully it degrades.
    • evenhash19 hours ago
      One thing you notice running NoScript is how prevalent Google is.<p>Even if a site doesn’t monetize with Google Ads, there’s a decent chance it’s pulling a script from ajax.googleapis.com, and Google still knows that you visited the site from the Referer of the script download.
      • account421 hour ago
        And lucky for Google, browser vendors (including Google) even decided that caches shouldn&#x27;t work cross origin so this request needs to be made for every site even if you already visited another site that used the same resource.
    • zelphirkalt21 hours ago
      This is part of how I judge how well made or how shitty a website is. If it requires scripts from a dozen third parties, then it usually sucks and one can easily recognize when not much effort has been put into making it.
    • edparcell17 hours ago
      I got frustrated with sites that should just be documents bolting on a pile of javascript libraries, third-party requests etc so I made a standard for sites that are just documents, and wrote a checker for document-only pages. For SSL, the thing that actually changed the web was browsers flagging non-SSL - probably similar is needed here. <a href="https:&#x2F;&#x2F;certifiedweb10.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;certifiedweb10.org&#x2F;</a> if you&#x27;re interested.
    • Zardoz846 hours ago
      I always try to develop having in mind that some people have disabled JavaScript or isn&#x27;t running the last version of Firefox or Chromium bases browsers. So if someone enters with disabled JavaScript, keeps having the basic functionality of search, navigate and download. I do webservices for public digital libraries that shares public domain stuff and I true believe that always should be accessible to everyone.
    • nozzlegear18 hours ago
      Does HTMX work with NoScript? Doesn&#x27;t it require JS?
      • ipsod18 hours ago
        Nope, doesn&#x27;t work. Doesn&#x27;t stop you from making it a PWA, though.
    • djoldman21 hours ago
      oh my. Looks like NoScript is way better than what I&#x27;ve been using. Thanks!<p><a href="https:&#x2F;&#x2F;noscript.net&#x2F;" rel="nofollow">https:&#x2F;&#x2F;noscript.net&#x2F;</a>
  • silvestrov21 hours ago
    I&#x27;d really wish I could force ISO format for the date input as the current &quot;platform native&quot; is confusing for some users when the OS use a different language than the web page that is shown.<p>For some multi-country companies it makes sense to have all admin pages in English no matter the underlying OS language. Imagine sending a screenshot where the OS date format is different from what everybody else expects from an English page.
    • crote19 hours ago
      Alternatively: have the &lt;time&gt; element actually <i>do something</i> by hooking it up to the new Moment API and having it display the specified timestamp in the user&#x27;s locale. That would at least provide an easy way to have the input format and the display format be the same.<p>But yes, there&#x27;s also a <i>very</i> good argument to be made in favor of having such localized elements follow the content&#x27;s `lang` attribute - potentially with a `lang=&quot;initial&quot;` to reset it to &quot;whatever the user has configured for their OS&quot;.
    • hk133721 hours ago
      I&#x27;d be okay with regional date format for the user but it always submits as ISO 8601 date format.
      • crote19 hours ago
        That&#x27;s already how it works, is it not?
    • jimmygrapes19 hours ago
      Dealing with this right now. Got some people whose devices are set to display dates as dd&#x2F;mm&#x2F;yyyy and the janky pay submission form records it verbatim rather than translate to its internal mm&#x2F;dd&#x2F;yyyy format. If it&#x27;s invalid date it will reject, but a guy submitted for August 4 and got denied for the system recording it as April 8. Spreadsheet MS Forms nonsense. Nobody cares.
  • hk__221 hours ago
    Related to this, I’d love that HTML natively support sortable tables. This is a common need but every single time I have to reimplement it.
    • jwr18 hours ago
      This is… not obvious. It&#x27;s only easy if you want the simplistic approach of sorting lexicographically or numerically. But in more complex tables, you will often encounter cases where the data representation for sorting is different from data representation for display.<p>Of course most JavaScript-based tables get this wrong, too.
      • hk__218 hours ago
        You could have a `sortkey` attribute, a bit like &lt;option&gt; that has a `value` attribute in case the value you want is different from the value you display.
        • donatj1 hour ago
          Even then how does it interact with rowspans and colspans...
    • dansalvato17 hours ago
      I had always thought that table sorting seems like the perfect job for HTML, given its data-driven nature, and the possibility of implementing sort information into the attributes of table cell elements.<p>But thinking about it: Is there a precedent for HTML to be able to include information that instructs the device to present the DOM out of order? Maybe it&#x27;s out of scope for HTML to have information about presentation order, when the order is supposed to be implied strictly by the DOM hierarchy itself.<p>Of course, CSS can visually reorder stuff (e.g. `order` on flex&#x2F;grid items), but MDN has accessibility warnings regarding the use of `order` and visually presenting the data in an order not reflected by the DOM. So, maybe sorting is best done by reordering the DOM after all.
      • extra8813 hours ago
        CSS now also has `reading-flow` to instruct the browser to change the reading order to match the visual order created by Flex or Grid. Unfortunately, not all browsers support it and it has some limitations.
      • ndriscoll16 hours ago
        XSL has sorting, so kind of, depending on which document you&#x27;re referring to when you say DOM.
    • cosmic_cheese12 hours ago
      And related to that, native cell recycling for long lists would be nice, particularly with cases where the cells are on the heavy side.<p>Yes, it can be done with JS, but nothing is going to beat the browser engine for frequent DOM manipulation of that sort. It&#x27;s also just one less dependency to have to pull in.
    • hahn-kev20 hours ago
      I feel like there&#x27;s so few times it would actually work how I want it that it seems like there&#x27;s little point.
    • wild_egg21 hours ago
      You want client side table sorting?<p>It&#x27;s really easy to do this with server rendered HTML. Put a link with the sort param in the column headers and be done.
      • CrimsonRain13 minutes ago
        It&#x27;s not as fast.<p>It is far more resources hungry when dealing with beyond 50 rows or more.<p>Puts needless pressure on backend.<p>It is not a good idea when sending whole dataset to client is feasible&#x2F;better choice.
      • mxuribe20 hours ago
        I used to do this in the early 2000s! Some folks back then would ask whether i was afraid that clicking a link (which loads a &quot;new&quot; web page) would slow things down and create an awful experience for users...but, my team and I would really focus on keeping web pages slim&#x2F;lightweight to begin with...so it rarely was a problem. I don&#x27;t think we were geniuses or anything like that, but keeping things light (always and from the beginning) enabled us to &quot;cheat&quot; (like this &quot;hack&quot; of the links in the column headers) in ways that were beneficial but with very low risk. Sometimes it took an extra moment or two at the beginning of an effort...but it ALWAYS paid off down the road, and in many different ways.
        • wild_egg20 hours ago
          It still works exceptionally well in 2026 and generally creates better and faster experiences than an SPA with far, far less code.
          • hk__217 hours ago
            You don’t need an SPA for that; Wikipedia has client-side sorted tables for example.
          • culi20 hours ago
            I hate what it does to my back button
            • hnal94319 hours ago
              HTMX is the solution
              • zarzavat19 hours ago
                So instead of using JS to sort the table directly, now you make a JS fetch() request to sort the table?!<p>It does make sense in one situation, if the table is a large server-side paginated one and the sorting is really an ORDER BY clause. But for a basic table that fits entirely on the client, it doesn&#x27;t make sense at all. There are tiny JS libraries that will make &lt;table&gt;s sortable when you add a particular class name.
                • everybodyknows16 hours ago
                  &gt; tiny JS libraries that will make &lt;table&gt;s sortable<p>What are some good ones?
              • account421 hour ago
                No to sorting tables where all the data is already available locally.
              • nozzlegear18 hours ago
                Trading one javascript for another?
      • account421 hour ago
        It&#x27;s a bit annoying when the sorting leaks into URLs people share, a bit like if the scroll position would be automatically included there.
      • xboxnolifes19 hours ago
        I want tables that can be sorted on multiple columns without triggering a page refresh on every click.
        • wild_egg18 hours ago
          View Transitions are your friend
    • krapp21 hours ago
      That&#x27;s what javascript is supposed to be for. All of this is what javascript is supposed to be for.<p>HTML describes layout, CSS describes style, JS adds interactivity.<p>Want sortable tables? Get a jquery plugin and spend five minutes, done.<p>This was all solved a decade or more ago.
      • account421 hour ago
        HTML has done interactivity before JS existed. No reason to not add support for sorting tables. JS is better suited to only handle non-standard cases where no native functionality exist as browser vendors can afford to spend infinitely more time to make sorting better than you can spend on doing it for one website.
      • hk__217 hours ago
        &gt; Want sortable tables? Get a jquery plugin and spend five minutes, done.<p>I want sortable tables without having to rely on a third-party plugin to a third-party library. HTML describes content, not just layout. It would be a `sortable` attribute on the table, just like you already have attributes that have nothing to do with layout such as `autocomplete` or `aria-*`.
        • krapp17 hours ago
          Everyone already complains that browsers are too bloated and now you want to have every browser support sortable tables when a single, simple JS file would work?
          • ndriscoll16 hours ago
            The overwhelming majority of web pages are static documents, and it&#x27;s a document format, so basic document primitives make sense. Same with something like line charts or pie charts. Bloat is things like USB APIs that present obnoxious security surfaces.
          • ducktective16 hours ago
            &gt;single, simple JS file<p>It&#x27;s all fine and dandy until marketing bros decide to shove all kinds of shady modals into that JS file. The JS side is not exclusive to trivial interactivity.
            • krapp16 hours ago
              What &quot;marketing bros?&quot;<p>It&#x27;s open source software. You can see what it does, and you just put it on your server. We&#x27;re talking about pre NPM javascript here, no continuous deployment, everything is vendored and local and no one is going to change that file without your knowledge and permission. And if someone does, you have much bigger problems on your hands.<p>What you <i>can&#x27;t</i> own and control is the browser vendors and how they choose to implement things, or not to. You can edit a JS file to your specific needs, but you&#x27;re stuck with whatever the browser decides.
              • ducktective11 hours ago
                My point was, people block js of websites by default. Why? Cause website devs abuse js and don&#x27;t exclusively use it for basic interactivity of stuff like sorting table columns.<p>There is an incentive to use HTML for common interactivity purposes.
      • zephen18 hours ago
        &gt; HTML describes layout<p>News to me.
        • krapp18 hours ago
          That&#x27;s understandable, because almost no one actually works with HTML directly anymore, but it&#x27;s true. HTML contains tags like &lt;H&gt; for headers, &lt;p&gt; for paragraphs, &lt;br&gt; for line breaks &lt;pre&gt; for prerendered text, &lt;ol&gt; and &lt;ul&gt; for ordered and unordered lists, &lt;table&gt; for tables as well as &lt;main&gt;,&lt;div&gt;,&lt;header&gt;,&lt;section&gt;,&lt;nav&gt;,&lt;article&gt;,&lt;aside&gt;,&lt;summary&gt; and &lt;footer&gt; to both explicitly and implicitly describe the layout of an HTML document. In fact, &quot;HTML&quot; itself is an acronym (HyperText Markup Language) in which the &quot;Markup&quot; describes the function of HTML to &quot;mark up&quot; text in a similar way that editors once did in the print industry, describing which parts of the text should be bold, italicized, etc. or divided up and in what way.
          • crab_galaxy18 hours ago
            HTML describes the structure of a document, not really the layout.<p>If HTML had &lt;inline&gt; &lt;block&gt; &lt;column&gt; &lt;row&gt; or &lt;grid&gt; tags, sure. But CSS determines the layout via display&#x2F;position properties.
            • krapp17 hours ago
              &lt;span&gt; is inline<p>&lt;div&gt; is block<p>&lt;table&gt;,&lt;tr&gt; and &lt;td&gt; are your grid, row and column.<p>CSS improves on describing layout with positioning but HTML was still doing that before CSS even came along.
              • Zardoz846 hours ago
                Suddenly it&#x27;s 1999
          • zephen15 hours ago
            Thanks for the downvote, but you&#x27;re wrong.<p>&gt; explicitly and implicitly describe the layout of an HTML document.<p>No, this doesn&#x27;t happen.<p>&gt; In fact, &quot;HTML&quot; itself is an acronym (HyperText Markup Language)<p>Duh.<p>&gt; in which the &quot;Markup&quot; describes the function of HTML to &quot;mark up&quot; text in a similar way that editors once did in the print industry, describing which parts of the text should be bold, italicized, etc. or divided up and in what way.<p>Which has fuck-all to do with the layout.
            • krapp15 hours ago
              [flagged]
              • zephen14 hours ago
                &gt; And all you&#x27;re responding with is invective.<p>This statement is mendacious, at best. I have explained that HTML has fuck-all to do with layout. I can explain it to you, but I can&#x27;t understand it for you.<p>Here, check out what the W3C has to say about it:<p>&gt; Because HTML conveys <i>meaning</i>, rather than presentation, the same page can also be used by a small browser on a mobile phone, without any change to the page. ... But it goes further than just differences in screen size: the same page could equally be used by a blind user using a browser based around speech synthesis, which instead of displaying the page on a screen, reads the page to the user, e.g. using headphones. Instead of large text for the headings, the speech browser might use a different volume or a slower voice.<p>(Emphasis in the original.)<p><a href="https:&#x2F;&#x2F;html.spec.whatwg.org&#x2F;multipage&#x2F;dom.html#semantics-2" rel="nofollow">https:&#x2F;&#x2F;html.spec.whatwg.org&#x2F;multipage&#x2F;dom.html#semantics-2</a><p>Also, check out the ACID series of specifications which require and always use CSS, because otherwise, there is no mandate on how a browser should display stuff.<p>And, just for completeness, here are a couple of quotes from Tim Berners-Lee:<p>&gt; HTML should convey the structure of a hypertext document, but not details of its presentation. This was the only way to get it to display reasonably on any of a very wide variety of different screens and sizes of paper.<p>&gt; The separation of presentation from structure is a fundamental principle of the Web. HTML documents represent the logical structure of the document; style sheets provide formatting instructions.<p>Now, I will grant you during the browser wars of the 90s when everybody was trying to get ahead, some layout elements were stupidly added to HTML, and copied by other browsers. But these came nowhere near close to being definitive layout descriptions, and since at least 1997, the W3C has advocated for separating content into HTML, and presentation into CSS.
  • aitchnyu21 hours ago
    Saw Grouped &lt;details&gt;, ctrl+F&#x27;d the hidden content and it opened and highlighted the text in Firefox. Was waiting for this fix ever since I learned about details.
    • culi20 hours ago
      You can also control this behavior for almost any hidden element with the `hidden=&quot;until-found&quot;` attribute<p><a href="https:&#x2F;&#x2F;css-tricks.com&#x2F;covering-hiddenuntil-found&#x2F;" rel="nofollow">https:&#x2F;&#x2F;css-tricks.com&#x2F;covering-hiddenuntil-found&#x2F;</a><p><a href="https:&#x2F;&#x2F;developer.mozilla.org&#x2F;en-US&#x2F;docs&#x2F;Web&#x2F;HTML&#x2F;Reference&#x2F;Global_attributes&#x2F;hidden" rel="nofollow">https:&#x2F;&#x2F;developer.mozilla.org&#x2F;en-US&#x2F;docs&#x2F;Web&#x2F;HTML&#x2F;Reference&#x2F;...</a>
  • marcomezzavilla4 hours ago
    This article is very close to the idea behind a small website I’ve been maintaining mostly as a reference for myself, but which others might find useful too: <a href="https:&#x2F;&#x2F;htmlcat.net" rel="nofollow">https:&#x2F;&#x2F;htmlcat.net</a><p>It’s a collection of short &quot;post-it&quot; notes about useful native HTML, CSS, and JavaScript features. It seemed directly relevant to the thread.<p>Corrections and suggestions are very welcome!
  • knadh6 hours ago
    I&#x27;m currently in the process of taking a lot of risk rewriting a large-ish app that I maintain to fully eliminate the use of frontend frameworks (and the larger JS ecosystem in general) and to switch to simple SSR + semantic HTML and CSS.<p>Using this tiny lib [2: shameless plug] I wrote specifically incorporating the &quot;HTML Can Do That&quot;-style realisations going into the big rewrite.<p>[1] - <a href="https:&#x2F;&#x2F;github.com&#x2F;knadh&#x2F;listmonk&#x2F;issues&#x2F;3073" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;knadh&#x2F;listmonk&#x2F;issues&#x2F;3073</a><p>[2] - <a href="https:&#x2F;&#x2F;oat.ink" rel="nofollow">https:&#x2F;&#x2F;oat.ink</a>
  • stagas21 hours ago
    I started textlog.cc as an experiment to see how far I can go without introducing JS. It turns out, pretty far! If you exclude the Web Push notifications which required a Service Worker script, all the rest is server-side rendered React. As a visitor, with all the hover cards and popovers you would think there is some JS going on, but it’s all HTML-only. I am enjoying very much the constraint and it hasn’t hindered any progress. It’s a proof a lot can be achieved by just HTML.
  • hakesson22 hours ago
    Yeah, I&#x27;m a great fan of both HTML and CSS &quot;can do that&quot;. I find more useful things on the CSS side like :has, keyframes and container queries. Why duplicate code when you have it for free :)
    • Sohcahtoa8222 hours ago
      Yeah I&#x27;ve seen a page that described a whole bunch of things you can do with CSS. So many animation options!
  • cyteeditor8 hours ago
    Having worked on rich text editors for several years, I&#x27;ve developed a strong sense of the limitations of native HTML capabilities.<p>Popovers and dialogs are indeed useful; our project&#x27;s color picker popup has been moved to a popover, which is much cleaner than manually managing z-index and closing it by clicking outside.<p>However, contenteditable is an exception. While it appears to be a native rich text editing capability of browsers, the implementation varies significantly across different browsers. The same operation will produce completely different HTML in Chrome, Firefox, and Safari. Not to mention mobile browsers with their various unpredictable input behaviors. This is why editors like ProseMirror and Wordgard don&#x27;t trust contenteditable output; instead, they maintain their own document model and only use contenteditable as an input layer.<p>While native HTML capabilities are improving, for complex interactive scenarios, such as rich text editing and clipboard parsing, JavaScript is still essential.
  • jdlshore22 hours ago
    The “hidden until found” feature surprised me. What’s the use case for something like that?
    • dofm22 hours ago
      Looks like it&#x27;s basically like a one way show-hidden mechanism, but the browser&#x27;s built-in search will pop it open on matches.<p>So you could use it for additional notes, things like &quot;view pricing terms&quot; or &quot;show exclusions&quot; on product listings — stuff people need to read only when they need to read it — without it being hidden from them if they search for it.
    • pseudosavant19 hours ago
      There is a common accessibility pattern where the first tab focusable item is a &quot;Skip to content&quot; link in the top left corner. The link is initially hidden until you tab to it. That is the only use case I could think of when checking it out.
      • extra8812 hours ago
        That&#x27;s not what it&#x27;s for, that&#x27;s solved by showing the link when it&#x27;s focused.<p>My guess is there was a desire to make Find-in-page automatically expand &lt;details&gt; elements and someone realized they could make it also work for custom disclosure widgets by giving the boolean attribute `hidden` an optional value.
    • dspillett20 hours ago
      It won&#x27;t be an intended use case, but it might be a convenient place to put poisoned content for the “benefit” of scrapers…<p>Though humans will accidentally find it too, so using a details tag with appropriate summary as a warning would be more friendly than just hidden content. It&#x27;ll still get opened, but the user at least has a way of closing it again afterwards.<p>Also before using it I&#x27;d want to check what old UAs including accessibility tools tend to do when they hit a value that they don&#x27;t recognise for the hidden=&quot;&quot; attribute - would what they don&#x27;t recognise as a valid value result in defaulting to the content being hidden or visible&#x2F;read&#x2F;other?
      • account421 hour ago
        What would be the advantage of using this attribute compared to the various ways to permanently hide elements?
    • wvbdmp21 hours ago
      Pretty cool! I’ve been using &lt;details&gt; for this. One example would be a collapsible tree hierarchy of our organization that you can CTRL+F and still find collapsed teams and people. Or an accordion, or anything collapsible, really.
    • akersten19 hours ago
      On a big page with lots of collapsed content, I want control+f to search it and find anything in the collapsed sections without having to manually expand them all before I hit control+f
    • megaman82118 hours ago
      I use it for tabbed content. That way search will reveal the tab and content on page search match.
    • seki28522 hours ago
      One thing that comes to mind is JS-less image preview, clicking on an image thumbnail reveals the full preview.
      • dspillett21 hours ago
        Though that wouldn&#x27;t have a method of closing the full image afterwards, if you have a few thumbnails and want one full to be open at a time (closing when the next is selected).
  • chukar5 hours ago
    LLMs defaulting to old patterns for new standards is the same bootstrap problem as Stack Overflow answers lagging behind spec changes. The training data always looks backward.
  • waltbosz16 hours ago
    The color input looks different depending on your browser and OS. <a href="https:&#x2F;&#x2F;master.dev&#x2F;blog&#x2F;the-color-input-the-color-picker&#x2F;" rel="nofollow">https:&#x2F;&#x2F;master.dev&#x2F;blog&#x2F;the-color-input-the-color-picker&#x2F;</a><p>Firefox uses the native OS color picker, which in Windows 11 still looks unchanged from Windows 95.
    • extra8813 hours ago
      That&#x27;s fine, everything doesn&#x27;t have to look the same everywhere. It does matter when there&#x27;s functionality a site relies on but it&#x27;s not available in one out more browser&#x2F;OS combinations.
      • account421 hour ago
        Exactly. I <i>want</i> tings to work as defined by the OS I deliberately chose.
  • bsammon8 hours ago
    The main thing I&#x27;d like to see HTML (maybe more accurately, without-Javascript) do is AI-bot protection.<p>Browsing the web with Javascript turned off makes things much more tolerable on my low-RAM computer. Until a year or two, I could access the vast majority of the sites that I cared to. With anti-AI-bot protection becoming prevalent, this has gotten a lot worse lately.<p>I&#x27;ve read somewhere that recent versions of Anubis support no-JS mode. I haven&#x27;t seen it in use much yet. I wonder if that&#x27;s because sites are still using old versions of Anubis, or because it&#x27;s turned off by default in the new version, and sites haven&#x27;t bothered to enable it, or some other reason.<p>One instance I&#x27;ve noticed is codeberg, which seemed to be using some no-JS-compatible bot protection -- I&#x27;m not sure if it is&#x2F;was Anubis -- I don&#x27;t use codeberg regularly (I haven&#x27;t needed an account there yet), so I&#x27;m not sure about details.
    • userbinator8 hours ago
      Rate-limiting was always a server-side feature, and HTML has nothing to do with this.<p>&quot;AI-bot protection&quot; is the latest boogeyman for driving the Internet towards centralised control, along with age&#x2F;identity verification and the rest of the DRM &quot;trusted&quot; computing crap. So much manufactured consent. It&#x27;s sickening to see so many fall for that propaganda, especially those who should know better. Tell everyone who still thinks &quot;AI bots&quot; and not just plain old DDoS&#x27;es from those in bed with Big Tech are somehow pummeling their site, that the misdirection and lies are no longer working, and we might see things improve.
  • bingemaker22 hours ago
    &lt;img&gt; also supports &quot;srcset&quot; which can make the image component responsive. Hope they add a placeholder to it which can account for loading state.
    • theandrewbailey14 hours ago
      I find using &lt;picture&gt; with &lt;source&gt; and &lt;img&gt; is more flexible, particularly with multiple image formats (AVIF and JPG in my case).
      • account421 hour ago
        I wish both srcset and &lt;source&gt; elements wouldn&#x27;t be so redundantly verbose by forcing you to specify the full (relative) URL for each image when they usually only differ by a small part specifying the resolution or format. Sure, transfer-encoding will mostly nullify the overhead but it&#x27;s still annoying when editing the HTML manually.
      • callc10 hours ago
        One more thing thats nice with &lt;picture&gt; and &lt;source&gt; and &lt;img&gt; over &lt;img&gt; with srcset is the former can responsively change images, while some browsers (Chromium based IIRC) will assume srcset corresponds to the “same looking” image.<p>IIRC Chromium based srcset will never “downsize” to a smaller image, whereas &lt;source&gt;’s media is like a real media query.<p>Use if you want jumpscares at specific sizes lol
  • t1234s17 hours ago
    HTML did &lt;select&gt; since inception but that didn&#x27;t stop people from trying to reinvent it using &lt;div&gt; and a bunch of JS.<p>All these great built in features, especially typeahead, wont be mainstream until they can be excessively styled.
    • vips7L16 hours ago
      Isn’t that because select wasn’t style-able?
    • seanclayton15 hours ago
      &gt; All these great built in features, especially typeahead, wont be mainstream until they can be excessively styled.<p><a href="https:&#x2F;&#x2F;developer.chrome.com&#x2F;blog&#x2F;a-customizable-select" rel="nofollow">https:&#x2F;&#x2F;developer.chrome.com&#x2F;blog&#x2F;a-customizable-select</a>
  • hk133721 hours ago
    The only one not mentioned I think should be utilized more is properly names in html forms. Everyone has gotten used to just doing things in javascript when a lot of times if you name the fields in a correct way, you can do a simple form post and let the backend validate it with little to no modifications (hopefully none if you did it correctly).<p>I think the big issue with some of items listed is not all the browsers either implement it or they implement it differently. I&#x27;m sure your first instinct will be Safari but Chrome, while it may implement a lot, tends to do it quite different than the others. The date picker in browsers is one feature that comes to mind.
    • bigbuppo16 hours ago
      It seems like the future is doing things like we did in 1998 but with HTML and CSS that isn&#x27;t terrible.
  • florianherrengt19 hours ago
    I’m a big fan of simple things but I always go back to using a library or framework because it’s much easier to create a good, consistent UX
  • yipinwong19 hours ago
    JS has been in front-line for these functionalty, and HTML has been dog-slow to catch up with slow standardization (not based on usage more academical) and recommendations.<p>HTML can do that. yes. but adoption? welp, I don&#x27;t really care nor will I use it unless I have to. I will use whatever was available in practice and continue to use them.
    • afavour19 hours ago
      Odd to both complain about adoption and out yourself as someone unwilling to move to a better solution because it’s less familiar. What do you expect the answer to be here?
      • bigbuppo16 hours ago
        I suspect he&#x27;s still optimizing for IE5 compatibility.
  • yoz-y22 hours ago
    I think it’s neat but at the same time I’m cautious about implementing an “almost feature” in what’s supposed to be a declarative language.<p>Now everybody needs to support it and nobody can really use it.<p>I’m talking about the features in work like media controls on dialog buttons.
  • pavlov15 hours ago
    HTML in 2026 is starting to do most of what native desktop GUI frameworks did in 1996…<p>Well, honestly “most” is an exaggeration, when I think of what NeXT&#x2F;Apple AppKit was offering around the turn of the millennium already.<p>It was a tremendous setback for front-end that Web 2.0 put everybody on the very lowest common denominator of UI frameworks, and then we spent decades just poorly rebuilding checkboxes and menu buttons.<p>Microsoft played a significant role here because they overreached around 2001, thinking their overwhelming desktop dominance will allow them to single-handedly decide the evolution of the internet’s UI layer. So they deprecated Internet Explorer (the browser with 95% marketshare) and put all their engineering bets on proprietary solutions like XAML as the HTML replacement.
  • sehw7 hours ago
    Hidden content was not hidden in Android Firefox.
    • bluedel1 hour ago
      That&#x27;s weird, it works on my phone. Are you sure you didn&#x27;t refresh the page with the anchor tag still in your URL parameters?
  • dawnerd19 hours ago
    I use most of these but the one that somehow slipped past me was the name attribute for details. That&#x27;s going to be incredibly useful. I want to go rip out all of the js accordions now.
  • CodesInChaos21 hours ago
    What I&#x27;d like to see are searchable drop-downs (not to be confused with text input with suggestions).<p>And the date&#x2F;time picker controls are too limited for many applications.
    • Aachen20 hours ago
      Do I understand that first one correctly as datalist without allowing the user to submit a value not on the list?
      • CodesInChaos20 hours ago
        That, and how it&#x27;s rendered needs to be separate from the value the the input gets. Just like `&lt;option value=&quot;123&quot;&gt;John Doe&lt;&#x2F;option&gt;` or ideally even rich html like `&lt;option value=&quot;123&quot;&gt;&lt;small&gt;123&lt;&#x2F;small&gt; John Doe&lt;&#x2F;option&gt;`.<p>I guess the best way to render it would be exactly like `&lt;select&gt;` when closed, but when opened there should be a search box where it&#x27;d normally show the first option.<p>Clicking search would call a javascript function, which could then adjust the set of available options via the standard DOM APIs.<p>Alternatively they could add support for a special element `&lt;selecthead&gt;` which can contain whatever you want, which would render fixed at the when the drop down is opened and can be interacted with like normal html elements. Then you could place your own search fields inside.
  • peesem19 hours ago
    once again, i will ask: why do people care so much about only having one &lt;details&gt; element open at a time? let me see what i want to see!
    • abanana15 hours ago
      Yes, absolutely, and UX experts such as those at the Nielsen-Norman group have for years been advising against auto-closing the already-opened options when opening another. For good reason - user frustration in their research.<p>If I clicked it to open it, then if I want to close it, I&#x27;ll click it again. Don&#x27;t hide content I might still be reading!
    • asdfsa3210 hours ago
      Skimming&#x2F;scanning. For a couple of items, it is not an issue, but say for a long list of FAQ, being able to scroll past fast is nice.
      • peesem10 hours ago
        but then just close the elements yourself if you need that? don&#x27;t force one behavior onto everyone
        • asdfsa329 hours ago
          Most people are lazy, so it is designed for most, including myself.
  • hendurhance20 hours ago
    Most people use divs for everything now. This is a breath of fresh air.
    • nobleach20 hours ago
      With the exception of using divs for things that have a more appropriate element. Buttons for example - for the love of all that is holy - when I see an onclick handler and aria attributes on divs, I think, &quot;couldn&#x27;t you have restyled the button??&quot;
      • xboxnolifes19 hours ago
        Even worse, using buttons everywhere that you should use an a href.
  • Dwedit18 hours ago
    Grouped Details example really needs a hand cursor. An &quot;I&quot; cursor for selecting text doesn&#x27;t tell you that an element is interactible.
  • prinny_18 hours ago
    I eagerly await the day we can fully style the date &amp; time component so that we can put all those JS libraries to (a well deserved) rest.
  • hyperhello22 hours ago
    I don’t understand why the group invented these new attributes and methods of action for dialogs that don’t seem relevant to anything else. Was there some silly patent to work around?
    • esprehn22 hours ago
      As opposed to what? Not sure what the alternative you&#x27;re picturing is.
      • hyperhello21 hours ago
        popovertarget=&quot;example-dialog&quot; popovertargetaction=&quot;hide&quot;<p>It’s all binding. This is what JavaScript is for: dynamic content.
        • Aachen20 hours ago
          Input fields are dynamic elements. Textareas can be resized. Pages can be scrolled. Why implement everything anew in custom code if it can be implemented once per browser engine in native code, native UI, and expected&#x2F;homogenous UX?
          • hyperhello19 hours ago
            I mean the action and target attributes don’t seem to appear anywhere else but the popover api. I’m in favor of HTML dialogs, I just don’t see the point in the trend of making everything into this declarative nightmare it’s becoming when we have onclick=dialog.show() without even quotes.
            • esprehn17 hours ago
              Script attributes are very often disabled for security reasons.<p>The declarative actions API is currently only used for popover, but it&#x27;s been discussed for over a decade to allow SSR of rich content that&#x27;s interactive before script loading. See also <a href="https:&#x2F;&#x2F;developer.chrome.com&#x2F;blog&#x2F;command-and-commandfor" rel="nofollow">https:&#x2F;&#x2F;developer.chrome.com&#x2F;blog&#x2F;command-and-commandfor</a><p>For a long time I also pushed back on these interactive APIs because script is a better primitive and every site seems to have quirky requirements. I&#x27;ve come around on it though because there&#x27;s huge demand for SSR again and businesses are seeing the value in very fast TTI.<p>I do still think the date picker API is a disaster. Everyone actually needs something much richer than the system date picker. Travel websites want ranges. People want to put dots and day highlights. I wish they&#x27;d fix that next.
              • hyperhello15 hours ago
                What I guess this all leads to is that we’re trying to create some kind of DSA that doesn’t have the possibility to hang or crash the way imperative programs must have the ability to if they are to be effective. So it seems like web design is an avalanche of sort of silly css prefixes and selectors and attributes that refer to object ids and everything, when what we might have said instead is that if a script takes more than one second wall clock or something equivalent adjusted to standard then it gets rolled back like a transaction.
  • pwdisswordfishq7 hours ago
    And yet websites are going to do it with custom JavaScript anyway, because it&#x27;s a nice excuse to force you to accept their surveillance^W analytics, which you will be enabling on the way. Oh, and also because shoving their BRAND™ in your face by micromanaging the appearance and behaviour of everything is apparently more important than user experience being predictable and consistent from one website to another.
  • cush19 hours ago
    It&#x27;s weird that the pure html dialog still doesn&#x27;t handle inertness yet
    • extra8812 hours ago
      Sure it does. Open a modal &lt;dialog&gt; using &lt;button command=&quot;show-modal&quot;&gt;.
  • 220hertz19 hours ago
    Here we all are in 2026, talking about HTML, like madmen.
  • ChadNauseam18 hours ago
    my personal favorite, although css not html, is “field-sizing: content”. Finally with iOS 26 we can have input fields that expand to fit the content
  • Zardoz846 hours ago
    Sadly, Firefox for Android don&#x27;t support &lt;datalist&gt;, needing a polyfill.<p>Also, I run in issues where clients like to customize the style of the &lt;datalist&gt; drop-down selector in desktop. However, it could be styled, the element itself, and with the help of a little JavaScript that makes this visible element I lay when needed and accesible.
  • werdnapk19 hours ago
    &lt;details&gt; is still not animatable?
    • esprehn17 hours ago
      You can animate it now. There&#x27;s no default though which is a bit annoying. I wish we had made it animate open&#x2F;closed smoothly.<p><a href="https:&#x2F;&#x2F;austingil.com&#x2F;animating-details-element-with-only-css&#x2F;" rel="nofollow">https:&#x2F;&#x2F;austingil.com&#x2F;animating-details-element-with-only-cs...</a><p><a href="https:&#x2F;&#x2F;developer.mozilla.org&#x2F;en-US&#x2F;docs&#x2F;Web&#x2F;CSS&#x2F;Reference&#x2F;Selectors&#x2F;::details-content" rel="nofollow">https:&#x2F;&#x2F;developer.mozilla.org&#x2F;en-US&#x2F;docs&#x2F;Web&#x2F;CSS&#x2F;Reference&#x2F;S...</a>
    • adzm17 hours ago
      It is! Add css animation to the ::details-content pseudo element
  • fHr15 hours ago
    &gt;98% of FE&#x2F;Web developers: no we need hottestnewrandomslopjslibrary.js for this
  • underdeserver17 hours ago
    Loved the Zelda reference.
  • metalliqaz19 hours ago
    What on Earth is hidden-until-found for?
  • teddyh20 hours ago
    See also: &lt;<a href="http:&#x2F;&#x2F;youmightnotneedjs.com&#x2F;" rel="nofollow">http:&#x2F;&#x2F;youmightnotneedjs.com&#x2F;</a>&gt;
  • encom20 hours ago
    &gt;popover<p>Why are we cool with popups again? Anything that interrupts and blocks content is annoying, and is nearly guaranteed to make me leave immediately. It <i>can</i> be used responsibly, but it almost never is.
    • stefan_lec12 hours ago
      Very handy for nav bars with expandable drop-downs for more links - can now be done with zero JS. Requires much less CSS boilerplate now, and you don’t have to use z-index at all (which eliminates a whole bunch of tricky issues). They also handle all the tricky aria&#x2F;keyboard&#x2F;focus mgmt bits for you, too. It works really, really well.<p>Supposed to be real handy for tooltips too, but haven’t used that myself yet.<p>Edit to avoid potential confusion: these are separate from modal dialogs, think more like very small popups anchored to one point on the page that still allow you to interact with everything else. Theoretically you can make them modal, but it would be silly to - you’d be better off using &lt;dialog&gt; and the invoker api
    • vazark19 hours ago
      It is commonly used in dashboards when you want a confirmation dialog
    • Zardoz846 hours ago
      I find it very useful to create complex dropdowns. Also, to generate popover that shows previews...
  • totallygeeky1 day ago
    I&#x27;ve been tooling with site for years now and I&#x27;m always shocked at what can be done with raw HTML. These are some really neat examples, some work a bit funny when it comes to mouse vs. arrow key functionality though (in particular the dropdown&#x2F;autocomplete), I&#x27;m wondering if that&#x27;s an Edge specific issue or Chromium.
  • gulugawa12 hours ago
    The grouped details element sounds very useful. I&#x27;m going to add it to my website.
  • mabini21 hours ago
    Just because you can, it doesn&#x27;t mean you should
    • Aachen20 hours ago
      Exactly. Why reïmplement features in JS just because you can? Waste of effort and usually a worse user experience!<p>Wait, that wasn&#x27;t what you meant?
    • abanana15 hours ago
      Although I&#x27;ve used that phrase myself in the past, I&#x27;ve come to hate it. Somebody will post it on every HN thread where <i>any</i> form of suggestion has been made.<p>If it&#x27;s part of a paragraph of insightful commentary, it&#x27;s meaningful. On its own it&#x27;s not, it appears as though the poster chose to copy-and-paste a cliché instead of bothering to tell us what their specific disagreement even is (perfectly reasonable sarcasm from the sibling comment notwithstanding).
  • novoreorx11 hours ago
    IMHO datalist is a typical example of &quot;just because you can doesn&#x27;t mean you should&quot;
  • asdfsa3212 hours ago
    Can we start having a label for aislop content?<p>Maybe it is useful, but I am not reading it. I could barely read 2-3 lines before I closed the tab. Next.
  • zuzululu19 hours ago
    ngl i was surprised for the modal dialogs i always thought we needed javascript as i have been doing so forever with jquery<p>a bit off topic but wish we could bring back &lt;frames&gt; and &lt;tables&gt;. just good old fashioned stuff from the late 90s
    • Zardoz846 hours ago
      They are yet here. Tables are being used a lot. Also, you have &lt;iframes&gt;
  • bellowsgulch21 hours ago
    The older I get, the less I want to use new browser features that have already been somehow possible with existing ones that typically have been around for literal decades.<p>Adopting them makes a future with multiple browser engines more labor intensive and unlikely as the number of standards targets one is required to support grows and it becomes a game of asking yourself what sites you want your browser to support.<p>If you don&#x27;t have a lot of experience in web software, you might think, that&#x27;s a silly thing to think about, but I think it&#x27;s that level of maybe exceptional thoughtfulness that has really profound ramifications. If you do have a lot of experience in web software and you think it&#x27;s silly to think about, you suck.
    • abanana15 hours ago
      You started that off by raising an interesting point. Pity you had to ruin it by telling us you&#x27;re exceptionally thoughtful and profound, and that those who disagree, suck!<p>It&#x27;s true, the amount of work that would be needed nowadays has made the idea of building a new browser engine almost impossible (I don&#x27;t know how the Ladybird devs are getting on). It&#x27;s a reason to encourage people to support Firefox on desktop, since just about everything else is based on the other browser engine. I still miss Opera&#x27;s Presto - we don&#x27;t want to lose another one, or there&#x27;ll be no competition at all.<p>But as we&#x27;ve already crossed that threshold where the workload is preventing new engines from being built: choosing not to use new features, after they&#x27;ve been added to all the existing browser engines, isn&#x27;t going to help that situation in any way.
  • LoganDark8 hours ago
    &gt; Open one and the others close automatically.<p>I&#x27;m not sure that I&#x27;ve ever wanted this!! In fact, whenever I encounter something like a FAQ section where every single heading is its own collapsible, I typically expand all from the bottom up so that I can read everything without having to scroll-click-scroll-click etc. Whenever I encounter this behavior it&#x27;s disgusting and user-hostile and I hate it.
  • br0ceph17 hours ago
    js is web remote code execution. we need to return to an html only browser world.<p>theres no reason for a browser to be an OS&#x2F;compiler&#x2F;abi, for remote code.<p>this is the dumbest shit in the history of computers. why didnt everyone have they torches and pitchforks, when web2.0 became a thing?
  • yurishimo1 day ago
    Just a heads up but datalist is not really a great solution if you need a strong contract. The user can still type whatever they want into the field and there is no fuzzy filtering or typo mitigation. Once you add those requirements, a library that gives you a more fully featured combobox is likely going to make a lot of sense in your project.
    • vlucas22 hours ago
      Very true, and ran into this one specifically myself when going down the &quot;HTML can do this!&quot; road. HTML can NOT, in fact, replace a good combobox with search input. Datalist has significant shortcomings. I wound up using a React island for this single input inside otherwise normal HTML, despite my own objections, because it really it just that much better than the native options.
    • theandrewbailey14 hours ago
      Not having fuzzy filtering could be OK if you could filter the datalist and force it to display anyway. (There is no way to force it to display.) I gave up and used &lt;ul&gt; or &lt;ol&gt; instead.
    • Groxx19 hours ago
      Wow, yeah - years later and I still get nothing in Firefox, and support is quite spotty in general (and clearly still buggy): <a href="https:&#x2F;&#x2F;caniuse.com&#x2F;?search=datalist" rel="nofollow">https:&#x2F;&#x2F;caniuse.com&#x2F;?search=datalist</a><p>Hard pass, that&#x27;s essentially unusable.
    • sarchertech22 hours ago
      There’s still browser&#x2F;OS typo mitigation.
    • reaperducer21 hours ago
      That&#x27;s the whole sanitize vs. validate argument debate that keeps coming up.<p>How you handle it is project-dependent. But if you&#x27;re doing a real web site, not an SPA, you can show an error&#x2F;help page, or re-load the current page with the error&#x2F;help message.
      • yurishimo19 hours ago
        For sure; and it will continue to be an issue as long as we allow old browsers to exist. I’m definitely not saying you shouldn’t have backend validation, just highlighting where the frontend validation provided by the browser is not as universal as it might appear on the surface.<p>FWIW I find the native date picker to also still be quite poorly performing in practice, despite quite robust browser support. I wish it worked better but for many reasons, I still see plenty of users (or bots?) who submit dates in the wrong format for whatever reason. My current hypothesis is largely focused on password managers though since they will often do whatever they want directly in the value attribute of an input element.
      • Arch-TK19 hours ago
        This is specifically about good UX not about security, validation, or sanitisation.
  • TechLatestnet3 hours ago
    [flagged]
  • dxroshan9 hours ago
    [dead]
  • iamgopal22 hours ago
    [dead]
  • vishalgoyal883 hours ago
    [dead]
  • poopiokaka13 hours ago
    [dead]
  • karamalaskar21 hours ago
    [dead]
  • Theoleff19 hours ago
    [flagged]
  • devinhades33319 hours ago
    This page loads so slow it did not evenwork for me. guess html was not enough
  • hollowturtle21 hours ago
    An &quot;HTML Can&#x27;t Do That&quot; would be hundreds pages long, and at the pace of getting features like dialogs every decade we&#x27;re limiting ourselfs on any further development and creating serious apps. It wasn&#x27;t created for apps, it was created for light document formatting. When we will pretend a drawing api we can call directly from webassembly? Outside of web ui frameworks are doing just fine and way better and more performantly than html and dom
    • gear54rus21 hours ago
      &gt; When we will pretend a drawing api we can call directly from webassembly?<p>Hopefully, never. There&#x27;s enough ad-blocking arms race as it is.
      • hollowturtle20 hours ago
        You confuse marketing websites with productivity apps, google docs, figma and many more already render on a canvas using webassembly or not. It&#x27;s a matter of exposing the right tools
        • doodlesdev9 hours ago
          There&#x27;s friction to doing it this way right now, though. You lose out quickly on accessibility, SEO, performance and developer experience (you need developers that are more experienced).<p>Unfortunately, thinking about it in terms of game theory [0], I believe this is a good thing: I don&#x27;t want most websites migrating to canvas-like APIs for rendering. My web browser is my agent and I&#x27;d like it to mostly render DOM-rendered pages with CSS styling and, perhaps, funny JavaScript that doesn&#x27;t track me around.<p>Also, I wish Figma and Google Docs were just offline-usable desktop applications. Both are great _products_ and I use them, but using them on a browser tab makes me unhappy.<p>[0]: <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Game_theory" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Game_theory</a>
          • hollowturtle5 hours ago
            You can have programmatic apis for accessibility, SEO pages can be dom based, performance of figma is better than if implemented via the dom api, developer experience? you just get the best and stop pretending you have capable people that spend a day on discussing effects in react.<p>&gt; My web browser is my agent<p>It&#x27;s very likely not anymore, otherwise Chrome wouldn&#x27;t have pushed for manifest v3<p>&gt; I wish Figma and Google Docs were just offline-usable desktop applications.<p>I wish this too, but since we have decided app distribution to be web based, we need serious tools for making serious apps