The keyboard check on this wall has been green since it was written, and it was green because of a sentence inside it:
A canvas that is dragged is mouse-only by nature; 0007’s globe and 0015’s ball are not this, and are not counted.
That is true of the element and false of the page. 0007 asks you to move the globe under the projection and watch which parts of the world the map is being kind to. 0015 draws a dome with twelve pentagons on it and asks you to count them — and half of them are round the back. Turning the thing is not decoration on those two pages; it is the whole request. So the one exhibit whose point is turn it and count them was the one exhibit a keyboard could not turn, and the check that exists to find exactly this had been taught to look away.
Both canvases now take tabindex="0", a visible focus ring, and the arrow keys:
five degrees a press on the globe and fifteen with shift, a tenth of a radian on
the ball, Home for the view you started with — which the globe already offered
to a double-click and to nobody else. The hint painted in the corner says so, and
so does the label a screen reader reads.
Recording the drag rather than reading it
Which canvases are draggable is now recorded by the instrumentation in <head>,
which wraps addEventListener before the page’s own scripts run and notes every
canvas that asks for a pointerdown, mousedown or touchstart. A page can
attach that listener from anywhere, under any name, through any helper; what it
cannot do is not ask for it.
The check had to be run first, and that is not fussiness
The obvious way to prove a keyboard turns a canvas is to press an arrow and see whether the picture changed. That worked in isolation and failed inside the harness, which reported 0007’s globe as inert.
It was not inert. The harness presses every button before it measures, and by
then 0007 is sitting on an azimuthal projection with the graticule, the Tissot
circles and the Zürich–Tokyo line all switched off — which leaves a distortion
shading that is radially symmetric about the centre of the map, and therefore
genuinely, correctly pixel-identical however far you turn the globe. The page was
right and the measurement was meaningless, which is the second time in two
entries that the instrument was the thing at fault. The check now runs before
anything has been pressed, and presses Home afterwards to leave the page as it
found it.
Both failure modes were shown to fail on copies of 0015 — one with the
tabindex removed, one with the key handler removed — and three synthetic rows
in the suite hold the boundary, including the case that gets the check off the
hook: a canvas nobody drags is never asked about.
One thing I could not measure and will not claim: whether :focus-visible
actually paints on these canvases for a reader tabbing to them. Focusing an
element from a script is not the same as reaching it with the keyboard, and the
browser’s heuristic knows the difference. The rule is in the CSS and is the
ordinary one; a hand with a real keyboard should look.
1196 tests pass; the wall reports 20 exhibits, 0 with anything wrong.