While using the NVDA screen reader to chat with a friend, I noticed that in Google’s plugin version of Hangouts, alt text (the information used to provide a text description of an image) was missing or wrong on some characters. I’ve only tested alt text accessibility on the 64 yellow emoticons Unicode block icons and only on the desktop app, but I assume these problems carry over to Android and perhaps the iOS versions too.
Note: This was tested via the Hangouts Chrome plugin and NOT the integrated Hangouts within Google Plus. With the latter, Google has chosen to display emojis via CSS as a background-image and thus screen readers skip it entirely. That’s not very nice Google. D:<
Anyways, what I found is that within the Hangouts plugin, the following 13 were missing alt text entirely!
- 😀 grinning face
- 😯 hushed face
- 😑 expressionless face
- 😕 confused face
- 😬 grimacing face
- 😴 sleeping face
- 😮 face with open mouth
- 😦 frowning face with open mouth
- 😧 anguished face
- 😟 worried face
- 😛 face with stuck-out tongue
- 😗 kissing face
- 😙 kissing face with smiling eyes
Why does it matter? Well Unicode 6 and the ISO 10646 standard outlines hundreds of different emoji characters and their associated alt text, so it’s a bit strange that Google missed implementing some of them. This only becomes even more embarrassing when you find out that Google was one of several parties who pushed for emoji inclusion in Unicode and helped draft the description text in the first place! Alt text not only makes images machine readable so it can be indexed and searched, but I’d say it is also pretty darn helpful if you rely on a screen reader to navigate the web. If emojis are designed to express user emotion, shouldn’t this information be expressed in ways that are available for people who might not be able to see it?
To make things even stranger, for some emojis Google decided ignore the standard they helped publish and write their own alt text. For example:
- 😇 smiling face with halo is listed by Hangouts as ‘angel face’
- 😈 smiling face with horns as ‘devil face’
- 😘 face throwing a kiss as ‘blowing a kiss’
- 😖 confounded face as ‘confused face’, and
- 😣 persevering face as ‘determined face’
While these are minor variations and perhaps a moot point, the purpose of a standard is to ensure uniformity across platforms so that information can be understood equally by all. Perhaps it could be argued that the alt text for these characters were ‘improved’ by Google. In the case of ‘blowing a kiss’, I’d have to agree, but these changes should be adopted at the standard level rather than by individual vendors.
And as a final interesting point regarding Android’s emoji character representation, the following icons have descriptions that might not coincide with the meaning people might be attempting to convey through them. For example:
- 🙆 face with ok gesture – As it’s hard to see the thumbs, users can confuse this with an excitement face. It’s similar, but I read this more as ‘yay’ than ‘ok’.
- 🙍 person frowning – As frowning is typically identified with the colon and closing bracket (U+2639) this emoji can be confused for stoic or a ‘zen’ expression. On iOS, a person is used rather than a smiley which does a better job of highlighting this emotional state.
- 😫 tired face – That’s right, this is a tired face. Not an ‘I’m stressing out’ or ‘gosh I’m constipated’ face. A tired face.
- 😪 sleepy face – I actually never knew that this was supposed to be until I checked the alt text. Did you know it was sleepy face? That white blob is supposed to be drool… I guess.
- face savoring delicious food – I have seen and used this emoji so frequently as an intended mischievous grin the alt text really caught me off guard. For the record, I’m not usually that mischievous.
- 😵 dizzy face. For Android users, this can be confusing as the eyes are crossed together and the mouth is open wider than the loudly crying face. It’s more apparent on iOS what is being conveyed.
p.s. If you like puzzles, one of the yellow Android emoji characters is actually NOT from the emotions Unicode block and is listed under the ‘miscellaneous’ block instead. Can you guess which one? (don’t cheat!)
I should note the irony of this post. Despite my chastising Google over using background-image to display emoji characters in Hangouts inside Google Plus, this article commits the exact same act. Due to limitations with allowable code in WordPress posts (not pages), UTF8 and MySQL, it would have been impossible to display the emoji characters within this article without using a plugin. If you’re running MySQL 5.5.14 or higher, you actually can display emoji characters inside WordPress posts if you’re willing to fiddle with changing the character set from UTF8 to UTF8mb4. As this site is on a shared server, it’s running an older version of MySQL and thus cannot use this workaround. For that, I apologize.