Core v1 · Accessibility

La accesibilidad forma parte del contrato.

Foco, teclado, estructura, estados y objetivos táctiles no son una capa posterior ni una preferencia de producto.

Invariantes

Cinco condiciones que ningún adaptador puede perder.

Cobertura contractual

Reglas comprobables, no una declaración genérica.

El contrato contiene 103 requisitos únicos de componentes y 34 requisitos únicos de patrones. El auditor exige al menos una regla accesible en cada entrada.

Foco--ds-focus-width y --ds-focus-offset definen 3 px visibles en ambos modos.
Touch target--ds-control-touch-target fija 44 px como mínimo compartido.
Validación finalRequiere preview real con teclado, Light/Dark, móvil, reduced motion y consola limpia.

Referencia de teclado

Interacciones mínimas por familia.

Contrato de teclado que cada adaptador debe conservar
FamiliaTeclasResultado
ButtonEnter o SpaceActiva una acción; disabled no recibe interacción.
LinkEnterNavega y conserva propósito y estado actual.
TabsFlechas, Home, EndRoving focus y asociación con el panel.
MenuFlechas, EscapeRecorre opciones, cierra y devuelve el foco.
Dialog / SheetTab, Shift+Tab, EscapeFoco inicial, contenido contenido y retorno al disparador.
DisclosureEnter o SpaceExpande o contrae y anuncia el estado.

Definition of Done

Un componente no se verifica solo con contraste.

  1. 01

    Semántica

    Elemento o rol apropiado, nombre, descripción y relaciones programáticas.

  2. 02

    Teclado

    Orden, teclas esperadas, foco visible y sin trampas involuntarias.

  3. 03

    Estados

    Hover, pressed, focus, disabled, invalid, loading y selección según el contrato.

  4. 04

    Contexto

    Light/Dark, escritorio/móvil, zoom, reflow y reduced motion.

  5. 05

    Evidencia

    Demo pública, nodo Figma exacto, checks locales y resultado de QA registrados.