Volver a proyectos N.º 006 · Web app

Aula Accesible

Una sola pantalla compartida para que un alumno sordo no se quede fuera de la clase: subtítulos en vivo en español sencillo, palabras clave y respuestas rápidas.

Aula Accesible con una clase de ejemplo: panel del alumno con subtítulos en español sencillo, palabras clave y respuestas rápidas, y panel del maestro con la conversación
Año
2026
Mi rol
Diseño UX/UI y front-end
Equipo
Individual, con asistencia de IA
Stack
HTML · Sass con BEM · JavaScript con módulos ES

Reto, solución y resultado

El reto

Que un alumno sordo no se quede fuera de la clase

La versión original nació en el AI Hackathon por México × Clara, en octubre de 2026, como un traductor de Lengua de Señas Mexicana con animación 3D. Yo hice el diseño UX/UI y el front-end, y mi equipo, el backend de la animación. La animación sí cargó, pero solo de forma local, en la computadora donde corría el backend.

La solución

Una v2 que funciona solo con texto

Rediseñé el producto alrededor de subtítulos en español sencillo, palabras clave y respuestas rápidas. Las señas pasaron a ser una función experimental de apoyo.

El resultado

Una demo publicada que no promete de más

Se puede probar en el navegador. No tiene backend: dictado, simplificación y señas están simulados, y la página lo aclara. Falta probarla con alumnos sordos, maestros e intérpretes.

La evolución

De traductor de señas a subtítulos claros

Versión original Versión original de Aula Accesible: panel del alumno con un espacio para la animación de señas que indica que no está disponible, cámara simulada y panel del maestro
Versión original · Traductor de LSM con animación 3D. La animación funcionaba solo en la computadora del backend, por eso no aparece en esta captura.
Versión 2 de Aula Accesible en escritorio: panel del alumno con subtítulos en español sencillo y palabras clave junto a la conversación del maestro
Versión 2 · Subtítulos, palabras clave y respuestas rápidas. Es la versión publicada.
Lo destacado

Qué hace la versión 2

01

Subtítulos en español sencillo

El maestro dicta o escribe y el alumno lo lee en grande, en frases cortas y sin palabras rebuscadas. Puede ver el texto original cuando quiera.

Pantalla de clase de Aula Accesible con los paneles del alumno y del maestro
02

Palabras clave

Las palabras difíciles del mensaje aparecen con una definición corta, para no perder el tema de la clase.

03

Respuestas rápidas

Con un toque: «No entendí», «Más despacio», «Tengo una pregunta». También puede escribir o probar responder con señas.

Cómo lo resolví

Decisiones de diseño y código

01

El texto va primero

Todo funciona con texto. Si una animación llegara a estar disponible, aparecería debajo de los subtítulos con la etiqueta «experimental»; si no llega, el alumno no pierde nada.

02

Señas como apoyo experimental

Solo contempla las señas de las respuestas rápidas. El alumno revisa el texto antes de que se envíe y puede descartarlo. Nada se presenta como traducción validada.

03

Accesibilidad desde la base

Controles operables con teclado, foco visible, anuncios aria-live, opción de texto grande y soporte para prefers-reduced-motion. No es una certificación WCAG.

04

Código sin frameworks

HTML, Sass con BEM y JavaScript con módulos ES. El flujo es evento → controller → store → ui, con selectores para derivar lo que se muestra.

05

Límites claros

No sustituye a un intérprete: la LSM tiene gramática propia, usa expresión facial y varía por región. Además, no todas las personas sordas la usan.

06

Cómo trabajé con IA

Qué le pedí a Claude: un diseño base en Claude Design, sobre el que hice el diseño final; revisión y depuración del código, y ayuda para integrar el backend y el front-end en la versión original.

Qué hice y decidí yo: el diseño final a partir de esa base y las decisiones de producto, diseño y accesibilidad.

Una decisión técnica

Si falla la simplificación, queda el original

Simplificar el mensaje del maestro podría fallar por una red caída o un servicio sin responder. Ese error no puede dejar al alumno sin el mensaje.

El mensaje se agrega primero a la conversación con estado simplifying. Si la simplificación falla, pasa a error y el alumno ve el texto original, con un anuncio para lectores de pantalla.

js/controller.js · simplificado
async function simplify(id, text) {
  try {
    // La demo y un servicio real comparten el mismo flujo
    const res = CONFIG.DEMO_MODE
      ? await demo.simulateSimplify(text, SIMPLIFIED, { fail })
      : await api.simplifyText(text);

    const patch = api.toMessagePatch(res);
    updateMessage(id, { ...patch, status: 'ready' });
  } catch (err) {
    // El mensaje ya existe: el alumno ve el texto original
    updateMessage(id, { status: 'error' });
    announce('No se pudo simplificar. El alumno ve el texto original.');
  }
}
Siguiente proyecto Cladum