Back to list
vjrivmon

wcag-operable

by vjrivmon

Sistema de orquestación de agentes para Claude Code - Transforma ideas en MVPs funcionales

1🍴 0📅 Jan 24, 2026

SKILL.md


name: wcag-operable description: Principio 2 de WCAG - interfaces operables por todos. Use cuando diseñe navegación, interacciones, o cualquier componente que requiera input del usuario. metadata: author: ux-ui-skills version: "1.0" category: accessibility

WCAG: Operable

Resumen

El segundo principio de WCAG establece que los componentes de la interfaz y la navegación deben ser operables. Los usuarios deben poder operar la interfaz independientemente de su método de input.

Directrices

2.1 Accesible por Teclado

  • Toda funcionalidad disponible desde teclado
  • Sin "trampas de teclado"
  • Atajos de teclado configurables
  • Tab order lógico

Teclas Estándar

  • Tab: Navegar entre elementos
  • Enter/Space: Activar
  • Escape: Cerrar/cancelar
  • Flechas: Navegar dentro de componentes
  • Home/End: Primero/último
<!-- Elemento focusable por defecto -->
<button>Click me</button>

<!-- Hacer div focusable (evitar cuando posible) -->
<div role="button" tabindex="0" onkeydown="handleKey(event)">Click me</div>

2.2 Tiempo Suficiente

  • Permitir extender límites de tiempo
  • Pausar contenido en movimiento
  • No hay límites de tiempo a menos que sea esencial
  • Interrupciones controlables

Implementación

  • Warnings antes de timeout
  • Opción de extender sesión
  • Autoguardado de trabajo
  • Sin carruseles automáticos no pausables

2.3 Convulsiones y Reacciones Físicas

  • Nada parpadea más de 3 veces por segundo
  • Evitar contenido que causa convulsiones
  • Animaciones de movimiento desactivables
/* Respetar preferencias del usuario */
@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
  }
}

2.4 Navegable

  • Bypass blocks (skip links)
  • Títulos de página descriptivos
  • Orden de foco lógico
  • Propósito de links claro
  • Múltiples formas de encontrar páginas
<!-- Skip link -->
<a href="#main" class="skip-link">Saltar al contenido</a>

<!-- Visible on focus -->
<style>
  .skip-link:not(:focus) {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
  }
</style>

2.5 Modalidades de Input

  • Gestos simples como alternativa a complejos
  • Cancelación de pointer (no activar en down)
  • Labels accesibles para controles de voz
  • Activación por movimiento desactivable

Criterios de Éxito Clave

Focus Visible

  • Focus indicator siempre visible
  • Alto contraste con el fondo
  • No remover outline sin alternativa
/* Malo */
:focus {
  outline: none;
}

/* Bueno */
:focus {
  outline: 2px solid #005fcc;
  outline-offset: 2px;
}

/* Mejor - solo keyboard */
:focus:not(:focus-visible) {
  outline: none;
}
:focus-visible {
  outline: 2px solid #005fcc;
}

Touch Targets

  • Mínimo 44x44 CSS pixels (WCAG 2.2)
  • Spacing adecuado entre targets
  • Áreas de tap suficientes

Aplicación Práctica

Modales/Dialogs

  • Focus trapped dentro del modal
  • Escape cierra el modal
  • Focus retorna al trigger al cerrar
  • Aria-modal="true"

Menús Dropdown

  • Abrir con Enter/Space
  • Navegar con flechas
  • Cerrar con Escape
  • Focus visible en opciones

Formularios

  • Tab order sigue visual order
  • Labels clickeables
  • Error messages asociados
  • Submit con Enter

Carruseles

  • Botones de pausa
  • Navegación por teclado
  • No autoplay si tiene contenido importante

Ejemplos

  • Slack: Excelente navegación por teclado
  • GitHub: Shortcuts de teclado comprensivos
  • Google Docs: Accesibilidad de teclado completa
  • Notion: Cmd+K para navegación

Anti-patterns

  • ❌ Solo funciona con mouse
  • ❌ Outlines removidos sin alternativa
  • ❌ Trampas de focus (no se puede salir)
  • ❌ Timeouts sin warning
  • ❌ Carruseles automáticos no pausables

Métricas

  • Keyboard-Only Testing: Completar tareas sin mouse
  • Focus Order Audit: Tab sequence lógica
  • Touch Target Size: Cumplimiento de 44px
  • Time-Based Function Review: Timeouts documentados

Principios Relacionados

  • [[wcag-perceivable]] - Principio anterior
  • [[wcag-understandable]] - Siguiente principio
  • [[fitts-law]] - Tamaño de targets

Referencias

Score

Total Score

65/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

1ヶ月以内に更新

+10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

+5

Reviews

💬

Reviews coming soon