No es negociable para un laboratorio de interés público. Si publicas sobre desapariciones y una parte del público no puede leerte, el trabajo no llegó.
Comprobado en el build, no en la revisión. Ver la matriz generada en 02 · Color.
■ UMB-COL-005 · Color · error
Es un laboratorio de interés público: la lectura no puede depender de tener buena vista y una buena pantalla. v1.0 afirmaba cumplir AA en ambos modos y no lo cumplía en cuatro pares; el 44% del texto del sitio principal fallaba.
| Sí | Usar ink, muted, caption y las variantes *-text, que la compuerta ya verifica. |
| No | Usar signal, model o alert como color de texto pequeño en modo laboratorio. |
Comprobación: Automática — verify-tokens, comprobación contrast-text.
Origen: umbral-engineering.md §4 afirmaba lo contrario; audit §2.
Ver también: UMB-COL-006 · UMB-A11Y-005
Desde v1.0. Regla normativa: rules/rules.yaml.
■ UMB-A11Y-005 · Accesibilidad · error
Es la razón por la que las etiquetas directas son obligatorias y no estilísticas. Además es la única mitigación real del punto débil heredado de la paleta: signal y model son indistinguibles bajo tritanopía.
| Sí | Etiqueta de texto en cada serie; flecha o palabra en cada delta. |
| No | Verde/rojo como única diferencia entre subida y bajada. |
Comprobación: En revisión.
Ver también: UMB-CHT-005 · UMB-COL-008
Desde v1.0. Regla normativa: rules/rules.yaml.
| Situación | Además del color |
|---|---|
| Series en una gráfica | Etiqueta de texto al final de cada línea |
| Delta arriba/abajo | Flecha o palabra: +9.2% ▲, no solo verde |
| Categorías en un mapa | Trama distinta, y la tabla al lado |
| Estado en una tabla | Palabra en la celda |
Esta regla es también la mitigación real del punto débil de la paleta: signal y model son indistinguibles bajo tritanopía. Si respetas la etiqueta directa, ese defecto no llega al lector.
■ UMB-A11Y-001 · Accesibilidad · error
Un lector de pantalla pronuncia el español con fonética inglesa si lang miente. Para un laboratorio que publica en español es el defecto de accesibilidad más básico.
| Sí | lang=“es” en el documento; lang=“en” en el subárbol que sí esté en inglés. |
| No | Dejar el lang=“en” que trae el framework por defecto. |
Comprobación: Automática — umbral-lint, comprobación lang-attribute.
Origen: Streamlit fija lang="en" y las dos apps lo sirven así. Decisión OQ-004: severidad error, con el shim documentado en guide/14-superficies/streamlit.md.
Desde v1.0. Regla normativa: rules/rules.yaml.
Un lector de pantalla pronuncia el español con fonética inglesa si lang miente. Para un laboratorio que publica en español es el defecto de accesibilidad más básico que existe — y los dos tableros del laboratorio lo tienen, porque Streamlit fija lang="en" y nadie lo corrigió.
El shim está documentado en 14 · Superficies → Streamlit.
Una gráfica sin texto alternativo es un rectángulo vacío: el hallazgo desaparece por completo, no solo su forma visual.
■ UMB-A11Y-002 · Accesibilidad · error
Sin etiqueta, una gráfica es un rectángulo vacío para quien usa lector de pantalla — es decir, el hallazgo desaparece por completo, no solo su forma visual.
| Sí | aria-label con la misma afirmación que el título. |
| No | aria-label=“gráfica” o ninguno. |
Comprobación: Automática — umbral-lint, comprobación chart-aria-label.
Origen: Medido: ninguna de las gráficas de desaparecidosmx ni pautamx tiene aria-label.
Desde v1.0. Regla normativa: rules/rules.yaml.
■ UMB-A11Y-003 · Accesibilidad · error
### Junto a cada gráfica hay una tabla de datos o uncon las cifras
Da a los lectores de pantalla —y a quien quiera citar la cifra exacta— acceso al dato y no solo a su imagen.
| Sí | |
| No | Solo el SVG. |
Comprobación: En revisión.
Desde v1.0. Regla normativa: rules/rules.yaml.
:::
■ UMB-A11Y-004 · Accesibilidad · error
Los datos públicos regresan al público. También es lo que permite que alguien refute la gráfica con la misma base.
| Sí | Un botón de descarga por vista. |
| No | Publicar la gráfica y dejar el CSV en el repo sin enlazarlo. |
Comprobación: En revisión.
Origen: Medido: desaparecidosmx lo tiene; pautamx no tiene ninguno.
Ver también: UMB-DAT-004
Desde v1.0. Regla normativa: rules/rules.yaml.
El aria-label lleva la misma afirmación que el título, no una descripción del tipo de gráfica:
| Sí | aria-label="El RNPDNO acumula 351,057 registros con hechos entre 2010-01 y 2026-07" |
| No | aria-label="gráfica de líneas" |
■ UMB-A11Y-006 · Accesibilidad · error
Navegar con teclado tiene que ser posible sin adivinar dónde se está, y un objetivo menor a 44px falla en móvil para una parte del público.
| Sí | :focus-visible con contorno en signal; áreas táctiles de 44px. |
| No | outline: none. |
Comprobación: Automática — umbral-lint, comprobación focus-and-target.
Desde v1.0. Regla normativa: rules/rules.yaml.
:focus-visible con contorno en signal, nunca outline: none.■ UMB-A11Y-007 · Accesibilidad · error
El movimiento puede provocar malestar vestibular. Nada en el sistema depende de animación para comunicar.
| Sí | @media (prefers-reduced-motion: reduce) { transition: none }. |
| No | Transiciones y animaciones incondicionales. |
Comprobación: Automática — umbral-lint, comprobación reduced-motion.
Desde v1.0. Regla normativa: rules/rules.yaml.
Nada en el sistema depende de animación para comunicar, así que respetar la preferencia no cuesta nada:
@media (prefers-reduced-motion: reduce) {
*, *::before, *::after { animation: none !important; transition: none !important; }
}