Earlier quoted context omitted.
The same way a sighted person does?
Yes, you could try to build algorithms that turn that markup into semantic meaning but now we're almost talking about computer vision. I don't think a solution like that is likely to ever work reliably, and it's better to encode the semantic meaning so that it doesn't need to be re-derived.
Specifically, just like a sighted person has to determine from context whether "a(b)" is function application or variable multiplication, a blind person can be asked to determine from context whether "a left-parenthesis b right-parenthesis" is function application or variable multiplication.
No AI or CV is required for such a reading algorithm. It's unfortunate that this reading algorithm doesn't quite match what two mathematicians would say if they were conversing with each other, but there's at least one good reason to believe this is still a useful reading algorithm: it's exactly the system used by blind mathematician Abraham Nemeth with his readers, called "mathspeak":
The speech generated by this protocol is not exactly what a
professor in class would use, but it is absolutely unambiguous
and results in a perfect Nemeth Code transcription. It avoids
largely unsuccessful attempts by a reader to describe the
notation he sees, accompanied by the shouting and gesturing that
such attempts at description engender.
http://www.nfbcal.org/s_e/list/0033.html(Nemeth notably created the Nemeth Braille Code for Mathematics, which is part of Unified English Braille and is probably the most widely used Braille code for math. MathSpeak hasn't enjoyed the same level of adoption, but only because there's no standard, MathPlayer, VoiceOver etc all have their own ad hoc rules for how to read math.)
(Strictly speaking the example I gave was a verbose variant of the system described in the email: http://www.gh-mathspeak.com/examples/NemethBook/?rule=18 ) [2]: