Designers

All 141 tools / Accessibility checks

Find pointer-only designs in your code: hover reveals, drag, swipe, tiny targets and motion actuation

Input modality checkFreeFor developers and designers

25/day

free runs a day, no sign-in.

Before: what you give it

The example input, as typed in. You paste text, CSS, markup or notes.

<style>.menu:hover .sub{display:block}.card:hover .tip{opacity:1}.card:focus-within .tip{opacity:1}.icon-btn{width:16px;height:16px}</style><div class="menu" onmouseover="open()"><button aria-label="Open the menu">Menu</button></div><ul><li draggable="true">One</li></ul><script>el.addEventListener('touchmove',swipe);el.addEventListener('pointerdown',go);window.addEventListener('devicemotion',shake)</script>

After: what comes back

The first lines of a real run on that input. Nothing here is edited by hand.

INPUT MODALITY CHECK
Looked for pointer-only designs: hover, drag, path gestures, down-events, motion, tiny targets.
Findings: 3 high, 4 medium, 0 low, 0 info

[HIGH] WCAG 2.1.1 Keyboard (A); 1.4.13 Content on Hover or Focus (AA): 1 hover rule reveal content with no focus twin
  Touch and keyboard users cannot hover. Content shown on hover also has to be dismissible, hoverable and persistent under 1.4.13.
  Seen in: .menu:hover .sub
  Fix: Mirror each :hover with :focus-visible or :focus-within, and put important content in the page, not only in a hover layer.

[HIGH] WCAG 2.1.1 Keyboard (A): Mouse-enter or mouseover handler with no focus equivalent
  Keyboard, touch and switch users never trigger it.
  Seen in: <div.menu>
  Fix: Handle focus and blur alongside, or use click or press to toggle.
... full output on the tool page

What you get

Findings mapped to WCAG 2.5.x, 2.1.1 and 1.4.13 with severity and the code pattern found

What it cannot do

Static scan of the HTML, CSS and script you paste; it cannot tell whether an alternative exists elsewhere on the page.

Who it is for

  • Developers
  • Designers

Free and Pro

Free25 runs a day per IP address, up to 100,000 characters a run.
ProNo daily limit, 300 requests a minute, up to 200,000 characters a run.

What each plan includes

Use it from your assistant

The tool is called check_input_modality. Connect the server once, then ask for it by name or just describe the job. Install steps for each app.

claude mcp add --transport http designers https://designers.allthepossibles.com/mcp
curl -X POST https://designers.allthepossibles.com/api/input-modality -H 'content-type: application/json' -d '{"source":"<style>.menu:hover .sub{display:block}.card:hover .tip{opacity:1}.card:focus-within .tip{opacity:1}.icon-btn{width:16px;height:16px}</style><div class=\"menu\" onmouseover=\"open()\"><button aria-label=\"Open the menu\">Menu</button></div><ul><li draggable=\"true\">One</li></ul><script>el.addEventListener('\''touchmove'\'',swipe);el.addEventListener('\''pointerdown'\'',go);window.addEventListener('\''devicemotion'\'',shake)</script>"}'

Try it here

The form starts with the same example input, so you can run it first and then swap in your own.

More in accessibility checks

All accessibility checks tools