You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
SegmentedControl is 32px at size="lg", below the 44px touch-target floor at every size #6013
SegmentedControlItem is 32px tall at size="lg" — the largest size the component offers — which is below the 44px minimum touch target size in the WCAG 2.2 AA "Target Size (Minimum)" / Apple HIG / Material guidance that most mobile products hold themselves to. Because lg is the ceiling, no prop combination reaches the floor; a consumer has to override the height in CSS.
Measured
@astryxdesign/core@0.5.2, Chromium, 390px viewport (iPhone-class width), getBoundingClientRect().height on .astryx-segmented-control-item:
For comparison, in the same render Button and ToggleButton take min-height: 44px from our own phone floor and measure 44px; the segmented control does not, because its class was not in that floor's selector list. We have added it locally — this issue is about the shipped default.
Why it matters
A segmented control is frequently a primary phone affordance (a view switcher, a filter). At 32px it is the smallest interactive control in a typical Astryx phone surface, and it is the one users hit while walking.
Suggested
Either raise size="lg" to a 44px minimum on coarse pointers, or expose the height so a theme can. A @media (pointer: coarse) floor inside the component would fix it for every consumer without changing desktop density — which is the part consumers cannot safely do themselves, since a blanket min-height on Astryx classes changes non-control density too.
Thank you for checking the touch-target sizing here and for calling out the standard explicitly.
One correction: 44×44 CSS px is the WCAG AAA target under SC 2.5.5, not the AA minimum. Astryx targets WCAG 2.2 AA, where SC 2.5.8 sets the minimum at 24×24 CSS px, subject to its spacing and other exceptions.
At 32px, the SegmentedControl item therefore clears the AA dimensional minimum. We may still choose a larger target as an Astryx design standard in a particular context, but we should not describe 44px as the WCAG 2.2 AA requirement.
Activity
cixzhang commentedon Sep 4, 2026
Thank you for checking the touch-target sizing here and for calling out the standard explicitly.
One correction: 44×44 CSS px is the WCAG AAA target under SC 2.5.5, not the AA minimum. Astryx targets WCAG 2.2 AA, where SC 2.5.8 sets the minimum at 24×24 CSS px, subject to its spacing and other exceptions.
At 32px, the SegmentedControl item therefore clears the AA dimensional minimum. We may still choose a larger target as an Astryx design standard in a particular context, but we should not describe 44px as the WCAG 2.2 AA requirement.