Essential tremor is one of the most common movement disorders, and it becomes more common with age.
Parkinson's disease, multiple sclerosis, stroke, some medications, cold, fatigue and too much coffee
can all make a hand shake. So can a moving bus.
On this page your mouse pointer shakes. Every demo uses small, tightly packed targets,
drag-only controls or hover menus. Try each task with the tremor on, then turn it off and try again.
WCAG 2.2, Success Criterion 2.5.8 (Target Size (Minimum)), Level AA:
The size of the target for pointer inputs is at least 24 by 24 CSS pixels, with some exceptions,
for example when a smaller target has enough space around it.
Level AAA (2.5.5) asks for 44 by 44.
How the simulation works
Inside the demos, your real cursor is hidden and replaced by one that shakes.
Clicks land where the shaking cursor is, not where you aimed.
If the pointer moves onto a different element between pressing and releasing the button,
the click is lost, just like a real click.
Now and then a press turns into an accidental double click.
Hover effects follow the shaking cursor too.
Use the bar at the top to change the severity. The bar itself is never affected.
Then try each task with the keyboard only (Tab, Space, Enter).
Which ones can't you do at all?
You need a mouse or trackpad for this. On a touch screen the simulation has no effect.
Tremor:
Small targets
1. Email toolbar
Task: archive all three emails, one at a time, using the Archive button. Don't delete or report anything.
The buttons are about 16 pixels tall with 1 pixel between them. Archive sits right next to Delete
and Spam, so a small wobble turns a harmless action into a destructive one. Nothing asks you to confirm and there is no undo.
Small targets
2. Pizza toppings
Task: tick exactly Mushrooms, Olives and Peppers.
Each checkbox is 11 pixels square, and the label text is not connected to it,
so clicking the word does nothing. An accidental double click ticks the box and then unticks it straight away.
The keyboard does work here, because these are real checkboxes.
Small targets
3. Date picker
Task: choose 14 November 2026.
November 2026
Each day is an 18 pixel cell with no gap, so the 13th, 15th, 7th and 21st are all a twitch away.
The cells are plain <div>s, so you can't reach them with Tab, and there is no text box to type the date into.
Dragging
4. Volume slider
Task: set the volume to exactly 37.
80
You have to grab a 10 pixel handle, hold the button down while moving, and let go at exactly the right moment.
The tremor keeps moving the value even while you hold still, and it moves again as you release.
There is no keyboard support and no box to type a number.
WCAG 2.5.7 (Dragging Movements, Level AA) says anything you can do by dragging must also be possible with a single pointer action, such as clicking.
Hover menus
5. Account menu
Task: Account › Settings › Privacy › Download my data.
File
New
Open…
Save
Export
PDF
Word
HTML
Edit
Undo
Redo
Cut
Copy
Paste
View
Zoom in
Zoom out
Full screen
Account
Profile
Billing
Settings
Notifications
Security
Privacy
Cookie preferences
Download my data
Delete account
Sign out
Each submenu opens on hover and closes the instant the pointer leaves, with no delay.
You have to follow a narrow path through three levels without the pointer straying by more than a few pixels.
The target is right next to "Delete account". The menu can't be opened with a click or the keyboard.
Timing
6. Undo
Task: delete the report, then change your mind and undo it.
Q3-report.pdf
File deleted.
The Undo link is 10 pixel text and disappears after 3 seconds. People with tremor often move more slowly
and carefully, so a short time limit and a tiny target together make undo almost impossible.
WCAG 2.2.1 (Timing Adjustable, Level A) says users must be able to turn off, adjust or extend time limits.
The fix
Big targets, spacing, and more than one way in
Here are demos 1, 2 and 4 again, rebuilt. Keep the tremor on and try them.
Volume
What changed, and what else you can do:
Target size: make buttons and controls at least 24 × 24 CSS pixels (better, 44 × 44), with space between them.
Labels: connect labels to checkboxes and radio buttons with <label>, so the whole row is clickable.
Separate dangerous actions: keep Delete away from common actions, ask for confirmation, or offer undo.
No drag-only controls: give sliders +/− buttons, a number box and keyboard support.
Menus: open on click, not just hover. Add a short delay before closing, and make them keyboard accessible.
Time limits: keep notifications like "Undo" on screen until the user dismisses them.
Keyboard: many people with tremor use the keyboard, switches or voice control. Use real <button>, <input> and <a> elements so these work.