Saltar al contenido principal

Guia de estilos

šŸ“˜ GuĆ­a de estilos y accesibilidad​

Este documento reúne las convenciones de CSS/Tailwind, naming y buenas prÔcticas de accesibilidad para el frontend.


1. Estructura de estilos​

  • Tailwind CSS

    • Utiliza clases utilitarias para layout, espaciado y tipografĆ­a.
    • Configura las extensiones bĆ”sicas en tailwind.config.js.
    • Evita estilos inline redundantes.
  • SCSS Modules

    • Para estilos muy especĆ­ficos de componente, usa módulos SCSS (Component.module.scss).
    • Nombra clases en kebab-case: .reservation-form, .btn-primary.

2. Naming de clases y componentes​

  • React Components

    • Archivos y folders en PascalCase: ReservationForm.tsx, Button/.
    • Componentes exportados como default en su carpeta.
  • CSS Classes

    • Tailwind: prefijos claros (bg-, text-, p-, m-).
    • SCSS: .ComponentName__element--modifier (BEM-like).

3. Accesibilidad (a11y)​

  • Etiquetas semĆ”nticas: usa <button>, <nav>, <header>.
  • Roles y ARIA: aƱade role="dialog" a modales, aria-label en iconos sin texto.
  • Contraste: mĆ­nimo AA (4.5:1) para texto normal.
  • Teclado: todos los elementos interactivos deben ser foco-navegables (tabindex).
  • Formularios: asocia <label> a <input> con htmlFor y id.

4. Temas y tokens de diseƱo​

Define variables en CSS o tema de Tailwind para colores y tipografĆ­a:

// tailwind.config.js
module.exports = {
theme: {
colors: {
primary: '#4D4DFF',
secondary: '#FFB800',
danger: '#E02424',
// ...
},
screens: {
sm: '640px',
md: '768px',
lg: '1024px'
}
}
}

5. Acciones de lint y formateo​

  • ESLint + Prettier integrados.
  • Script en package.json:
npm run lint
npm run format