I develop web sites with screen readers in mind, and I would be very surprised if they could handle this sort of thing consistently.
Google spent billions of dollars learning how to search and interpret the web. Screen reading companies don't have that kind of scratch.
Also, it's important to remember that screen readers are about more than just the blind. There are screen readers that help people learn a new language, or translate text into simplified forms for people with low education, or low attention (think of the Mac's built-in text summarizing service).
For people who have a hard time reading custom fonts because of limited sight, or limited attention, they often override custom CSS fonts with something easier to read. This sort of thing will make the page unusable.
This came up at Halloween with all those pleas not to post tweets heavy with emoji due to the issues with screen readers. I get the concern, and I'd typically do my best to be inclusive with personal content and compliant with accessibility on professional content, but there is a balance to be struck - we don't need a Procrustean restriction on what are now reasonably established forms of communication, what we need is for screen reader efforts to step up and work in these cases. It may seem a challenge (especially for legacy coded readers) but other posters already linked to basic solutions that can help on the fonts and this isn't beyond the wit of human ingenuity. This is an opportunity.
Odd fonts like this have a place. For example, I don't expect any screen reader ever to be able to interpret a PETSCII drawing.
For example, it's common in these to use non-latin characters that visually resemble latin characters. But if you were to try and substitute them literally, either as their actual phonetic sound, or a latin equivalent that is semantically similar but visually different, you risk breaking the meaning.
It's a bit like when old manuscripts use letters that look like "s" and "f" in places that seem nonsensical today.
In google's case, it's certainly worth it to write a little interpreter that maps the visual meaning to its latin equivalent so you can get better search results.
I just entered "this is a test" on the site in Safari and enabled VoiceOver. It reads it as "Mathematical Bold Fraktur Small t. Mathematical Bold Fraktur Small h" and so on.
Completely broken for those who rely on VoiceOver as a screenreader.
Anyone know if there are any existing libraries that do this conversion?
icu::ErrorCode status;
auto t = icu::Transliterator::createInstance("Any-Latin; NFKD", UTRANS_FORWARD, status);
t->transliterate("unicode string");
[1] http://site.icu-project.org/"𝕙𝕖𝕝𝕝𝕠".Normalize(NormalizationForm.FormKC);
https://news.ycombinator.com/item?id=17752680
unicode normalisation: http://unicode.org/reports/tr15/
Nobody in that thread tried it on an actual screen reader then, either. Someone did mention that iOS got well confused by it, so there's one data point.
Google has a lot of resources to do normalization, when IDNA in the URL bar became common they and other browser manufacturers had to put resources behind similar looking glyph attacks to make sure that you were actually on google.com and not on some site that was using a homoglyph attack.
https://blog.malwarebytes.com/101/2017/10/out-of-character-h...
This may explain why Google is able to discern these use cases.