Why it matters
Custom checkbox, radio, switch and menuitemcheckbox elements without a name are announced only as "checkbox, not checked" with no subject.
How to fix it
Reference visible label text with aria-labelledby, or add aria-label. Prefer a native <input type="checkbox"> with a <label>.
References
More accessibility rules
void a11y reports 48 rules in this category. WCAG 2.2 AA through axe-core, plus checks axe can't do alone: visible keyboard focus, 24/44px target size on mobile, 320px reflow and disabled zoom.
aria-hidden-focusFocusable element inside aria-hiddenaria-hidden-bodyaria-hidden on <body>aria-command-nameARIA button/link/menuitem has no accessible namearia-input-field-nameARIA input field has no accessible namearia-prohibited-attrARIA attribute is prohibited for this rolenested-interactiveInteractive controls are nestedduplicate-id-ariaDuplicate id referenced by ARIAframe-title<iframe> has no title