Minimalismo funcional para equipos de salud · WCAG 2.2 AA · 8pt Grid · Tailwind-compatible
1. Contexto y objetivo
Intención de diseño: NutriFlow utiliza un estilo Clean-Minimalista para transmitir confianza y profesionalidad a dietistas y clínicas, eliminando el ruido visual que genera ansiedad en contextos de salud. El sistema prioriza la legibilidad, la accesibilidad y la consistencia sobre la decoración.
Audiencia
Nutricionistas autónomos y clínicas peq./med.
Plataforma
App web React + Tailwind · Landing captación
Estándar
WCAG 2.2 AA · 44px touch · Keyboard-first
2. Tokens de color
Paleta semántica de 7 tokens base. Usar siempre el token, nunca el valor hex directo en componentes.
must Focus-visible con outline 3px offset 2px. must min-height: 44px en todos los tamaños. should Incluir aria-label cuando el botón solo contiene icono. avoid Más de 2 acciones primarias en la misma vista.
6. Componente — Input
Min-height 44px. Label siempre visible (nunca solo placeholder). Error y hint en texto, no solo en color.
Contraste de textoVerificar ratio ≥ 4.5:1 para texto normal y ≥ 3:1 para texto grande (≥18pt). Usar Colour Contrast Analyser.
✓
Focus visibleTab a través de todos los elementos interactivos: el foco debe ser visible en todos sin excepción (outline 3px blue offset 2px).
✓
Touch targets 44pxInspeccionar en DevTools: todos los elementos interactivos miden ≥44×44px. Revisar especialmente badges-link y iconos.
Spacing en grid 8ptRevisar con plugin de Figma o CSS audit que todos los valores de margin/padding/gap son múltiplos de 8.
Sin tokens ad-hocgrep en el código: ningún color hex directo fuera de los archivos de tokens. Solo var(--color-*).
Estados de componenteCada botón e input tiene implementado: default, hover, focus-visible, active, disabled. Inputs además: error y success.
Reduced-motionVerificar que todas las animaciones CSS respetan @media (prefers-reduced-motion: reduce).
Screen-reader labelsTodos los inputs tienen label asociada (for/id). Botones icon-only tienen aria-label. Badges de estado tienen texto, no solo color.
Typography scaleNo hay font-size fuera de la escala 12/14/16/20/24/32. Verificar con CSS audit.
Estados vacíos/error/cargaCada vista tiene definido el estado vacío (empty state), estado de carga (skeleton) y estado de error con acción de recuperación.