It seems mathjax already offers it. It only requires some tweaks, I guess:
https://docs.mathjax.org/en/latest/basic/accessibility.html
In the version 2.1.55 I got the following menu:
Click on it leads to this error though:
tex-chtml.js:1 GET http://127.0.0.1:3059/_anki/js/vendor/mathjax/input/mml.js net::ERR_ABORTED 404 (NOT FOUND)
t.loadScript @ tex-chtml.js:1
t.load @ tex-chtml.js:1
t.loadAll @ tex-chtml.js:1
t.load @ tex-chtml.js:1
t.loadComponent @ tex-chtml.js:1
t.loadA11y @ tex-chtml.js:1
t.checkLoadableItems @ tex-chtml.js:1
t.initMenu @ tex-chtml.js:1
t @ tex-chtml.js:1
e @ tex-chtml.js:1
t.create @ tex-chtml.js:1
e.create @ tex-chtml.js:1
e.document @ tex-chtml.js:1
document @ tex-chtml.js:1
M @ tex-chtml.js:1
f @ tex-chtml.js:1
t.defaultReady @ tex-chtml.js:1
t.defaultReady @ tex-chtml.js:1
(anonymous) @ tex-chtml.js:1
Promise.then (async)
(anonymous) @ tex-chtml.js:1
(anonymous) @ tex-chtml.js:1
(anonymous) @ tex-chtml.js:1
tex-chtml.js:1 GET http://127.0.0.1:3059/_anki/js/vendor/mathjax/a11y/sre.js net::ERR_ABORTED 404 (NOT FOUND)
t.loadScript @ tex-chtml.js:1
t.load @ tex-chtml.js:1
t.loadAll @ tex-chtml.js:1
t.load @ tex-chtml.js:1
t.loadComponent @ tex-chtml.js:1
t.loadA11y @ tex-chtml.js:1
t.checkLoadableItems @ tex-chtml.js:1
t.initMenu @ tex-chtml.js:1
t @ tex-chtml.js:1
e @ tex-chtml.js:1
t.create @ tex-chtml.js:1
e.create @ tex-chtml.js:1
e.document @ tex-chtml.js:1
document @ tex-chtml.js:1
M @ tex-chtml.js:1
f @ tex-chtml.js:1
t.defaultReady @ tex-chtml.js:1
t.defaultReady @ tex-chtml.js:1
(anonymous) @ tex-chtml.js:1
Promise.then (async)
(anonymous) @ tex-chtml.js:1
(anonymous) @ tex-chtml.js:1
(anonymous) @ tex-chtml.js:1
tex-chtml.js:1 Error: Can't load "/_anki/js/vendor/mathjax/input/mml.js"
at new e (tex-chtml.js:1:19947)
at t.failed (tex-chtml.js:1:23008)
at r.onerror (tex-chtml.js:1:22396)
Would be a great feature, especially for the blind community in combination with AwesomeTTS or HyperTTS.