@lugom.io/hefesto 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agents/hefesto-argos.md +279 -0
- package/agents/hefesto-athena.md +379 -0
- package/agents/hefesto-hermes.md +128 -0
- package/bin/install.js +54 -20
- package/package.json +3 -3
- package/skills/hefesto-context/SKILL.md +28 -8
- package/skills/hefesto-design/SKILL.md +194 -0
- package/skills/hefesto-design/data/animations.csv +21 -0
- package/skills/hefesto-design/data/anti-patterns.csv +41 -0
- package/skills/hefesto-design/data/charts.csv +26 -0
- package/skills/hefesto-design/data/colors.csv +108 -0
- package/skills/hefesto-design/data/components.csv +31 -0
- package/skills/hefesto-design/data/google-fonts.csv +56 -0
- package/skills/hefesto-design/data/icons.csv +23 -0
- package/skills/hefesto-design/data/landing-pages.csv +28 -0
- package/skills/hefesto-design/data/products.csv +46 -0
- package/skills/hefesto-design/data/spacing.csv +16 -0
- package/skills/hefesto-design/data/styles.csv +53 -0
- package/skills/hefesto-design/data/typography.csv +41 -0
- package/skills/hefesto-design/data/ux-rules.csv +61 -0
- package/skills/hefesto-design/references/accessibility.md +335 -0
- package/skills/hefesto-design/references/aesthetics.md +343 -0
- package/skills/hefesto-design/references/anti-patterns.md +107 -0
- package/skills/hefesto-design/references/checklist.md +66 -0
- package/skills/hefesto-design/references/color-psychology.md +203 -0
- package/skills/hefesto-design/references/component-specs.md +318 -0
- package/skills/hefesto-design/references/polish.md +339 -0
- package/skills/hefesto-design/references/token-architecture.md +394 -0
- package/skills/hefesto-design/references/ux-rules.md +349 -0
- package/skills/hefesto-design/scripts/__pycache__/audit.cpython-314.pyc +0 -0
- package/skills/hefesto-design/scripts/__pycache__/contrast.cpython-314.pyc +0 -0
- package/skills/hefesto-design/scripts/__pycache__/core.cpython-314.pyc +0 -0
- package/skills/hefesto-design/scripts/__pycache__/design_system.cpython-314.pyc +0 -0
- package/skills/hefesto-design/scripts/__pycache__/search.cpython-314.pyc +0 -0
- package/skills/hefesto-design/scripts/__pycache__/validate_tokens.cpython-314.pyc +0 -0
- package/skills/hefesto-design/scripts/audit.py +450 -0
- package/skills/hefesto-design/scripts/contrast.py +195 -0
- package/skills/hefesto-design/scripts/core.py +155 -0
- package/skills/hefesto-design/scripts/design_system.py +311 -0
- package/skills/hefesto-design/scripts/search.py +235 -0
- package/skills/hefesto-design/scripts/validate_tokens.py +274 -0
- package/{commands/hefesto/init.md → skills/hefesto-init/SKILL.md} +5 -2
- package/{commands/hefesto/new-feature.md → skills/hefesto-new-feature/SKILL.md} +5 -2
- package/{commands/hefesto/update.md → skills/hefesto-update/SKILL.md} +6 -3
- package/templates/DESIGN.md +137 -0
- package/templates/RECON.md +54 -0
- package/templates/RESEARCH.md +22 -25
- package/templates/STATE.md +1 -1
- package/templates/VERDICT.md +52 -0
- package/agents/.gitkeep +0 -0
- package/agents/hefesto-researcher.md +0 -180
- package/commands/hefesto/status.md +0 -46
|
@@ -0,0 +1,343 @@
|
|
|
1
|
+
# Guia de Estilos Visuais
|
|
2
|
+
|
|
3
|
+
> "Escolha uma direção conceitual clara e execute com precisão. Maximalismo ousado e minimalismo refinado ambos funcionam — o que importa é intencionalidade, não intensidade."
|
|
4
|
+
>
|
|
5
|
+
> "NUNCA convirja para escolhas comuns entre projetos diferentes."
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Estilos
|
|
10
|
+
|
|
11
|
+
### 1. Brutalist
|
|
12
|
+
Estética crua e honesta que rejeita decoração superficial. Inspira-se na arquitetura brutalista: concreto exposto, estrutura visível, zero ornamento. Comunica autenticidade radical e rebeldia contra o design polido corporativo.
|
|
13
|
+
|
|
14
|
+
- **Tipografia**: Monospace ou sans-serif bold extrema (Courier, Space Mono, Arial Black)
|
|
15
|
+
- **Paleta**: Preto, branco, cores primárias saturadas como acento
|
|
16
|
+
- **Espaçamento**: Irregular, assimétrico, padding mínimo ou exagerado
|
|
17
|
+
- **Texturas/Efeitos**: Bordas duras, sem border-radius, sem sombras suaves
|
|
18
|
+
- **Quando usar**: Portfolios criativos, arte, agências experimentais, zines digitais
|
|
19
|
+
- **Quando evitar**: Bancos, saúde, público sênior, e-commerce mainstream
|
|
20
|
+
- **Referências**: Bloomberg.com (antigo), Craigslist, brutalistwebsites.com
|
|
21
|
+
- **Combinação**: Space Mono + preto/branco/vermelho + grid quebrado
|
|
22
|
+
|
|
23
|
+
### 2. Glassmorphism
|
|
24
|
+
Superfícies translúcidas com blur de fundo, evocando vidro fosco. Cria profundidade e hierarquia visual através de camadas semi-transparentes. Popular desde iOS 7 e Windows 11.
|
|
25
|
+
|
|
26
|
+
- **Tipografia**: Sans-serif leve (Inter, SF Pro, Segoe UI)
|
|
27
|
+
- **Paleta**: Fundos com 10-40% opacidade, bordas brancas 1px com ~20% opacidade
|
|
28
|
+
- **Espaçamento**: Generoso, cards com padding 24-32px
|
|
29
|
+
- **Texturas/Efeitos**: `backdrop-filter: blur(10-20px)`, gradientes sutis, borda luminosa
|
|
30
|
+
- **Quando usar**: Dashboards, apps modernos, interfaces com imagens de fundo ricas
|
|
31
|
+
- **Quando evitar**: Projetos que precisam de alto contraste, acessibilidade rigorosa, dispositivos lentos
|
|
32
|
+
- **Referências**: Apple Music, Windows 11 widgets, Linear
|
|
33
|
+
- **Combinação**: SF Pro + brancos translúcidos sobre gradiente escuro + sombras difusas
|
|
34
|
+
|
|
35
|
+
### 3. Minimalist
|
|
36
|
+
Menos é mais. Cada elemento deve justificar sua existência. Whitespace é o protagonista. Foco absoluto no conteúdo e funcionalidade sem distrações visuais.
|
|
37
|
+
|
|
38
|
+
- **Tipografia**: Uma família versátil (Inter, Helvetica Neue, System UI)
|
|
39
|
+
- **Paleta**: 2-3 cores máximo, muito branco/cinza, um acento forte
|
|
40
|
+
- **Espaçamento**: Abundante whitespace, grid rígido, respiração generosa
|
|
41
|
+
- **Texturas/Efeitos**: Nenhum. Sem gradientes, sem sombras pesadas
|
|
42
|
+
- **Quando usar**: Portfolios elegantes, ferramentas de produtividade, editorial premium
|
|
43
|
+
- **Quando evitar**: Público infantil, entretenimento, gamificação, conteúdo denso
|
|
44
|
+
- **Referências**: Apple.com, Notion, Medium, Stripe docs
|
|
45
|
+
- **Combinação**: Inter + branco/cinza-900/#2563EB + espaçamento 8px scale
|
|
46
|
+
|
|
47
|
+
### 4. Maximalist
|
|
48
|
+
Mais é mais. Camadas visuais densas, padrões ricos, cores vibrantes. Celebra a abundância e o excesso controlado. Cada superfície conta uma história visual.
|
|
49
|
+
|
|
50
|
+
- **Tipografia**: Mix de serifa decorativa + sans-serif bold (Playfair Display + Montserrat)
|
|
51
|
+
- **Paleta**: 5-8 cores saturadas, gradientes complexos, contrastes altos
|
|
52
|
+
- **Espaçamento**: Denso mas rítmico, overlapping intencional
|
|
53
|
+
- **Texturas/Efeitos**: Padrões, ilustrações, texturas, animações abundantes
|
|
54
|
+
- **Quando usar**: Moda, música, entretenimento, marcas jovens e expressivas
|
|
55
|
+
- **Quando evitar**: Ferramentas B2B, documentação técnica, público corporativo conservador
|
|
56
|
+
- **Referências**: Gucci.com, Spotify Wrapped, Awwwards winners
|
|
57
|
+
- **Combinação**: Playfair + Montserrat / paleta vibrante multi-cor / spacing tight
|
|
58
|
+
|
|
59
|
+
### 5. Retro-futuristic
|
|
60
|
+
Nostalgia encontra ficção científica. Combina elementos dos anos 70-80 (gradientes cromados, tipografia geométrica) com visão de futuro. Sensação de "o futuro como era imaginado no passado".
|
|
61
|
+
|
|
62
|
+
- **Tipografia**: Geométrica bold (Orbitron, Audiowide, Space Grotesk)
|
|
63
|
+
- **Paleta**: Neon sobre escuro, cromados, laranja/ciano/magenta
|
|
64
|
+
- **Espaçamento**: Simétrico, padding generoso, alinhamento centralizado
|
|
65
|
+
- **Texturas/Efeitos**: Glow neon, reflexos, linhas de grid, scanlines sutis
|
|
66
|
+
- **Quando usar**: Games, tech inovadora, eventos, música eletrônica
|
|
67
|
+
- **Quando evitar**: Saúde, finanças tradicionais, governo, educação infantil
|
|
68
|
+
- **Referências**: Cybertruck site, Synthwave aesthetics, No Man's Sky
|
|
69
|
+
- **Combinação**: Orbitron + preto/neon ciano/magenta + glow effects
|
|
70
|
+
|
|
71
|
+
### 6. Organic/Natural
|
|
72
|
+
Formas fluidas, curvas naturais, cores terrosas. Evoca sustentabilidade, saúde e conexão com a natureza. Bordas suaves, ilustrações botânicas, texturas orgânicas.
|
|
73
|
+
|
|
74
|
+
- **Tipografia**: Serifa suave (Lora, Merriweather) ou sans humanista (Nunito)
|
|
75
|
+
- **Paleta**: Verdes, marrons, beige, terracota, sage, off-white quente
|
|
76
|
+
- **Espaçamento**: Fluido, assimétrico natural, curvas no layout
|
|
77
|
+
- **Texturas/Efeitos**: Texturas de papel, aquarela sutil, border-radius grandes/irregulares
|
|
78
|
+
- **Quando usar**: Produtos orgânicos, bem-estar, sustentabilidade, spas, alimentação saudável
|
|
79
|
+
- **Quando evitar**: Fintech, cybersecurity, tech hardcore, gaming competitivo
|
|
80
|
+
- **Referências**: Aesop.com, Patagonia, Headspace
|
|
81
|
+
- **Combinação**: Lora + sage/terracota/cream + blob shapes + texturas naturais
|
|
82
|
+
|
|
83
|
+
### 7. Editorial/Magazine
|
|
84
|
+
Layout inspirado em revistas impressas. Tipografia é a estrela — tamanhos dramáticos, hierarquia clara, grid com colunas. Conta histórias visuais através da composição tipográfica.
|
|
85
|
+
|
|
86
|
+
- **Tipografia**: Serifa display grande (PP Editorial, Playfair) + sans para corpo
|
|
87
|
+
- **Paleta**: Monocromático ou muito restrito, alto contraste
|
|
88
|
+
- **Espaçamento**: Grid de colunas, whitespace editorial, margens largas
|
|
89
|
+
- **Texturas/Efeitos**: Sem efeitos. Fotografia forte, crop dramático
|
|
90
|
+
- **Quando usar**: Magazines online, blogs premium, storytelling, case studies
|
|
91
|
+
- **Quando evitar**: Apps utilitários, dashboards, e-commerce com muito SKU
|
|
92
|
+
- **Referências**: NYT, The Outline (antigo), Monocle, Hodinkee
|
|
93
|
+
- **Combinação**: PP Editorial + sans clean / preto/branco + 1 cor / grid 12 colunas
|
|
94
|
+
|
|
95
|
+
### 8. Art Deco
|
|
96
|
+
Geometria simétrica, linhas finas douradas, padrões repetitivos. Evoca os anos 1920-30: luxo, glamour, craftsmanship. Elegância geométrica com detalhes ornamentais controlados.
|
|
97
|
+
|
|
98
|
+
- **Tipografia**: Geométrica display (Poiret One, Josefin Sans, Metropolis)
|
|
99
|
+
- **Paleta**: Preto, dourado, navy, emerald, cream, branco
|
|
100
|
+
- **Espaçamento**: Simétrico rigoroso, padding consistente, bordas decorativas
|
|
101
|
+
- **Texturas/Efeitos**: Linhas finas geométricas, padrões sunburst, dourado metálico
|
|
102
|
+
- **Quando usar**: Hotéis de luxo, joalheria, eventos formais, whisky/vinho
|
|
103
|
+
- **Quando evitar**: Tech startups, apps infantis, SaaS utilitário
|
|
104
|
+
- **Referências**: The Great Gatsby movie site, luxury hotel sites
|
|
105
|
+
- **Combinação**: Metropolis + preto/dourado/cream + bordas geométricas finas
|
|
106
|
+
|
|
107
|
+
### 9. Soft/Pastel
|
|
108
|
+
Cores suaves, bordas arredondadas, sensação acolhedora e convidativa. Friendly sem ser infantil. Transmite calma, acessibilidade e confiança gentil.
|
|
109
|
+
|
|
110
|
+
- **Tipografia**: Sans-serif rounded (Nunito, Quicksand, Poppins)
|
|
111
|
+
- **Paleta**: Pastéis — lavanda, rosa claro, mint, baby blue, pêssego
|
|
112
|
+
- **Espaçamento**: Generoso, border-radius 12-20px, padding 20-32px
|
|
113
|
+
- **Texturas/Efeitos**: Sombras suaves e difusas, gradientes pastel sutis
|
|
114
|
+
- **Quando usar**: Saúde mental, apps femininos, educação, bem-estar, onboarding
|
|
115
|
+
- **Quando evitar**: Finanças sérias, segurança, industrial, público masculino tradicional
|
|
116
|
+
- **Referências**: Headspace, Calm, Notion templates
|
|
117
|
+
- **Combinação**: Poppins + lavanda/mint/rosa claro + border-radius 16px
|
|
118
|
+
|
|
119
|
+
### 10. Industrial
|
|
120
|
+
Concreto, metal, tipografia bold. Estética de fábrica e engenharia. Funcional, robusta, sem frescura. Comunica durabilidade e seriedade técnica.
|
|
121
|
+
|
|
122
|
+
- **Tipografia**: Sans-serif condensada bold (Oswald, Barlow Condensed, Impact)
|
|
123
|
+
- **Paleta**: Cinzas, preto, amarelo segurança, laranja, vermelho industrial
|
|
124
|
+
- **Espaçamento**: Grid rígido, linhas divisórias grossas, espaço funcional
|
|
125
|
+
- **Texturas/Efeitos**: Texturas metálicas, grain sutil, bordas retas
|
|
126
|
+
- **Quando usar**: Construção, manufatura, ferramentas, automotive, hardware
|
|
127
|
+
- **Quando evitar**: Moda feminina, spa, educação infantil, wedding
|
|
128
|
+
- **Referências**: CAT, DeWalt, sites de manufatura pesada
|
|
129
|
+
- **Combinação**: Oswald + cinza escuro/amarelo segurança/preto + grid denso
|
|
130
|
+
|
|
131
|
+
### 11. Luxury/Refined
|
|
132
|
+
Elegância silenciosa. Menos elementos, qualidade máxima de cada um. Tipografia fina, cores deep, espaçamento que diz "temos espaço de sobra". Old money aesthetic digital.
|
|
133
|
+
|
|
134
|
+
- **Tipografia**: Serifa fina (Cormorant Garamond, Didot) + sans-serif light
|
|
135
|
+
- **Paleta**: Preto profundo, off-white, dourado sutil, burgundy, navy
|
|
136
|
+
- **Espaçamento**: Extremamente generoso, margens 80-120px, padding luxuoso
|
|
137
|
+
- **Texturas/Efeitos**: Animações lentas e suaves, transições de 600ms+, parallax sutil
|
|
138
|
+
- **Quando usar**: Moda alta, joalheria, hotéis 5 estrelas, imobiliário premium
|
|
139
|
+
- **Quando evitar**: SaaS B2B, utilidades, preço baixo, público jovem casual
|
|
140
|
+
- **Referências**: Rolex.com, LVMH, Four Seasons, Cartier
|
|
141
|
+
- **Combinação**: Cormorant Garamond + preto/off-white/dourado + letter-spacing 2-4px
|
|
142
|
+
|
|
143
|
+
### 12. Playful
|
|
144
|
+
Diversão, cor, movimento. Ilustrações custom, micro-interações alegres, personalidade forte. Faz o usuário sorrir sem parecer infantil demais.
|
|
145
|
+
|
|
146
|
+
- **Tipografia**: Sans-serif bold rounded (Fredoka, Baloo, Nunito Black)
|
|
147
|
+
- **Paleta**: Cores primárias saturadas, contrastes alegres, combinações inesperadas
|
|
148
|
+
- **Espaçamento**: Variado, assimétrico intencional, elementos "fora do grid"
|
|
149
|
+
- **Texturas/Efeitos**: Ilustrações, animações bounce, confetti, emojis contextuais
|
|
150
|
+
- **Quando usar**: Educação, gamificação, apps sociais, produtos para jovens
|
|
151
|
+
- **Quando evitar**: Finanças, saúde crítica, jurídico, governo
|
|
152
|
+
- **Referências**: Duolingo, Slack, Figma (marketing site)
|
|
153
|
+
- **Combinação**: Fredoka + cores primárias vibrantes + border-radius 20px+ + bouncy animations
|
|
154
|
+
|
|
155
|
+
### 13. Neo-Memphis
|
|
156
|
+
Revival do Memphis Group dos anos 80. Formas geométricas ousadas, padrões gráficos, cores primárias em combinações não-convencionais. Energético e artístico.
|
|
157
|
+
|
|
158
|
+
- **Tipografia**: Geométrica bold (Gilroy, Futura, Syne)
|
|
159
|
+
- **Paleta**: Primárias + secundárias saturadas, rosa quente, azul elétrico, amarelo
|
|
160
|
+
- **Espaçamento**: Assimétrico, overlap de formas, composição dinâmica
|
|
161
|
+
- **Texturas/Efeitos**: Formas geométricas (círculos, triângulos, ondas), padrões repetitivos
|
|
162
|
+
- **Quando usar**: Agências criativas, eventos, moda streetwear, branding jovem
|
|
163
|
+
- **Quando evitar**: Corporativo, médico, jurídico, público conservador
|
|
164
|
+
- **Referências**: Mailchimp rebrand, Figma Config
|
|
165
|
+
- **Combinação**: Syne + rosa/azul/amarelo/preto + formas geométricas decorativas
|
|
166
|
+
|
|
167
|
+
### 14. Swiss/International
|
|
168
|
+
O avô do design gráfico moderno. Grid matemático, tipografia sem-serifa, hierarquia através de peso e tamanho. Clareza acima de tudo. Informação pura.
|
|
169
|
+
|
|
170
|
+
- **Tipografia**: Helvetica, Univers, Aktiv Grotesk (sem-serifa neutra)
|
|
171
|
+
- **Paleta**: Preto, branco, vermelho. Cores como informação, não decoração
|
|
172
|
+
- **Espaçamento**: Grid matemático rigoroso, alinhamento à esquerda, baseline grid
|
|
173
|
+
- **Texturas/Efeitos**: Zero. Tipografia É o design
|
|
174
|
+
- **Quando usar**: Sistemas de informação, sinalização, infográficos, design systems
|
|
175
|
+
- **Quando evitar**: Entretenimento, público infantil, marcas emocionais
|
|
176
|
+
- **Referências**: SBB (ferrovias suíças), original Swiss posters
|
|
177
|
+
- **Combinação**: Helvetica Neue + preto/branco/vermelho + grid 12 col + alinhamento rígido
|
|
178
|
+
|
|
179
|
+
### 15. Dark Mode Premium
|
|
180
|
+
Não apenas "cores invertidas" — design pensado para escuro. Fundos não são #000 (usar #0a0a0a a #1a1a1a). Hierarquia por luminosidade e elevação sutil.
|
|
181
|
+
|
|
182
|
+
- **Tipografia**: Sans-serif medium weight (Inter, SF Pro) — nunca thin em dark
|
|
183
|
+
- **Paleta**: Cinzas escuros escalonados (4-5 níveis), acentos luminosos, branco nunca puro
|
|
184
|
+
- **Espaçamento**: Igual ou mais generoso que light, elevação por sutil diferença de tom
|
|
185
|
+
- **Texturas/Efeitos**: Bordas sutis (1px branco 8-12%), glow suave em acentos, gradientes escuros
|
|
186
|
+
- **Quando usar**: Dev tools, media players, apps noturnos, gaming, creative tools
|
|
187
|
+
- **Quando evitar**: Como única opção sem alternativa light. Documentos longos para leitura
|
|
188
|
+
- **Referências**: Linear, Vercel, Raycast, Discord
|
|
189
|
+
- **Combinação**: Inter Medium + #0f0f0f/#1a1a1a/#fafafa + acento saturado + bordas sutis
|
|
190
|
+
|
|
191
|
+
### 16. Neumorphism
|
|
192
|
+
Soft UI — elementos parecem extrudados ou pressionados na superfície. Sombras duplas (uma clara, uma escura) criam efeito 3D sutil. Fundo e elemento são a mesma cor.
|
|
193
|
+
|
|
194
|
+
- **Tipografia**: Sans-serif regular (Inter, Roboto)
|
|
195
|
+
- **Paleta**: Monocromático — uma cor de fundo com variações de sombra
|
|
196
|
+
- **Espaçamento**: Generoso para as sombras terem espaço de respiração
|
|
197
|
+
- **Texturas/Efeitos**: `box-shadow` duplo (inset e outset), sem bordas, fundo = elemento
|
|
198
|
+
- **Quando usar**: Dashboards pessoais, widgets, calculadoras, concept designs
|
|
199
|
+
- **Quando evitar**: Qualquer coisa com muitos elementos, acessibilidade crítica, mobile
|
|
200
|
+
- **Referências**: Neumorphism.io (gerador)
|
|
201
|
+
- **Combinação**: Inter + cinza/bege claro mono + sombras duplas + zero bordas
|
|
202
|
+
|
|
203
|
+
### 17. Flat Design
|
|
204
|
+
Sem sombras, sem gradientes, sem skeuomorphism. Cores sólidas, ícones simples, tipografia clean. Descendente direto do Swiss Style adaptado para interfaces digitais.
|
|
205
|
+
|
|
206
|
+
- **Tipografia**: Sans-serif geométrica (Roboto, Open Sans, Lato)
|
|
207
|
+
- **Paleta**: Cores sólidas saturadas, sem gradientes, contraste claro
|
|
208
|
+
- **Espaçamento**: Consistente, grid simples, padding uniforme
|
|
209
|
+
- **Texturas/Efeitos**: Nenhum. Cor sólida flat
|
|
210
|
+
- **Quando usar**: Infográficos, apps utilitários, onboarding, ícones
|
|
211
|
+
- **Quando evitar**: Quando hierarquia de profundidade é necessária, luxury
|
|
212
|
+
- **Referências**: Windows 8 Metro, early Material Design
|
|
213
|
+
- **Combinação**: Roboto + cores sólidas Material palette + padding 16px uniforme
|
|
214
|
+
|
|
215
|
+
### 18. Scandinavian
|
|
216
|
+
Funcionalidade elegante. Inspirado no design nórdico: materiais naturais, luz, simplicidade com calor. Minimalismo com alma — não é frio, é acolhedor.
|
|
217
|
+
|
|
218
|
+
- **Tipografia**: Sans-serif humanista (DM Sans, Source Sans Pro, GT Walsheim)
|
|
219
|
+
- **Paleta**: Brancos quentes, cinzas com tom, madeira, preto suave (#1a1a1a)
|
|
220
|
+
- **Espaçamento**: Amplo, respiração natural, assimetria sutil e intencional
|
|
221
|
+
- **Texturas/Efeitos**: Fotografias naturais, texturas de madeira/linho sutis
|
|
222
|
+
- **Quando usar**: Furniture, lifestyle, bem-estar, arquitetura, produtos premium acessíveis
|
|
223
|
+
- **Quando evitar**: Tech agressiva, gaming, nightlife, fast-food
|
|
224
|
+
- **Referências**: Muji, HAY, IKEA (linha premium), menu.app
|
|
225
|
+
- **Combinação**: DM Sans + off-white quente/cinza-500/#1a1a1a + fotos naturais
|
|
226
|
+
|
|
227
|
+
### 19. Japanese Wabi-sabi
|
|
228
|
+
Beleza na imperfeição e na simplicidade. Assimetria intencional, texturas naturais, paleta restrita. Ma (間) — o espaço vazio como elemento ativo de design.
|
|
229
|
+
|
|
230
|
+
- **Tipografia**: Serifa elegante ou sans-serif fina (Noto Serif, EB Garamond)
|
|
231
|
+
- **Paleta**: Tons terrosos, indigo, cinzas quentes, off-white, preto suave
|
|
232
|
+
- **Espaçamento**: Ma — espaço generoso e assimétrico, respiro como protagonista
|
|
233
|
+
- **Texturas/Efeitos**: Texturas de papel washi, brush strokes sutis, grain
|
|
234
|
+
- **Quando usar**: Chá, cerâmica, meditação, arte, produtos artesanais
|
|
235
|
+
- **Quando evitar**: SaaS corporativo, fast-paced, público que espera "polido"
|
|
236
|
+
- **Referências**: Sites de ryokans japoneses, Muji Japan
|
|
237
|
+
- **Combinação**: EB Garamond + off-white/indigo/cinza quente + assimetria intencional
|
|
238
|
+
|
|
239
|
+
### 20. Bauhaus
|
|
240
|
+
Forma segue função. Geometria primária (círculo, quadrado, triângulo), cores primárias, composição como sistema. Arte + engenharia unificadas.
|
|
241
|
+
|
|
242
|
+
- **Tipografia**: Geométrica pura (Futura, Century Gothic, Jost)
|
|
243
|
+
- **Paleta**: Vermelho, azul, amarelo + preto/branco. Cores como sistema, não decoração
|
|
244
|
+
- **Espaçamento**: Geométrico, baseado em módulos, proporções matemáticas
|
|
245
|
+
- **Texturas/Efeitos**: Zero texturas. Formas geométricas puras como decoração
|
|
246
|
+
- **Quando usar**: Arquitetura, design education, galerias, branding conceitual
|
|
247
|
+
- **Quando evitar**: Público amplo mainstream, e-commerce, healthcare
|
|
248
|
+
- **Referências**: Bauhaus.de, museus de arte moderna
|
|
249
|
+
- **Combinação**: Futura + vermelho/azul/amarelo/preto/branco + grid modular
|
|
250
|
+
|
|
251
|
+
### 21. Material You (Material Design 3)
|
|
252
|
+
Design adaptativo que extrai cores do contexto do usuário. Componentes expressivos com estados claros. Equilíbrio entre personalização e consistência sistêmica.
|
|
253
|
+
|
|
254
|
+
- **Tipografia**: Roboto Flex ou sans-serif variável com eixos ópticos
|
|
255
|
+
- **Paleta**: Dynamic Color — gerada de source color via tonal palettes (5 tonais de 13 tons cada)
|
|
256
|
+
- **Espaçamento**: 4dp grid, tokens de spacing (compact, medium, expanded)
|
|
257
|
+
- **Texturas/Efeitos**: Elevation com tonal overlay (não apenas sombra), shapes expressivos
|
|
258
|
+
- **Quando usar**: Apps Android, produtos Google ecosystem, design systems escaláveis
|
|
259
|
+
- **Quando evitar**: iOS-first, luxury minimalista, editorial
|
|
260
|
+
- **Referências**: material.io/design, Google apps recentes
|
|
261
|
+
- **Combinação**: Roboto Flex + dynamic color palette + corner radius variável + 4dp grid
|
|
262
|
+
|
|
263
|
+
### 22. Cyberpunk
|
|
264
|
+
Distopia digital estilizada. Neon sobre escuro, glitch effects, terminais, hacking aesthetic. Futuro caótico e hiper-tecnológico com influência asiática urbana.
|
|
265
|
+
|
|
266
|
+
- **Tipografia**: Monospace ou sans bold condensada (JetBrains Mono, Rajdhani)
|
|
267
|
+
- **Paleta**: Preto profundo, neon (ciano, magenta, verde lime, roxo elétrico)
|
|
268
|
+
- **Espaçamento**: Tight, denso, informação empilhada como terminal
|
|
269
|
+
- **Texturas/Efeitos**: Glitch, scanlines, noise, HUD overlays, neon glow
|
|
270
|
+
- **Quando usar**: Games, cybersecurity, hacking tools, events tech underground
|
|
271
|
+
- **Quando evitar**: Qualquer contexto institucional, saúde, educação, público 50+
|
|
272
|
+
- **Referências**: Cyberpunk 2077, Mr. Robot aesthetics
|
|
273
|
+
- **Combinação**: JetBrains Mono + preto/#00ff9f/magenta + glitch + terminal UI
|
|
274
|
+
|
|
275
|
+
### 23. Gradient Mesh
|
|
276
|
+
Gradientes complexos multi-cor como elemento hero. Blobs de cor fluidas, mesh gradients, aurora effects. Moderno, etéreo e visualmente impactante.
|
|
277
|
+
|
|
278
|
+
- **Tipografia**: Sans-serif clean para não competir (Inter, Satoshi)
|
|
279
|
+
- **Paleta**: 3-5 cores em gradiente mesh, fundos claros ou escuros
|
|
280
|
+
- **Espaçamento**: Amplo — o gradiente precisa de espaço para respirar
|
|
281
|
+
- **Texturas/Efeitos**: CSS conic-gradient, mesh via SVG/canvas, blur layers
|
|
282
|
+
- **Quando usar**: Landing pages, headers hero, backgrounds de apps, branding tech
|
|
283
|
+
- **Quando evitar**: Conteúdo denso, formulários complexos, acessibilidade estrita
|
|
284
|
+
- **Referências**: Stripe.com, Linear homepage, Apple keynotes
|
|
285
|
+
- **Combinação**: Satoshi + mesh gradiente como hero + conteúdo clean sobre fundo sólido
|
|
286
|
+
|
|
287
|
+
### 24. Vaporwave
|
|
288
|
+
Nostalgia dos 90s/early internet distorcida. Estátuas gregas, palmeiras, gradientes rosa-roxo, grid 3D, fontes cursivas pixeladas. Ironia estética como linguagem.
|
|
289
|
+
|
|
290
|
+
- **Tipografia**: Display retrô, caracteres japoneses decorativos, serif italic
|
|
291
|
+
- **Paleta**: Rosa, ciano, roxo, sunset orange, lavanda
|
|
292
|
+
- **Espaçamento**: Irregular, centralizado, floating elements
|
|
293
|
+
- **Texturas/Efeitos**: Grid 3D perspectiva, chrome text, VHS grain, sunset gradients
|
|
294
|
+
- **Quando usar**: Projetos artísticos, música lofi, colecionáveis, ironia conceitual
|
|
295
|
+
- **Quando evitar**: Qualquer uso profissional/corporativo, UX que precisa ser levada a sério
|
|
296
|
+
- **Referências**: Vaporwave.js, pools.cool (antigo)
|
|
297
|
+
- **Combinação**: Serif italic + rosa/ciano/roxo + 3D grid + estátuas pixeladas
|
|
298
|
+
|
|
299
|
+
### 25. Corporate Modern
|
|
300
|
+
Profissional, confiável, escalável. O padrão para SaaS B2B. Clean sem ser minimal demais. Cores de marca consistentes. Ilustrações vetoriais friendly.
|
|
301
|
+
|
|
302
|
+
- **Tipografia**: Sans-serif profissional (Inter, IBM Plex Sans, Plus Jakarta Sans)
|
|
303
|
+
- **Paleta**: Azul primário, cinzas neutros, 1-2 acentos, backgrounds claros
|
|
304
|
+
- **Espaçamento**: Grid consistente, 8px base, padding 16/24/32/48, max-width 1200px
|
|
305
|
+
- **Texturas/Efeitos**: Sombras sutis (elevation), border-radius 8px, ilustrações flat
|
|
306
|
+
- **Quando usar**: SaaS, enterprise, B2B, plataformas de gestão, docs
|
|
307
|
+
- **Quando evitar**: Quando se quer diferenciar de "mais um SaaS", mercados criativos
|
|
308
|
+
- **Referências**: Atlassian, HubSpot, Salesforce (redesign), Vercel
|
|
309
|
+
- **Combinação**: Inter + azul-600/cinza-100/cinza-900 + 8px grid + ilustrações flat
|
|
310
|
+
|
|
311
|
+
---
|
|
312
|
+
|
|
313
|
+
## Como Escolher
|
|
314
|
+
|
|
315
|
+
Árvore de decisão:
|
|
316
|
+
|
|
317
|
+
```
|
|
318
|
+
1. DOMÍNIO
|
|
319
|
+
├── Finanças/Enterprise → Corporate Modern, Swiss, Minimalist
|
|
320
|
+
├── Saúde/Bem-estar → Organic, Soft/Pastel, Scandinavian
|
|
321
|
+
├── Tech/Dev Tools → Dark Mode Premium, Minimalist, Corporate Modern
|
|
322
|
+
├── Moda/Luxo → Luxury, Art Deco, Editorial
|
|
323
|
+
├── Criativo/Arte → Brutalist, Maximalist, Neo-Memphis
|
|
324
|
+
├── Games/Entertainment → Cyberpunk, Retro-futuristic, Maximalist
|
|
325
|
+
├── Educação → Playful, Flat Design, Corporate Modern
|
|
326
|
+
└── Lifestyle/Food → Scandinavian, Organic, Soft/Pastel
|
|
327
|
+
|
|
328
|
+
2. PÚBLICO-ALVO
|
|
329
|
+
├── Jovens (18-25) → Maximalist, Neo-Memphis, Vaporwave, Cyberpunk
|
|
330
|
+
├── Profissionais (25-45) → Minimalist, Corporate Modern, Swiss
|
|
331
|
+
├── Premium/Affluent → Luxury, Art Deco, Scandinavian
|
|
332
|
+
├── Técnico/Dev → Dark Mode Premium, Brutalist, Swiss
|
|
333
|
+
└── Amplo/Geral → Corporate Modern, Flat Design, Material You
|
|
334
|
+
|
|
335
|
+
3. TOM
|
|
336
|
+
├── Sério/Confiável → Swiss, Corporate Modern, Minimalist
|
|
337
|
+
├── Friendly/Acolhedor → Soft/Pastel, Playful, Scandinavian
|
|
338
|
+
├── Ousado/Disruptivo → Brutalist, Maximalist, Cyberpunk
|
|
339
|
+
├── Elegante/Sofisticado → Luxury, Art Deco, Editorial
|
|
340
|
+
└── Moderno/Tech → Glassmorphism, Gradient Mesh, Dark Mode Premium
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
Após cruzar domínio × público × tom, selecione 3 candidatos e apresente ao usuário com mockup de cada. Nunca escolha o estilo "óbvio" sem considerar alternativas — a diferenciação visual é vantagem competitiva.
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# Anti-padrões de Design
|
|
2
|
+
|
|
3
|
+
Catálogo consolidado de erros comuns com impacto e alternativas concretas.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Estética Genérica
|
|
8
|
+
|
|
9
|
+
Anti-padrões que fazem todo projeto parecer igual. O design deve ter direção intencional — cada projeto é único.
|
|
10
|
+
|
|
11
|
+
| Anti-padrão | Por que é ruim | O que fazer |
|
|
12
|
+
|---|---|---|
|
|
13
|
+
| Azul padrão (#2563EB) em tudo | Indistinguível de 90% dos SaaS. Zero identidade | Escolher cor primária com base no domínio e público. Justificar a escolha |
|
|
14
|
+
| Inter/Roboto sempre | Fontes seguras mas genéricas. Não comunica personalidade | Pesquisar tipografia que reflete o tom da marca. Sans genérica apenas para corpo se necessário |
|
|
15
|
+
| Border-radius 8px em tudo | Morno. Nem arredondado expressivo nem reto intencional | Escolher: 0px (geométrico/industrial), 4px (preciso), 16px+ (soft/friendly), ou variável por componente |
|
|
16
|
+
| Gradiente roxo-rosa AI | Clichê massificado desde 2023. Sinaliza "genérico" | Paleta que diferencia. Se precisa gradiente, usar cores da marca com intenção |
|
|
17
|
+
| Ilustrações estilo "Humaaans" | Toda landing page SaaS de 2019-2024. Fadiga visual completa | Ilustrações custom, fotografia, ícones estilizados, ou tipografia como hero visual |
|
|
18
|
+
| Hero section: headline + subtext + CTA + mockup | Template padrão. Usuário já faz scroll automático | Experimentar: editorial, interativo, video background, storytelling, ou direto ao produto |
|
|
19
|
+
| Card com sombra sutil + avatar + text + CTA | "Card genérico de dashboard". Sem personalidade | Estilizar com a identidade do projeto: bordas, cores, layout, tipografia únicos |
|
|
20
|
+
| Cores pastéis + rounded corners + blob shapes | O "friendly SaaS" kit. Clonado mil vezes | Se friendly, ser original no como. Se não precisa ser friendly, não ser |
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Contrato Visual
|
|
25
|
+
|
|
26
|
+
Anti-padrões que violam a integridade visual do sistema de design.
|
|
27
|
+
|
|
28
|
+
| Anti-padrão | Bloqueado por | Regra |
|
|
29
|
+
|---|---|---|
|
|
30
|
+
| Cores hardcoded (#hex no componente) | Sistema de tokens | Todo valor de cor deve vir de um token semântico, nunca direto |
|
|
31
|
+
| Tipografia fora da escala (15px, 19px) | Escala tipográfica | Usar apenas tamanhos da escala definida (12, 14, 16, 18, 20, 24, 30, 36, 48) |
|
|
32
|
+
| Espaçamento arbitrário (13px, 37px) | Escala de espaçamento | Usar apenas valores da escala (4, 8, 12, 16, 24, 32, 48, 64) |
|
|
33
|
+
| Componente com estilo inline | Separação de concerns | Estilos via classes/tokens, nunca style="" com valores mágicos |
|
|
34
|
+
| Sombra diferente por componente | Escala de elevação | Definir 4-5 níveis de sombra e reutilizar consistentemente |
|
|
35
|
+
| Ícones misturando bibliotecas | Consistência iconográfica | Uma biblioteca de ícones por projeto (Lucide OU Heroicons OU Phosphor) |
|
|
36
|
+
| Font-weight inconsistente (300, 350, 450) | Sistema tipográfico | Usar pesos padrão: 400 (regular), 500 (medium), 600 (semibold), 700 (bold) |
|
|
37
|
+
| Z-index aleatório (999, 9999, 99999) | Escala de z-index | Definir escala: base(1), dropdown(10), sticky(20), modal(30), toast(40), tooltip(50) |
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Interação
|
|
42
|
+
|
|
43
|
+
Anti-padrões que prejudicam a experiência do usuário durante interação.
|
|
44
|
+
|
|
45
|
+
| Anti-padrão | Impacto | Alternativa |
|
|
46
|
+
|---|---|---|
|
|
47
|
+
| Emoji como ícone (🔍 ✅ ❌) | Renderiza diferente por OS/browser, não escala, não anima | SVG de Lucide, Heroicons, ou Phosphor Icons |
|
|
48
|
+
| Tooltip como documentação | Inacessível em mobile (sem hover), texto oculto | Helper text visível, expandable section, ou link para docs |
|
|
49
|
+
| Confirmação genérica "Tem certeza?" | Não informa consequência, usuário clica "sim" sem pensar | "Excluir 'Projeto X'? Esta ação não pode ser desfeita. 3 membros perderão acesso." |
|
|
50
|
+
| Notificação sem ação | "Algo deu errado" — e agora? Usuário não sabe o que fazer | Incluir ação de recuperação: "Tentar novamente", "Ver detalhes", "Contatar suporte" |
|
|
51
|
+
| Conteúdo atrás de hover (desktop-only) | ~60% tráfego é mobile. Funcionalidade invisível para maioria | Sempre visível, ou alternativa tap. Hover apenas para enriquecer, nunca como gate |
|
|
52
|
+
| Link que parece botão e botão que parece link | Confunde expectativa: link navega, botão age | Links navegam (text+underline). Botões executam ações (filled/outlined container) |
|
|
53
|
+
| Scroll hijacking | Frustra usuário. Quebra expectativa física de scroll | Scroll nativo. Parallax sutil no máximo, respeitando prefers-reduced-motion |
|
|
54
|
+
| Auto-play com áudio | Invasivo, surpreende, causa rejeição imediata | Muted por padrão com controles visíveis. Nunca auto-play de áudio |
|
|
55
|
+
| Infinite scroll sem posição | Usuário perde localização, não consegue voltar ao ponto, footer inacessível | Paginação, ou infinite scroll com "Voltar ao topo" + indicador de posição |
|
|
56
|
+
| Form submit sem feedback | Usuário clica, nada acontece. Clica de novo. Ação duplicada | Spinner no botão + disabled imediato. Toast de sucesso ou redirect |
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Performance
|
|
61
|
+
|
|
62
|
+
Anti-padrões que impactam performance percebida e real.
|
|
63
|
+
|
|
64
|
+
| Anti-padrão | Impacto | Alternativa |
|
|
65
|
+
|---|---|---|
|
|
66
|
+
| Animar width/height/top/left | Causa reflow + repaint. 60fps impossível. Jank visível | Animar transform (translate, scale) e opacity — rodam na GPU |
|
|
67
|
+
| `transition: all 300ms` | Anima TUDO incluindo layout. Transições inesperadas | Explicitar: `transition: background-color 150ms, transform 100ms` |
|
|
68
|
+
| Imagem PNG de 2MB no hero | Largest Contentful Paint > 4s. Bounce rate sobe 30% | WebP/AVIF comprimido, srcset para sizes, lazy loading abaixo do fold |
|
|
69
|
+
| Web fonts bloqueando render | FOIT (flash of invisible text) por 2-3 segundos | `font-display: swap`, preload fontes críticas, fallback de sistema |
|
|
70
|
+
| Animações de entrada na página | Delay de 500ms+ antes de conteúdo ser legível | Conteúdo visível imediatamente. Animações sutis (fade, slide curto) se necessário |
|
|
71
|
+
| Backdrop-filter em elementos grandes | `backdrop-filter: blur()` é caro em áreas grandes, especialmente mobile | Limitar a áreas pequenas (nav bar, cards). Testar em dispositivos low-end |
|
|
72
|
+
| Muitos box-shadow empilhados | Cada sombra é render extra. 5+ sombras = lag perceptível | Máximo 2 sombras por elemento. Usar pseudo-element para sombras complexas |
|
|
73
|
+
| GIF animado como elemento de UI | Pesado, sem controle, sem pausa, sem a11y | Lottie, CSS animation, ou vídeo curto com controls |
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Dark Mode
|
|
78
|
+
|
|
79
|
+
Anti-padrões específicos de implementação de tema escuro.
|
|
80
|
+
|
|
81
|
+
| Anti-padrão | Impacto | Alternativa |
|
|
82
|
+
|---|---|---|
|
|
83
|
+
| Inverter cores com `filter: invert(1)` | Inverte imagens, ícones, logos. Cores erradas. Inacessível | Redefine tokens semânticos para dark. Troca propriedades, não filtros |
|
|
84
|
+
| Fundo #000000 puro | Glow/bleeding em OLED. Contraste extremo causa fadiga ocular | Usar #0a0a0a a #1a1a1a como base |
|
|
85
|
+
| Texto #ffffff puro | Contraste máximo = fadiga em leitura longa | Usar #f0f0f0 a #fafafa. Ainda passa WCAG AA com sobra |
|
|
86
|
+
| Mesma saturação de cores | Cores saturadas sobre fundo escuro "vibram" e causam fadiga | Dessaturar 10-20% e usar tons mais claros (blue-400 em vez de blue-600) |
|
|
87
|
+
| Sombras iguais ao light mode | Sombras são invisíveis em fundo escuro. Perdem hierarquia | Substituir por: bordas sutis (1px branco 8-12%), ou diferença de tom entre camadas |
|
|
88
|
+
| Não testar contraste no dark | "Funciona no light, deve funcionar no dark" — frequentemente falha | Testar WCAG AA separadamente para cada modo. Cores de link e secundárias são as que mais falham |
|
|
89
|
+
| Imagens sem tratamento | Imagens claras "brilham" em fundo escuro, dominam a tela | Reduzir brilho levemente (filter: brightness(0.9)) ou adicionar border sutil |
|
|
90
|
+
| Toggle sem transição | Troca instantânea de tema é abrupta e desorientadora | `transition: background-color 200ms, color 200ms` no body/root |
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Resumo — Os 10 Piores
|
|
95
|
+
|
|
96
|
+
Os anti-padrões com maior impacto negativo, em ordem:
|
|
97
|
+
|
|
98
|
+
1. **Cores hardcoded** — impossibilita theming, dark mode, e consistência
|
|
99
|
+
2. **Sem focus-visible** — exclui usuários de teclado completamente
|
|
100
|
+
3. **Emoji como ícones** — inconsistência visual entre plataformas
|
|
101
|
+
4. **Estética genérica** (azul + Inter + 8px radius) — zero diferenciação de marca
|
|
102
|
+
5. **Animar layout properties** — jank visual e performance ruim
|
|
103
|
+
6. **Tooltip como documentação** — funcionalidade invisível em mobile
|
|
104
|
+
7. **Form submit sem feedback** — ações duplicadas e frustração
|
|
105
|
+
8. **Contraste insuficiente** — ilegível para ~15% dos usuários
|
|
106
|
+
9. **Inverter cores para dark mode** — quebra tudo, piora acessibilidade
|
|
107
|
+
10. **Scroll hijacking** — frustra expectativa física fundamental
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Design Checklist — Pre-delivery
|
|
2
|
+
|
|
3
|
+
Verificações obrigatórias antes de entregar qualquer interface. Cada item é específico e verificável.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Qualidade Visual (5 checks)
|
|
8
|
+
|
|
9
|
+
- [ ] **Sem emoji como ícones** — Usar SVG de bibliotecas (Lucide, Heroicons, Phosphor). Emojis renderizam diferente por sistema operacional e não escalam
|
|
10
|
+
- [ ] **Escala de espaçamento consistente** — Todo padding/margin/gap usa valores da escala definida (4, 8, 12, 16, 24, 32, 48, 64px). Zero valores arbitrários (13px, 37px, 22px)
|
|
11
|
+
- [ ] **Tipografia hierárquica** — Máximo 2 famílias tipográficas. Tamanhos seguem escala definida. Pesos criam hierarquia (regular body, medium labels, semibold/bold headings)
|
|
12
|
+
- [ ] **Alinhamento e grid** — Elementos alinhados a um grid consistente. Sem pixels "off" (1-2px de desalinhamento). Verificar em inspetor do browser
|
|
13
|
+
- [ ] **Assets em resolução adequada** — Imagens em 2x para retina. SVG para ícones e logos. Sem imagens pixeladas ou deformadas por aspect-ratio incorreto
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Interação (6 checks)
|
|
18
|
+
|
|
19
|
+
- [ ] **Hover states em todos os interativos** — Botões, links, cards clicáveis, toggles, menus — todos têm feedback visual em hover (desktop)
|
|
20
|
+
- [ ] **Focus-visible ring** — Todo elemento focável tem outline visível em navegação por Tab (2px+, cor contrastante, offset 2px). Testar: navegar toda a página com Tab
|
|
21
|
+
- [ ] **Loading states em ações** — Botões que disparam requests mostram spinner + disabled durante loading. Largura do botão não muda
|
|
22
|
+
- [ ] **Estados vazios** — Toda lista/tabela/feed tem estado vazio com: ícone + texto explicativo + CTA para criar/adicionar
|
|
23
|
+
- [ ] **Feedback de ações** — Toda ação do usuário (salvar, enviar, deletar) tem feedback visual: toast, redirect, ou mudança de estado
|
|
24
|
+
- [ ] **Confirmação destrutiva** — Ações irreversíveis (deletar, cancelar) passam por modal de confirmação com texto claro. Botão seguro é o primário, destrutivo é outline/ghost
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Light/Dark Mode (5 checks)
|
|
29
|
+
|
|
30
|
+
- [ ] **Contraste WCAG AA em ambos os modos** — Texto normal ≥ 4.5:1, texto grande ≥ 3:1. Testar separadamente para light E dark. Ferramenta: DevTools ou WebAIM
|
|
31
|
+
- [ ] **Fundo dark não é #000** — Usar tons de #0a0a0a a #1a1a1a. Texto não é #fff — usar #f0f0f0 a #fafafa. Evitar contraste extremo
|
|
32
|
+
- [ ] **Sombras adaptadas** — Em dark mode, sombras são quase invisíveis. Substituir por bordas sutis (1px rgba(255,255,255,0.08-0.12)) ou diferença de tom de fundo
|
|
33
|
+
- [ ] **Cores semânticas mantidas** — Vermelho continua erro, verde continua sucesso. Dessaturar 10-20% e clarear tons em dark mode
|
|
34
|
+
- [ ] **Transição suave** — Troca de tema tem transition no body (200-300ms) para não ser abrupta. `transition: background-color 200ms, color 200ms`
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Layout (6 checks)
|
|
39
|
+
|
|
40
|
+
- [ ] **Responsivo em 4 breakpoints** — Testar em: 320px (mobile mínimo), 768px (tablet), 1024px (desktop), 1440px (desktop largo). Sem quebra de layout, texto cortado ou overflow
|
|
41
|
+
- [ ] **Sem scroll horizontal** — Nenhum conteúdo causa scroll horizontal no body. Exceções: tabelas e carrosséis, que devem ter overflow-x: auto no container, não no body
|
|
42
|
+
- [ ] **Container com max-width** — Conteúdo principal tem max-width (1200-1440px) com margin auto. Texto nunca edge-to-edge em telas > 1440px
|
|
43
|
+
- [ ] **Touch targets ≥ 44px** — Todo elemento clicável em mobile tem área mínima de 44×44px. Verificar com DevTools (toggle device toolbar + inspecionar tamanho)
|
|
44
|
+
- [ ] **Espaçamento entre touch targets ≥ 8px** — Botões e links adjacentes têm no mínimo 8px de gap para evitar toques acidentais
|
|
45
|
+
- [ ] **Largura de linha ≤ 75ch** — Parágrafos e texto corrido limitados a 65-75 caracteres por linha via max-width: 65ch no container de texto
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Acessibilidade (5 checks)
|
|
50
|
+
|
|
51
|
+
- [ ] **Navegação completa por teclado** — Fluxo inteiro completável com Tab + Enter + Space + Escape. Testar: desligar mouse e completar a tarefa principal
|
|
52
|
+
- [ ] **Alt text em imagens** — Imagens informativas têm alt descritivo. Imagens decorativas têm alt="" (vazio, não ausente). Verificar: desabilitar imagens e ler o alt
|
|
53
|
+
- [ ] **Labels em todos os inputs** — Cada campo tem label visível e conectado (for/id). Placeholder não conta como label. Verificar: labels visíveis após preenchimento
|
|
54
|
+
- [ ] **Hierarquia de headings** — Uma h1 por página. Sequência sem pular: h1→h2→h3 (nunca h1→h3). Verificar: extensão HeadingsMap ou DevTools
|
|
55
|
+
- [ ] **prefers-reduced-motion** — Animações decorativas desabilitadas com @media (prefers-reduced-motion: reduce). Testar: DevTools → Rendering → Emulate prefers-reduced-motion
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Copywriting (6 checks)
|
|
60
|
+
|
|
61
|
+
- [ ] **Botões descritivos** — Texto do botão descreve a ação: "Salvar rascunho", "Enviar pedido", "Criar conta". Nunca genéricos: "OK", "Enviar", "Clique aqui", "Submit"
|
|
62
|
+
- [ ] **Mensagens de erro acionáveis** — Erros descrevem como corrigir, não o que está errado. "Inclua um @ no email" > "Email inválido". "Mínimo 8 caracteres" > "Senha fraca"
|
|
63
|
+
- [ ] **Microcopy consistente** — Termos consistentes em toda a interface: se é "Excluir" em um lugar, não é "Deletar" em outro. Se é "Salvar", não é "Gravar"
|
|
64
|
+
- [ ] **Hierarquia de informação** — Título → contexto → ação. Informação mais importante primeiro. Scanner de 3 segundos: o usuário entende o propósito da tela?
|
|
65
|
+
- [ ] **Sem jargão técnico** — Mensagens voltadas ao usuário evitam termos técnicos: "Erro 500" → "Algo deu errado. Tente novamente". "Null reference" → nunca visível ao usuário
|
|
66
|
+
- [ ] **Tom adequado** — Erros são diretos e empáticos, nunca culpam o usuário ("Você errou"). Sucesso é breve e positivo. Instruções são claras e imperativas
|