On 2026-10-21 the CSS Working Group adopted cursor rules for appearance: base in css-forms-1 issue #14251. The short version:
select, option, checkboxes, radios, color inputs, and ::file-selector-button → cursor: pointerinput[type=range] → cursor: grab (and grabbing while dragging):disabled → cursor: not-allowedreadonly and optgroup → cursor: defaultKeith Cirkel's line in the meeting is now the official reading: "pointer means 'click this', the text cursor means 'prepare to type', the grabbing hand means 'drag this'." The older idea that the hand icon is for links only is not part of this model.
The decision was still being argued on GitHub in early November. One side says telling clickable from non-clickable matters more than telling links from buttons. The other says flattening the cursor removes a cue about navigation versus in-page action. Nicole Sullivan's cross-design-system survey fed the resolution, so "what authors actually ship" collided head-on with "what desktop OSes historically do."
This is not a tip about putting pointer on buttons. It is about what the cursor is supposed to mean on top of appearance: base, and how far a browser's UA stylesheet should standardize that meaning.
At least three expectations collide on form-control cursors:
cursor: pointer on buttons and selects. Nicole's first cut found 27 of 33 systems that set a cursor used pointer (~82%). Thickening the sample toward Bootstrap/Tailwind later moved the split closer to 50/50, but "when people choose deliberately, they often choose pointer" still held.pointer means link and default means everything else. Opponents of the change want that cue because links can leave the document while buttons usually act in place.There is also a technical constraint. Text inside a button can make cursor: auto resolve to an I-beam. Leaving the cursor unspecified is not neutral; it can emit the wrong symbol. The UA stylesheet has to pick something.
appearance: base sits right on that collision. It drops native painting and gives authors a shared, overridable base. If you are building a base, you also have to decide whether the cursor affordance is part of that base or left to authors.
appearance: base assumesappearance: base (CSS Forms 1) replaces OS-native drawing with a simple look defined by the spec. Authors layer a design system on top. The goal is not "look like the OS" but "start from what Web authors already tend to do." As kizu wrote on the issue, base itself already abandons the common system look. Reading the cursor rules as Web-native rather than OS-native follows from that.
appearance: auto stays closer to native. Early proposals put default on both auto and base; the adopted pointer rules were debated with the base demo. How far auto should match is still an implementation and compat question.