Re: [csswg-drafts] [css-ui] Pseudo-elements for checkmark and dropdown icon for appearance:base `<select>` (#10908)

The CSS Working Group just discussed ``[css-ui] Pseudo-elements for checkmark and dropdown icon for appearance:base `<select>` ``, and agreed to the following:

* `RESOLVED: Name the pseudo-element ::checkmark`
* `RESOLVED: go with ::picker-icon`

<details><summary>The full IRC log of that discussion</summary>
&lt;TabAtkins> fantasai: just 2-3 straw polls<br>
&lt;TabAtkins> fantasai: we've been discussing the pseudos for parts of form controls<br>
&lt;TabAtkins> fantasai: first is the pseudo that represents the checkmark in form controls. check in checkbox, dot in radio button, indicator in selector<br>
&lt;TabAtkins> s/selector/select/<br>
&lt;TabAtkins> fantasai: the checkmark pseudo is always there, it's just not visible when not checked<br>
&lt;TabAtkins> fantasai: so you can style it to an x when unchecked, etc, because it's still there, you just have to style it visible<br>
&lt;TabAtkins> fantasai: so the options are ::checked and ::checkmark<br>
&lt;jarhar> ::check and ::checkmark<br>
&lt;JakeA> Checkbox contains a check, so `::check`<br>
&lt;TabAtkins> it contains a check mark in my idiolect ^_^<br>
&lt;fantasai> :checked pseudo-class also exists<br>
&lt;TabAtkins> (but i'm good with ::check)<br>
&lt;fantasai> input[type=checkbox]:checked::check?mark? { style; }<br>
&lt;JakeA> I'm also fine with ::checkmark fwiw<br>
&lt;jarhar> option::check(mark)<br>
&lt;schenney> +1 to :checkmark, as this is the thing that is being drawn, not the verb "to check".<br>
&lt;TabAtkins> lea: what is the pseudo on in a &lt;select>? the &lt;select> or the &lt;option>?<br>
&lt;TabAtkins> fantasai: the &lt;option><br>
&lt;TabAtkins> lea: have we considered ::marker?<br>
&lt;jarhar> ::marker has been avoided in several conversations due to property limitations and other baggage<br>
&lt;TabAtkins> fantasai: that's used for list-items already<br>
&lt;argyle> ::checkmark<br>
&lt;lea> q?<br>
&lt;fantasai> POLL: A) ::check B) ::checkmark<br>
&lt;TabAtkins> JakeA: the idea is that we'd use this as the base rendering of a checkbox input?<br>
&lt;lea> q+<br>
&lt;astearns> ack fantasai<br>
&lt;Zakim> fantasai, you wanted to discuss after this discussion<br>
&lt;TabAtkins> lea: have we considered anything that doesn't imply a particular rendering?<br>
&lt;fantasai> ::checkedmark<br>
&lt;fantasai> :checked<br>
&lt;TabAtkins> lea: this implies it'll always look like a checkmark<br>
&lt;TabAtkins> fantasai: we could call it a checked-mark<br>
&lt;jfkthame> ::indicator ?<br>
&lt;TabAtkins> TabAtkins: since the pseudo-class is already :checked, i don't have a big problem with the name possible being non-representative of the actual appearance<br>
&lt;lea> +1 for ::indicator<br>
&lt;TabAtkins> fantasai: i'm still going with the two options unless someone has a strong feeling<br>
&lt;fantasai> I object to ::indicator because it is too generic<br>
&lt;TabAtkins> fantasai: "indicator" is super generic, a million things could be an indicator. this is specifically about the mark on form elements that can be checked<br>
&lt;TabAtkins> lea: i agree indicator is too generic, marker is about for list-items, check/checkmark are too specific... i dunno<br>
&lt;TabAtkins> JakeA: since :checked is the pseudo-class, does that sway you at all? i agree with you, but i think that pushes me to support ::check<br>
&lt;argyle> `:checked::checkmark` vs `:checked::check`<br>
&lt;noamr> I thought this is time-boxed to straw polls. This discussion doesn't seem like either time-boxed or a straw poll<br>
&lt;masonf> Straw poll could be 1) ::check, 2) ::checkmark, or 3) something else?<br>
&lt;TabAtkins> lea: if anything, :checked indicates we need something more generic, :checked::check is funky<br>
&lt;lea> 3<br>
&lt;schenney> (2)), because I agree that almost any other word like indicator or active, or selected is overloaded.<br>
&lt;florian> 1<br>
&lt;TabAtkins> fantasai: we have a lot of pseudos that are specific to form elements, they won't be reused. discussion of what this pseudo *is* shoudl be another issue<br>
&lt;TabAtkins> astearns: trying to timebox, i think we should go with Mason's strawpoll.<br>
&lt;bramus> 2<br>
&lt;kbabbitt> 2<br>
&lt;astearns> 2<br>
&lt;jfkthame> 2<br>
&lt;TabAtkins> 1, 2<br>
&lt;noamr> 2<br>
&lt;stepheckles> 2<br>
&lt;argyle> 2<br>
&lt;kizu> 2<br>
&lt;dbaron> 2<br>
&lt;masonf> 2<br>
&lt;joshtumath> 1 or 2<br>
&lt;fantasai> 2, 1<br>
&lt;futhark> 2<br>
&lt;jarhar> 2<br>
&lt;chrishtr> 2<br>
&lt;JakeA> 2<br>
&lt;florian> 1 prefered, 2 ok<br>
&lt;TabAtkins> astearns: 2 is obviously the winner<br>
&lt;TabAtkins> astearns: proposed resolution is ::checkmark<br>
&lt;TabAtkins> RESOLVED: Name the pseudo-element ::checkmark<br>
&lt;TabAtkins> fantasai: Next is the dropdown arrow on select. proposal is to use the smae pseudo for that and other pop-up controls (like date picker, time picker)<br>
&lt;TabAtkins> fantasai: "this is the thing that indicates you can trigger a popup"<br>
&lt;schenney> expander<br>
&lt;TabAtkins> fantasai: for some form control that's the only targetable area, other form controls can cause it in a larger area<br>
&lt;TabAtkins> fantasai: current thinking is a single pseudo representing an icon that can be clicked to open things<br>
&lt;fantasai> https://github.com/w3c/csswg-drafts/issues/10908#issuecomment-2455470313<br>
&lt;TabAtkins> fantasai: long list of things that have been proposed<br>
&lt;argyle> q+<br>
&lt;jarhar> i like ::picker-icon<br>
&lt;astearns> ack lea<br>
&lt;TabAtkins> JakeA: I don't like the ones that suggest it's the thing you click on to open it<br>
&lt;TabAtkins> like ::picker-opener, etc<br>
&lt;TabAtkins> JakeA: If it's just referring to that little arrow...<br>
&lt;lea> q+<br>
&lt;astearns> ack argyle<br>
&lt;TabAtkins> argyle: do we have a list of affected elements?<br>
&lt;masonf> +1 to that logic: it's just the "icon", and it *might* be inside a button.<br>
&lt;JakeA> sorry, I'm out of practice for queue usage. I'll fix myself<br>
&lt;TabAtkins> argyle: we have ::picker(), can we involve that? ::picker-picker?<br>
&lt;masonf> Pickers are (typically): select, input text with datalist, color picker, date/time picker<br>
&lt;TabAtkins> fantasai: this is on the form element, select::bikeshed<br>
&lt;TabAtkins> argyle: and details summary? same or different?<br>
&lt;TabAtkins> fantasai: totally separate<br>
&lt;astearns> ack lea<br>
&lt;TabAtkins> lea: the current use-case - is this always an arrow in every platform? or other displays?<br>
&lt;TabAtkins> fantasai: the icon will probably differ between form controls<br>
&lt;TabAtkins> fantasai: but the current proposal is appearance:base, it'll probably be a disclosure triangle of some kind<br>
&lt;schenney> q+<br>
&lt;TabAtkins> fantasai: author would be able to change it<br>
&lt;masonf> But on a date picker, it's usually a calendar icon<br>
&lt;TabAtkins> lea: yeah, just asking about default styling, any case where this isn't an arrow/caret?<br>
&lt;TabAtkins> fantasai: we might ahve seen a + sign before?<br>
&lt;argyle> will this always invoke a picker? or can it also expand inline?<br>
&lt;lea> I quite like `::opener`. `::expander` could also work. `::picker-opener` is too long<br>
&lt;astearns> ack dbaron<br>
&lt;TabAtkins> dbaron: if we're gonna do something here we reuse for date pickers, there are some differences<br>
&lt;fantasai> lea, the reason for the ::picker- prefix is to tie it to the ::picker() pseudo-element which it opens<br>
&lt;fantasai> or indicates opening<br>
&lt;TabAtkins> dbaron: like how jake mentioned, how the entire control is clickable in &lt;select> isn't always true in date pickers, the popup is separate from the individual bits with other controls<br>
&lt;TabAtkins> dbaron: don't think there's necessarily a hard requirement that this is the same thing we use on date picker<br>
&lt;astearns> ack schenney<br>
&lt;masonf> It's a down-arrow icon on select and color, and a calendar icon on the date picker. So always an "icon".<br>
&lt;dbaron> s/is the same/is or isn't the same/<br>
&lt;TabAtkins> schenney: in this discussion people keep saying "icon", think this strongly argues for icon<br>
&lt;TabAtkins> lea: "icon" could be decorative<br>
&lt;TabAtkins> ::picker-icon<br>
&lt;TabAtkins> sounds reasonable to me<br>
&lt;joshtumath> +1<br>
&lt;TabAtkins> argyle: "serach" has several icons, one for datalist, one for clearing<br>
&lt;JakeA> +1 for `::picker-icon`<br>
&lt;lea> I would rather name it after its purpose, rather than a specific rendering<br>
&lt;TabAtkins> argyle: inputs that have a list become picker-invokers also<br>
&lt;schenney> q+<br>
&lt;dbaron> `::picker-icon` was one of the 2 most popular options in the prior poll referenced in jarhar's comment<br>
&lt;TabAtkins> masonf: in search, the icon doesn't open a picker, it does something else<br>
&lt;TabAtkins> argyle: so i imagine if i did ::icon in a search, i'd expect it to selecto both? ::picker-icon is clearly about the picker, makes sense<br>
&lt;astearns> ack schenney<br>
&lt;lea> `::picker-trigger`? `::picker-invoker`? `::picker-opener`? They're long, but not that much longer than `::picker-icon`<br>
&lt;dbaron> masonf: for search, `::clear-icon` for the one that clears<br>
&lt;TabAtkins> argyle: do we need to separate "picker button" from "picker icon"? one wrap the icon, can be styled, etc; the other is the content<br>
&lt;fantasai> TabAtkins: You would use 'content' to insert a string or whatever<br>
&lt;TabAtkins> astearns: so main diff between the firs titme on the popular list (picker-icon) and the next three is the rendering vs what it does<br>
&lt;JakeA> But it isn't the only thing that does what the thing does :D<br>
&lt;TabAtkins> astearns: want to go into some reasoning?<br>
&lt;TabAtkins> fantasai: in some controls, the icon is the only clickable thing. in others it's an indicator, but you can click in multiple places. varies between controls, and has varied over time.<br>
&lt;TabAtkins> astearns: suggest poll between icon and action?<br>
&lt;TabAtkins> fantasai: suggest everyone put their favorite, we take the top few<br>
&lt;dbaron> (I'm not sure if "button" is purpose or rendering...)<br>
&lt;TabAtkins> lea: i like alan's suggestion. don't feel strongly about the name, but do feel strongly about it describing the action<br>
&lt;masonf> +1 to just jumping to names<br>
&lt;TabAtkins> fantasai: unsure the naming is reasonable. could collect into two sets...?<br>
&lt;fantasai> s/naming/grouping/<br>
&lt;TabAtkins> astearns: I'm convinced by David's statement that my categorization isn't correct.<br>
&lt;lea> dbaron: I would think purpose. `::picker-button` seems better than icon as well<br>
&lt;TabAtkins> astearns: let's straw-poll on the first four options.<br>
&lt;argyle> 1<br>
&lt;dbaron> s/dbaron:/dbaron,/<br>
&lt;TabAtkins> 1) ::picker-icon 2) ::picker-button 3) ::picker-opener 4) ::picker-trigger<br>
&lt;fantasai> 1<br>
&lt;masonf> 1<br>
&lt;schenney> 1<br>
&lt;TabAtkins> 1<br>
&lt;stepheckles> 1<br>
&lt;kbabbitt> 1<br>
&lt;noamr> 1<br>
&lt;jarhar> 1<br>
&lt;astearns> 1<br>
&lt;ydaniv> 1<br>
&lt;dbaron> 1<br>
&lt;JakeA> 1<br>
&lt;bramus> 1<br>
&lt;futhark> 1<br>
&lt;florian> 1<br>
&lt;JakeA> Because it's iconography within the picker/opener/trigger<br>
&lt;joshtumath> 1<br>
&lt;oriol> abstain<br>
&lt;lea> anything other than 1<br>
&lt;ChrisL> 1<br>
&lt;flackr> 1<br>
&lt;TabAtkins> astearns: straw poll seems clear. Let's resolve on picker-icon. Objections?<br>
&lt;TabAtkins> RESOLVED: go with ::picker-icon<br>
&lt;TabAtkins> astearns: third straw poll?<br>
&lt;TabAtkins> fantasai: that's it<br>
</details>


-- 
GitHub Notification of comment by css-meeting-bot
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/10908#issuecomment-2489173316 using your GitHub account


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

Received on Wednesday, 20 November 2024 17:27:08 UTC