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.
6 thoughts on “Accessibility of Unicode as styled text”
Smiley abovePreview Copy Tweet
T̐̈h̐̈a̐̈n̐̈k̐̈s̐̈ f̐̈o̐̈r̐̈ s̐̈h̐̈a̐̈r̐̈i̐̈n̐̈g̐̈! :P
Instead of trying to fix the whole world of people who like to style their text, why not fix the much smaller world of assistive technologies so that they have the option to see “mathematical italic capital a” as “capital a”? After all, even if a mathematician wrote a paper in which they used “mathematical italic capital a” to represent some concept, when reading their paper aloud, they wouldn’t say “mathematical italic capital a” every time it appeared, they would just say “a”.
Because they have different meanings. Your math example is a perfect one because if a mathematician was reading “a×e = 42” aloud he wouldn’t say “a ex e equals forty-two” he would say “a times e equals forty-two” — and he certainly wouldn’t say “axe equals 42” which is what would happen if the assistive technology made all x-like symbols as an ‘x’.
And your point about “make the tech work for us” is valid, but it’s a hard problem to solve. Assistive technologies aren’t generally known for their cutting-edge innovation and they certainly aren’t known for being inexpensive to boot. From a social equity perspective this is also pushing the problem down to the marginalized community.
Well, yes. You might as well ask people not to speak because the deaf can’t hear and people not to paint because the blind can’t see. Being handicapped, by definition, means that you can’t do things that abled people can. But being handicapped doesn’t require that everyone else curtail the things they want to do for the convenience of the handicapped.
Bypassing your able-bodied-centric world-view: you’re solving the wrong problem though.
Users don’t set out looking to see how they can make text less accessible (having to go to a separate website or slog through a Unicode listing to do it) they look for a way to style text. We have well-established and accessible ways to do that on the web already (CSS styling, web fonts, etc).
The user-centric problem is how do we allow users access to these technologies when composing their tweets and posts via rich markup formats. That not only provides a much better user experience but it makes the text accessible as well.