Matematica accessibile con Mathml, MathJax e Latex

Tempo di lettura: 3 minuti

Che si tratti di appunti, dispense o libri di testo, la matematica può essere resa accessibile a tutti gli studenti, mediante alcuni accorgimenti che non ne impediscono la fruizione anche da parte di persone normodotate, senza dover rinunciare all’estetica. Ora vedremo insieme come fare.

MathJax per pagine web accessibili

Rendere le nostre pagine web accessibili non è mai stato così semplice. Premetto che un file html, oltre che essere considerato come una pagina per il web, può essere anche utilizzato come formato di scambio tra utenti. Ad esempio un docente, potrebbe inviarci appunti o esercizi scritti in questo formato. Ma torniamo alla libreria javascript MathJax. Essa è infatti presente anche nel mio blog e mi permette di scrivere agevolmente la matematica. Mi basta scriverla in formato latex ed essa verrà renderizzata in Mathml dal browser utilizzato. Sul sito ufficiale di MathJax potrete leggere i vari passaggi per includerla nelle vostre pagine web. Non c’è altro da dire, il gioco è fatto, il vostro sito conterrà così delle formule accessibile ai non vedenti. Potete testare tali formule con Firefox, Chrome ed Edge su Windows e con Safari per iOS e Mac.

Ecco come apparirà la matematica nelle vostre pagine

Qui di seguito un banale esempio di una formula solitamente poco accessibile nel web:
$$ \pm\sqrt[5]{2^2} + \frac{1}{2}^x \cdot \pi \forall x\in\mathbb{N}$$
Non badate al significato, ma mi è capitato poche volte di trovare formule accessibili che contenessero il simbolo di radice, più o meno e quello di frazione. Senza considerare poi che ho messo l’incognita nell’esponente, il simbolo di prodotto con il puntino e la costante pi greco. Ma con il latex potrete scrivere davvero qualsiasi formula ed essa, tramite MathJax, verrà sempre renderizzata in modo accessibile.

Da sorgente latex a html

Alcuni potrebbero però pensare che la maggior parte del materiale reperibile in rete è in formato latex, quindi sarebbe un gran lavoro convertirlo in html accessibile. Per questo scopo ci viene in soccorso pandoc, un software a riga di comando che fa proprio questo per noi. Una volta installato e configurato ci basterà aprire il prompt dei comandi e digitare il comando:
pandoc sorgente.tex -s --mathjax -o output.html
il file html in output sarà pienamente accessibile ed usabile.
In alternativa, se non volete installare alcun software aggiuntivo, ma avete già disponibile la distribuzione tex MiKTeX, avrete tutto l’occorrente per generare un file html, mediante il comando:
make4ht -uf html5 sorgente.tex "mathjax".
Da alcune prove posso solo dirvi che pandoc è sicuramente più esigente rispetto alla qualità del file tex di input, ma ciò comporta il fatto che l’output sia migliore rispetto a quello ottenuto con make4ht. Quest’ultimo invece è più permissivo e ci permette di elaborare file tex più complessi e meno puliti, a discapito dell’output. È come sempre una scelta personale, da adottare in base al contesto.
Viene da se che lavorare con i file html è molto utile anche quando lo studente prende appunti in latex, infatti è possibile convertirli velocemente in un formato più leggibile e comprensibile.

Ma perchè questo approccio è accessibile

La risposta è semplice: è un approccio accessibile perchè i lettori di schermo, come NVDA, Jaws e Voiceover, integrano il supporto al Mathml. Quindi non dobbiamo inventarci nulla di nuovo, è già tutto pronto all’uso. In più, mediante MathJax, abbiamo anche la possibilità di copiare la formula renderizzata da Mathml in linguaggio Latex. Ciò è comodo nel caso ci trovassimo, ad esempio, difronte ad un esercizio e volessimo copiarne il testo per svolgerlo, mediante il nostro editor preferito.

In conclusione

Come spesso accade, rendere accessibili contenuti digitali non è una cosa difficile. Basta conoscere ciò che la tecnologia ci mette a disposizione. Un testo pensato accessibile da subito non richiederà uno sforzo maggiore a chi lo sta creando, renderlo accessibile in un secondo momento potrebbe invece essere molto dispendioso in termini di tempo.

Pubblicato da

Alessandro Albano

Analista programmatore, formatore e tiflologo.