This document describes the accessibility-oriented control model used by the mod and the intended direction for nearby follow-up work.
Some items are already implemented, while others remain part of the planned control model. The intent should stay stable even when implementation details change.
Unless a dedicated island-cycling command is used, navigation and discovery commands should stay within the current island.
E S D Fmove 1 tileShift + E S D Fmove 10 tiles
Movement speech should prefer:
- content type, if present
- otherwise tile type
- then coordinates
Hannounce relative position to the current island keep- double
Hmove to the keep
Example:
14 east, 6 south
Wnext closest matching tileShift + Wprevious matching tile
Rules:
- match on content type first, otherwise tile type
- sort by distance
- use a stable clockwise tie-breaker
- if no match exists, say
No other matching tiles
Ctrl + digitset bookmarkdigitjump to bookmark- named bookmarks are planned but should remain explicit and spoken
Jump speech should include:
- bookmark name if present
- tile or content description
- coordinates
Vsingle press: surrounding-tile readout- second quick press: grouped summary
The readout should:
- use a stable order
- avoid unnecessary direction words
- stay short enough for practical play
Ctrl + Vthen direction: directional meshAlt + direction: directional scanCtrl + direction: directional summary
These helpers should provide structured, compact speech and avoid silent failures.
Ropen resource selectionCtrl + Rdirect resource value prompt
Selecting a resource should speak the value and, where appropriate, may move focus to a relevant source tile on the current island.
Cchop / cancel choppingBopen build menu
Inside the build menu:
- category navigation should remain distinct from item navigation
- selecting a building should lead into accessible placement handling
Escshould cancel or step back predictably
Placement mode should be sticky until explicitly canceled.
+increase speed-decrease speed
Search-style helpers should:
- be island-scoped by default
- use stable result ordering
- cache result sets when browsing through matches
- give explicit feedback when no result exists
- use the same word for the same thing
- keep output order stable
- keep speech short and structured
- avoid silent failures
- every action should give feedback