v134 · forms
Form Integration
A complete bug-report form with three customizable <select> fields — category, priority (coloured dots), and severity — showing that appearance: base-select selects participate in HTML form validation, constraint API, and FormData exactly like native selects.
Feature detection: checking…
✓ Form submitted successfully! Values captured via FormData — see summary below.
Bug Report
/* Opt into the customizable base appearance */
select {
appearance: base-select;
border: 2px solid var(--border-black);
font-family: var(--font-mono);
}
/* Style the picker dropdown */
select::picker(select) {
border: 2px solid var(--border-black);
border-radius: 0;
background: var(--bg-ivory);
}
/* Custom option markup (option can contain HTML) */
option {
display: flex;
align-items: center;
gap: 0.5rem;
padding: 0.4rem 0.75rem;
}
/* Form API is unchanged — select.value, FormData, required, validation */
const data = new FormData(form);
data.get('priority'); // → "p1"