Bootcamp · postura de accesibilidad
Si algo aquí no te está funcionando, ese es nuestro bug — no el tuyo.
El bootcamp Open the Doors apunta a la conformidad WCAG 2.2 AA. Esta página te dice qué hemos publicado, en qué estamos trabajando todavía, y la forma de una línea para reportar algo que esté roto específicamente para ti.
El estándar que apuntamos
WCAG 2.2 Nivel AA. Las Web Content Accessibility Guidelines son la referencia global para contenido web accesible. AA es el nivel de conformidad requerido por la Ley Europea de Accesibilidad (vigente desde junio 2025), la mayoría de reglas de adquisición de estados de EE. UU., y la mayoría de interpretaciones judiciales relacionadas con la ADA.
La declaración general del sitio en muntin.digital/es/accessibility.html cubre el resto de la suite (herramientas, hojas, glosario, biblioteca). Esta página cubre el bootcamp específicamente — las 20 páginas de lecciones, los 18 widgets del Workshop Kit, el generador de la L14, y el hub.
Dónde estamos según los principios WCAG
Los cuatro principios WCAG — Perceptible, Operable, Comprensible, Robusto — y cómo el bootcamp se desempeña actualmente contra cada uno. Honesto, no aspiracional.
| Principio | Estado | Qué significa aquí |
|---|---|---|
| 1. Perceptible | AA cumplido | Contraste de color ≥ 4.5:1 para cuerpo, ≥ 3:1 para texto grande y componentes UI. Anillos de foco visibles en cada elemento interactivo. prefers-reduced-motion respetado. prefers-contrast: more respetado en esta página (en despliegue para todo el sitio). |
| 2. Operable | AA cumplido | Cada widget es alcanzable por teclado. Skip-link en cada página de lección. El orden de Tab tiene sentido. Sin interacciones limitadas por tiempo. Sin trampas de teclado. El widget drag-rank usa botones arriba/abajo + flechas, no drag-and-drop HTML5 real, así que funciona sin ratón y en táctil. |
| 3. Comprensible | AA — parcial | Las lecciones están escritas a un nivel de lectura Flesch-Kincaid de ~10-12 (grado de EE. UU.). WCAG AAA recomienda grado 7-8 para instrucción en línea inclusiva. Una alternativa en lenguaje sencillo por lección está en la hoja de ruta del audit; aún no publicada. |
| 4. Robusto | AA cumplido | HTML semántico en todo. ARIA usado donde la semántica nativa se queda corta, no como reemplazo. Las regiones en vivo son role="status" (polite), no role="alert". Probado en Chromium, Firefox, Safari, y con VoiceOver + NVDA. |
Ajustes que hemos publicado
- Soporte para lector de pantalla. Cada lección es HTML semántico (
<article>,<section>, orden adecuado de encabezados). Los widgets anuncian cambios de estado vía regiones polite en vivo. Los inputs de formulario tienen elementos<label>reales conaria-describedbypara texto de ayuda. - Navegación por teclado. Skip-link primero en el orden de Tab en cada página. Todos los widgets alcanzables + operables por teclado. Anillos de foco visibles ajustados para modo claro y oscuro.
- Movimiento reducido. Las animaciones de celebración lección-completa + módulo-completo se cancelan bajo
prefers-reduced-motion: reduce. La tarjeta en sí sigue apareciendo (la información no está atada al movimiento); solo se suprime la animación de aparición. - Modo de alto contraste. Esta página respeta
prefers-contrast: more; las páginas de lecciones reciben el mismo tratamiento conforme el despliegue las alcanza. - Bilingüe. Cada lección, cada widget, cada hoja se publica en inglés y español. Hreflang estampado en cada página para que los motores de búsqueda + navegadores enruten correctamente.
- El color nunca es la única señal. Donde aparecen colores de estado (ranking de auditoría, lista de revisión del generador, estado del deploy-stepper), una etiqueta textual y/o número de posición carga el mismo significado. Los operadores con deficiencia de visión de color no pierden información.
- Sin reproducción automática. Ningún audio se reproduce sin acción explícita del operador. Sin video. Sin decoración animada que corra continuamente.
- Amigable para guardar. El progreso vive en el navegador del operador (o en su cuenta Muntin si tiene sesión iniciada). Cerrar la pestaña es seguro; al volver se reanuda en la misma lección con el mismo estado.
Referencia de navegación por teclado
Cada interacción del bootcamp es alcanzable por teclado. Esto es lo que esperar de cada widget. Si un widget que encuentras no coincide con esta lista, repórtalo — eso es un bug.
| Acción | Teclas | Dónde funciona |
|---|---|---|
| Saltar el nav al contenido de la lección | Tab al cargar la página | Cada página — el skip-link es el primero en orden de Tab |
| Moverte adelante / atrás entre elementos interactivos | Tab / Shift+Tab | Cada página |
| Moverte entre opciones de un radio-group (palette-picker, voice-slider, font-pair-picker, course-checkpoint, ranking de drag-rank, traits de persona-card-builder) | ↑ ↓ ← → | Dentro de cualquier widget con role="radiogroup" |
| Saltar al primer / último ítem de un radio group | Home / End | font-pair-picker, palette-picker, positioning-plotter |
| Confirmar una selección | Enter o Espacio | Cada botón, cada opción de radio |
| Ajustar un slider en pasos pequeños | ← → | voice-slider, map-radius |
| Ajustar un slider en saltos más grandes | RePág / AvPág | voice-slider, map-radius, positioning-plotter |
| Reordenar un ítem de drag-rank arriba o abajo | Foco en el botón ▲ o ▼, luego Enter | drag-rank (L2, L5b, L8, L9b, L11b) |
| Cerrar una tarjeta de celebración | Esc mientras el foco está en la tarjeta, o Tab al × y Enter | Celebraciones M1 / M2 / M3 / bootcamp en páginas de lecciones |
| Abrir el resumen de Lenguaje sencillo u Objetivos | Enter o Espacio en el summary | Arriba de cada página de lección |
| Marcar una lección como completa | Tab al botón, luego Enter | Final de cada página de lección |
Sin atajos de teclado específicos del bootcamp (sin Cmd+S o similares). La razón: atajos que sobrescriben defaults del navegador (autoguardar, guardar-como) confunden a los lectores de pantalla y entran en conflicto con tecnología asistiva. Los Tab + Enter + flechas estándar cubren cada interacción en el bootcamp.
En qué estamos trabajando
Estos son los ajustes que el audit de diseño instruccional del bootcamp identificó como aún-no-publicados. Se rastrean en docs/course-instructional-audit.md.
Narración de audio (en curso)
Cada lección puede publicar una narración en audio de 5-8 minutos. El pipeline + manifiesto están listos (40 lecciones × 2 locales = 40 archivos MP3 declarados como pendientes). La grabación está sucediendo del lado del operador; verás un botón "Escuchar esta lección" aparecer junto al título de la lección cuando una pista esté renderizada. Particularmente valioso para operadores ciegos, lectores con dislexia, y cualquiera haciendo el bootcamp mientras cocina o maneja.
Alternativa en lenguaje sencillo por lección
Las lecciones de hoy están escritas a un nivel de lectura universitario. Las versiones en lenguaje sencillo (objetivo: lectura de grado 7-8, oraciones más cortas, sin metáforas) aterrizarán como un bloque <details> al inicio de cada lección, opcional. Útil para operadores cuya primera lengua no es la del bootcamp, operadores con trastornos de comprensión de lectura, y operadores que simplemente quieren la versión rápida.
Densidad de enlaces al glosario
Términos del dominio como "GBP", "schema markup", "consistencia NAP", "CNAME" aparecen en las lecciones; no todos enlazan al glosario todavía. El tenet del Método "Un vocabulario, propio" espera que cada término que importa sea enlazable inline. Se despliega por lección.
Prueba en dispositivos táctiles
El bootcamp funciona en teléfonos (probamos en devtools de Chromium), pero una prueba real con 3-5 operadores en sus cocinas reales está en la agenda. Los hallazgos aterrizarán como una lista en esta página.
Qué NO estamos haciendo (y por qué)
Honestidad sobre el alcance. Estos son ajustes que el bootcamp deliberadamente no incluye — porque no están en el estándar o porque entran en conflicto con otra restricción que valoramos más.
- Sin subtítulos en la futura narración de audio. La narración será una lectura literal del texto de la lección — que está en la misma página. Subtitular el audio duplicaría el texto. Si quieres leer, lee; si quieres escuchar, escucha. Los operadores sordos obtienen la experiencia canónica (la lección escrita); los operadores ciegos obtienen la narración. Ninguno necesita que se duplique el ajuste del otro.
- Sin widgets superpuestos de accesibilidad de terceros. Las herramientas overlay (UserWay, accessiBe, etc.) introducen JavaScript que pelea con los lectores de pantalla y activamente puede empeorar la accesibilidad. También cargan scripts de terceros, lo cual viola nuestra postura de sin-fetch. Hacemos trabajo real de accesibilidad en su lugar.
- Sin versión simplificada "easy English". La alternativa en lenguaje sencillo es la granularidad correcta. Una versión easy-English separada fragmentaría el mantenimiento sin servir a una audiencia que la versión en lenguaje sencillo no sirva ya.
- Sin traducción automática más allá de EN + ES. La versión en español se edita a mano por la voz. Versiones traducidas por máquina al francés / italiano / portugués / chino serían técnicamente posibles pero el registro de voz se degradaría. La narración en audio en esos idiomas ya está pipelineada; las lecciones escritas seguirán si hay señal de audiencia.
Reporta algo que no esté funcionando
Una línea, cualquier canal.
Cuéntanos qué intentaste, qué esperabas, y qué pasó. Capturas de pantalla y registros del lector de pantalla ayudan. El correo es lo más rápido:
Apuntamos a acusar recibo en un día hábil y a arreglar o dar una solución concreta en dos semanas. Las regresiones de accesibilidad se tratan como bugs P1.
Última revisión
Esta página: 2026-05-25. Cadencia de re-audit: cada 90 días, o antes si el bootcamp añade nuevos widgets, lecciones, o dependencias de terceros.
Declaración del sitio: /es/accessibility.html · Doc del audit: docs/course-instructional-audit.md