HTML e visualizzazione
I contenuti salvati devono restare leggibili fuori dall’editor e senza un piano attivo.
Formato salvato
| Elemento | HTML salvato | Da preservare |
|---|---|---|
| Formula | <math data-latex="…">…</math> | MathML per la lettura e data-latex per la modifica. |
| Calcolo / risoluzione | div.conta-armada, tabelle, testo e MathML | data-conta con JSON, se presente; stili inline e struttura. |
| Grafico / disegno | <img> con PNG | src, alt, dimensioni e data-grafico o data-quimica. |
| Formula chimica | <math data-quimica="…"> | MathML, LaTeX e JSON di configurazione. |
| CKEditor / Tiptap | span/div[data-formulix] | Wrapper e figli sanitizzati; Tiptap consente anche JSON. |
Durante la modifica TinyMCE usa .eqx[data-mathml]; al salvataggio l’adattatore produce MathML portabile. L’elemento temporaneo non è il formato salvato. LaTeX resta in data-latex perché il sanitizzatore di TinyMCE 8 elimina semantics/annotation.
<math xmlns="http://www.w3.org/1998/Math/MathML" data-latex="x^2">
<msup><mi>x</mi><mn>2</mn></msup>
</math>Visualizzazione per gli studenti
Mostra l’HTML salvato con la gestione sicura della piattaforma. I browser moderni visualizzano MathML; tabelle e immagini non richiedono Formulix per la lettura. I PNG devono restare accessibili nello spazio della piattaforma. Eliminare i metadati può conservare l’aspetto ma impedire la modifica.
Per browser più vecchi il progetto raccomanda MathJax 3. Ospita i file oppure carica il componente seguente nella pagina di lettura secondo la guida ufficiale MathJax 3. L’esempio usa un CDN esterno: valuta CSP e privacy per le risorse di terzi.
<script defer
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js">
</script>Per contenuti aggiunti dinamicamente esegui MathJax.typesetPromise([element]) quando MathJax è pronto. Non serve caricare Formulix nella pagina degli studenti.
Sanitizzazione e accessibilità
Conserva solo elementi e attributi necessari con regole esplicite nel sanitizzatore. Non disabilitare la sanitizzazione dell’HTML non fidato. Controlla MathML, tabelle, stili e metadati nel ciclo salva/riapri. Drupal alpha ha un vincolo specifico su Full HTML.
Mantieni i testi alternativi delle immagini. MathML aiuta le tecnologie assistive, ma non sostituisce prove con editor, browser e lettore di schermo usati dalla scuola.