What to build
Several user-visible labels fall below WCAG AA contrast on white/light surfaces:
pagination.tsx:110,132 — text-gray-400 on white for disabled prev/next (≈3.1:1, fails AA 4.5:1 for normal text)
cart-line.tsx:119,138 — text-gray-500 text-xs for strikethrough price and unit price on white
cart-summary.tsx:233 — text-xs opacity-75 shipping disclaimer (small text + opacity reduction compounds)
product-gallery.tsx:173 — text-gray-500 opacity-80 on bg-gray-100 for the alt-text badge
Raise to at least text-gray-600 (or design-token equivalent) and drop the opacity tricks. Keep the disabled visual distinct from enabled — outline style change or muted-but-readable color, not invisible.
Acceptance criteria
Blocked by
None — can start immediately.
References
apps/storefront/src/components/actionable/pagination.tsx:110,132
apps/storefront/src/components/cart/cart-line.tsx:119,138
apps/storefront/src/components/cart/cart-summary.tsx:233
apps/storefront/src/components/products/product-gallery.tsx:173
What to build
Several user-visible labels fall below WCAG AA contrast on white/light surfaces:
pagination.tsx:110,132—text-gray-400on white for disabled prev/next (≈3.1:1, fails AA 4.5:1 for normal text)cart-line.tsx:119,138—text-gray-500 text-xsfor strikethrough price and unit price on whitecart-summary.tsx:233—text-xs opacity-75shipping disclaimer (small text + opacity reduction compounds)product-gallery.tsx:173—text-gray-500 opacity-80onbg-gray-100for the alt-text badgeRaise to at least
text-gray-600(or design-token equivalent) and drop the opacity tricks. Keep the disabled visual distinct from enabled — outline style change or muted-but-readable color, not invisible.Acceptance criteria
Blocked by
None — can start immediately.
References
apps/storefront/src/components/actionable/pagination.tsx:110,132apps/storefront/src/components/cart/cart-line.tsx:119,138apps/storefront/src/components/cart/cart-summary.tsx:233apps/storefront/src/components/products/product-gallery.tsx:173