← Toda la documentación

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.

El cuadro de diálogo Readability statistics sobre el editor, que muestra Flesch Reading Ease 80.4 Easy (6th grade), Flesch-Kincaid Grade 5.3, Reading time 42 sec, Words 130, Sentences 10, Avg words per sentence 13, Avg syllables per word 1.34, Characters 605
El cuadro de diálogo de un artículo de 130 palabras con oraciones breves y sencillas.

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ónValor predeterminadoFunción
readabilityStatstruefalse desactiva el plugin: no hay comando ni métodos.
readabilityWordsPerMinute200Velocidad 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_grade y las demás claves text_rd_* ). Los easeLabel y readingTimeText que devuelve el método siempre están en inglés.

Relacionado: demo de recuento de palabras, demo de asistencia de escritura, execCommand.