Descripción de la imagen: Muestras de color y una tabla de colores junto a un smartphone en el que se muestran las opciones de color.
Visualización de datos accesible
Visualización de datos accesible
Guía completa para desarrolladores sobre cómo crear gráficos, paneles de control e infografías que sean perceptibles, manejables, comprensibles y robustos, en plena conformidad con las WCAG 2.2 AA.
La visualización de datos es una de las herramientas más poderosas del arsenal del desarrollador moderno, y una de las que con mayor frecuencia resultan inaccesibles. Un gráfico que resulta atractivo para los usuarios videntes con una percepción normal del color puede resultar completamente incomprensible para un usuario de un lector de pantalla, una persona con deuteranopía o alguien que navega exclusivamente mediante el teclado. No se trata de un caso aislado: aproximadamente 1 de cada 12 hombres y 1 de cada 200 mujeres padecen algún tipo de deficiencia en la visión del color (cifras de prevalencia basadas principalmente en estudios de población del norte de Europa; las tasas varían según la población). Según la OMS, alrededor del 16 % de la población mundial —aproximadamente 1.300 millones de personas— vive con algún tipo de discapacidad.
¿La buena noticia? La accesibilidad en la visualización de datos es, en gran medida, un problema de ingeniería con soluciones bien conocidas. Esta guía te guía paso a paso por cada aspecto —desde el contraste de colores y el marcado semántico hasta los patrones ARIA, la navegación por teclado y las alternativas a las tablas de datos— para que tus gráficos y paneles de control sean accesibles para todos.
»
) (WebAIM 2024)
: aproximadamente el 16 % (OMS)
s (Reino Unido/EE. UU.)
1. WCAG 2.2 para la visualización de datos: lo esencial
Las WCAG 2.2 estructuran los requisitos en torno a cuatro principios: Percibible, Operable, Comprensible y Robusto (POUR). Cualquier fallo en la visualización de datos puede atribuirse a una infracción de uno o varios de estos principios. La siguiente tabla relaciona los criterios de éxito más relevantes para los gráficos con cada principio del Nivel AA.
| Criterio | Nivel | Qué significa esto para los gráficos | Fallo habitual | Prioridad |
|---|---|---|---|---|
| 1.1.1 Contenido no textual | A | Todo gráfico debe ir acompañado de un texto alternativo o una tabla de datos equivalente | SVG/Canvas sin aria-label o title |
Crítico |
| 1.3.1 Información y relaciones | A | La estructura que se transmite visualmente debe poder determinarse mediante el programa | Leyendas sin relación semántica con las series de datos | Crítico |
| 1.3.3 Características sensoriales | A | Las instrucciones no deben basarse únicamente en el color o la forma | «Las barras rojas representan errores» en las anotaciones del gráfico | Crítico |
| 1.4.1 Uso del color | A | El color no puede ser el único medio visual para transmitir información | Gráficos lineales en los que las series solo se diferencian por el color | Crítico |
| 1.4.3 Contraste (mínimo) | AA | El texto de los gráficos debe cumplir con una relación de 4,5:1 (3:1 en el caso del texto grande) | Etiquetas de ejes o información sobre herramientas en fondos de bajo contraste | Alto |
| 1.4.11 Contraste de elementos no textuales | AA | Los componentes de la interfaz de usuario y los elementos gráficos deben tener un contraste de 3:1 con respecto al color adyacente. | Puntos de datos de color gris claro sobre fondo blanco | Alto |
| 2.1.1 Teclado | A | Todas las funciones del gráfico están disponibles mediante el teclado | Las descripciones emergentes solo se muestran al pasar el ratón por encima | Crítico |
| 2.4.3 Orden de enfoque | A | El foco se desplaza por los elementos del gráfico siguiendo un orden lógico | Los elementos SVG no siguen el orden visual en el DOM | Alto |
| 2.4.7 Enfoque visible | AA | El elemento del gráfico que tenga el foco en ese momento debe mostrar el indicador de foco | El contorno predeterminado se oculta con outline: none |
Alto |
| 4.1.2 Nombre, función, valor | A | Los widgets de gráficos personalizados deben proporcionar el nombre, la función y el estado a las tecnologías de asistencia | Filtros personalizados con botón de alternancia sin estado ARIA | Crítico |
WCAG 2.2 frente a 2.1
Las WCAG 2.2 introducen nueve nuevos criterios de éxito, eliminan el criterio 4.1.1 «Análisis sintáctico» (obsoleto en los navegadores modernos) y elevan el requisito de visibilidad del foco de la sección 2.4.7 a la más estricta 2.4.11. Los más relevantes para los gráficos son el 2.4.11 «Apariencia del foco» (requisitos mejorados de tamaño y contraste del indicador de foco) y el 2.5.3 «Etiqueta en el nombre» (que afecta a las descripciones emergentes de los botones con iconos en los controles de gráficos). La conformidad con el nivel AA requiere cumplir todos los criterios A y AA. Consulte siempre la especificación oficial del W3C para verificar los criterios actuales.
2. Color: Más allá del rojo y el verde
El color es el problema de accesibilidad más habitual en la visualización de datos. La solución no consiste en evitar el color, sino en no basarse nunca únicamente en él. La accesibilidad del color en los gráficos consta de tres aspectos: la selección de la paleta, los índices de contraste y la codificación redundante.
2.1 Paletas aptas para personas con daltonismo
La combinación más peligrosa en la visualización de datos es la del rojo y el verde, una combinación que aproximadamente el 8 % de la población masculina no puede distinguir. La siguiente paleta se encuentra entre las opciones más recomendadas para personas con daltonismo en la investigación sobre visualización de datos, y está diseñada para que sea distinguible en casos de deuteranopia, protanopia y tritanopia; no obstante, las combinaciones específicas deben validarse con un simulador de daltonismo para el contexto concreto de tu gráfico.
Recomendado: paleta Okabe-Ito (considerada generalmente apta para personas con daltonismo; comprueba las combinaciones en tu contexto específico)
Ejemplos de contraste: calculados mediante la fórmula de luminancia relativa de las WCAG
2.2 Codificación redundante
La técnica de accesibilidad más eficaz para los gráficos es la codificación redundante: transmitir la misma información a través de varios canales visuales al mismo tiempo. Nunca confíes solo en el color: combínalo con al menos uno de los siguientes elementos: forma, patrón, posición, etiqueta o textura.
Gráfico de líneas solo en color
Tres series que solo se diferencian por el tono (rojo/verde/azul). Indistinguibles para las personas con deuteranopia. Sin etiquetas en las líneas. Información sobre herramientas solo al pasar el cursor por encima.
Codificación de colores y patrones
Las mismas tres líneas utilizan el mismo tono Y distintos patrones de rayado (continuo / discontinuo / punteado). Cada línea está etiquetada directamente en sus extremos. Los marcadores tienen formas diferentes (círculo / cuadrado / triángulo).
Codificación redundante + texto alternativo + tabla
Color + estampado + forma + etiquetas directas + completo aria-label + párrafo de resumen oculto + tabla de datos vinculada. Funciona para todos los usuarios y en todos los contextos.
Trampa de los paneles de control de estado
Los indicadores de estado tipo semáforo (rojo/ámbar/verde) son uno de los errores de accesibilidad más habituales en los paneles de control empresariales. Combínalos siempre con un icono o una etiqueta de texto: aria-label="Status: Error" y un texto o símbolo visible. Nunca utilices solo el color para indicar el estado del sistema.
3. Marcado semántico y ARIA para gráficos
Gráficos generados en SVG o <canvas> a menudo resultan inaccesibles para las tecnologías de apoyo
sin un esfuerzo deliberado. SVG puede muestra la semántica cuando se ha redactado correctamente; <canvas>,
al tratarse de una superficie de mapa de bits, carece por completo de un modelo de accesibilidad inherente. En cualquier caso, una
accesibilidad significativa requiere una estrategia de marcado deliberada. A continuación se presenta la jerarquía de enfoques,
desde el más sencillo hasta el más completo.
3.1 Accesibilidad del formato SVG
El formato SVG cuenta con semántica de accesibilidad nativa cuando se utiliza correctamente. Un gráfico SVG totalmente accesible requiere
<title>, <desc>, y los roles correspondientes en el elemento más externo.
<!-- Accessible SVG bar chart shell -->
<svg
role="img"
aria-labelledby="chart-title chart-desc"
viewBox="0 0 600 400"
xmlns="http://www.w3.org/2000/svg">
<!-- Screen readers read title + desc as the alt text -->
<title id="chart-title">Monthly active users, Jan–Jun 2025</title>
<desc id="chart-desc">
Bar chart showing MAU growth from 42,000 in January to
89,500 in June 2025. Peak month: June. Lowest: January.
</desc>
<!-- Each data bar is individually focusable -->
<g role="list" aria-label="Monthly data bars">
<g role="listitem">
<rect
tabindex="0"
role="img"
aria-label="January: 42,000 monthly active users"
x="40" y="200" width="60" height="168"
fill="#0072B2"
aria-describedby="jan-tooltip"
/>
<text id="jan-tooltip" class="sr-only">
January 2025, 42,000 users, 112% of Q4 average
</text>
</g>
<!-- Repeat for each data point -->
</g>
</svg>
<!-- Always provide a visible data table fallback -->
<details>
<summary>View data as table</summary>
<!-- Full table here -->
</details>
3.2 Gráficos de Canvas
<canvas> se representa como un mapa de bits — tiene no semántica de accesibilidad inherente.
El patrón de lienzo accesible utiliza un subárbol DOM de reserva dentro del elemento `canvas`
que las tecnologías de asistencia leen en su lugar.
<canvas
id="revenue-chart"
width="800"
height="400"
aria-label="Revenue by region, Q1 2025"
role="img">
<!-- Fallback: AT reads this when canvas is unsupported -->
<p>
Q1 2025 Revenue by Region: EMEA £2.4M (38%),
Americas £2.1M (33%), APAC £1.8M (29%).
EMEA leads for third consecutive quarter.
</p>
<table>
<!-- Full data table -->
</table>
</canvas>
<!-- For Chart.js: use the accessibility plugin -->
<script>
new Chart(ctx, {
plugins: [{
id: 'a11y',
afterRender(chart) {
// Rebuild live ARIA region from chart data
const liveRegion = document.getElementById('chart-live');
liveRegion.textContent = buildSummary(chart.data);
}
}]
});
</script>
Chart.js + chartjs-plugin-a11y
El complemento de la comunidad chartjs-plugin-a11y genera automáticamente tablas alternativas accesibles y descripciones ARIA a partir de los objetos de datos de Chart.js. Esto ahorra una gran cantidad de código repetitivo a los equipos que ya utilizan Chart.js.
4. Navegación mediante el teclado y gestión del foco
La accesibilidad mediante el teclado en los gráficos implica tres cosas: poder acceder a todos los elementos interactivos con el teclado, manejar dichos elementos sin necesidad del ratón y recibir la misma información (información sobre herramientas, zoom, filtros) que los usuarios que utilizan el ratón.
4.1 El patrón de tabindex itinerante
En los gráficos con muchos puntos de datos (por ejemplo, un gráfico de dispersión con 200 puntos), incluir cada punto en
el orden de tabulación dificulta la navegación. Utiliza el tabindex itinerante patrón: solo
hay un punto en la secuencia de tabulaciones a la vez (tabindex="0"); las teclas de flecha permiten desplazar el foco dentro
del grupo de gráficos.
// Roving tabindex for interactive chart data points
class AccessibleChart {
constructor(containerEl) {
this.points = [...containerEl.querySelectorAll('[data-point]')];
this.currentIndex = 0;
this.init();
}
init() {
// Set initial roving tabindex
this.points.forEach((pt, i) => {
pt.setAttribute('tabindex', i === 0 ? '0' : '-1');
pt.addEventListener('keydown', (e) => this.handleKey(e, i));
});
}
handleKey(e, idx) {
const { key } = e;
let next = idx;
if (key === 'ArrowRight' || key === 'ArrowDown')
next = Math.min(idx + 1, this.points.length - 1);
else if (key === 'ArrowLeft' || key === 'ArrowUp')
next = Math.max(idx - 1, 0);
else if (key === 'Home') next = 0;
else if (key === 'End') next = this.points.length - 1;
else return;
e.preventDefault();
this.points[idx].setAttribute('tabindex', '-1');
this.points[next].setAttribute('tabindex', '0');
this.points[next].focus();
// Show tooltip programmatically
this.showTooltip(this.points[next]);
}
}
4.2 Indicadores clave
Las WCAG 2.2 introducen requisitos más estrictos para los indicadores de foco a través de la norma 2.4.11 «Apariencia del foco» (AA). El indicador debe tener un área de al menos el perímetro del componente sin foco multiplicado por 2 píxeles CSS, con una relación de contraste de al menos 3:1 entre los estados de foco y sin foco.
/* WCAG 2.2 AA compliant focus indicator for data points */
[data-point]:focus-visible {
/* 2px offset, 3px ring = clearly visible at any size */
outline: 3px solid #005fcc;
outline-offset: 3px;
/* Additional contrast boost for AAA */
box-shadow: 0 0 0 5px rgba(0, 95, 204, 0.2);
}
/* Respect user preference */
@media (forced-colors: active) {
[data-point]:focus-visible {
outline-color: Highlight;
outline-width: 3px;
}
}
5. Patrones de lectores de pantalla
Diseñar para lectores de pantalla significa diseñar una experiencia auditiva lineal a partir de datos que , por naturaleza, son espaciales y visuales. La idea clave es que no se trata de convertir el gráfico , sino de redactar una narración de lo que este transmite.
5.1 Cómo redactar buenas descripciones de gráficos
Una buena descripción de un gráfico consta de tres partes:
- Tipo y finalidad: «Gráfico de barras que muestra los ingresos trimestrales del ejercicio fiscal 2025».
- Conclusión principal: «El tercer trimestre fue el más sólido, con 4,2 millones de libras, lo que supone un aumento del 28 % con respecto al segundo trimestre».
- Excepciones destacadas o contexto: «La caída del primer trimestre se atribuye a las interrupciones en la cadena de suministro registradas en enero».
Texto alternativo genérico
alt="chart"alt="bar chart"alt="revenue dashboard"
Esto incumple el punto 1.1.1. Identifican el contenedor, no el contenido.
Texto alternativo descriptivo
«Gráfico de barras que muestra las ventas mensuales de enero a junio de 2025. Junio registra la cifra más alta, con 89 500 $. Enero, la más baja, con 42 000 $».
Suficiente para gráficos sencillos. Carece de una descripción de las tendencias.
Contado con contexto
«Gráfico de barras: Usuarios activos mensuales, enero-junio de 2025. Crecimiento constante cada mes. Los usuarios activos mensuales se duplicaron, pasando de 42 000 (enero) a 89 500 (junio). El punto de inflexión en marzo coincide con el lanzamiento de la versión 2.0.»
5.2 Regiones activas para gráficos dinámicos
Cuando los datos de los gráficos se actualicen en tiempo real (paneles de análisis, herramientas de supervisión), utiliza las regiones activas de ARIA para notificar los cambios sin interrumpir la posición de lectura actual del usuario.
<!-- Polite live region: announces after current speech -->
<div
id="chart-status"
role="status"
aria-live="polite"
aria-atomic="true"
class="sr-only">
</div>
<!-- Assertive region: interrupts for critical alerts only -->
<div
id="chart-alert"
role="alert"
aria-live="assertive"
class="sr-only">
</div>
<script>
// When data updates, push a human-readable summary
function announceChartUpdate(newData, isAlert = false) {
const id = isAlert ? 'chart-alert' : 'chart-status';
const el = document.getElementById(id);
// Clear then set: forces screen readers to re-read
el.textContent = '';
requestAnimationFrame(() => {
el.textContent = buildSummary(newData);
});
}
</script>
6. Tablas de datos accesibles como alternativa
Cada gráfico debería ir acompañado de una tabla de datos accesible, ya sea visible o accesible a través de un widget de despliegue. No se trata solo de un requisito de accesibilidad, sino de una buena arquitectura de la información. Las tablas permiten a los usuarios encontrar valores concretos, que los gráficos a menudo ocultan.
6.1 Prácticas recomendadas para el marcado de tablas
| Requisito | Aplicación | Impacto | Esfuerzo |
|---|---|---|---|
| Leyenda / título | <caption> elemento o aria-labelledby |
Los lectores de pantalla anuncian el propósito de la tabla antes que su contenido | Bajo |
| Encabezados de columna | <th scope="col"> para cada columna |
Las relaciones entre celdas se muestran correctamente | Bajo |
| Encabezados de fila | <th scope="row"> para la primera columna, cuando sea pertinente |
Los usuarios pueden desplazarse por filas sin perder el contexto | Bajo |
| Encabezados complejos | id + headers atributos de las celdas fusionadas |
Los encabezados de varios niveles se leen correctamente en NVDA/JAWS | Medio |
| Resumen | <caption> o el párrafo anterior, con la idea principal |
Los usuarios pueden decidir si desean explorar la tabla completa | Bajo |
| Columnas ordenables | aria-sort="ascending|descending|none" en <th> |
Se comunica el estado actual de la ordenación al lector de pantalla | Medio |
| Desbordamiento / desplazamiento | Envuelve en role="region" con tabindex="0" y aria-label |
Áreas desplazables a las que se puede acceder con el teclado | Bajo |
| Celdas vacías | Uso — o «Sin datos» (de forma explícita); nunca lo dejes en blanco |
Evita silencios confusos en la salida del lector de pantalla | Bajo |
7. Comparación de tipos de gráficos: ventajas e inconvenientes en materia de accesibilidad
No todos los tipos de gráficos ofrecen el mismo nivel de accesibilidad de forma predeterminada. La siguiente matriz evalúa cada tipo habitual en cuatro aspectos relacionados con la accesibilidad, con soluciones recomendadas para los casos más complejos.
| Tipo de gráfico | Lector de pantalla | Daltonismo | Teclado | Baja visión | Medidas clave de mitigación |
|---|---|---|---|---|---|
| Barra / Columna | Bien | Bien | Bien | Bien | Etiquetas directas, tabla de datos |
| Gráfico de líneas | Feria | Pobre | Feria | Feria | Patrones de rayas + marcadores + etiquetas |
| Tarta / Donut | Pobre | Pobre | Feria | Pobre | Sustituye por un gráfico de barras siempre que sea posible; indica siempre los porcentajes |
| Diagrama de dispersión | Pobre | Feria | Pobre | Pobre | Índice de navegación; resumen de grupos; tabla de datos |
| Mapa de calor | Pobre | Pobre | Feria | Pobre | Paleta secuencial de un solo tono; etiquetas de valores de celda; tabla |
| Gráfico de áreas | Feria | Feria | Feria | Feria | Evita apilar más de tres series; utiliza patrones |
| Calibre / Radial | Pobre | Feria | Pobre | Pobre | Incluye el valor numérico en un lugar destacado; aria-valuenow/min/max |
| Tabla + Gráfico de tendencia | Bien | Bien | Bien | Bien | La mejor configuración predeterminada para paneles con muchas métricas |
Recomendación sobre gráficos circulares
Pie charts are the hardest chart type to make accessible and often communicate less information than a sorted bar chart. Unless a specific use case requires part-to-whole relationships (and <5 segments), prefer bar charts. This is both an accessibility and a data communication recommendation.
Demostración de gráficos accesibles
El siguiente gráfico de barras aplica los patrones descritos en esta guía. Cada barra puede recibir el foco del teclado y tiene un aria-label, y el gráfico incluye una tabla de datos alternativa visible.
Ver los datos subyacentes en forma de tabla
| Tipo de gráfico | Índice de adopción | Variación interanual | Funcionalidad más solicitada |
|---|---|---|---|
| Tablas de datos | 82% | +11 pp | Ordenar los anuncios estatales |
| Gráficos de barras | 71% | +9 puntos porcentuales | Navegación con el teclado entre las barras |
| Gráficos de líneas | 54% | +6 pp | Codificación redundante (sin diferenciación de colores) |
| Gráficos de área | 43% | +4 pp. | Rellenos de patrón para áreas superpuestas |
| Gráficos de dispersión | 31% | +2 pp | Índice de navegación móvil / navegación por puntos |
| Gráficos circulares | 23% | +1 pp | Etiquetado de segmentos con porcentajes |
8. Calculadora de impacto: cómo estimar tu público excluido
Una de las formas más eficaces de conseguir el apoyo de la organización para las iniciativas de accesibilidad es cuantificar el público afectado. Utiliza la calculadora que aparece a continuación para estimar cuántos usuarios se ven actualmente excluidos por los errores habituales de accesibilidad en los gráficos.
🧮 Calculadora del impacto en la accesibilidad
Introduce tus datos analíticos para calcular a cuántos usuarios podrían estar dejando de atender tus actuales implementaciones de gráficos.
9. Comprobación de la implementación
Ninguna herramienta automatizada puede detectar todos los problemas de accesibilidad: según los estudios, las herramientas automatizadas solo detectan entre el 30 % y el 40 % de los incumplimientos de las WCAG. Una estrategia de pruebas completa combina el análisis automatizado, las pruebas manuales y las pruebas con usuarios que utilizan tecnología de apoyo.
9.1 Cadena de herramientas de pruebas
| Herramienta | Tipo | Ideal para | Coste | ¿Específico de la tabla? |
|---|---|---|---|---|
| axe DevTools | Extensión para el navegador | Análisis automatizado de las WCAG, validación de ARIA | Gratis / Pro | Parcial |
| NVDA + Firefox | Lector de pantalla (Windows) | Experiencia práctica en tecnología de asistencia, pruebas en vivo en la región | Gratis | Sí |
| VoiceOver + Safari | Lector de pantalla (macOS/iOS) | El ecosistema de Apple; Accesibilidad SVG | Gratis | Sí |
| Analizador de contraste de color | Aplicación de escritorio | Comprobación del contraste píxel a píxel en cualquier interfaz de usuario | Gratis | Sí |
| Coblis / Daltonismo de Sim | Simulador de colores | Vista previa de las tablas para los 8 tipos de deficiencia en la percepción del color | Gratis | Sí |
| Navegación solo con el teclado | Manual | Orden de tabulación, detección de trampas de foco, «tabindex» variable | Gratis | Sí |
| Pa11y CI | Integración de CLI y CI | Pruebas de regresión de accesibilidad automatizadas en flujos de trabajo | Gratis | Parcial |
| WAVE | Extensión para el navegador | Superposición visual de los problemas relacionados con las WCAG; útil para las etiquetas | Gratis | Parcial |
9.2 Secuencia de pruebas recomendada
10. Lista de verificación para la implementación
Utiliza esta lista de verificación al lanzar cualquier gráfico, panel de control o función de visualización de datos nuevos. Todos los elementos marcados como «WCAG AA» son obligatorios para cumplir con la normativa legal en muchas jurisdicciones (EN 301 549 en la UE, Sección 508 en EE. UU.).
Percibible
-
El gráfico muestra un dato significativo
alt,aria-label, o<title>/<desc>combinación — no solo «gráfico» (WCAG 1.1.1) - El color nunca es el único medio para codificar información: se deben utilizar patrones, formas o etiquetas directas de forma redundante (WCAG 1.4.1)
- Todo el texto de los gráficos cumple con una relación de contraste de 4,5:1 (3:1 para 18 pt o más, o negrita de 14 pt o más) (WCAG 1.4.3)
- Los elementos gráficos (barras, líneas, puntos de datos) cumplen con un contraste de 3:1 respecto al fondo adyacente (WCAG 1.4.11)
- La estructura y las relaciones de los gráficos se pueden determinar mediante programación (se aplican roles ARIA) (WCAG 1.3.1)
- El gráfico se reajusta o se desplaza al ampliar al 200 % sin pérdida de contenido ni funcionalidad (WCAG 1.4.10)
Funcional
- Todos los elementos interactivos del gráfico son accesibles y manejables únicamente con el teclado (WCAG 2.1.1)
- Los gráficos con muchos puntos utilizan un índice de tabulación variable, en lugar de cientos de paradas de tabulación secuenciales
- El indicador de foco es visible y cumple los requisitos de tamaño y contraste del punto 2.4.11 (WCAG 2.4.7 / 2.4.11)
- Las descripciones emergentes y las ventanas emergentes se pueden cerrar con la tecla Esc y no solo con el ratón (WCAG 1.4.13)
- No se aplica el enfoque automático dentro del componente de gráfico a menos que sea intencionado (superposición modal)
Comprensible
- El título del gráfico y las etiquetas de los ejes están redactados en un lenguaje sencillo, sin abreviaturas sin explicar
- Los estados de error y estado se indican mediante texto o iconos explícitos, no solo mediante el color (WCAG 1.3.3)
-
Los controles de filtrado y ordenación tienen etiquetas visibles con
aria-labelo relacionado<label>
Resistente
- Los widgets de gráficos personalizados exponen el nombre, la función y el valor a las tecnologías de acceso mediante ARIA válido (WCAG 4.1.2)
- Se proporciona una tabla de datos alternativa para cada gráfico no trivial (visible o mediante despliegue)
-
Uso de actualizaciones dinámicas
aria-liveregiones o gestión por áreas, según proceda - El código HTML es válido (sin ID duplicados, sin combinaciones inválidas de roles/propiedades ARIA)
- Probado con NVDA + Firefox y VoiceOver + Safari antes del lanzamiento
«La accesibilidad no es una función que se añada al final de un proyecto, sino una característica de calidad que debe integrarse desde la primera decisión de diseño. En el caso de la visualización de datos, esto significa que la pregunta nunca es “¿cómo hacemos que este gráfico sea accesible?”, sino “¿cuál es la forma más accesible de comunicar estos datos?”» — AIOPSGROUP Engineering Practice