Padrão de Uso do TabMenu
Este padrão define o uso do componente TabMenu para organizar conteúdos e funcionalidades em diferentes abas, permitindo que o usuário navegue facilmente entre seções relacionadas. Ele é ideal para cenários onde há múltiplas configurações ou entidades que precisam ser acessadas de forma rápida e estruturada.
Contexto & Problema
Section titled “Contexto & Problema”Quando um produto apresenta muitas configurações ou entidades relacionadas, exibir todas as informações em uma única página pode sobrecarregar o usuário e dificultar a navegação. O TabMenu resolve esse problema ao segmentar o conteúdo em abas claras e acessíveis.
Quando Usar
Section titled “Quando Usar”- Em produtos com múltiplas configurações ou entidades relacionadas, como Edge Applications ou Edge Firewall
- Quando for necessário organizar subpáginas de forma hierárquica e acessível
Componentes Utilizados
Section titled “Componentes Utilizados”- TabMenu (Console Kit Blocks)
Exemplo Visual
Section titled “Exemplo Visual”
Edge Applications > Edit Edge Application
Comportamento Esperado
Section titled “Comportamento Esperado”- Estrutura de navegação clara: Cada aba deve representar uma subpágina ou funcionalidade distinta
- Destaque na aba ativa: A aba atualmente selecionada deve ser visualmente destacada
- Navegação sem recarregamento: A troca entre abas deve ser rápida, sem recarregar a página inteira
- URLs únicas por aba: Cada aba deve ter uma URL única para permitir compartilhamento e navegação direta
- Responsividade: O TabMenu deve se ajustar adequadamente em dispositivos móveis
- Clique/Touch: Navegação por clique ou toque
- Teclado: Suporte completo à navegação por teclado
- Estado ativo: Indicação visual clara da aba selecionada
- Transições: Animações suaves entre abas
- Scroll horizontal: Em dispositivos móveis quando necessário
Implementação
Section titled “Implementação”const tabMenuItems = [ { label: 'Main Settings', command: () => navigateTo('/edge-application/main-settings') }, { label: 'Origins', command: () => navigateTo('/edge-application/origins') }, { label: 'Device Groups', command: () => navigateTo('/edge-application/device-groups') }, { label: 'Error Responses', command: () => navigateTo('/edge-application/error-responses') }, { label: 'Cache Settings', command: () => navigateTo('/edge-application/cache-settings') }, { label: 'Functions Instances', command: () => navigateTo('/edge-application/functions-instances') }, { label: 'Rules Engine', command: () => navigateTo('/edge-application/rules-engine') }];
// Renderiza o TabMenu<TabMenu model={tabMenuItems} activeItem={currentTab} />Boas Práticas
Section titled “Boas Práticas”Anti-padrões
Section titled “Anti-padrões”Acessibilidade
Section titled “Acessibilidade”- Certifique-se de que o TabMenu seja navegável via teclado
- Utilize atributos ARIA, como
aria-selected, para indicar a aba ativa - Garanta contraste adequado entre o texto e o fundo das abas