Luke
@lukewarlow.dev
2.1K followers 630 following 1.2K posts
💻 Web Platform Engineer at @igalia.com Participate in WhatWG, CSSWG, OpenUI CG 🦆 Nature lover 🏴󠁧󠁢󠁷󠁬󠁳󠁿 Cardiff
Posts Media Videos Starter Packs
Reposted by Luke
webdirections.org
The day has come: native form controls that actually style properly! @Apple's Tim Nguyen previews the CSS-only future we've been waiting for #DevSummit25

Tim Nguyen at Dev Summit 25 bit.ly/3Iooh20
Banner for conference presentation. Text reads Tim Nguyen Form control styling Eng AI 2025 Sydney Sept 12
lukewarlow.dev
Emphasis on the "prototype" here, this is still a long ways off. Got to start somewhere though!
lukewarlow.dev
Fun fact: links aren't the only element browsers use a pointer cursor for! `<input type="image">` also gets one. I have absolutely no clue why though...
lukewarlow.dev
What happens if I do:

observer.observe(ref.current)

Because observeUsing isn't actually a platform API it makes me think something sus is happening under the hood?
lukewarlow.dev
If you need a song to beg people to use your format... I feel like it says a lot. But then I'm clearly quite biased here.

I'm genuinely curious if there's something I've missed about it. For all my use cases webp/avif have been perfectly fine, but that's not to say there's not other cases.
lukewarlow.dev
The main theoretical one seems to be the progressive rendering but my perspective on that is, do we actually need that anymore? AVIF and webp can end up being so small that they *just load*.

Progressive rendering doesn't seem to work in WebKit so I can't really test my theory though.
lukewarlow.dev
It's got a massive fanbase so if any follow-me please reply to Jake and give your perspectives.

I admit I find myself really confused why it seems to have such an almost cult following among some people, so I'm interested to see if there's some gotcha I've missed.
jakearchibald.com
Folks who want to see JPEG-XL supported in more browsers, what is it about the format that attracts you to its use on the web?
Reposted by Luke
lukewarlow.dev
Yeah I'm hopeful that we can get it standardised ensuring it encourages accessible patterns etc.

Toolbar will hopefully be a fairly easy one to do too (it's in some ways simpler than menubar).

Then the big one left is Tabs...
lukewarlow.dev
You also can't disable a details element and that's kind of interactive (technically the summary is but that can't be disabled either).
lukewarlow.dev
A dialog isn't really an interactive element though? It contains interactive elements. Admittedly you can disable a fieldset and it inherits to the children so perhaps there's precedent. I think dialog conceptually is more like a div than an input though?
lukewarlow.dev
Disabled lines up with aria-disabled which doesn't apply to dialogs.

Also it was sort of an accidental addition when we wanted to add automatic light dismiss. So it fit better into the closedby attribute.
lukewarlow.dev
Ultimately depends how much control you have but if you use the request-close command on the button (or call .requestClose() in JS) and preventDefault() the dialog's cancel event you can stop that. If you don't control the dialog content then yeah they can do stuff. But the browser won't at least.
lukewarlow.dev
Yeah I guess maybe it's a question of language. It is marked as obsolete (and so deprecated in MDN language), but it also is in the standard and it's supported everywhere.
lukewarlow.dev
I often see people referring to as non-standard and I wonder where that comes from? It's in the html spec.

html.spec.whatwg.org/multipage/re...
HTML Standard
html.spec.whatwg.org
lukewarlow.dev
I ask because OpenUI is setup to do exactly what you want, improve and expand the capabilities of HTML UI.
lukewarlow.dev
What do you mean by "dropdown" btw? It's a very overloaded term so, would be good to know

We have base appearance select for that type of drop down.

+ OpenUI are working on a new menulist element which will address another type of dropdown. open-ui.org/components/m...
Menu Elements (Explainer) | Open UI
Open UI
open-ui.org
lukewarlow.dev
If you put closedby="none" on the dialog then there's no built-in closing mechanisms. I think that achieves what you want? This way you have full control over it. Not supported in Safari yet but it's in the spec.
Reposted by Luke
webkitgtk.org
Another exciting weekful of updates, covering many fronts: MathML, Trusted Types, WebExtensions, multimedia, graphics... Issue #41 of #WebKitIgaliaPeriodicals has it all!

blogs.igalia.com/webkit/blog/...
Igalia WebKit Team | WebKit Igalia Periodical #41
blogs.igalia.com
lukewarlow.dev
Did they finally add a manifest and service worker? I think at one point they were missing one?
lukewarlow.dev
The spec has to do some "do the thing" for hit testing because there's no definition to link to though.
lukewarlow.dev
I'm working on a new function for the cssom-view spec which is based on hit testing. Found out the existing ones behave inconsistently, WebKit is consistently 'wrong', servo is consistently 'right', chromium and firefox are inconsistent. Specifically this issue was around display:contents elements.
lukewarlow.dev
We *really* need a specification for hit testing on the web...