Comprobador de accesibilidad
El comprobador lee el contenido del editor e informa de lo que dificultaría usarlo con un lector de pantalla o con baja visión. Está integrado e incluido en la licencia; no es un complemento de pago. Desde la versión 2.6.12 del editor aplica 18 reglas, y la mayoría ofrecen una reparación con un clic que corrige el marcado mientras el autor aporta las palabras.
Comprueba el contenido, no el editor: para saber cómo se comporta el propio editor con usuarios de teclado y de lectores de pantalla, consulta Accesibilidad (WCAG 2.2 AA).
Cómo usarlo
El botón de la barra de herramientas abre un panel con lo que ha encontrado; al seleccionar un problema, se resalta en el documento. Los errores son cosas que dejan el contenido inutilizable para alguien; las advertencias son cosas que lo hacen más difícil.
// The checker is a plugin; it loads with all_plugins.js.
var editor = new RichTextEditor("#div_editor");
editor.accessibilityChecker.open(); // show the panel
editor.accessibilityChecker.toggle(); // show or hide it
editor.accessibilityChecker.close();
// Run it yourself - for example before saving - and read the result.
var result = editor.accessibilityChecker.run();
result.issues.forEach(function (issue) {
console.log(issue.code, issue.severity, issue.message, issue.path);
});
// Block a save while errors remain, and let warnings through.
function hasBlockingIssues() {
return editor.accessibilityChecker.run().issues.some(function (i) {
return i.severity === "error";
});
}Cada problema lleva un code de las tablas de abajo, una severity con el valor error o warning, un message escrito para el autor y un path que identifica el elemento.
Imágenes, enlaces, color e idioma
| Regla | Nivel | Qué detecta | Reparación con un clic |
|---|---|---|---|
image-missing-alt | Error | Una imagen sin texto alternativo. Un lector de pantalla solo anuncia “imagen”. | Escribe la descripción; se guarda en alt. |
image-alt-filename | Error | Un texto alternativo que es un nombre de archivo (IMG_4021.jpg), que no describe nada. | Escribe una descripción real. |
image-alt-too-long | Advertencia | Un texto alternativo de más de 150 caracteres: una carga para quien lo escucha. | Escribe una descripción más corta. |
link-empty | Error | Un enlace sin texto, que se anuncia solo como “enlace”. | Añade texto al enlace, o un aria-label si el enlace es un icono. |
link-ambiguous-text | Advertencia | “Haz clic aquí”, “leer más”: inútiles en la lista de enlaces de un lector de pantalla. | — (reescribe tú el texto) |
link-adjacent-duplicate | Advertencia | Un enlace de imagen junto a un enlace de texto al mismo destino: se anuncia dos veces. | Los une en un solo enlace. |
contrast-insufficient | Error | Texto por debajo del contraste WCAG AA: 4.5:1 para el texto normal, 3:1 para el texto grande. | — (elige otro color) |
duplicate-id | Error | Dos elementos que comparten un id, así que cualquier etiqueta que apunte a él se resuelve en el primero. | — (cambia uno de los id) |
language-of-parts | Advertencia | Un fragmento de texto en otro sistema de escritura sin atributo lang, que se lee con la voz equivocada. | Marca el fragmento con el idioma que elijas. |
Encabezados y estructura
| Regla | Nivel | Qué detecta | Reparación con un clic |
|---|---|---|---|
heading-empty | Advertencia | Un encabezado sin texto, que sigue apareciendo en el esquema del documento. | Escribe el texto del encabezado. |
heading-level-skip | Advertencia | Un salto de H1 a H3: el esquema pierde un nivel. | Lo convierte al nivel siguiente. |
paragraph-as-heading | Advertencia | Texto grande en negrita solo en una línea: parece un encabezado, pero no se puede navegar hasta él. | Lo convierte en un encabezado real. |
fake-list | Advertencia | Líneas escritas como “1.” o “-”: no se anuncian como lista y se pierde el número de elementos. | Las convierte en una lista real. |
blockquote-as-indent | Advertencia | Una cita en bloque usada como sangría, que se anuncia como una cita. | — (usa en su lugar el botón de sangría) |
Tablas
| Regla | Nivel | Qué detecta | Reparación con un clic |
|---|---|---|---|
table-missing-header | Advertencia | Una tabla de datos sin celdas de encabezado, así que ninguna columna ni fila tiene nombre. | Convierte la primera fila en encabezados, o marca la tabla como solo de diseño. |
table-header-empty | Error | Una celda de encabezado sin texto: la columna que etiqueta se anuncia sin nombre. | Escribe la etiqueta, o conviértela en una celda normal. |
table-missing-caption | Advertencia | Una tabla de datos sin título, así que quien escucha entra en ella sin saber qué contiene. | Escribe el título. |
layout-table-semantics | Error | Una tabla de diseño que todavía lleva celdas de encabezado o un título y anuncia relaciones que no tiene. | Quita el marcado de tabla de datos. |
Reparar un problema
Una reparación cambia el marcado; nunca inventa palabras. Cuando una regla necesita texto, pásaselo y el comprobador lo escribe en el lugar adecuado y vuelve a ejecutarse para que la lista siga siendo correcta.
// Repair issue 0. The options an issue needs depend on its rule:
// the author supplies words, the editor does the markup.
var issues = editor.accessibilityChecker.getIssues();
editor.accessibilityChecker.repair(0, { altText: "Crew fitting the new roof" }); // image-missing-alt, image-alt-filename, image-alt-too-long
editor.accessibilityChecker.repair(0, { headingText: "Opening hours" }); // heading-empty
editor.accessibilityChecker.repair(0, { targetLevel: 2 }); // heading-level-skip, paragraph-as-heading
editor.accessibilityChecker.repair(0, { captionText: "Sales by month" }); // table-missing-caption
editor.accessibilityChecker.repair(0, { markLayout: true }); // table-missing-header, as a layout table
editor.accessibilityChecker.repair(0, {}); // fake-list, link-adjacent-duplicate: nothing to supplyTres reglas no tienen reparación automática, y es a propósito: el texto de enlace ambiguo, el contraste insuficiente y un id duplicado necesitan una decisión humana sobre la redacción, el color o qué elemento conserva el id.
Lo que no hace
- Lee el contenido del editor, no tu página publicada: los estilos que aplica tu sitio pueden cambiar el contraste después de guardar.
- No puede juzgar si el texto alternativo es exacto, solo si existe, si no es un nombre de archivo y si no es demasiado largo.
- Una frase en otro idioma escrita con el mismo sistema de escritura (francés dentro de inglés) no se puede detectar; la regla de idioma se basa en el sistema de escritura.
- No sustituye a las pruebas con un lector de pantalla real antes de un lanzamiento.