Estadísticas de legibilidad
Muestra lo difícil que resulta leer un texto: la puntuación Flesch Reading Ease, el nivel educativo Flesch–Kincaid, una estimación del tiempo de lectura y los recuentos de palabras, oraciones y sílabas que se usan para calcularlos. Todo se calcula en el navegador; no se necesita ningún servicio ni clave.

Cómo activarlo
Esta función la ofrece el plugin readabilitystats.js (también incluido en plugins/all_plugins.js). Se activa al cargarlo. El cuadro de diálogo se abre con el comando readability; no hay botón en la barra de herramientas, así que llama al comando desde un botón propio o permite que los usuarios escriban "/readability" en el menú "/" cuando esté cargado el plugin de comandos con barra.
<link rel="stylesheet" href="/richtexteditor/rte_theme_default.css">
<script src="/richtexteditor/rte.js"></script>
<script src="/richtexteditor/plugins/readabilitystats.js"></script>
<div id="editor"><p>The station opened in 1911 and served the valley for sixty years.</p></div>
<button type="button" onclick="editor.execCommand('readability')">Readability</button>
<script>
var editor = new RichTextEditor("#editor", {
readabilityWordsPerMinute: 200
});
</script>
Opciones
| Opción | Valor predeterminado | Función |
|---|---|---|
readabilityStats | true | false desactiva el plugin: no hay comando ni métodos. |
readabilityWordsPerMinute | 200 | Velocidad de lectura usada para estimar el tiempo de lectura. |
Desde un script
editor.getReadabilityStats() evalúa el documento actual; pasa una cadena para evaluar ese texto en su lugar. Para el artículo de la imagen devolvió:
{
words: 130, sentences: 10, syllables: 174, characters: 605,
avgWordsPerSentence: 13, avgSyllablesPerWord: 1.34,
fleschReadingEase: 80.4, fleschKincaidGrade: 5.3,
readingTimeMinutes: 0.7, readingTimeText: "39 sec",
easeLabel: "Easy (6th grade)"
}
Úsalo para mostrar una puntuación junto al editor o advertir antes de publicar; no se modifica nada en el documento. editor.countSyllables(word) devuelve la estimación de sílabas de una palabra.
Cómo se calculan los valores
- Las palabras son el texto separado por espacios. Las oraciones son secuencias que terminan en
.,!o?; el texto sin ninguno de estos signos cuenta como una oración. El recuento de caracteres excluye los espacios. - Reading Ease = 206.835 − 1.015 × (palabras por oración) − 84.6 × (sílabas por palabra). Grade = 0.39 × (palabras por oración) + 11.8 × (sílabas por palabra) − 15.59, nunca inferior a 0.
- La etiqueta sigue los intervalos habituales de Flesch: a partir de 90, "Very easy (5th grade)"; 80, "Easy (6th grade)"; 70, "Fairly easy (7th grade)"; 60, "Standard (8–9th grade)"; 50, "Fairly difficult (10–12th grade)"; 30, "Difficult (college)"; por debajo de 30, "Very difficult (college graduate)".
Aspectos a tener en cuenta
- Las fórmulas y el contador de sílabas son para inglés. El contador solo considera las letras a–z, así que para otros idiomas y para palabras con acentos las puntuaciones tienen poco significado.
- Las sílabas se estiman a partir de grupos de vocales, por lo que algunas palabras tienen un error de una sílaba (cuenta "timetables" como 4).
- Un encabezado o un elemento de lista sin punto final se cuenta como parte de la siguiente oración. El artículo de la imagen tiene un encabezado y diez oraciones, y el resultado es 10.
- El cuadro de diálogo redondea el tiempo a una décima de minuto antes de convertirlo a segundos, por lo que puede diferir de
readingTimeText: 42 segundos en el cuadro de diálogo y "39 sec" desde el método para el mismo texto. - Las etiquetas del cuadro de diálogo proceden de claves de idioma (
text_readabilitytitle,text_rd_ease,text_rd_gradey las demás clavestext_rd_*). LoseaseLabelyreadingTimeTextque devuelve el método siempre están en inglés.
Relacionado: demo de recuento de palabras, demo de asistencia de escritura, execCommand.