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.

¿Cómo incluir una firma en un documento PDF utilizando Inteligencia artificial?

La Inteligencia artificial poco a poco se está moldeando en nuevas herramientas de ayuda a personas con necesidades especiales. Una de estas necesidades es la de incluir una imagen con la firma de una persona en un lugar concreto de un documento PDF. Esta operación que puede resultar muy sencilla para la mayoría de personas es algo muy complicado para personas con discapacidad visual o con discapacidad motriz.

Las herramientas de Inteligencia artificial generativas como ChatGPT o Gemini pueden ayudarnos a realizar estas operaciones.

Un posible ejemplo

Imaginemos que tenemos un documento prueba.pdf con el siguiente texto:

Documento de prueba
Esto es un documento de prueba para probar la función de introducir una firma utilizando AI.

Para ello creamos este documento en formato PDF.

Además del texto básico debemos incluir alguna estructura de información que permita identificar dónde incluir la firma.

Por ejemplo, dejando un hueco suficiente.

Firmado:

 

 

 

 

En España el 1 de agosto de 2024

 

 

 

 

Además tenemos un fichero firma.jpg que contiene un dibujo de nuestra firma. Es importante que nuestra firma esté escrita en color negro y el fondo en color blanco.

Utilizando el siguiente prompt en ChatGPT o Gemini podemos conseguir firmar nuestro documento PDF:

En el documento prueba.pdf pega la imagen del fichero firma.jpg

La imagen debe colocarse entre las líneas con el texto «Firmado:» y «En España el 1 de agosto de 2024»
Modifica el tamaño de la imagen pegada para que encaje bien entre las dos líneas de texto. La imagen no debe ocultar las líneas con los textos «Firmado:» y «En España el 1 de agosto de 2024». Para ello reduce la altura de la imagen si es necesario y la imagen debe colocarse entre las dos líneas de texto indicadas

Cuidado con la precisión

Hay que recordar que estas herramientas generativas no son fiables al cien por ciento por lo que es recomendable revisar que el documento pdf no haya sido modificado en su texto y que la firma se haya incluido bien.

Además, hay que señalar que actualmente la mayoría de sistemas que convierten el lenguaje escrito en algo comprensible para los motores de Inteligencia artificial comprenden mejor el idioma inglés por lo que es recomendable que los prompts se escriban en inglés para facilitar la comprensión al motor de inteligencia y evitar ambigüedades.

Nuevas posibilidades para la accesibilidad 

El uso de herramientas de Inteligencia artificial está abriendo nuevos caminos para la accesibilidad para ayudar a personas con necesidades especiales a superar de forma autónoma barreras sociales y técnicas que persisten hoy en día. La Inteligencia artificial es una herramienta más y como tal debemos aprender a utilizarla para hacer un mundo más accesible.

¿Cómo notificar errores y enviar sugerencias a OpenAI sobre ChatGPT y el resto de sus servicios?

La empresa OpenAI es la creadora de diversos servicios de Inteligencia artificial generativa. El más conocido es Chat GPT.

Muchos de sus productos son librerías para ser utilizadas a través de otras aplicaciones. Esto se conoce como API. Pero también OpenAI proporciona productos que muestran una interfaz de usuario como es el caso de Dall-e o Chat GPT. En estos productos se pueden encontrar problemas de accesibilidad u otro tipo de problemas.

Para obtener ayuda de los diversos productos de OpenAI está el centro de ayuda. Desde esta página del centro de ayuda se puede acceder al servicio de soporte de OpenAI. Este servicio consiste en un chat con un agente del servicio de soporte de OpenAI. Por ahora, estas personas sólo hablan inglés por lo que toda la comunicación debe ser realizada en este idioma.

Desde el chat de soporte podemos notificar errores de accesibilidad y compartir sugerencias para mejorar los distintos productos y servicios que ofrece OpenAI.

El botón para acceder al chat se encuentra al final de la página web del centro de ayuda. Cuando se pulsa el chat nos aparecerá un marco con toda la interfaz del servicio de atención al cliente. Deberemos buscar el botón para enviar una pregunta al servicio técnico de OpenAI.

Evitar la apertura automática de menús en MacOS Sonoma con VoiceOver

Desde MacOS Sonoma 14.1 se incluyó un cambio en el comportamiento en la navegación de VoiceOver por las opciones de la barra del menú del sistema. En versiones anteriores el usuario de VoiceOver pulsaba VO+M para acceder a la barra de menú y pulsando la primera inicial del menú que el usuario quería abrir VoiceOver lo focalizaba y lo abría sin problemas.

Con el cambio a Sonoma se priorizó el comportamiento con puntero de ratón provocando que cuando un menú se focaliza este se despliega automáticamente. Esto provocó que la velocidad de navegación entre menús para usuarios experimentados de VoiceOver bajase provocando una merma en la productividad del usuario.

Entendiendo el problema

Este problema se produce porque por defecto el cursor del puntero del ratón sigue al foco de VoiceOver. En versiones anteriores el menú no se desplegaba porque detectaba antes el foco de VoiceOver y la presencia del puntero del ratón no provocaba la apertura del menú.

Con los cambios en Sonoma el puntero del ratón tiene más prioridad en los elementos visuales de la interfaz y los menús se comportan de la misma forma ante la presencia del puntero del ratón sin tener en cuenta si VoiceOver o Zoom se están ejecutando en ese momento.

Una posible solución

Podemos configurar VoiceOver para que el puntero del ratón no siga al foco de VoiceOver. De esta forma evitaremos que los menús se desplieguen al explorarlos con el foco de VoiceOver.

Para cambiar esta configuración debemos abrir la ventana de configuración de VoiceOver pulsando VO+F8, a continuación ir a la categoría Navegación y en ella modificar la opción de Puntero del ratón para que tenga el valor Ignora el cursor de VoiceOver.

Con este cambio en la configuración de VoiceOver podremos volver al comportamiento anterior.

Si necesitamos que el puntero del ratón salte a la posición del foco de VoiceOver sólo debemos pulsar VO+Comando+F5 y si queremos que el foco de VoiceOver salte a la posición del ratón debemos pulsar VO+Mayúsculas+F5.

¿Cómo enviar informes de error y sugerencias de Ray-ban Meta para mejorar su uso?

Las gafas inteligentes Meta Ray-ban se han convertido en un dispositivo de asistencia para personas ciegas. Aunque el dispositivo no se ha diseñado como producto de asistencia para personas con discapacidad resulta de utilidad el poder utilizar los micrófonos y la cámara junto con la inteligencia artificial que proporciona Meta a este dispositivo para que una persona ciega pueda resolver situaciones o dudas visuales consultando qué hay delante de la persona que está utilizando estas gafas inteligentes.

Aunque este tipo de utilidad utilizando Inteligencia Artificial ya está disponible utilizando un teléfono Android o un iPhone la posibilidad de tener las dos manos libres y utilizar comandos de voz de forma rápida hacen que el uso de unas gafas inteligentes con cámara sean un buen candidato de producto de apoyo para personas ciegas.

Fronteras lingüísticas y comerciales

Aunque estas gafas están a la venta en varios países e incluso se pueden adquirir a través de la tienda on-line de Ray-ban el acceso a los servicios de Inteligencia artificial de Meta no está en todos los países. A fecha de Junio de 2024 el servicio de Meta-AI sólo está disponible para Estados Unidos de America y Canadá.

Además, aunque podemos solicitar mediante comandos de voz que nos hable la respuesta a la consulta que le hagamos en el idioma de nuestra preferencia si hay que indicar que todas las preguntas y las funciones de dictado de mensajes o consulta de contactos se realizan con soporte en inglés y parcialmente en francés o italiano. 

Conexión a Internet a través de nuestro teléfono

Las Meta Ray-ban necesitan de conexión a Internet tanto para compartir los videos y fotografías así como para acceder a la inteligencia artificial de Meta. Para ello es necesario instalar la app Meta view en el teléfono.

Enviando informes de error y sugerencias

Una vez nos hayamos registrado en la aplicación Meta View podemos utilizar el servicio de ayuda incorporado en esta aplicación para acceder al formulario de ayuda.

Para ello, una vez abierta la aplicación Meta view debemos ir a la sección de Configuración, cuyo botón está situado en la parte inferior derecha de la pantalla.

Tras acceder a la sección de configuración deberemos deslizar la pantalla hacia abajo (con tres dedos de abajo a arriba si utilizamos VoiceOver) para que se listen todas las opciones disponibles en la sección de configuración.

Dentro de estas opciones encontraremos la opción Ayuda y asistencia, y dentro de este menú de ayuda podemos acceder al formulario mediante la opción Informar de un problema.

Al entrar en esta opción nos ofrece distintas categorías para notificar un error o enviar una sugerencia. Por ejemplo, para solicitar que mejoren la accesibilidad de la aplicación Meta view habría que elegir la categoría Meta view. Para notificar un problema de comportamiento de las gafas habría que seleccionar la categoría Hardware de las gafas y para enviar sugerencias para que incluyan el español o que ofrezcan Meta-AI en Europa o America Latina habría que elegir la categoría Otras.

Dependiendo de la categoría seleccionada se nos ofrecerán distintas opciones. Por ejemplo, si queremos solicitar que las Ray-ban Meta soporten los comandos en español habría que elegir la categoría Otras y seleccionar la opción Solicitud de función.

Los usuarios podemos mejorar un producto

Aunque Meta tiene su hoja de ruta para mejorar este producto y los servicios que lo acompañan los usuarios del producto podemos enviar informes de error y sugerencias para que, por ejemplo, el producto vaya mejorando a nuestra satisfacción. Por ejemplo, solicitando que se incluya el español entre las opciones para hablar y escuchar a las gafas, que mejoren la accesibilidad de la aplicación o que se pueda personalizar el botón de tomar fotografía para otra opción más útil para una persona ciega o con otro perfil. Siempre es recomendable hacer el informe de error de forma apropiada y explicar lo mejor posible la sugerencia y quienes se benefician con esa nueva característica.

Meta y Ray-ban han creado un producto útil para muchas personas pero los usuarios podemos hacer que el producto sea aún más útil.