Design Systems e sua documentação
1) O que é um sistema de design e o que é necessário
O sistema de design é uma única fonte de verdade para a interface, como um conjunto de tokens, componentes, práticas e documentação que permite previsibilidade de UX, velocidade de desenvolvimento e escalabilidade.
Objetivos:- Coerência visual e comportamental em todos os produtos.
- Velocidade: reutilização de componentes, menos custos de revezamento.
- Qualidade: pattern geral A11y, localização, testes, padrões de conteúdo.
- Governabilidade, responsabilidade clara, edições, mapas de trânsito.
2) Arquitetura de sistemas de design (camadas)
1. Tocas de design (foundation): cores, tipografias, tamanhos, raios, sombras, recuos, estados e tocas semânticas ('cor. surface. warning`, `space. xs`).
2. Componentes UI: botões, campos de entrada, janelas modais, dropdown, tabelas, brindes, banners, alertas, estados vazios, esqueletos.
3. Pattern e composições: formulários KYC, flow de pagamento, resultados nulos, mestres passo a passo, cartões de conteúdo.
4. Conteúdo-hyde (microopy): tom, dicionário de termos, modelos de erro/sucesso, push/banners.
5. Infraestrutura: Hyde de A11y, teste, localização, versões, depositários (continuting).
3) Design-tokens: princípios
Semântica> estilo «cru». Use 'cor'. text. muted 'em vez de' # 6B7280 '.
Temização e plataformas. Fonte de tokens → mappings de plataforma (Web, iOS, Android, email).
Tema claro/escuro e contraste em WCAG ao nível de tokens.
Escalas globais e contextuais: 'space. 2`, `radius. md`, `elevation. 1`, `opacity. disabled`.
Versionização de tokens: alterações através da deprecation policy e notas migratórias.
4) Componentes: requisitos e composição da página na documentação
Para cada componente, a documentação deve incluir:- Descrição e atribuição. Quando usar/não usar.
- Opções/estados. Tamanhos, vistas (primary/segundary/ghost), disabled, loading, destrutive.
- Disponibilidade. Papel, navegação por teclado, 'aria-', contraste, anéis de foco.
- Texto e exemplos de microcopy. Editoras validadas/playsholders, erros, ajuda.
- Exemplos de código. API mínima, controlada/uncontrolled.
- Integração com formulários e i18n. Malas de linhas longas, números/divisas/datas.
- Anti-exemplos. Pattern de uso inválidos.
- Matriz de teste. Snapshots visuais, unit/interaction, screeners.
5) Composição Pattern (Recipes)
Formulários de inscrição/CUS: assistente passo a passo, progresso, validação inline + summary, modelos de erro.
Flow de pagamento: escolha do método, comissões, prazos, regra same-method, confirmação e status.
Estados em branco: contexto + valor + CTA, resultados de pesquisa nulos.
Mensagens de sucesso/erro: hierarquia de estatais, tokens visuais, brindes/banners/modais.
Navegação e filtros: pesquisa global, precondições rápidas, marcas de formatação.
As páginas de pattern devem exibir uma composição de componentes pronta para cópia, com notas microopy e A11y.
6) Conteúdo-hyde (voice & tone, microcopy)
Voz: profissional, claro; o tom depende do contexto (onboarding, pagamento, segurança).
Um único dicionário de termos: pagamentos, bónus, limites, KYC - um valor por produto.
Modelos: CTA, erros, avisos, avanços, estados vazios, notificações.
Localização-first: reserva de comprimento de linhas, número/moeda/data por região.
Vocabulário A11y: editoras claras, descrições ária, sem ambiguidades.
7) Acessibilidade (A11y) como padrão de sistema
Critérios básicos: WCAG 2. 1 AA para contraste, foco visível sempre, navegação do teclado.
Papéis e atributos: os componentes descrevem «role», «aria-label», «aria-describedy», as regiões lave para brindes/alertas.
Rieders de tela: exemplos de frases, ordem de leitura, estados corretos ('assertive/polite').
Procedimentos de teste: verificações automáticas + cenários manuais.
8) Localização e internacionalização
chaves i18n ao lado do código do componente + descrição do contexto.
Números/divisas/datas através de utilitários de formatação; Não é hardcodar o texto nos modelos.
Testes de comprimento: «alemão longo», «móvel apertado», opções de LED.
Tom em línguas: tone-map para passos críticos (pagamentos/segurança).
9) Documentação: estrutura e navegação
A estrutura recomendada do wiki/portal de design:1. Introdução: Missão, princípios, áreas de responsabilidade.
2. Tocos: cores, tipografia, grade, tamanhos, sombras, estados, temas.
3. Componentes: diretório com filtros (por função, plataforma, A11y).
4. Pattern: cenários (formulários, pagamentos, estados em branco, sucesso/erro).
5. Conteúdo hyde: voz e tom, dicionário, modelos microopy.
6. Acessibility: padrões, cheques, malas de teste.
7. Localização: princípios, exemplos, glossários sobre mercados.
8. Integração e código: instalação, versões, exemplos, «how-to migrate».
9. Contributing: processos de contribuição, design-review, código-revide, definição of done.
10. Changelog e Roadmap: lançamentos, deprecações, plano de desenvolvimento, known issues.
10) Gerenciamento e processos (governance)
Os papéis são: proprietário do sistema (DesignOps/UX Plataforma), maintainers (design/FE), consultores (BE, A11y, localização).
Comitê de alterações: avaliação de solicitações, priorização, negociação de API/tokens.
Processos: RFC para novos componentes, formulários de issue internos, SLA por bagagem.
Definition of Done: design (Figma) ↔ código (UI) ↔ doca (exemplo + hyde) ↔ testes.
11) Continuting: como adicionar/alterar
Modelo RFC: problema opções solução selecionada A11y i18n migração para riscos.
Flow PR: Design-revide → código-revo → copiador UX → A11y-cheque → lançamento-nota.
As regras de compatibilidade invertida são minor/patch para os não destrutivos, major com a deprecação e migração automática, sempre que possível.
12) Versionização, lançamentos, migração
SemVer para pacotes ('@ company/ds-core', '@ company/ds-forms',' @ company/ds-charts').
Notas Release: alterações de tokens, componentes API, comportamento padrão, breaking changes, guias de migração.
Depositações: marcações na doca, regras linter, código de moda para substituição em massa.
Design-tocens pipeline: uma única fonte (JSON/YAML) → bilds de plataforma (CSS vars, iOS, Android).
13) Testes de qualidade
Testes unit de comportamento e estados.
Snapshots visuais (regressão de tópicos/estados).
Testes A11y: automáticos + cenários manuais de ecrã.
mala E2E para flow crítico (registro, pagamentos, KYC).
Orçamentos perf: limites para bandl/render e proibições para dependências pesadas.
14) Métricas de maturidade do sistema de design
Adition:% das telas/repositórios que usam DS.
Velocity: Tempo desde o layout até à entrega.
Quality: defeitos UI/A11y para 1 lançamento.
Consistency: número de componentes/estilos «descartáveis» fora do DS.
Docs: revestimento de componentes de docas, NPS de público interno (designers/desenvolvedores/analistas).
15) Anti-pattern
Toques como um painel sem semântica («apenas cor»).
Componentes sem documentação e sem exemplos de casos extremos.
Ignorar A11y (sem foco, baixo contraste, sem 'aria').
Versionagem quebrante sem deprecação e hide migratório.
Lógica oculta em componentes (regras de negócios em vez de comportamento UI).
Duplicar componentes para malas estreitas em vez de expandir API.
16) Folhas de cheque
Para os tokens:- Nomes semânticos e atribuição.
- Contraste AA em ambos os temas.
- As planilhas e os princípios de uso estão documentados.
- As opções/estados estão cobertas.
- Descrição A11y, 'aria-', foco.
- Exemplos de microcopy (editoras, erros, dicas).
- Exemplos de código e mala edge (longas linhas, download, vazio).
- Unit/visual/A11y testes são verdes.
- Notas Release com exemplos antes/depois.
- Migration guide и deprecations.
- Estoriz/demo atualizados, links na doca.
17) Exemplos de antes/depois
Antes (heterogéneo):- Os diferentes botões primários, cores/raio/recuo, não correspondem; textos diferentes do CTA.
- Um 'Button' com tocadores: 'size = md', 'variant = primary', 'radius = lg', 'spacing = md', texto no estilo 'ação + objeto'.
- Mensagens técnicas, sem pistas.
- Componente 'n' severity = «erro»> Formato de data inválido. Use DD. MM. GGG. '+ truque automático.
18) Modelo de página de componente (esqueleto)
Nome: Button
Descrição: executa a ação; 1 principal para a tela.
Opções primary, segundary, ghost, destrutive; dimensões sm/md/lg.
Estados: hover, focus, ativo, loading, disabled.
A11y: disponível do teclado; 'aria-pressed' para alternáveis.
Microcopy: «Salvar alterações», «Continuar a verificação». Evitar «OK».
Código (por exemplo, API): 'Button a.variant, size, icon, loading a.'.
Anti-exemplos: duplo primary no mesmo nível de hierarquia.
Testes: snapshots visuais, contraste, focus-ring.
19) Playbook de implementação de sistema de design (rollout)
1. Auditoria de interfaces: inventário de cores/tipografia/componentes/pattern.
2. MVP de tokens e componentes principais: Button, Input, Select, Modal, Alert, EmptyState, Toast.
3. Documentação e estoque: exemplos vivos, código-snippets, guindastes.
4. Produto piloto: substituição de widgets, recolha de feedback.
5. Hyde migração, código de moda, regras de deprecação.
6. Extensão do conjunto: tabelas, paginação, fóruns de formulário, etapas do assistente.
7. Zoom: Pattern (pagamentos, KYC), integração com análise e A/B.
8. Suporte: canal de perguntas, SLA, workshop interno.
20) Modelos rápidos de documentação
Modelo de token:- O nome é 'cor. border. warning`
- Destino: quadro de alertas e banners Notice/Warning
- Contraste: AA no fundo 'cor. surface. default`
- Não pode ser usado para texto de pequeno porte
- Associados: 'cor. surface. warning`, `icon. warning`
Modelo de pattern: Estado vazio (noResults)
Objetivo: ajustar a solicitação sem «erro»
Composição: cabeçalho (opz) , texto (1-2 frases), CTA, CTA secundário, ícone/ilustração
Microcopy: Não há nada de «Por» Reinstale os filtros ou especifique a solicitação
A11y: `role="status"`, `aria-live="polite"`
Barra final
Tocos semânticos + disciplina A11y = base.
Páginas de componentes completas: destino, opções, A11y, microopy, código, testes.
Pattern = composições de componentes com textos e regras prontas.
Docs é um produto: versão, lançamentos, migração, processo de contribuição.
Mede maturidade, velocidade, defeitos, consistência, NPS de comandos internos.