Comment by paradox460

Comment by paradox460 4 days ago

2 replies

This works because you're deliberately targeting a set of features Firefox supports, and the overwhelming majority of the time they're a subset of what Chrome (and increasingly, Safari) support

Read over the various web platform blogs out there, and keep a tally of how many times you'll see "Firefox gains support for XYZ in 139, bringing it to widespread availability. Chrome has supported this since 32 and Safari since version 16"

And many of these are fantastically useful features. Sure, they're not ground breaking building blocks like in the old days when IE didn't even support certain types of box model, but they're echos of the past

PaulHoule 4 days ago

Worse than that, where I work I can only install an LTS Firefox so I am stuck with relatively old features, but, hey, I’m in React land using components with some time lag in their development that don’t use these new features. I was kinda shocked to see that mainstream toolkits aren’t using <dialog/> given that it is a huge leap forward for accessibility… screen readers do not see anything they’re not supposed to see, end of story. Trouble is that it does cause trouble for frameworks that depend heavily on portalization.

  • paradox460 3 days ago

    The one that's shocked me the most is when I was writing some CSS for a recent project using Lit components, and nesting doesn't work at all.

    Component level CSS is simple enough that I didn't really have to go out of my way to do anything above and beyond, and if I had to I could just use a loader that uses sass or postcss or something similar, but it was a bit surprising.

    That said, I have really enjoyed Lit. I wrote the original components for this project in 2023, and haven't really touched them till earlier this week. Bumped all package dependencies, and did the usual things you'd do for an upgrade, and they have had a stable API over the two years they've existed.

    Regarding Dialog, a few years ago, when it was brand new, I was working on a project that used LiveView and SurfaceUI. We had a few modals that were used throughout the app, and I was in the process of migrating them to use Dialog before getting laid off. The tricky part, at the time, was that a Dialog invoked through pure HTML, no JS, lacked certain features that were available to the JS APIs. The HTML side has caught up, and the JS APIs have improved, but I've not touched frontend professionally in that time.