Communitygithub.com

Sistema de Abas (Tab UI System)

Projete e implemente uma estrutura sistemática para organizar conteúdos relacionados, mas mutuamente exclusivos, em uma única visualização, garantindo affordances visuais claras, lógica de estado e adaptação responsiva.

O que é Sistema de Abas (Tab UI System)?

O Sistema de Abas (Tab UI System) fornece uma metodologia para projetar e estruturar abas, que são elementos de navegação que permitem aos usuários alternar entre painéis de conteúdo relacionados dentro do mesmo contexto. As abas são um padrão chave para a **divulgação progressiva**, ajudando a reduzir a carga cognitiva ao organizar informações em grupos lógicos sem exigir recarregamento da página. Uma abordagem sistemática garante que as abas tenham estados ativos claros, agrupamento lógico e se adaptem graciosamente entre dispositivos. Este sistema é útil para desenvolvedores e designers que trabalham em interfaces de usuário complexas, especialmente em páginas de detalhes de produtos, configurações de conta, dashboards, resultados de pesquisa e formulários. Ele define entradas como inventário de conteúdo e contexto de uso, e saídas como a anatomia da aba (gatilhos, lista de abas, painéis), uma matriz de estados (padrão, hover, ativo, foco e desabilitado), estratégia responsiva, e blueprint de acessibilidade. O sistema funciona através de um fluxo de trabalho em cinco etapas: definir a relação de conteúdo, estabelecer a anatomia visual, definir a lógica de interação, otimizar para espaçamento e toque, e planejar a responsividade. As regras de decisão incluem a "Regra dos Rótulos" e a "Regra dos Sete", enquanto as restrições focam na acessibilidade (padrão ARIA APG Tabs) e contraste. O sistema é compatível com Claude Code, Cursor, Codex e outras plataformas de agentes de IA, ajudando a gerar código e documentação para implementações de abas robustas e acessíveis.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/coastdigitalgroup/coastai-skills/tree/HEAD/website-design/tab-ui-system

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Sistema de Abas

Propósito

O Sistema de Abas fornece uma metodologia para projetar e estruturar abas—elementos de navegação que permitem aos usuários alternar entre painéis de conteúdo relacionados dentro do mesmo contexto. Abas são um padrão chave para divulgação progressiva, ajudando a reduzir a carga cognitiva ao organizar informações em grupos lógicos sem exigir recarregamento da página. Uma abordagem sistemática garante que as abas tenham estados ativos claros, agrupamento lógico e se adaptem graciosamente entre dispositivos.

Casos de Uso

  • Páginas de Detalhes do Produto: Organizando especificações, avaliações, detalhes de envio e FAQ em seções escaneáveis.
  • Configurações da Conta: Agrupando perfil do usuário, segurança, notificações e configurações de faturamento.
  • Dashboards: Alternando entre diferentes visualizações de dados (ex.: "Visão Geral", "Analytics", "Histórico").
  • Resultados de Pesquisa: Filtrando resultados por tipo (ex.: "Todos", "Imagens", "Vídeos", "Notícias").
  • Formulários Complexos: Dividindo formulários grandes em seções temáticas (se as etapas não precisarem ser concluídas em uma ordem rigorosa).

Quando NÃO Usar

  • Etapas Sequenciais: Se o usuário precisar concluir o conteúdo em uma ordem específica, use o sistema-de-progresso-de-etapas.
  • Navegação Global: As abas devem gerenciar o conteúdo dentro de uma página; use o sistema-de-navegação-do-site para navegar entre páginas.
  • Comparação de Informações: Se o usuário precisar ver conteúdo de duas seções simultaneamente, não use abas. Considere um acordeão ou um layout lado a lado.
  • Muito Poucos Itens: Se houver apenas dois itens e o conteúdo for curto, considere mostrar ambos ou usar uma alternância simples.
  • Muitos Itens: Se você tiver mais de 6-7 abas, a interface ficará confusa. Considere uma navegação lateral ou um filtro baseado em menu suspenso.

Entradas

  1. Inventário de Conteúdo: Uma lista de rótulos e seus painéis de conteúdo correspondentes.
  2. Contexto de Uso: Onde as abas estarão (ex.: área de conteúdo principal, barra lateral ou dentro de um modal).
  3. Nível de Prioridade: Este é o foco principal da página ou um detalhe secundário?
  4. Sistemas Existentes: Espaçamento fluido, escalas tipográficas e definições de estado interativo.

Saídas

  1. Especificação da Anatomia da Aba: Definições visuais para Gatilhos (as abas), a Lista de Abas (o contêiner) e os Painéis (o conteúdo).
  2. Matriz de Estados: Tratamentos visuais definidos para os estados Padrão, Hover, Ativo, Foco e Desabilitado.
  3. Estratégia Responsiva: Regras para lidar com estouro (Rolável, Quebrado em Linhas ou Recolhido em Acordeão/Select).
  4. Blueprint de Acessibilidade: Papéis ARIA, mapeamento de teclado e regras de gerenciamento de foco.

Fluxo de Trabalho

1. Definir a Relação do Conteúdo

Certifique-se de que todas as abas estejam no mesmo nível de hierarquia e se relacionem com a mesma entidade pai. Os rótulos devem ser curtos (1-3 palavras) e usar capitalização consistente.

2. Estabelecer a Anatomia Visual

Aplique o sistema-de-hierarquia-visual para definir a lista de abas:

  • A Aba Ativa: Deve ser a mais proeminente. Use uma combinação de cor, peso da fonte e um indicador visual (como uma borda inferior ou preenchimento de fundo).
  • A Aba Inativa: Deve parecer interativa, mas secundária.
  • O Painel de Conteúdo: Geralmente compartilha um contêiner visual ou alinhamento com a aba ativa para criar uma sensação de "conexão".

3. Definir a Lógica de Interação

  • Alternância Imediata: O conteúdo deve mudar instantaneamente ao interagir.
  • Hover vs. Clique: As abas nunca devem alternar ao passar o mouse; elas exigem um clique ou toque explícito.
  • Estado Padrão: A primeira aba geralmente está ativa por padrão, a menos que o usuário esteja retornando a um estado específico.

4. Otimizar para Espaçamento e Toque

Aplique o sistema-de-espaçamento-fluido e o sistema-de-estado-interativo:

  • Alvos de Toque: Cada gatilho de aba deve atender ao WCAG 2.2 SC 2.5.8 (mínimo 24x24px); prefira 44x44px para UIs de aba principais.
  • Lacunas Internas: Use espaçamento consistente entre as abas (geralmente --space-s ou --space-m).
  • Indicador Ativo: Certifique-se de que a linha ou fundo "Ativo" seja espesso o suficiente para ser visto claramente.

5. Planejar para Responsividade

Determine como a lista de abas lida com viewports estreitas:

  • Rolagem Horizontal: O padrão móvel mais comum. Permita que a lista de abas transborde horizontalmente com um desvanecimento sutil ou seta para indicar mais conteúdo.
  • Transformação em Acordeão: Para conteúdo longo, transforme as abas em um layout de acordeão no celular.
  • Menu Select: Para abas com muitos utilitários, substitua a lista de abas por um elemento <select> no celular.

Regras de Decisão

  • A "Regra dos Rótulos": Se os rótulos variarem significativamente em comprimento, use abas alinhadas à esquerda. Se forem consistentes e poucos, use abas centralizadas ou justificadas.
  • Horizontal vs. Vertical:
    • Horizontal: Padrão para organização no topo do conteúdo.
    • Vertical: Melhor para listas profundas (configurações) ou quando o espaço horizontal é limitado, mas o espaço vertical é abundante.
  • A "Regra dos Sete": Limite as abas horizontais a 7 itens. Se precisar de mais, reavalie sua arquitetura da informação ou use um layout vertical.
  • Indicador Ativo: Sempre use mais do que apenas cor para indicar o estado ativo (ex.: um sublinhado de 2px-3px ou uma mudança de peso de fonte para negrito).

Restrições

  • Acessibilidade: Siga o padrão ARIA APG Tabs — role="tablist" no contêiner, role="tab" com aria-selected e aria-controls em cada gatilho, e role="tabpanel" com aria-labelledby apontando de volta para sua aba. Apenas a aba ativa tem tabindex="0"; abas inativas usam tabindex="-1" (tabindex flutuante).
  • Modelo de Ativação: Prefira ativação automática (as teclas de seta movem o foco e alternam o conteúdo do painel imediatamente) para painéis rápidos e leves. Use ativação manual (as teclas de seta movem apenas o foco; Enter/Espaço confirma) se a alternância acionar uma requisição de rede cara.
  • Navegação por Teclado: Seta Esquerda/Direita (ou Cima/Baixo para abas verticais) move entre as abas; Home/End pula para a primeira/última aba; Tab move o foco para fora da lista de abas para o painel ativo.
  • Contraste: Os estados Ativo e Inativo devem atender ao WCAG AA (4,5:1 para texto).
  • Responsividade: As abas nunca devem causar rolagem horizontal da página; a própria lista de abas deve lidar com o estouro.

Padrões Comuns de Falha

  • Estado Ativo Oculto: Usar uma mudança sutil de cor que é difícil de ver, deixando os usuários inseguros sobre qual seção estão visualizando.
  • Salto de Conteúdo: Painéis de aba que variam muito em altura, fazendo o rodapé pular para cima e para baixo enquanto os usuários alternam as abas.
  • Uso Indevido para Navegação: Usar abas para linkar para páginas separadas, o que quebra as expectativas dos usuários de alternância instantânea de conteúdo.
  • Truncamento no Celular: Cortar os rótulos das abas no celular sem fornecer uma maneira de ver o resto.
  • Falta de Estados de Foco: Esquecer de projetar um anel de foco visível para usuários de teclado.

Critérios de Validação

  • Todas as abas estão relacionadas ao mesmo contexto.
  • O estado ativo é visualmente distinto (mais do que apenas cor).
  • Cada gatilho de aba atende pelo menos ao mínimo de alvo de toque WCAG 2.2 24x24px (44x44px preferido).
  • Os papéis ARIA (tablist, tab, tabpanel) estão atribuídos corretamente, com aria-selected e tabindex flutuante implementados.
  • A navegação por teclado (teclas de seta, Home/End) é suportada de acordo com o padrão ARIA APG Tabs.
  • O comportamento responsivo (rolagem, acordeão ou select) está definido.
  • Os painéis de conteúdo mantêm uma relação visual consistente com as abas.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for progressive disclosure using accordions, ensuring structural integrity, visual affordances, and accessibility across different content densities and devices.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for long-form content, managing readability, vertical rhythm, and information density to ensure a superior reading experience.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for informational elements that communicate state (Badges) and categorization (Tags) with clarity and accessibility.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for non-overlay notifications, managing global announcements and contextual inline alerts to communicate system states without interrupting the user's flow.

coastdigitalgroup/coastai-skills

Design and implement a systematic, asymmetrical bento-grid layout framework to organize diverse content types cohesively while maintaining strict visual hierarchy, logical focus order, and responsive flexibility.

coastdigitalgroup/coastai-skills

Design a responsive, mobile-first bottom navigation bar and persistent action dock system for mobile websites and web applications, establishing spatial anchors, tab bar anatomy, badge indicators, thumb-zone ergonomics, safe area inset handling, active/inactive state contrast, and desktop responsive adaptation rules.

coastdigitalgroup/coastai-skills

Design a mobile-first bottom sheet overlay system with configurable detents, drag affordances, safe area padding, responsive desktop modal/popover adaptation, and WCAG AA accessibility compliance.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for secondary navigation trails that provide orientation, context, and one-click access to parent levels in deep information architectures.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for buttons and interactive triggers, managing visual hierarchy, variant logic, and action grouping to ensure clear intent and accessible interaction.

coastdigitalgroup/coastai-skills

Design a systematic framework for date and time selection, managing calendar grids, range pickers, and scheduling interfaces to ensure precision and accessibility.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for modular content containers that maintain hierarchy, structural integrity, and action alignment across variable content and responsive viewports.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for horizontal discovery components, managing navigation affordances, scroll behavior, and accessibility to ensure effective content density without compromising usability.

coastdigitalgroup/coastai-skills

Design a systematic, highly accessible, and developer-friendly UI layout framework for code blocks, snippet showcases, multi-file code tabs, line-highlighting, diff views, and syntax token contrast in technical documentation and developer platforms.

coastdigitalgroup/coastai-skills

Design a systematic framework for global command menus (Cmd+K panels) that combines keyboard-driven navigation, command execution, and shortcut discovery into an accessible, responsive overlay.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for threaded conversations, managing nesting depths, action hierarchies, and community signaling to foster engagement and readability.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for side-by-side comparison interfaces, managing high attribute density and responsive complexity to support informed decision-making.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for user privacy, managing consent banners, preference centers, and persistent privacy controls to balance legal compliance with user trust.

coastdigitalgroup/coastai-skills

Design and implement a systematic, highly accessible, and responsive visual layout framework for conversational chat widgets, live chat boxes, and chatbot panels that ensures clear message scannability, native focus flow, and seamless mobile keyboard adaptation.

coastdigitalgroup/coastai-skills

Design a systematic, accessible, and high-conversion framework for custom select dropdowns and comboboxes, defining anatomy, states, search-filtering, and responsive mobile-adaptive patterns.

coastdigitalgroup/coastai-skills

Design and implement a systematic color palette that ensures WCAG 2.2 accessibility compliance. Trigger this skill when asked to define brand colors, create UI themes, or establish a visual system for a website.

Habilidades Relacionadas