$ python
Python 3.7.0 (default, Jul 22 2018, 21:11:34)
[Clang 9.1.0 (clang-902.0.39.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import unicodedata as ud
>>> ud.normalize('NFKD', '''It's a kinda ascii-art thing that π©π’π±π° πΆπ¬π² ππ«π°π΄π’π― π₯π« π π¬πͺπͺπ’π«π±π° ππ©π© π£ππ«π πΆ π©π¦π¨π’ π±π₯π¦π°. ππ£ ππππ π₯πππ€ ππ πͺπ π¦ π¨πππ₯ πππ€π€ ππ π₯πππ ππ π£π π π¦π₯ππππ.
...
... πΈππ'π πππππππ πππππ?''')
"It's a kinda ascii-art thing that lets you answer hn comments all fancy like this. Or like this if you want less gothic more outline.\n\nIsn't unicode great?"
>>>
You'd hope a screen reader would have more effort put into it than a 3 second read of a HN thread?VoiceOver on iOS doesnβt speak it, either.
Badly-implemented screen readers don't do very well with this. The Unicode Standard provides a Normalization Form for Compatibility Decomposition (NFKD / NFKC) that screen readers definitely should adopt in their Unicode implementation [1].
This is called a Homoglyph attack.
If you accept unicode for strings that should be "unique" (eg username), there are various normalization schemes that basically convert equivalent-ish looking characters into a consistent hash.
I have no doubt spam filters use this.
There was a sign posted in the break room of a lab I used to work at. It read, "<long complex equation> is easy for you to read, but not for everyone. Volunteer to read for the blind." It was a good double whammy.
The whole point of having Mathematical Alphanumeric Symbols as separate unicode code points, rather than just using normal latin characters with style markup, is so they can be used when the different letters have semantically different meanings -- in particular in maths when πΉ and π can be in the same formula, representing different concepts. They're not a replacement for style markup.
In other words, they're different characters specifically so that screen readers can know to read them out loud differently!
Trying to 'fix' screenreaders by having them read anything that them as if they were normal latin characters, to accommodate people who like using the Mathematical Symbols block for fun in places which only allow plain text, would completely defeat the actual purpose of them.
I see the FAQ you linked states that I'm supposed to use markup for this. Unfortunately, that means the screen reader needs to understand math markup to work correctly. If that's the case, it seems like we could just include other concerns like Bold X vs X in the math markup as well.
This was one of the problems that MathML was built to solve, see https://accessibility.princeton.edu/blogs/mathml-accessible-...