Clear labels
Every interactive control should expose a visible label or an equivalent accessible name.
Icon-only actions still need an `aria-label` that explains the outcome.
Colors
Reference color scales and semantic tokens used across Curie DS surfaces.
Base tokens used by semantic mapping
Tailwind v4 maps radius utilities from --radius via @theme.
Practical examples and reminders for inclusive UI across Curie DS surfaces.
Every interactive control should expose a visible label or an equivalent accessible name.
Icon-only actions still need an `aria-label` that explains the outcome.
Interactive elements should be reachable in a logical order with visible focus states.
Use the same reading order as the layout and avoid trapping focus unless a dialog is open.
Support meaning with text and structure, not color alone.
Status badges, trend lines, and alerts should pair color with labels, icons, or patterns.
Errors, loading states, and summaries should be announced in plain language.
Keep assistive text concise so screen reader users hear the important part first.
Prefer semantic HTML first, then add ARIA only when native elements cannot express the interaction.
Decorative artwork and repeated visual flourishes should be hidden from assistive tech.
Charts and dense data views should include a short text summary of the takeaway.
Relative dates like Today and Tomorrow are fine visually, but absolute dates help reduce ambiguity.