Accessibility

What the app does so that everyone can play it, and the rules new code must follow.

The board is a real table

The playground is a semantic <table>: column headers (A, B, C...) and row headers (1, 2, 3...) announce coordinates, and every cell is a <td> with an accessible name. Each cell also carries a title and a screen-reader-only label for its contents (ground, wall, ice, lava, hole, target, player), so a screen reader can describe the whole board without the visuals.

Names and labels

Keyboard

Motion

Contrast and legibility

What is deliberately out of scope today

There is no dedicated focus-management for drag and drop (placing blocks by keyboard alone), and no screen-reader announcements during the run animation. Both are tracked honestly on Known issues and gaps.

Next: Testing.