Facebook, Twitter, Instagram, and other internet sites often lack the ability to style text, like making it bold or italics. Some “clever” people have discovered ways of abusing Unicode to make the appearance of styled text with these sites. Unfortunately doing so renders the text completely inaccessible by users of assistive technology.
You might have run across an Instagram profile, Facebook post, or tweet that includes styled text and wondered how the person did that. They probably used a site like YayText [which I’m loath to reference at the risk of encouraging its use]. These sites take a string of text as input and present the user with what visually is the same text but styled in a variety of ways. How does this work? To explain that, we need a brief primer on Unicode.
Unicode is a technology standard that allows computers to encode and represent hundreds of thousands of characters, letters, and symbols used in over 100 world languages. It allows computers to differentiate between the English letter K (U+004B) and the Greek letter Κ (kappa, U+039A) because while they are visually similar — at least in many fonts — they are two very different letters and mean two very different things.
But Unicode supports more than just languages, it also supports mathematical symbols including a whole slew of alphanumeric ones. These mathematical symbols are intended to be used for math texts and are semantically different than their Latin counterparts. Said another way: just because the 𝐴 looks like an italic A doesn’t mean it is one.
Why is this important? Is this just a language nerd getting uppity about incorrect use of Unicode? It matters because beyond being semantically incorrect, using Unicode in this way renders the text completely unintelligible to assistive technology like screen readers.
When a screen reader encounters 𝐴 (U+1D434), it will read it as “mathematical italic capital a” because that’s what it is. It isn’t the English letter A (U+0041) that is italic. Which means that the string “apples 𝐴𝑁𝐷 bananas” will be read to the user as:
apples mathematical italic capital a mathematical italic capital n mathematical italic capital d bananas
The video in this tweet by @kentcdodds does an excellent job of demonstrating just how horrible this is for people with screen readers.
While I can certainly sympathize with the desire to add style and emphasis to help convey emotion in written form, let’s not do so at the exclusion of others.
Thank you to this StackExchange question & answer for confirming my suspicions and providing the video link when I was investigating this back in July.