- Issue
- Color swatches are clickable
<div>s: not focusable, no role or name, and the selected swatch is shown only by a faint ring color change that is not exposed to assistive tech. - WCAG 2.2
- 2.1.1 Keyboard; 4.1.2 Name, Role, Value; 1.4.1 Use of Color; 1.4.11 Non-text Contrast (A, AA)
- Severity
- Critical
- Where
- Product: Color swatches
- Found by
- Manual (keyboard + screen reader)
- Files
after/product.html (color options), after/assets/theme.css, after/assets/theme.js- Change
<div class="swatch"> ×3 → <fieldset><legend>Color</legend> with <input type="radio" name="color"> + <label> per color (input visually hidden, label keeps the round swatch, color name as visually hidden text). Checked state: thick dark ring + white checkmark (not color alone). JS listens to change instead of click, so arrow keys work natively. Image alt updates with the color.- Verified
- R (Arrow Right selects Slate; checkmark present), K5 (Tab reaches the group, Right Arrow selects Slate), SR2 ("group, Color", "radio, Forest, checked, position 1, set size 3"), SR3.
- Your retest
- Tab to Color, use arrow keys; VoiceOver: “Slate, selected, radio button, 2 of 3”.
- Status
- Fixed, pending partner retest