Accessibility
Making the UI work for everyone, in every condition.
Accessibility is not a finishing pass — it is a constraint on every decision. These principles draw on Material 3's usability foundations and WCAG.
Accessibility is a baseline
Every interactive element is reachable and operable by keyboard, exposes its role and state to assistive technology, and shows a visible focus indicator. Meaning is never carried by color alone. Treat WCAG AA as the floor, not the goal — a control no one can reach is not done.
Sources: Material 3 — Accessibility, W3C — WCAG 2.2
Legibility and contrast
Text and essential UI must stay readable. Hold text to at least 4.5:1 contrast (3:1 for large text and meaningful non-text elements), keep body sizes comfortable, and never rely on a single hue to distinguish states. Readability survives both themes and low-vision conditions.
Source: W3C — Contrast (Minimum)
Comfortable targets and ergonomics
Interactive targets are large enough to hit reliably and spaced so neighbours aren't triggered by accident. Aim for a minimum touch target around 44–48px, and place primary actions within easy reach of where the user is working.
Respect motion preferences
Motion clarifies change, but it can also distract or cause discomfort. Keep transitions short and purposeful, and honor the user's reduced-motion preference by dropping or simplifying non-essential animation. Motion is an enhancement, never a requirement for understanding the UI.
Design inclusively
Users span languages, abilities, devices, and contexts. Write text that translates cleanly (no idioms), don't assume pointer input or a large screen, and test the experience under zoom, keyboard-only, and screen-reader use. Designing for the edges improves the experience for everyone.