3.1.6 Pronunciation
WCAG 2.2 · 3.1.6 AAA Understandable
What it requires
A mechanism must be available to identify the specific pronunciation of words where the meaning of those words, in context, is ambiguous without knowing how they are pronounced. This applies to heteronyms — words spelled the same but pronounced differently with different meanings — where a screen-reader user cannot tell which meaning is intended from the text alone.
For example, the English word “read” is pronounced differently in “I will read the report” versus “I have read the report.” Where such a difference changes meaning and cannot be resolved from context, you must offer a way to learn the correct pronunciation, such as a phonetic spelling, an audio version, or a glossary link.
- Screen-reader users — synthetic speech may voice a heteronym incorrectly, changing the meaning of a sentence.
- People with reading or cognitive disabilities who rely on text-to-speech and need accurate pronunciation to comprehend.
- Blind and low-vision users learning new or technical vocabulary where the spoken form carries the meaning.
How to detect it
| Check | How | Catches it? |
|---|---|---|
| Identify heteronyms | Manually scan content for words whose meaning depends on pronunciation (read, lead, tear, wind, bow, desert). | Manual only |
| Screen-reader listen | Read the passage with NVDA/JAWS/VoiceOver; confirm the spoken word matches the intended meaning. | Manual only |
| Mechanism present | Where ambiguity exists, verify a pronunciation aid is available
(phonetics, audio, ruby, glossary link). |
Manual only |
| Automated tools | axe, Lighthouse and similar cannot judge meaning or pronunciation ambiguity. | No |
How to fix it
- Locate words whose meaning is ambiguous without pronunciation.
- Provide a mechanism: a phonetic spelling in text, an audio clip, a
rubyannotation, or a link to a pronunciation glossary. - Place the aid so it is reachable for the word in context, not buried elsewhere on the page.
- Prefer a reusable pattern (glossary or annotation) when the same words recur.
A ruby annotation can carry a phonetic reading inline:
<p>I have
<ruby>read<rp>(</rp><rt>rɛd</rt><rp>)</rp></ruby>
the report.</p>
Copy-paste tests
Automated coverage
There is no fully automated axe-core rule for 3.1.6 — no tool can judge whether a word's pronunciation is ambiguous in context. This criterion needs manual review using the console check and steps below.
Run this in the browser console
// Read-only: flags common heteronyms for human review. Modifies nothing.
const words = ['read','lead','tear','wind','bow','desert','live','close','content','object','present'];
const re = new RegExp('\\b(' + words.join('|') + ')\\b', 'gi');
const hits = [];
document.querySelectorAll('p,li,td,th,h1,h2,h3,h4,figcaption,caption').forEach(el => {
const m = (el.textContent || '').match(re);
if (m) { hits.push({ word: [...new Set(m.map(w => w.toLowerCase()))].join(', '), text: el.textContent.trim().slice(0, 80), node: el });
el.style.outline = '2px dashed orange'; }
});
console.table(hits.map(({ word, text }) => ({ word, text })));
console.log('Suspect nodes:', hits.map(h => h.node));
What to check manually: for each flagged word, listen with NVDA/JAWS/VoiceOver
and confirm the spoken form matches the intended meaning; where it is ambiguous, verify a
pronunciation aid (phonetic spelling, audio, ruby, or glossary link) is present in context.
Related
- WCAG 2.2 criteria index
- Learn catalog
- Structure & semantics — using markup to convey meaning machines can read.