Tactile brings haptic clicks to macOS via the accessibility tree
Tactile is an open-source macOS app that uses the Accessibility tree to trigger trackpad haptics on clickable UI elements, aiding low-vision users.
Tactile is a macOS menu bar app that taps the trackpad's haptic motor whenever the cursor hovers over a clickable element, giving users a physical detent instead of relying solely on subtle visual hover states. It reads the same Accessibility tree VoiceOver uses to classify what's under the pointer—buttons, links, tabs, Dock items—without ever inspecting on-screen content or keystrokes, making privacy a byproduct of the architecture rather than an afterthought.
The implementation is fully event-driven: a CGEventTap sits idle at 0% CPU until the mouse moves, then a throttled, cached hit-test keeps overhead to a few percent of a core. Haptics default to the public NSHapticFeedbackManager API, with an optional mode that loads a private framework at runtime to unlock stronger, continuous vibration by pacing pulses on a dedicated thread.
For web elements that skip ARIA roles entirely—divs with click handlers but no semantic markup—an optional Chrome extension reports element bounds over a local Unix socket, deduplicated against the native path. The project doubles as a broader accessibility tool, layering color and shape cues on top of the haptic signal for low-vision users. It requires a Force Touch trackpad and macOS 14.6+, ships unnotarized, and is MIT-licensed with source available on GitHub.