Skip to content
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

Add UA stylesheet for <select> base appearance #10670

Open
wants to merge 11 commits into
base: main
Choose a base branch
from

Conversation

josepharhar
Copy link
Contributor

@josepharhar josepharhar commented Oct 3, 2024

This PR adds a stylesheet for customizable select which applies when the select element has base appearance.

Discussion here: w3c/csswg-drafts#10857

Customizable select proposal: #9799

(See WHATWG Working Mode: Changes for more details.)


/infrastructure.html ( diff )
/rendering.html ( diff )

source Outdated
@@ -135710,6 +135711,93 @@ progress { appearance: auto; }</code></pre>

</div>

<!-- TODO should this go at the top of the section right below "the select element"? -->
<p>The following styles are expected to apply to <code>select</code> elements when they are being
rendered as a <span>drop-down box</span> with <span>base appearance</span>:</p>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where do we define what base computes to when it's a list box?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In this iteration I'm not proposing supporting base appearance on list box rendering. In chromium, I am making it do the same thing as appearance:auto, and our plan to do forward compat is to add a CSS @supports rule when appearance:base is ready for list box rendering.

@annevk annevk added the topic: select The <select> element label Nov 8, 2024
Copy link
Member

@annevk annevk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nt1m have you had a chance to review this?

@josepharhar
Copy link
Contributor Author

I just updated this PR to match the latest styles from the CSS issue.

I'm not sure what we should say about properties that are supposed to be inherited, like color and font. Should we explicitly say color:inherit? Should we have some text which says that all properties not listed here should be whatever their unset value is? Should we just say that other UA styles should not apply?

There is a bunch of UA styles in chromium I have to undo by adding extra CSS, and while I don't want to list all those properties specifically in this spec I also think it would be a good idea to mention that when implementing this feature, you have to undo those.

@domenic
Copy link
Member

domenic commented Feb 28, 2025

I think we need to list all those properties explicitly in the spec! Why would we not?

@annevk
Copy link
Member

annevk commented Feb 28, 2025

I think @josepharhar is describing Chromium's implementation of "base appearance", as in principle "base appearance" would start from an unstyled element so you would not have to undo styling, unless it was some global style.

@domenic
Copy link
Member

domenic commented Feb 28, 2025

I see. That's probably covered by the CSS spec for appearance: base then?

@josepharhar
Copy link
Contributor Author

Agreed! I'll omit the properties which have their default.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
addition/proposal New features or enhancements topic: forms topic: rendering topic: select The <select> element
Development

Successfully merging this pull request may close these issues.

5 participants