Escritura básica de MathML en un contenido web

En un artículo anterior se describió El lenguaje de marcado MathML (Mathematical Markup Language)

 y sus posibles usos para representar expresiones matemáticas complejas de manera que sean comprensibles para los navegadores y accesibles para usuarios con discapacidades visuales mediante lectores de pantalla.

Con la integración de MathML en HTML5, es más sencillo incluir fórmulas matemáticas en páginas web sin necesidad de imágenes o scripts externos.

En este artículo, exploraremos las etiquetas principales de MathML: <math>, <mrow>, <mn>, <mo>, y <mi>, y veremos ejemplos de cómo se utilizan para estructurar contenido matemático.

Etiqueta math

La etiqueta <math> es el contenedor raíz para cualquier expresión MathML. Todo el contenido matemático debe estar encapsulado dentro de esta etiqueta para que los navegadores lo reconozcan como tal.

Ejemplo:

<math>
<!-- Contenido MathML aquí -->
</math>

Etiqueta mn

La etiqueta <mn> se usa para representar números. Cada número en una expresión debe estar envuelto en una etiqueta <mn>.

Ejemplo:

<math>
<mn>3</mn>
<mo>+</mo>
<mn>4</mn>
<mo>=</mo>
<mn>7</mn>
</math>

Este código se mostraría de la siguiente forma:

3 + 4 = 7

Etiqueta mo

La etiqueta <mo> se utiliza para operadores. Esto incluye símbolos como el signo más, menos, multiplicación, división, paréntesis, y otros operadores matemáticos.

Ejemplo:

<math>
<mn>50</mn>
<mo>-</mo>
<mn>8</mn>
<mo>=</mo>
<mn>42</mn>
</math>

Este ejemplo se visualiza de la siguiente forma:

508=42

Etiqueta mrow

La etiqueta <mrow> se utiliza para agrupar elementos de manera secuencial. Es similar a un “contenedor” que asegura que el contenido se trate como una sola unidad lógica. Esto es especialmente útil cuando se necesita aplicar operadores a un grupo de elementos. Por ejemplo si se desean escribir varias líneas con operaciones matemáticas:

<math>
<mrow>
<mi>x</mi>
<mo>+</mo>
<mi>y</mi>
</mrow>

<mrow><mi>p</mi>
<mo>+</mo>
<mi>q</mi>
</mrow>
</math>

Este código se mostraría de la siguiente forma:

x+y p+q

En futuros artículos veremos construcciones más complejas utilizando MathML.

Identificar mayúsculas con VoiceOver para Mac

Los lectores de pantalla ofrecen su información a través de 2 canales principales: la voz y salida de texto a un dispositivo de lectura braille.

La mayoría de usuarios de lector de pantallas utiliza la síntesis de voz como canal por defecto o como canal único debido a que no implica un coste económico extra ya que los dispositivos de lectura braille como las líneas braille poseen un precio bastante elevado.

A la hora de acceder a cierta información utilizando una síntesis de voz un usuario de lector de pantallas puede experimentar diversos problemas ya que la síntesis de voz no proporciona toda la información de un texto cuando se utiliza una configuración de pronunciación por defecto.

La mayoría de lectores de pantalla permiten personalizar el nivel de puntuación a verbalizar, algo que beneficia al usuario de lector de pantallas a la hora de leer código de programación o textos matemáticos. También permiten modificar aspectos de la pronunciación cuando se detectan algunos elementos semánticos en el texto como pueden ser palabras enfatizadas o resaltadas.

Identificación de mayúsculas mediante VoiceOver para MacOS

En el caso de VoiceOver para Mac se puede configurar la detección de letras mayúsculas mediante 3 mecanismos: reproducir un sonido, cambio de entonación o la pronunciación de la palabra mayúscula antes de verbalizar la letra.

Para configurar este comportamiento debemos abrir las opciones de configuración de VoiceOver pulsando Vo+F8 y en la categoría Verbosidad debemos seleccionar la pestaña Texto. Allí encontraremos la opción Al leer una letra mayúscula: que nos permitirá personalizar el comportamiento entre estos 4 posibles valores: cambiar tono, reproducir tono, Leer mayúscula y no hacer nada.

Problemas de entonación con algunas voces

Se conoce que algunas voces para algunos idiomas no responden bien a este cambio de entonación de VoiceOver o que directamente lo ignoran. En estos casos es recomendable elegir una de las otras opciones para que no nos perdamos esta información del texto al utilizar este lector de pantallas.

Encuesta de Be my eyes sobre gafas inteligentes

La gente del proyecto Be my eyes ha enviado un correo electrónico a sus usuarios con una encuesta sobre el uso de gafas inteligentes por parte de personas ciegas.

Esta encuesta, en inglés, se presenta con el siguiente texto traducido al español:

A medida que trabajamos para mejorar y hacer crecer Be My Eyes, es vital para nosotros conocer a nuestros usuarios. Esta encuesta tiene 2 preguntas cortas. Tus respuestas serán confidenciales y anónimas. Realmente nos ayudará a saber cómo mejorar nuestro servicio y lograr que aún más personas utilicen Be My Eyes. ¡Gracias por ayudarnos a cambiar el mundo!

Las preguntas que contiene la encuesta son:

  • ¿De qué país eres?
  • ¿Tienes actualmente gafas inteligentes?
  • En caso afirmativo, ¿qué gafas inteligentes tienes?

La encuesta es fácil de contestar y permitirá a la gente de Be my eyes concentrar sus esfuerzos para ofrecer sus servicios de forma más óptima para sus usuarios.

Puedes participar en la encuesta de Be my eyes en inglés.

¿Qué es Be my eyes?

Be my eyes es una comunidad de personas con y sin discapacidad visual enfocadas en ayudarse mútuamente gracias a la tecnología.

En su página web podemos leer:

Be My Eyes se creó para ayudar a personas ciegas o con problemas de visión. La aplicación está compuesta por una comunidad global de ciegos y personas con problemas de visión y voluntarios sin discapacidad visual. Be My Eyes toma el poder de la tecnología y la conexión humana para llevar vista a las personas con pérdida de visión. A través de una video llamada en directo, los voluntarios asisten a ciegos y personas con déficit de visión prestándoles ayuda visual para tareas como el reconocimiento de colores, comprobar si las luces están encendidas o preparar la cena. La aplicación es de uso gratuito y está disponible para iOS y Android.

Si eres una persona perteneciente a la comunidad de Be my eyes te interesa participar en esta encuesta para hacer que esta comunidad mejore en su misión.

Escribir matemáticas en la Web de forma accesible con MathML

En muchos contenidos de la Web nos encontramos formulas matemáticas que bien están dibujadas en una imagen o bien se escriben maquetando y estructurando los distintos elementos de una fórmula matemática atendiendo a su posición en el papel y no a su significado matemático. Todo esto provoca multitud de problemas de accesibilidad que dificultan la lectura de contenidos matemáticos en la Web. Para solucionar este problema el W3C definió MathML.
MathML, abreviatura de Mathematical Markup Language, es un lenguaje de marcado basado en XML diseñado específicamente para representar expresiones matemáticas y notaciones en documentos web. MathML fue desarrollado por el W3C (World Wide Web Consortium) y es una parte integral del conjunto de estándares web para facilitar la inclusión de contenido matemático en las páginas web de manera semántica y accesible.

Se pueden encontrar multitud de beneficios al usar MathML en la Web:

  • Consistencia: Proporciona una forma estandarizada de presentar matemáticas en la web, asegurando que las fórmulas se vean de la misma manera en diferentes navegadores y dispositivos.
  • Escalabilidad visual: Las expresiones matemáticas en MathML se escalan correctamente cuando se ajusta el tamaño de texto en el navegador, manteniendo su legibilidad.
  • Accesibilidad: proporciona compatibilidad con los productos de apoyo como lectores de pantalla provocando que las fórmulas matemáticas apliquen reglas de lectura específicas facilitando a las personas ciegas una lectura más comprensible de fórmulas y textos matemáticos.
  • Interacción Mejorada: Permite la creación de contenido interactivo donde las fórmulas pueden ser manipuladas o calculadas dinámicamente, lo que es particularmente útil en plataformas educativas.
  • Compatibilidad con Herramientas de Edición: Muchas herramientas de edición y procesamiento de documentos científicos soportan MathML, lo que facilita la importación y exportación de contenido matemático entre diferentes plataformas.

Implementación y Compatibilidad
La implementación de MathML puede variar entre diferentes navegadores web. Mientras que navegadores como Firefox y Safari ofrecen soporte nativo para MathML, otros como algunas versiones de Chrome, Brave u Opera pueden requerir complementos o bibliotecas adicionales como MathJax para un soporte completo. MathJax es una popular biblioteca JavaScript que ayuda a renderizar MathML (y otras notaciones matemáticas como LaTeX) de manera consistente en todos los navegadores.
Lo habitual es que si el navegador soporta HTML5 en todas sus versiones el contenido en formato MathML se pueda visualizar correctamente aunque haya algunos problemas de estilo CSS.

Ejemplo básico

A continuación veremos un ejemplo básico sobre cómo se ve el código de MathML y cómo lo lee el navegador web. Vamos a realizar una operación matemática básica: calcularemos la suma de 3 y 6 que debe dar un resultado de 9.

El resultado en MathML es:

3+6=9

Y su código en MathML es el siguiente:

<math display="block">
  <mrow>
    <mn>3</mn>
    <mo>+</mo>
    <mn>6</mn>
    <mo>=</mo>
    <mn>9</mn>
  </mrow>
</math>

La gramática de MathML es muy parecida a la que se utiliza en HTML5 por lo que no supone un aprendizaje pesado y los beneficios merecen mucho la pena. En futuros artículos aprenderemos a utilizar MathML con más profundidad.