Do not build interactions that respond to touch alone
Code detects a touchscreen and then wires up touch handlers only, so a laptop with a touchscreen and a keyboard gets the touch build and loses its keyboard. F98 is the failure technique for that, and it is narrower than the name suggests. The detection is the failure, not the missing keyboard support. A page that never checks for touch and simply has no keyboard handling is a different failure under the keyboard rule. W3C files F98 under a Level AAA rule about not taking away input methods the platform already offers, and notes that this pattern generally fails the Level A keyboard rule too, though only where a touchscreen was detected. Three checks do the detecting in real code. Testing for touch events, matching a coarse-pointer media query, and reading the maximum touch points the browser reports.
How we find it in an audit
This one needs the right hardware, which is why it gets missed so often. The test asks for a device with a touchscreen and at least one other input method, so a touch laptop, or a tablet with a keyboard and a mouse paired to it. On a plain desktop the touch branch never runs and the page looks perfect. With the right device, every control gets driven by touch, then by keyboard, then by mouse. We read the code for the three detection patterns alongside, because a coarse-pointer media query hides the branch in CSS where a search for touch handlers will never reach it.
How affected users experience it
A screen-reader user on a touch laptop is a keyboard user, whatever the hardware is capable of. Once the site has decided they are a touch user, the keyboard stops working and nothing explains why, on a machine where every other page still answers the keyboard fine. Switch users and people driving the page by voice land in the same hole, since both arrive as keyboard input underneath. The page did not fail to support them. It spotted a touchscreen and switched them off.
Passes vs. fails
Passes
<button onclick="openMenu()">Menu</button> <!-- click fires for touch, mouse, pen and keyboard alike -->Fails
el.addEventListener("touchstart", openMenu);
This guide is our interpretation of W3C technique F98: Failure due to interactions being limited to touch-only on touchscreen devices. W3C publishes its techniques as guidance rather than as the standard, and says so on every one of them. The success criterion is what conformance is measured against, and a technique is one documented way to meet it.