The state of maths on the web, as someone who uses <i>a lot of maths</i> on their website[1] is to recognise that loading times on the web shouldn't exist, and you should just turn your formulae into images that you load using `loading="lazy"`. And of course, to make sure they fit any resolution: generate SVG images.<p>And no, MathML is irrelevant: you don't care about MathML, and your users don't care about MathML: all you care about is that users can read your formulae, and all your users care about is that they see decent-looking maths. As much as I like the <i>idea</i> of MathML, there is simply no reason to ever use it. Nothing is mining the web for maths, and semantic markup for maths buys you <i>nothing</i>.<p>You have a build system (because your content is generated from markdown or the like. No one who wants to deploy a real site writes pure HTML in 2021), make that generate SVG images by <i>literally</i> just running LaTeX during your build, to replace all your maths with SVG <img> code instead. Because why would you even bother with MathJax or KaTeX, they put the burden on your users, which is ridiculous: you're building your content already, just build static content for your formulae)<p>And sure, does your site have maybe 10 formulae? By all means, use MathJax or KaTeX. But if it <i>relies</i> on maths, generate your graphics offline using actual LaTeX (and this is <i>trivial</i> using github actions[3]) and use <img> elements that point to those SVG images.<p>(I run my maths through xelatex, then losslessly convert the resulting PDF to SVG by first cropping the PDF, then running pdf2svg[2]. Is that a lot of work? No, it is not. It's a one-time setup and it simply runs whenever content gets updated. It's about as no-effort as it gets)<p>[1] <a href="https://pomax.github.io/bezierinfo" rel="nofollow">https://pomax.github.io/bezierinfo</a><p>[2] <a href="https://github.com/Pomax/BezierInfo-2/blob/master/src/build/markdown/processors/latex/latex-to-svg.js" rel="nofollow">https://github.com/Pomax/BezierInfo-2/blob/master/src/build/...</a><p>[3] <a href="https://github.com/Pomax/BezierInfo-2/blob/master/.github/workflows/post-merge.yml" rel="nofollow">https://github.com/Pomax/BezierInfo-2/blob/master/.github/wo...</a>