

Recomendado: Usa un solo botón Primary por vista o sección
El Primary marca el siguiente paso esperado; las demás acciones van en Secondary o Tertiary para que la jerarquía sea evidente.


El Button permite a la persona ejecutar una acción: enviar un formulario, iniciar un trámite, confirmar o guardar. Tiene tres niveles de jerarquía visual para distinguir la acción principal de las secundarias.
También puede aplicarse a un enlace cuando el paso principal lleva a otra página, como “Iniciar trámite”.
Elige la variante según el significado y la jerarquía que necesitas comunicar.
Para la acción principal de la vista. Usa solo uno por sección.
Elige la configuración adecuada para el espacio y el contexto de uso.
Para espacios reducidos, como tarjetas o barras de herramientas.
Combina las piezas opcionales según la información y las acciones necesarias.
La forma más común: la etiqueta basta.
Con cl-button--full-width-mobile el botón ocupa todo el ancho en pantallas menores a 768 px; en tablet y escritorio conserva el ancho de su contenido. El ejemplo simula una pantalla de móvil.
El botón mide lo que su etiqueta, también en móvil.
Solicitud de certificado
Revisa tus datos antes de enviar la solicitud.
Solicitud de certificado
Revisa tus datos antes de enviar la solicitud.
Evita `disabled`: deja el botón activo y explica qué falta completar.
Así se ve el botón en reposo.
Úsalo cuando la persona debe hacer algo que cambia el estado del sistema o avanza en un flujo: enviar una solicitud, agendar una hora, guardar un borrador, confirmar una anulación.
Si el objetivo es ir a otra página, usa Link. La excepción es cuando esa navegación es el paso principal de un flujo (por ejemplo, “Iniciar trámite” o “Ir a pagar”): ahí puedes usar la apariencia de botón, pero en el HTML debe ser un enlace <a href>. Para iniciar sesión con la identidad digital del Estado, usa Botón ClaveÚnica.


El Primary marca el siguiente paso esperado; las demás acciones van en Secondary o Tertiary para que la jerarquía sea evidente.


Empieza con un verbo y nombra el objeto, para que la persona anticipe el resultado sin leer el resto de la pantalla.


El ícono ayuda a reconocer la acción, pero la etiqueta es la que comunica. Elige uno que coincida con lo que hace el botón.


Un botón deshabilitado no dice por qué no se puede avanzar. Déjalo activo y, si falta algo, indícalo junto a lo que hay que completar.


Si todo es principal, nada lo es. Con cada acción en Primary, “Enviar postulación” pesa lo mismo que “Editar” o “Cancelar” y la persona tiene que leerlas todas para encontrar el siguiente paso.


“Cancelar” no deja claro si anula la hora o cierra el aviso. Usa etiquetas como “Mantener hora” y “Anular hora”.


Si lleva a otra página, es un enlace: en el texto usa Link. Y aunque un botón navegue, en el HTML debe ser <a href>, no <button>.


Una etiqueta extensa o en mayúsculas se lee peor, se corta en móvil y suena a grito. Mantén 1 a 4 palabras en formato oración.
Usa <button> para acciones y <a> para navegación, aunque se vea como botón
El elemento correcto define cómo lo anuncian los lectores de pantalla y qué teclas lo activan: un botón se activa con Enter y Espacio, un enlace solo con Enter. Si un botón lleva a otra página, debe ser <a href> con la apariencia de botón. En formularios, indica siempre el type (submit o button) para evitar envíos accidentales.
Que la etiqueta visible sea el nombre accesible
El texto de __label ya nombra el botón. Si agregas aria-label, debe comenzar con el mismo texto visible, para que quien usa control por voz pueda activarlo diciendo lo que ve.
Marca el ícono como decorativo
El __icon va con aria-hidden="true" cuando acompaña a una etiqueta; así no se duplica el anuncio ni se lee un nombre de ícono sin sentido.
Evita el deshabilitado silencioso
Un botón con disabled no recibe foco y los lectores de pantalla pueden omitirlo. Si necesitas mostrarlo bloqueado, explica en texto visible qué falta; considera aria-disabled="true" para que siga siendo encontrable. En un enlace con apariencia de botón, disabled no existe: quita el href y usa aria-disabled="true" para que no navegue y se anuncie como no disponible.
Hazlo distinguible por texto, no solo por color
La diferencia entre Primary, Secondary y Tertiary es visual. La acción debe entenderse por su etiqueta, aunque la persona no perciba el color o el relleno.
Anuncia el resultado de la acción
Tras enviar, guardar o anular, informa el resultado con un mensaje (Alert o Snackbar) y lleva el foco a él o al primer error, para que quien no ve la pantalla sepa qué pasó.
Última actualización: Octubre de 2026