Repair core interface readability and keyboard recovery #208
- MA
Long document names could spill out of Delete, chat errors could hide recovery instructions, and Projects could open as a blank panel while loading. Keyboard control could also be lost when a dialog’s selected button disappeared or became disabled.
This change wraps long names and error summaries, preserves room for the chat draft, adds a dismissible Projects loading message, and preserves keyboard control through those transitions. Code previews gain named keyboard-scroll groups and a visible focus indicator.
### Original colours retained
Maggie reviewed the colour changes and chose to retain the original appearance: Delete red, quiet timestamps and tool/status text, dimmed queued messages, and the original Pierre code palette and selection. All audit colour changes are reverted. These are explicit design exceptions where they fall below AA contrast; they are not reported as contrast passes. The shared design rules record the decision.
### Actual interface

The current screenshot shows the wrapping repair with the original red. Chat and code retain their pre-audit colours.
### Verification
- Focused colour/token/code tests: 74 passed. - Final restored-palette navigation/chat/code-preview tests: 32 passed, including selection, keyboard scrolling, queue labels, withdrawal controls and focus recovery. - Default/focused Delete background is pinned to the chosen red. Hover/pressed contrast checks remain. No AA threshold is imposed on the approved lighter chat/code roles. - Fresh browser measurements: Delete default/focus 4.204:1; queued name/status 2.224:1; current syntax samples minimum 1.829:1. These numbers describe the accepted palette, not accessibility certification. - All required CI passes on `d84b663d9807d5ee23a7abd4f346fcad541ad18a`: validation (including the full unit suite and PostgreSQL tests), browser integration and container build. [Final run](https://github.com/githubnext/chopin/actions/runs/36691180762). Linux build: 250,702 bytes raw / 79,991 bytes gzip, within the unchanged 80,000-byte compressed limit.
Testing uses disposable fake-GitHub data in Chromium at desktop and narrow widths. It is not screen-reader or physical-device certification. A pre-existing failed-dialog Reload button can be covered by the sidebar for mouse input; keyboard reload works and the pointer issue remains a follow-up.
Main now includes #207 and has been incorporated into this branch. Reviewed both changed interface files and renewed their exact design-check records in `a9f206b6`; no interface or palette changes were needed. Local validation, types and all 37 design-rule tests pass. [Full CI for the combined branch](https://github.com/githubnext/chopin/actions/runs/36691180762) has passed all three required jobs. This PR remains unmerged; #209 follows it.
Merge eligibility: the repository permits rebase merges only. Consolidated the exact tested file tree into one commit, `d84b663d`, on main. GitHub now confirms it can be rebased. [Required checks on this new commit](https://github.com/githubnext/chopin/actions/runs/36691180762) have all passed. GitHub reports both mergeable and rebaseable, with a clean merge state. No product files changed during this history repair.
MaggieAppletonreferenced this in Add rendered design checks to required browser CI #209last month on GitHub
MaggieAppletonadded-to-stacklast month on GitHub
MaggieAppletonhead-ref-force-pushed d84b663d9807last month on GitHub
MaggieAppletonmerged 4f55e2ea67b1last month on GitHub
MaggieAppletonhead-ref-deletedlast month on GitHub