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
.
- Para estilos muy especĆficos de componente, usa módulos SCSS (
2. Naming de clases y componentesā
-
React Components
- Archivos y folders en PascalCase:
ReservationForm.tsx
,Button/
. - Componentes exportados como default en su carpeta.
- Archivos y folders en PascalCase:
-
CSS Classes
- Tailwind: prefijos claros (
bg-
,text-
,p-
,m-
). - SCSS:
.ComponentName__element--modifier
(BEM-like).
- Tailwind: prefijos claros (
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>
conhtmlFor
yid
.
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