Repository navigation
Manage Game console: names on every control, phone card chevron, unsaved-changes guards, confirms, contrast (v1.8.12) - #84
Merged
Conversation
…ved-changes guards, confirms, contrast Every control on the check-in console has an accessible name and the row controls name the player; column headers carry scope; the Setup, payout, chip and blinds fields are labelled; the modals are labelled dialogs. Phone cards gain a chevron button to open them and the bulk bar is hidden on phones. Setup gets beforeunload, a confirm on the back arrow and on Load preset, and the payout total is refused before anything is saved. Bulk Eliminate, un-ticking a buy-in, clearing a cash-out, taking a player off a table, switching off a reward chip with values and Deny all ask, naming the player. The toast and pending banner are live regions. Contrast and target sizes fixed; the segmented-control thumb takes the active button's row so a wrapped strip no longer lights two tabs. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The check-in console (Manage Game) measured against the same guidelines as the layout editor (v1.8.8/9) and the event editor (v1.8.11): Nielsen, Shneiderman, Fitts and Hick, WCAG 2.2, WAI-ARIA. This is the first of two patch releases; the second (keyboard access to the strips, menus, dialogs and the roster) follows on its own branch.
Every control on the console now says what it is and whom it is for. Screen readers and the browser's own tools had almost nothing to go on: the Setup fields, the payout rows, the chip rows, the blinds grid, the walk-in box and every per-player control in the roster were unnamed, and a row's buttons read as six identical "Eliminate"s. Each control now names the player ("Buy in for Ava", "RSVP for Ben", "Remove Finn", "Money history for Cleo", "Move Dev"), the Setup labels are tied to their fields, payout inputs are named by place, chip rows by their value, blind cells by round and column, every column header carries its scope, the header's icon buttons keep their names when their labels collapse on a phone, the "?" tips read their text, and the add-on count (which removes the last add-on) is a real button. The modals are labelled dialogs and the Help modal's group labels are headings. In
www/checkin.phpandwww/event_blinds.js.A player card on a phone opens from a ▾ button as well as a tap. The card's summary row was the only way in and nothing on it was focusable, so a keyboard or switch user could not reach rebuys, cash, table, RSVP, Eliminate, Notes or Remove on a phone, and nothing hinted that the row opened at all. Each card carries a chevron (
aria-expanded, 44px on touch) beside the status badge. The bulk-action bar is hidden on phones: the checkboxes it acts on live in the desktop table.Setup guards unsaved work. Leaving the page with unsaved Setup changes gets the browser's prompt, the back arrow asks first, Load preset asks before dropping unsaved edits, and a payout total over 100% is refused before anything is saved (it used to be caught after the game settings had already been written). After Save game the amber dot goes out and "Saved ✓" shows for a moment; the dot used to stay lit.
More actions ask first, and name the player. Bulk Eliminate, un-ticking a buy-in, putting a cashed-out player back in play, taking a player off a table through Move, switching off a reward chip that holds amounts; Deny says who. A declined confirm leaves the control exactly as it was. The console's passing notices are announced through a live region, as is the saving progress card.
Fixed: contrast and sizes. Light greys (
#94a3b8) on section titles, seat info, log and ledger times, chip placeholders, the "$" prefix, hints and the Help modal's headings are#64748b; "Playing", pool totals, payout amounts and profit (#22c55e) are#15803d; Eliminate, Approve, Finish, Add Table and the reward chips take the#15803dfill Save & Send took in 1.8.11; the warning ambers are#b45309; the winner's "1st" and the "?" tips are readable. Input borders are unchanged. The small row controls are at least 24px, and finger-sized on touch through apointer: coarseblock.Fixed: Setup's tab strip lit two tabs on a phone. With five or six tabs the strip wraps, and the sliding thumb spanned both rows. The thumb now takes the active button's row as well as its width (
www/pk-seg.js), which every segmented control inherits.Verified on dev: a new self-seeding suite (50 checks: names, scope, the chevron by keyboard, the hidden bulk bar, computed colours, target sizes, the wrapped strip, the dot and tick after Save, the live region, every guard and confirm declined), the existing check-in suites, php -l on every page, the generated-JS sweep, the double-dispatch sweep (948 controls, 0 failed) and the escaping greps.
🤖 Generated with Claude Code