Communitygithub.com

Sistema de Botones y Acciones

Diseñar e implementar un marco sistemático para botones y disparadores interactivos, gestionando la jerarquía visual, la lógica de variantes y la agrupación de acciones para garantizar una intención clara y una interacción accesible.

¿Qué es Sistema de Botones y Acciones?

El Sistema de Botones y Acciones proporciona una metodología para diseñar los principales impulsores de la interacción del usuario en interfaces. Define un marco lógico que va más allá de 'crear un botón' para gestionar la jerarquía visual (usando variantes Primaria, Secundaria, Terciaria/Ghost y Peligro), la cohesión de estilos y la usabilidad en todos los dispositivos. Este skill es útil para equipos de diseño y desarrollo que trabajan con sistemas de diseño, ya que estandariza la anatomía interna de los botones (padding, íconos, bordes), establece reglas de agrupación de acciones en layouts como encabezados o tablas, y define comportamientos responsivos (como botones de ancho completo en móvil). Se apoya en principios de accesibilidad WCAG 2.2 (objetivos táctiles mínimos de 24x24px, estado de foco claro) y tokens de marca (color, tipografía, radio de esquina) para generar una matriz de variantes de botón, una escala de tamaños y reglas de espaciado. El sistema es aplicable en plataformas como Claude Code, Cursor o Codex, y ayuda a evitar patrones de fallo comunes como 'sopa de botones' o 'objetivos diminutos' al proporcionar criterios de validación claros y reglas de decisión concretas.

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

Preguntar en tu IA favorita

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

Documentación

¿Qué hace Sistema de Botones y Acciones?

Propósito

El Sistema de Botones y Acciones proporciona una metodología para diseñar los principales impulsores de la interacción del usuario. Los botones son el vínculo fundamental entre la intención de un usuario y la respuesta de un sistema. Este sistema garantiza que cada acción sea visualmente priorizada (Jerarquía), tenga un estilo consistente (Cohesión) y sea fácil de interactuar en todos los dispositivos (Usabilidad). Va más allá de "crear un botón" para definir un marco lógico de cómo los diferentes tipos de acciones se relacionan entre sí dentro de un diseño.

Casos de Uso

  • Definir una librería de componentes de botones para un sistema de diseño.
  • Establecer una jerarquía de acciones en una sección Hero o en el Encabezado de una página.
  • Organizar grupos de acciones relacionadas (p. ej., Guardar, Cancelar, Eliminar).
  • Diseñar disparadores especializados como botones solo con ícono o botones de acción flotante (FABs).
  • Estandarizar la relación entre los tamaños de los botones y la densidad del diseño.

Cuándo NO Usarlo

  • Enlaces de Navegación Global: Para moverse entre secciones principales del sitio, use site-navigation-system.
  • Hipervínculos en Texto: Para enlaces incrustados dentro de un párrafo de texto que llevan a más información, use tratamientos de tipografía estándar.
  • Elementos Puramente Decorativos: No use estilos de botón para elementos que no se pueden hacer clic o tocar.
  • Entradas de Formulario Complejas: Para seleccionar opciones (Casillas de verificación, Radios, Selectores), use form-design-system.

Entradas

  1. Prioridad de Acción: ¿La tarea es Primaria (Nivel 1), Secundaria (Nivel 2) o Terciaria (Nivel 3)?
  2. Gravedad de Acción: ¿La acción es "Positiva" (Enviar), "Neutral" (Cancelar) o "Destructiva" (Eliminar)?
  3. Densidad Contextual: ¿Dónde vive el botón? (p. ej., un Hero espacioso vs. una fila compacta de una Tabla de Datos).
  4. Tokens de Marca: Paleta de colores, escala tipográfica y preferencias de radio de esquina.

Salidas

  1. Matriz de Variantes de Botón: Estilos definidos para las variantes Primario, Secundario, Fantasma y Peligro.
  2. Escala de Tamaños: Un rango de alturas y rellenos (p. ej., Pequeño, Mediano, Grande).
  3. Especificación de Anatomía: Reglas de espaciado interno para texto, íconos y contenedores.
  4. Reglas de Agrupación de Acciones: Directrices para la alineación, el orden y el espaciado entre múltiples botones.

Flujo de Trabajo

1. Establecer la Jerarquía de Variantes

Asignar pesos visuales a los botones según su importancia para el objetivo del usuario:

  • Primario (Nivel 1): Fondo relleno de alto contraste. Generalmente el objetivo "principal" de la página. Solo uno por vista.
  • Secundario (Nivel 2): Fondo delineado o de bajo contraste. Se usa para acciones alternativas o de apoyo.
  • Terciario/Fantasma (Nivel 3): Sin fondo ni borde en su estado predeterminado. Se usa para tareas de baja prioridad o dentro de una UI densa (como tablas).
  • Peligro: Color de alto contraste (generalmente Rojo). Se usa estrictamente para acciones destructivas y permanentes.

2. Definir la Escala de Tamaños

Mapear las dimensiones del botón al contexto del diseño usando el fluid-spacing-system:

  • Grande (Hero/Landing): Máxima prominencia. Alto relleno vertical.
  • Mediano (Predeterminado): El estándar para formularios, modales y encabezados.
  • Pequeño (Compacto): Se usa en barras laterales, tarjetas y tablas de datos donde el espacio es limitado.

3. Diseñar la Anatomía Interna

Estandarizar la estructura del contenedor del botón:

  • Relleno: Mantener una relación horizontal vs. vertical consistente (generalmente horizontal = 1.5x a 2x vertical).
  • Integración de Íconos: Definir el espacio entre un ícono y el texto (p. ej., --space-xs).
  • Radio de Esquina: Determinar la "redondez" (Filo, Redondeado o Píldora) para que coincida con el tono visual de la marca.

4. Crear Grupos de Botones

Al colocar múltiples acciones juntas, seguir un orden lógico:

  • Orden: Colocar la acción Primaria en la posición de "conclusión" (Derecha en escritorio, Arriba en una pila vertical móvil).
  • Espaciado: Usar un espacio consistente (p. ej., --space-s) entre los botones de un grupo.
  • Alineación: Alinear a la derecha las acciones en modales/encabezados; Alinear a la izquierda en formularios; Centrar en Heroes.

5. Definir el Comportamiento Responsivo

Asegurar que las acciones sigan siendo utilizables en todos los tamaños de pantalla:

  • Botones de Ancho Completo (Bloque): En móvil, los botones pequeños a menudo se expanden para llenar el ancho del contenedor para facilitar el alcance del pulgar.
  • Respaldo Solo con Ícono: En encabezados extremadamente estrechos, las etiquetas de texto pueden ocultarse en favor de íconos (asegurar que aria-label esté presente).

Reglas de Decisión

  • La Regla "Un Primario": Solo debe haber un botón Primario (Nivel 1) visible en cualquier vista/contexto para evitar la "parálisis de elección".
  • Fantasma vs. Enlace: Usar un botón Fantasma cuando la acción sea funcional (p. ej., "Cerrar", "Cancelar"); usar un enlace de texto cuando la acción sea de navegación (p. ej., "Más información sobre nuestra política").
  • Ubicación del Ícono: Usar un ícono inicial (Izquierda) para aclarar la acción (p. ej., un ícono de Búsqueda); usar un ícono final (Derecha) para indicar dirección (p. ej., una Flecha para "Siguiente Paso").
  • Contraste para Peligro: Los botones destructivos deben verse significativamente diferentes de los botones Primarios para evitar clics accidentales.

Restricciones

  • Accesibilidad: El texto debe cumplir con el contraste AA de WCAG (4.5:1). Los elementos interactivos deben tener un estado de focus claro (ver interactive-state-system).
  • Objetivos Táctiles: Todos los botones deben tener un área interactiva mínima de 24x24px (WCAG 2.2 SC 2.5.8), incluso si el elemento visual es más pequeño; usar 44x44px como el valor predeterminado cómodo para acciones primarias y diseños móviles.
  • Truncamiento: El texto del botón nunca debe truncarse. Si la etiqueta es demasiado larga, reevaluar el texto o permitir que el botón se envuelva/expanda.

Patrones de Falla Comunes

  • Sopa de Botones: Usar 3-4 botones Primarios en una página, lo que diluye la importancia de la CTA principal.
  • La "Zona Gris": Hacer que los botones parezcan elementos deshabilitados porque carecen de suficiente contraste o color.
  • Interacción Perdida: No definir los estados hover o active, dejando al usuario inseguro de si su clic fue registrado.
  • Objetivos Diminutos: Diseñar botones fantasma pequeños y solo con texto que son casi imposibles de golpear en una pantalla móvil.
  • Alineación Confusa: Mezclar diferentes alineaciones de botones en el mismo flujo, obligando al usuario a "cazar" la siguiente acción.

Criterios de Validación

  • Cada página/vista tiene una acción Primaria clara.
  • Las variantes de botón (Primario, Secundario, Fantasma, Peligro) se usan de manera consistente.
  • Los botones cumplen con el objetivo táctil mínimo de 24x24px de WCAG 2.2 (2.5.8), usando 44x44px para acciones primarias y móviles.
  • La jerarquía visual se mantiene cuando los botones se agrupan.
  • Los estados de foco son distintos y de alto contraste.
  • Las etiquetas de los botones son concisas y usan "Verbos de Acción" (p. ej., "Guardar", "Crear", "Unirse").
  • Las vistas móviles usan botones de ancho completo donde sea apropiado para la capacidad de alcance.

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 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 specify a systematic dark theme framework, establishing rules for elevation-based surface colors, desaturated brand accents, text legibility, and media adaptation to ensure an accessible, low-fatigue experience.

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