I second this for anything you put on the web. I opened the webapp I work on with a screen reader, and it was an incredibly valuable experience. You get to see your site from a different perspective, and various issues stand out like a sore thumb, and I honestly found fixing the accessibility issues extremely satisfying.
Since visualization is so fundamental to doing math, and since mathematical symbols and equations are a written language for which there is no spoken analog, I really can't imagine engaging with math without my eyes. Even reading equations aloud verbatim is not reliable. "X plus B squared" can mean (x + b)^2 or x + b^2
For instance, for your example: "X plus B quantity squared" or "x + b squared"
You can also do things like change the pitch of speech as symbols are nested, play specific tones to represent symbols, pan things across the stereo field to represent groupings, and otherwise make the symbolic equation into a multimodal experience.
But of course, you can't do any of this if the semantic representation of the equation is lost and it is rendered as strictly graphics or whatever.
I'm a bit confused to your original point about visualization because how ever in the world could I program if I couldn't abstractly manipulate symbols? I suppose not visually, but there's something non-word-oriented happening in my head.
I guess I find that programming is somewhat more word-oriented than pure math. For instance, how do you think about complex exponentiation, or a rotation matrix? Do you bring to mind the sensation of spinning around? For myself, I bring to mind the image of the entire complex plane rotating and stretching along a spiral, but I'm led to believe that those who are blind from birth aren't really capable of doing that.
Harder examples might include fourier series, convolution, gradient descent, etc.
I think you could almost consider the visualization of these things like a crutch. I wonder if not being able to visualize them might remove preconceived notions about how they behave, and give you different insights.
So it doesn’t matter if your visual intuition for a cross product breaks down in higher dimensions - a cross product is only a thing in three.
(Indeed, we should entirely scrap the cross product in undergraduate level technical instruction and replace it with the wedge product; one happy effect will be replacing students' misleading spatial intuitions with better ones.)
Googling says MathML is the answer (e.g. https://www.washington.edu/doit/how-do-i-create-online-math-... this site uses MathML and your reader isn't handling it. So now what? (alt-tags? something else?)
However the overwhelming number of cases where a website is unusable with a screen reader are due to lack of proper semantic tagging, like alt text and so on. The last thing a screenreader user wants to hear on a site is "button," "button," "button..." There's certainly room for tooling to help though. I definitely think it sucks that many accessibility linters are nonfree and thus will never be used by site devs who aren't worth suing.
It's worth remembering that accessibility helps everyone, not just the disabled. In fact one of the more popular arguments against accessibility is that it allows non-disabled persons to do more than intended.
So while there's a good argument to be made for being charitable to those with a frankly really lousy condition, if you just want to be self-centered you still benefit from properly tagged data.
Math on the web is broken, the the affected people should be up complaining about that. This site did the most accessible thing possible; the fact that every tool broke here, just like they do for every other method is not really the author's fault.
[1] https://en.wikipedia.org/wiki/Notation_for_differentiation#N...
What mathematicians did for thousands of years arose in a culture of oral proofs supplemented by prepared diagrams: Euclid's proofs were meant to be recited aloud in front of an audience while pointing at an image labeled only with single letters/numerals – not read in a book. The society was substantially illiterate, there was no access to paper or good pens, algebra had not yet been invented, and all arithmetic was done mentally or using fingers or physical tokens.
Compared to mathematical notation, natural language expressions are often incredibly large and cumbersome, can make following the argument extremely difficult, and make many kinds of symbolic manipulations all but impossible.
Providing a visual way to interpret and manipulate mathematical expressions was a revolution in mathematics without which most modern mathematics would never have appeared. Eliminating that is comparable to writing computer programs via punched cards because "that's how they used to do it".
If we assert that some topic can’t be discussed with plain prose, then the only logical conclusion is that you can’t discuss the topic at all.
> Math on the web is broken, the the affected people should be up complaining about that.
There is really two different topic there.
One is, how can screen readers deal appropriately with symbolic notations — be it astrological esoteric formula or mathematical abstruse formula.
An other one is how you chose to express ideas. Using symbols only is always possible, whatever the topic. Using prose only is always possible. Using multiple representations is also always possible, including audio record, alphabetical text, ideograms, pictures, video.
Note that I didn’t blame the author for any fault here. I just pointed out that, if one take as a goal to be the most accessible as possible to general public, using academic symbols is not the way to go. It doesn’t mean that people with some matching academic curricula might not prefer to have a document full of esoteric symbols, be it for real actual communication advantages or mere bigotry and vulgar elitism.
We all know here, I guess, that anything written with this kind of symbols can be just as well and without any ambiguity transcribed into a programming language which use exclusively mundane words or turned into a series of two signs that no one can grasp instantly.
That conversation make me think about comments in https://news.ycombinator.com/item?id=36433212
Please bear in mind that mathematical notation is a language, and that mathematical formulas are perfectly valid plain prose in that language.
I imagine that some screen readers will fail gracelessly when faced with Chinese script or Hindu as well. Especially if they're not unicode compliant.
But once you hit that threshold you are simply in a battle of dueling accessibility concerns. Not everyone is sighted, but neither does everyone rely on English as a primary language.
Nor should they as the English language was not designed to convey all concepts accurately. It excels mostly in conveying concepts germane to anglophone cultures. And three guesses what concepts are not popularly relevant to your standard anglophone? That's right.. calculus and theoretical physics.
That's not to bash on English as a language. It really is a flexible beast with a far reaching vocabulary. But there literally exists no language that is ideal for encapsulating every single idea under the sun. One must have a way to support many of the most diverse ones at the same time. And modern mathematical notation belongs on that short list along with English.
In that sense its more a DSL than a generalist language. And anything you can express in a DSL, you can also express it with a more generalist language. Most likely the DSL will provide a far more compact way to communicate what it allows to express, but that compactness doesn’t come for free: it takes time to compress and decompress and you have to also communicate the DSL specification in some preexisting medium.
On my side, I suppose "discuss" to mean we can talk on the topic face to face with spontaneous expressions means like oral expression and listening comprehension, or sign language. I don’t mean that there is no other mean to discuss, but when we can’t transpose the topic in such a medium, we are probably beyond the realm of discussion. For example when we make love, there is more happening than what can either hope to realize through mere talk.
Once again, I’m not again DSLs and so on. I just mean that there are not the proper tools for maximizing accessibility.
Equations and mathematical notation aren't simple illustrations. They're in many ways more important than the stuff around them.
For content that really cannot be written in a way that screen readers can handle, there is always the idea of Screen Reader Only content. It's a hassle, but let's jump in and give it a shot
For instance for the first math thing you can have
<style>
.sr-only {
position:absolute;
left:-10000px;
top:auto;
width:1px;
height:1px;
overflow:hidden;
}
</style>
<p class="sr-only" id="definition-of-reduced-derivative">
The reduced derivative with respect to x is denoted crossed-d over dx of the function f(x). It is equivalent to the the derivative with respect to x (denoted d over dx) of the function f(x) all over 2 pi.
</p>
Then you make sure that the element that wraps up your first equation has aria-describedby="definition-of-reduced-derivative" so that the SR reads out that content. I think you may need to not have "aria-hidden" on that math wrapper, but I'm not sure.This is not an authoritative answer; I'm just some asshole who writes front-end code a lot. More of a Cunningham's Law situation that anything really. You don't want to end up creating one experience for sighted users and completely different one for screen-reader and refreshable-braille-display users. But this can maybe get the wheels turning for how to address it? Also again maybe TOTALLY unnecessary once you un-hide the math markup.
These two issues get solved by aria-description where the description exists entirely in an attribute on the element rather than as a reference to another node in the DOM tree. But it's still in the draft for ARIA 1.3 so it's not fully adopted yet.
about the attribute https://developer.mozilla.org/en-US/docs/Web/Accessibility/A...
CanIUse info (tl;dr only in chromesque browsers) in the property info https://developer.mozilla.org/en-US/docs/Web/API/Element/ari...
I just define a new derivative operator, like so: dxđ f(x)≡2π1 ⋅dxd f(x). That’s all.
while Chrome's reader mode just fails to recognize the content entirely, even though it's the most basic <body><div id="content"><p> ... structure possible. I have basically zero web dev experience so I don't know how to fix this, maybe I need to tweak the KaTeX settings.I think it's quite sad that math is so difficult on the web. While setting up the blog, I looked around and it seemed like FF is the only browser with proper MathML support, but I think that was also being phased out because it's apparently buggy and hard to maintain. IMO, the screen reader version should just basically be the LaTeX source, which is probably kind of awful when read out loud, but at least it would be unambiguous.
<span class="katex-html" aria-hidden="true">
<span class="base">
<span class="strut" style="height:0.6444em;"></span>
<span class="mord">2</span>
<span class="mord mathnormal" style="margin-right:0.03588em;">π</span>
</span>
</span>
My first inclination was to simply run `say` on my Mac comamdn line and paste the line in. That read it correctly. The other commenter called out the `aria-hidden` attribute and I'd guess that's it. It's explicitly hidden.Apparently this is all intentional as outlined in this bug report.
Chrome _just_ added support for MathML, so the lack of a11y support here is not surprising. I found this bug report which I believe covers this: https://bugs.chromium.org/p/chromium/issues/detail?id=103889...
In short - you didn't do anything incorrect, and AFAIK any temporary fix to improve a11y for Chrome users would involve some heavy lifting in the Katex library.
I suggest interested parties to star the above bug report.
___
Other commenters mentioned the aria-hidden property being set. This is intentional, as without it Safari/FF/compliant screen readers with MathML support would double-read the content. I'm honestly not sure what the ideal markup would be to support both types of browsers - should a solution exist, it may involve using JavaScript to change the markup based on the user agent detected.
The formulas have been set by KaTeX. The text after "like so:" could be read like this:
"d bar over dx then f paren open x paren close triple equal one over two pi multiply-dot d over dx then f paren open x paren close"
Would this be useful to you?
Then an issue could be opened here: https://github.com/KaTeX/KaTeX/issues
Are there any websites with extensive, complicated mathematical formulas which are accessible to screen reader users? What's the current state of the art?
In general, would you prefer a typeset formula navigable in the usual way by a screen reader, or an explicit English language fallback explicitly pronouncing the formula the way a lecturer would read it to a class?
I ask because from what I can tell there are few if any screen reader users among authors of Wikipedia technical articles. I at least have quite a poor understanding of how to make those articles accessible.
Do you mind if I email you to ask questions about screen readers and mathematical formulas?
Here is what my screen reader sees for this page:
Recently, I came up with a trick that can get rid of
in many cases. It’s pretty simple, but it has some interesting implications. This is the trick: I just define a new derivative operator, like so:
That’s all. You just take the derivative and then divide by
. I call this derivative operator with the bar on the upper
the reduced derivative.Now, why is this interesting? To start off, we’ll note that the unique function
... The unfortunate truth is a ton of math content on the web reads like this. It has crippled me as a blind user who would like to appreciate math for over a decade. In university I was forced to pursue a degree other than CS because the math program used software which produced output like this and refused to change.
There has been technical progress, and many sites are starting to work better--Wikimedia most fantastically, but this old bugbear made me want to speak up and beg people to try and review their math content with a screen reader before publishing (I think MathJax has some built-in accessibility now?).