3.3.5 Help
What it requires
When a web page contains a form or other process that asks the user to complete a task, and context-sensitive help is available, that help must be provided. Context-sensitive help is information that explains how to complete a specific step or field — not general help about the whole site.
At least one of these forms of help should be available for each request for input, where appropriate:
- Spelled-out instructions — e.g. the expected date format shown next to a field.
- Context-sensitive help linked from or beside the field.
- A way to reach a human, such as a phone number, email address, chat, or contact form.
The criterion does not demand help where the input is self-explanatory; it requires that when help could reasonably be offered, it is offered in a discoverable way.
- People with cognitive and learning disabilities who may struggle to interpret unlabelled or ambiguous fields without guidance.
- People with reading or language difficulties, including non-native speakers, who benefit from plain instructions or a human contact.
- People with anxiety or low digital confidence who need reassurance and a fallback route when a process is unclear.
- Anyone completing an unfamiliar or high-stakes task (e.g. a benefits or payment form) who would otherwise abandon it.
How to detect it
| Check | What to look for |
|---|---|
| Manual review | For each form or process, ask whether help is available elsewhere on the site; if so, confirm it is also reachable from the task itself. |
| Field-level guidance | Check that fields needing a specific format or value give instructions or a help link near the input. |
| Human contact | Verify a contact route (phone, email, chat, contact form) is provided where self-service help is not enough. |
| Screen reader / keyboard | Confirm help links and instructions are reachable and announced — not visual asides hidden from assistive tech. |
| Automated tools | Tools such as axe cannot reliably detect this — it requires human judgement about whether help is available and exposed. |
How to fix it
- Inventory the help your site already offers (FAQs, contact details, instructions).
- For each form or process, surface the relevant help within reach of the task.
- Add concise, field-level instructions where a format or rule applies, and associate them programmatically with the field.
- Provide at least one human-contact route for the process.
- Keep the help mechanism consistent across pages (see 3.2.6 Consistent Help).
<label for="dob">Date of birth</label>
<input id="dob" type="text" inputmode="numeric"
aria-describedby="dob-help">
<p id="dob-help">Use the format DD/MM/YYYY, e.g. 27/03/1990.
<a href="/contact">Need help? Contact us.</a></p>
Copy-paste tests
Automated coverage
There is no fully automated axe-core rule for 3.3.5 Help — axe cannot judge whether context-sensitive help exists or is reachable. This criterion needs manual review, using the console check and steps below.
Run this in the browser console
// Read-only: surface forms and any help/contact links for manual review.
const forms = [...document.querySelectorAll('form')];
const helpRe = /help|contact|support|assist|faq|guide/i;
const rows = forms.map((f, i) => {
const links = [...f.querySelectorAll('a[href]')]
.filter(a => helpRe.test(a.textContent) || helpRe.test(a.getAttribute('href') || ''));
const described = f.querySelectorAll('[aria-describedby]').length;
if (helpRe.test(f.textContent)) f.style.outline = '2px solid hotpink';
return { form: i, fields: f.querySelectorAll('input,select,textarea').length,
describedBy: described, helpLinks: links.length };
});
console.table(rows);
console.log('Outlined forms appear to mention help — verify it is real, in-context help.');
What to check manually: for each form, confirm the help actually explains this task or field (not generic site help), and that at least one human-contact route (phone, email, chat, contact form) is reachable from the process.
Related
- WCAG 2.2 criteria index
- Learn catalog
- Accessible forms — labels, instructions, and error help (1.3.1, 3.3.x).