Accessibility
ManipulationSurface, ManipulationSurfaceAxis, ManipulationSurfaceTracking, ManipulationSurfaceType from @prepared911/ui/manipulation-surface.
Use ManipulationSurface when the user manipulates a value on a surface HTML does not define (splitter, thumb, scrubber, reorder handle, press-and-hold arm). Use Button or Link for native controls; a future Interactable wrapper is for polymorphic click targets, not these gestures.
tabIndex={0}), including when disabled. A disabled surface writes aria-disabled="true".Slider and Separator write aria-valuenow, aria-valuemin, aria-valuemax, optional aria-valuetext, and aria-orientation. A separator's orientation is the direction of its line, so an inline drag is a vertical separator.step, Shift with an arrow or PageUp and PageDown take largeStep, Home and End jump to the bounds. Arrows point toward the larger value, so RTL mirrors left and right.Enter or Space for holdDelay. Repeated Enter or Space while a hold is active does not scroll the page. There is no synthesized click.Escape during a gesture cancels it and restores the start value without closing an enclosing dialog or popover.Surface an explicit role and an accessible name. A real button belongs in Button.