Skip to content

The argument

About this project

The thesis

Console games solved motor accessibility twenty years ago. The web never borrowed any of it.

Aim assist, input smoothing, dwell activation and remappable timing have been standard in games since the early 2000s, because "a controller in an unsteady hand" is a solved design problem there. A player with essential tremor can finish a console shooter; the same person can struggle to close a cookie banner, because the banner's 24-pixel close button assumes a stability the tremor does not permit.

Web accessibility, meanwhile, standardised around a different user: screen readers, contrast ratios, keyboard order. All of it matters and none of it helps you hit the thing you are aiming at. WCAG 2.2 finally added target-size and no-dragging criteria in 2023 — the beginning of an acknowledgement, two decades after games shipped working answers.

Kinetic Access ports the game-industry techniques into the browser: the 1€ filter for tremor, gravity wells for aiming, dwell for clicking, positional audio for wayfinding. Client-side JavaScript, no plugin, no hardware, roughly 30 KB unminified. The tourism site around it is not a demo shell — it is the point. An accessibility technique proves itself on a real task: planning a real trip, to a real country, with honest information about what a wheelchair or an unsteady step will actually meet at Petra's gate.

The research basis

The 1€ filter, and why not a moving average

The engine's core is the 1€ filter (Casiez, Roussel & Vogel, CHI 2012), an adaptive low-pass filter designed for noisy interactive input. The naive fix for tremor is a moving average, but a moving average adds constant lag proportional to its window size — which makes fast, intentional movement feel broken, and users turn it off. The 1€ filter varies its cutoff frequency with speed: when the pointer is nearly still, where tremor lives, damping is heavy; when it moves fast, where intent lives, damping approaches zero. The trade between jitter and lag is renegotiated at every sample. This is the strongest technical point in the project, and it is why the filter has spread through VR and motion-input systems since publication.

Gravity wells

Target gravity descends from the sticky-targets and area-cursor literature and from console aim assist. Our implementation pulls the displayed cursor toward the nearest interactive element's centre on a squared falloff within a radius the user controls, and — critically — draws a dashed outline around the captured element. Assistance without visibility reads as possession; the outline keeps the user the author of the click.

Dwell activation

Dwell descends from Vogel & Balakrishnan's work on distant pointing (UIST 2005) and from two decades of eye-gaze interfaces. The parameters that matter are the ones users control: hold time (400–2400 ms here) and a refractory period after each activation so a lingering cursor cannot machine-gun clicks.

The echo map

Positional audio wayfinding is standard in accessible game design — The Last of Us Part II's audio cues are the canonical example. The web's audio stack can do the same: each page landmark is played through a Web Audio PannerNode with the HRTF model, panned to its on-screen position, pitched by its vertical direction, then named by speech synthesis. The scan always produces a visible transcript too; audio is an alternative route to page geography, never the only one.

The stack

  • Plain HTML, CSS and JavaScript — no framework, no build step. Open index.html and it runs.
  • One dependency: three.js, vendored locally, for the procedural Wadi Rum hero. The 3D scene's beacons are real DOM buttons projected into screen space each frame, so screen readers and keyboards traverse the scene as ordinary HTML.
  • Self-hosted fonts (Fraunces, Space Grotesk, JetBrains Mono, Noto Kufi Arabic). Zero runtime requests leave the site's own origin; after first load it works offline.
  • All photography is AI-generated to a single house style, so the project ships with no licensing encumbrance. Every prompt and its alt text live together in docs/image-prompts.md.
  • Preferences persist in localStorage and apply on every page — tuned smoothing survives navigation.

Limitations and future work

Honesty about edges is part of the method, so:

  • The cursor engine is mouse-first. It disables itself on touch devices, where the finger is the cursor and smoothing would need to intercept gestures at a layer the browser does not expose. Touch tremor assistance likely needs OS-level support.
  • Gravity wells know geometry, not importance. A "delete" button pulls as hard as "save". A production version should let authors weight or opt out targets (data-magnetic="0.2") and should decay pull strength on destructive actions.
  • Dwell can misfire on reading hovers if the hold time is set very short; the refractory period limits the damage but does not remove it. Eye-tracking literature suggests dwell-with-confirmation hybrids as the next step.
  • The echo map is sequential. A real sonar lets you probe where you choose; ours plays a fixed tour. A pointer-follows-audio mode — ping whatever the cursor is over — is the obvious extension.
  • Access information ages. The destination access notes were compiled from operator and reserve documentation current in 2025; ramps close, carriages get rebooked, lodges renovate. A live site would need a verification cadence and a correction route. The scores' justifications are printed so a reader can check the reasoning, not just the number.
  • Not measured on the population that matters most. The lab measures simulated tremor honestly, but a university simulation is not a clinical trial. The obvious next step is a study with participants who have essential tremor, Parkinson's or CP, measuring miss-rate and — more importantly — preference, since assistance that feels like possession gets turned off.

References

  1. Casiez, G., Roussel, N., & Vogel, D. (2012). 1€ Filter: A Simple Speed-based Low-pass Filter for Noisy Input in Interactive Systems. Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (CHI '12).
  2. W3C (2023). Web Content Accessibility Guidelines (WCAG) 2.2. W3C Recommendation.
  3. Microsoft. Xbox Adaptive Controller and the Xbox Accessibility Guidelines — the prior art the web ignored.
  4. Vogel, D., & Balakrishnan, R. (2005). Distant Freehand Pointing and Clicking on Very Large, High Resolution Displays. Proceedings of UIST '05 — dwell selection prior art.
  5. W3C. Web Audio APIPannerNode, HRTF panning model.
  6. Naughty Dog (2020). The Last of Us Part II accessibility system — positional-audio wayfinding in shipping software.