Categories
HTML Accessibility

short note on emoji text alternative variations

Beany with the Unicode 'expressionless face symbol' as worn by Doctor S, who is also wearing an expressionless flesh face.

Emojis

Emojis are derived from Unicode symbols

Unicode symbols do not have inbuilt text alternatives. They are exposed in the browser accessibility tree as a text symbol:
partial screenshot of table displaying Unicode symbols and the accessibility tree in Firefox The hot dog symbol is displayed in the page and in the accessibility tree as the Unicode symbol 🌭.

The text alternatives for Unicode symbols are usually contained within a text file in screen reading software’s program files directory. For example the JAWS 2021 file for (English language) descriptions of Unicode symbols on my machine is C:\ProgramData\Freedom Scientific\JAWS\2021\SETTINGS\SymbolDescriptions\SymbolDescriptions.enu.txt

Note in SymbolDescriptions.enu.txt

This file contains descriptions for characters/symbols defined by the Unicode standard that are not already spoken by speech synthesizers.
The descriptions specified in this document are for single, stand-alone symbols.
Descriptions for alphabetical, numeric, and basic punctuation symbols should not be included.
These descriptions are processed as the very last step before a text string is sent to the speech synthesizer.
They will override any other previous processing such as the JAWS dictionary or punctuation symbol processing.
Note: these descriptions are not synthesizer specific.

People ask why emojis are presented as symbols in speech to text output rather than the text alternative. Xxample of NVDA speech viewer output with a 😀 emoji displayed.

This comment from the JAWS file may offer a clue:

These descriptions are processed as the very last step before a text string is sent to the speech synthesizer.

What can be inferred from this comment is that what we are presented with in a screen reader’s speech viewer is the output prior to the step where the text is processed and sent to the speech synthesizer.

VoiceOver (iOS) acts the same way, it announces an emoji “grinning face with smiling eyes and sweat drop” but displays the symbol 😅 in its speech viewer:

Voice over speech viewer has an emoji in its text output.

differences

The following table has examples of some (of the many) emojis and how they are described in text by some popular screen readers. Note that there are differences in how they are described in some cases:

  • “grinning face” is also “beaming face”
  • “beaming face” is also a “smiling face”
  • “open mouth” is described by JAWS/Narrator but not by NVDA/VoiceOver
  • “big eyes” are described by NVDA/VoiceOver but not by JAWS/Narrator
  • “cold sweat” is “sweat” and also “sweat drop”
Examples of screen reader text descriptions for emoji
Symbol JAWS/Narrator announces NVDA announces VoiceOver announces Unicode number
😀 grinning face grinning face grinning face u+1F600
😁 grinning face with smiling eyes beaming face with smiling eyes beaming face with smiling eyes u+1F601
😂 face with tears of joy face with tears of joy face with tears of joy u+1F602
😃 smiling face with open mouth grinning face with big eyes grinning face with big eyes u+1F603
😄 smiling face with open mouth and smiling eyes grinning face with smiling eyes grinning face with smiling eyes u+1F604
😅 smiling face with open mouth and cold sweat grinning face with sweat grinning face with smiling eyes and sweat drop u+1F605
😆 smiling face with open mouth and tightly closed eyes grinning squinting face grinning face with squinting eyes u+1F606
😇 smiling face with halo smiling face with halo smiling face with halo u+1F607
😈 smiling face with horns smiling face with horns smiling face with horns u+1F608
😉 winking face winking face winking face u+1F609

Do the differences matter?

The differences don’t matter to me (but I am just one and not the intended consumer), as I usually experience just the symbol. Reading the text descriptions is useful though as quite often I have no idea what the symbols are meant to represent. It is also true that emoji’s take on different meanings in different contexts and to different people. For example I thought 🤙 meant “no worries” but its description is “call me hand”, what do I know 🤷

further reading

Lyrics – Tweet tweet tweet – Sleaford Mods
I get a shaky start to Tuesday
Sweat stains on bus windows
I don't want ruin my coat but
That's just the way it goes
"Cheer up you fuckin' bastard!"
That's all I heard him say
St George's flag on white van
This is the human race
This is the human race
UKIP and your disgrace
Chopped heads on London streets
All you zombies tweet, tweet, tweet
These wheels are turning tricks
This bus is full of pricks
8 hours of Gedling Council fuck your life
It's spare room hassle
Dead weight is living flesh
We are no longer spesh
These grips that pull my hair
A life not lived 'cause I don't care
This is the human race
UKIP and your disgrace
Chopped heads on London streets
All you zombies tweet, tweet, tweet
Well I just bit half a mine
Throw myself on the Metroline
We 'ad to walk back from the train
With the Stella kicking in my brain
Well I just bit half a mine
Throw myself on the Metroline
When I walk back from the train
With the Stella kicking in my brain

One reply on “short note on emoji text alternative variations”

Leave a Reply

Your email address will not be published. Required fields are marked *