Re: [csswg-drafts] [css-forms-1] Should `appearance: base-select` work on listbox selects? (`<select size>`/`<select multiple>`) (#12468)

So we have consensus that we do need stylable customizable listboxes, yay.

As I mentioned in the call, it is not 100% clear to me whether it should be done via `base-select`. One idea, which would also address https://github.com/whatwg/html/issues/11452 is to have a *separate* `base-listbox` value so that authors can also switch between the two in CSS, since there are use cases for switching between the two.

@keithamus said in the call that, as long as `base-select` also applies to listboxes, authors can switch between the two already with minimal CSS. He will provide example snippets to demonstrate. My concern is that this would take a nontrivial amount of CSS, so authors would have to essentially recreate the default dropdown appearance _before_ they can apply any styling — which is something the UA already knows how to do, but if it's indeed a matter of 1-3 declarations it's probably fine and not worth the complexity of another `appearance` value.

@josepharhar said that his plan is to make it so that `<select multiple size="1">` is a dropdown (with `appearance: base-select` or not), web compat permitting. That could address one of the core use cases for switching between the two. OTOH, `size` is a presentational attribute and it feels wrong to control the listbox height in HTML, but perhaps that could be mitigated by introducing an `auto` or `max` value and specifying the actual height in CSS, though I cannot think of a way to do this right now, since with stylable listboxes, options could wrap, so it's not just a `height: calc(var(--max-lines) * 1lh)`.

-- 
GitHub Notification of comment by LeaVerou
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/12468#issuecomment-3079398482 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Wednesday, 16 July 2025 16:35:47 UTC