Tier C

RN-universal Checkbox pilot

Scaffolded

Pressable + inner check icon. Controlled (checked + onCheckedChange) and uncontrolled (defaultChecked) modes. accessibilityRole='checkbox' + accessibilityState.{checked,disabled}.

Side-by-side: controlled

shadcn (Radix Checkbox)
RN (Pressable via RN Web)
I accept the terms

Both surfaces are driven by the same state. Click either.

Uncontrolled (defaultChecked)

Remember me

Disabled states

Disabled unchecked
Disabled checked

List selection

Mathematics
Literature
History

Selected: Mathematics

Semantics

AspectshadcnRNNotes
Element<button role="checkbox"><Pressable accessibilityRole="checkbox">Role parity
Checked statedata-state="checked"accessibilityState.checkedCSS cascade vs explicit state
Controlledchecked + onCheckedChangesameAPI parity
Check iconRadix.Indicator + lucideinline lucide CheckNo portal needed