Skip to main content
WCAGrules
Quick navigation

Do not fake text with look-alike characters

Characters that merely look like the letters they stand for get used as though they were those letters, and the text underneath says something else. F71 is the failure technique covering it, so a match is a defect rather than a method. W3C's own case is cross-alphabet, where a Greek or Cyrillic character lands inside an English word because the glyph matches. Spell cook with a Greek lunate sigma and a Cyrillic o and it looks perfect and is not the word. The decorative version is the one most sites hit, where a social-media font generator turns a headline into mathematical symbols shaped like script letters. Character entities count the same as pasted characters, because the failure is the wrong character rather than the route it took in. And the cure W3C names is a text alternative, so replacing the characters is the better answer and not the only one.

How we find it in an audit

We scan audited pages for characters from the Unicode math-alphanumeric and fullwidth ranges, which catches the decorative fonts on sight. Homoglyphs need the language test that comes with them, since a Greek sigma inside Greek text is just Greek. So the question is whether the characters match the language the content says it is written in, and a reviewer confirms each hit in a screen reader, because some symbols get spelled out at length and others are skipped without a sound.

How affected users experience it

The two halves of this failure sound nothing alike, and the quiet one does more damage. Decorative fonts make a screen reader announce mathematical bold script capital G for every letter, or say nothing at all, and braille users get the same wreckage cell by cell. A homoglyph inside an ordinary word makes no noise whatsoever. The word is just read wrong, fluently, with nothing to tell anyone it happened.

Passes vs. fails

Passes: alt text names the product. Fails: the file name is all there is.

Passes

<h2 class="fancy">Grand Opening</h2>
.fancy { font-family: "Lobster", cursive; }

Fails

<h2>𝓖𝓻𝓪𝓷𝓭 𝓞𝓹𝓮𝓷𝓲𝓷𝓰</h2>

How this gets tested

The W3C publishes test rules that define what a checker looks for here.

The other techniques filed under this rule

39 guides on this site are filed under 1.1.1 Non-text Content. W3C documents this one as a failure of that rule, so it describes a way the rule gets broken rather than a way to pass it.

This guide is our interpretation of W3C technique F71: Failure of Success Criterion 1.1.1 due to using text look-alikes to represent text without providing a text alternative. W3C publishes its techniques as guidance rather than as the standard, and says so on every one of them. The success criterion is what conformance is measured against, and a technique is one documented way to meet it.

Go somewhere useful

Find tools, resources and your workspace.

29 destinations