Communitygithub.com

Sistema de Pestañas UI

Diseña e implementa un marco sistemático para organizar contenido relacionado pero mutuamente excluyente en una sola vista, garantizando indicaciones visuales claras, lógica de estado y adaptación responsiva.

¿Qué es Sistema de Pestañas UI?

El Sistema de Pestañas UI proporciona una metodología completa para diseñar y estructurar pestañas, un patrón de navegación esencial que permite a los usuarios alternar entre paneles de contenido relacionados dentro del mismo contexto. Este sistema se enfoca en la divulgación progresiva para reducir la carga cognitiva, organizando la información en grupos lógicos sin necesidad de recargar la página. Es útil en páginas de detalles de productos, configuraciones de cuenta, paneles de control, resultados de búsqueda y formularios complejos. El sistema especifica cuándo no usar pestañas (por ejemplo, pasos secuenciales, navegación global, comparación de información), y cubre desde la definición de relaciones de contenido, anatomía visual con indicadores de estado claro, lógica de interacción (cambio inmediato mediante clic), optimización para toque y espacios según WCAG, hasta estrategias responsivas como desplazamiento horizontal, transformación en acordeón o menú desplegable. Incluye reglas de decisión (como la regla de los siete elementos), restricciones de accesibilidad siguiendo el patrón ARIA APG con roles tablist, tab y tabpanel, y criterios de validación detallados para garantizar una experiencia de usuario robusta y accesible.

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace Sistema de Pestañas UI?

Propósito

El Sistema de Pestañas UI proporciona una metodología para diseñar y estructurar pestañas—elementos de navegación que permiten a los usuarios alternar entre paneles de contenido relacionados dentro del mismo contexto. Las pestañas son un patrón clave para la divulgación progresiva, ayudando a reducir la carga cognitiva al organizar la información en grupos lógicos sin necesidad de recargar la página. Un enfoque sistemático garantiza que las pestañas tengan estados activos claros, agrupación lógica y se adapten correctamente entre dispositivos.

Casos de Uso

  • Páginas de Detalles de Producto: Organizar especificaciones, reseñas, detalles de envío y preguntas frecuentes en secciones escaneables.
  • Configuraciones de Cuenta: Agrupar perfil de usuario, seguridad, notificaciones y configuraciones de facturación.
  • Paneles de Control: Cambiar entre diferentes vistas de datos (por ejemplo, "Resumen", "Analíticas", "Historial").
  • Resultados de Búsqueda: Filtrar resultados por tipo (por ejemplo, "Todos", "Imágenes", "Videos", "Noticias").
  • Formularios Complejos: Dividir formularios grandes en secciones temáticas (si los pasos no necesitan completarse en un orden estricto).

Cuándo NO Usar

  • Pasos Secuenciales: Si el usuario debe completar contenido en un orden específico, usa sistema-de-progreso-por-pasos en su lugar.
  • Navegación Global: Las pestañas deben gestionar contenido dentro de una página; usa sistema-de-navegación-del-sitio para moverse entre diferentes páginas.
  • Comparación de Información: Si un usuario necesita ver contenido de dos secciones simultáneamente, no uses pestañas. Considera un acordeón o un diseño lado a lado.
  • Demasiados Pocos Elementos: Si solo hay dos elementos y el contenido es breve, considera mostrar ambos o usar un simple interruptor.
  • Demasiados Elementos: Si tienes más de 6-7 pestañas, la interfaz se vuelve desordenada. Considera una navegación lateral o un filtro basado en menú desplegable.

Entradas

  1. Inventario de Contenido: Una lista de etiquetas y sus paneles de contenido correspondientes.
  2. Contexto de Uso: Dónde residirán las pestañas (por ejemplo, área de contenido principal, barra lateral o dentro de un modal).
  3. Nivel de Prioridad: ¿Es este el enfoque principal de la página o un detalle secundario?
  4. Sistemas Existentes: Espaciado fluido, escalas tipográficas y definiciones de estado interactivo.

Salidas

  1. Especificación de Anatomía de Pestañas: Definiciones visuales para los Disparadores (las pestañas), la Lista de Pestañas (el contenedor) y los Paneles (el contenido).
  2. Matriz de Estados: Tratamientos visuales definidos para los estados Predeterminado, Flotante, Activo, Enfoque y Deshabilitado.
  3. Estrategia Responsiva: Reglas para manejar el desbordamiento (Desplazable, Envuelto o Contraído en Acordeón/Selección).
  4. Plan de Accesibilidad: Roles ARIA, mapeo de teclado y reglas de gestión de enfoque.

Flujo de Trabajo

1. Definir la Relación de Contenido

Asegúrate de que todas las pestañas estén en el mismo nivel de jerarquía y se relacionen con la misma entidad padre. Las etiquetas deben ser cortas (1-3 palabras) y usar mayúsculas consistentes.

2. Establecer la Anatomía Visual

Aplica el sistema-de-jerarquía-visual para definir la lista de pestañas:

  • La Pestaña Activa: Debe ser la más prominente. Usa una combinación de color, peso de fuente e indicador visual (como un borde inferior o relleno de fondo).
  • La Pestaña Inactiva: Debe verse interactiva pero secundaria.
  • El Panel de Contenido: Generalmente comparte un contenedor visual o alineación con la pestaña activa para crear una sensación "conectada".

3. Definir la Lógica de Interacción

  • Cambio Inmediato: El contenido debe cambiar instantáneamente al interactuar.
  • Flotante vs. Clic: Las pestañas nunca deben cambiar al pasar el ratón; requieren un clic o toque explícito.
  • Estado Predeterminado: La primera pestaña suele estar activa por defecto a menos que el usuario regrese a un estado específico.

4. Optimizar para Espaciado y Toque

Aplica sistema-de-espaciado-fluido y sistema-de-estado-interactivo:

  • Objetivos Táctiles: Cada disparador de pestaña debe cumplir con WCAG 2.2 SC 2.5.8 (mínimo 24x24px); prefiere 44x44px para interfaces de pestañas principales.
  • Espaciado Interno: Usa espaciado consistente entre pestañas (generalmente --space-s o --space-m).
  • Indicador Activo: Asegúrate de que la línea o el fondo "Activo" sea lo suficientemente grueso para verse claramente.

5. Planificar la Capacidad de Respuesta

Determina cómo maneja la lista de pestañas los viewports estrechos:

  • Desplazamiento Horizontal: El patrón móvil más común. Permite que la lista de pestañas se desborde horizontalmente con un sutil desvanecimiento o flecha para indicar más contenido.
  • Transformación en Acordeón: Para contenido largo, transforma las pestañas en un diseño de acordeón en móvil.
  • Menú de Selección: Para pestañas con muchas utilidades, reemplaza la lista de pestañas con un elemento <select> en móvil.

Reglas de Decisión

  • La Regla de las "Etiquetas": Si las etiquetas varían significativamente en longitud, usa pestañas alineadas a la izquierda. Si son consistentes y pocas, usa pestañas centradas o justificadas.
  • Horizontal vs. Vertical:
    • Horizontal: Estándar para organización en la parte superior del contenido.
    • Vertical: Mejor para listas profundas (configuraciones) o cuando el espacio horizontal es limitado pero el vertical es abundante.
  • La Regla de los "Siete": Limita las pestañas horizontales a 7 elementos. Si necesitas más, reevalúa tu arquitectura de información o usa un diseño vertical.
  • Indicador Activo: Usa siempre más que solo color para indicar el estado activo (por ejemplo, un subrayado de 2px-3px o un cambio de peso de fuente en negrita).

Restricciones

  • Accesibilidad: Sigue el patrón de Pestañas ARIA APG — role="tablist" en el contenedor, role="tab" con aria-selected y aria-controls en cada disparador, y role="tabpanel" con aria-labelledby apuntando de vuelta a su pestaña. Solo la pestaña activa tiene tabindex="0"; las pestañas inactivas usan tabindex="-1" (tabindex móvil).
  • Modelo de Activación: Prefiere la activación automática (las teclas de flecha mueven el enfoque y cambian el contenido del panel inmediatamente) para paneles rápidos y ligeros. Usa activación manual (las teclas de flecha solo mueven el enfoque; Enter/Espacio confirma) si el cambio desencadena una costosa solicitud de red.
  • Navegación por Teclado: Flecha Izquierda/Derecha (o Arriba/Abajo para pestañas verticales) se mueve entre pestañas; Inicio/Fin salta a la primera/última pestaña; Tabulador mueve el enfoque fuera de la lista de pestañas hacia el panel activo.
  • Contraste: Los estados Activo e Inactivo deben cumplir con WCAG AA (4.5:1 para texto).
  • Capacidad de Respuesta: Las pestañas nunca deben causar desplazamiento horizontal de la página; la propia lista de pestañas debe manejar el desbordamiento.

Patrones de Falla Comunes

  • Estado Activo Oculto: Usar un cambio de color sutil que es difícil de ver, dejando a los usuarios inseguros sobre qué sección están viendo.
  • Salto de Contenido: Paneles de pestañas que varían enormemente en altura, haciendo que el pie de página salte hacia arriba y hacia abajo mientras los usuarios cambian de pestaña.
  • Mal Uso para Navegación: Usar pestañas para enlazar a páginas separadas, lo que rompe las expectativas del usuario sobre el cambio instantáneo de contenido.
  • Truncamiento en Móvil: Cortar las etiquetas de las pestañas en móvil sin proporcionar una forma de ver el resto.
  • Falta de Estados de Enfoque: Olvidar diseñar un anillo de enfoque visible para usuarios de teclado.

Criterios de Validación

  • Todas las pestañas están relacionadas con el mismo contexto.
  • El estado activo es visualmente distinto (más que solo color).
  • Cada disparador de pestaña cumple al menos con el mínimo de objetivo táctil de 24x24px de WCAG 2.2 (preferiblemente 44x44px).
  • Los roles ARIA (tablist, tab, tabpanel) están asignados correctamente, con aria-selected y tabindex móvil implementados.
  • La navegación por teclado (teclas de flecha, Inicio/Fin) es compatible según el patrón de Pestañas ARIA APG.
  • El comportamiento responsivo (desplazamiento, acordeón o selección) está definido.
  • Los paneles de contenido mantienen una relación visual consistente con las pestañas.

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.

Skills relacionados