diff --git a/thecardplace/Cribbage/WEB-ACCESSIBILITY-AUDIT.md b/thecardplace/Cribbage/WEB-ACCESSIBILITY-AUDIT.md index 4923401..772ff57 100644 --- a/thecardplace/Cribbage/WEB-ACCESSIBILITY-AUDIT.md +++ b/thecardplace/Cribbage/WEB-ACCESSIBILITY-AUDIT.md @@ -71,13 +71,13 @@ after the game had all three. **A page nothing looks at is a page that rots.** ### Still open -- **#3 colour-only play count** — the count is given as text ("Count: 15"), so +- **#3 color-only play count** — the count is given as text ("Count: 15"), so this is not a 1.4.1 failure as written, but there is still no textual cue when the count approaches 31. - **#6, #8, #10, #15, #16** — board focus indicator, redundant ARIA on the board, focus restoration, ARIA descriptions, gradient background. - **No interface tests at all.** There is nothing equivalent to Sheephead's - `ui-dom.js`: announcements, labels, focus behaviour and keyboard handling are + `ui-dom.js`: announcements, labels, focus behavior and keyboard handling are untested. That is the layer this audit is about, and it is the most valuable thing left to build. See `../TESTING.md`. @@ -89,7 +89,7 @@ hands, under by three to nine points — and that the last card of every play ph scored nothing at all. No accessibility audit would ever have caught either. The game announced its -wrong answer perfectly clearly, in a well-labelled live region, at better than +wrong answer perfectly clearly, in a well-labeled live region, at better than 4.5:1 contrast. **It was accessible and wrong**, which for a player relying on that announcement is the worse of the two failures. diff --git a/thecardplace/TESTING.md b/thecardplace/TESTING.md index 6938e52..036964f 100644 --- a/thecardplace/TESTING.md +++ b/thecardplace/TESTING.md @@ -184,7 +184,7 @@ Cribbage's found three real bugs, all now fixed: The first is worth dwelling on: a 4-5-6-6 hand scored 9 instead of 12, and had done since the game was written. It is not subtle, it is not rare, and no amount of accessibility auditing, geometry measurement or interface testing would ever have found it — because the game announced its wrong -answer perfectly clearly, in a well-labelled live region, at 4.5:1 contrast. +answer perfectly clearly, in a well-labeled live region, at 4.5:1 contrast. ### Mutation tested @@ -269,8 +269,8 @@ waits the deadline out, and it does catch the fault. |---|---| | `sheephead/tests/layout.js` | Horizontal overflow, card size and aspect ratio, tap targets, the setup screen, two-column reading order — 6 viewports × 2 font sizes | | `sheephead/tests/card-overlap.js` | Every index, pip and court glyph measured for intersection | -| `sheephead/tests/appearance.js` | Both skins × both colour schemes: the chosen skin actually applies, red suits render red, an unplayable card keeps its colour and has nothing painted over it, a played card is readable at half size, and a blocked card still looks different from a playable one | -| `sheephead/tests/contrast.js` | Every text element's real colour against what is actually painted behind it, WCAG AA by size | +| `sheephead/tests/appearance.js` | Both skins × both color schemes: the chosen skin actually applies, red suits render red, an unplayable card keeps its color and has nothing painted over it, a played card is readable at half size, and a blocked card still looks different from a playable one | +| `sheephead/tests/contrast.js` | Every text element's real color against what is actually painted behind it, WCAG AA by size | | `Cribbage/tests/audit.js` | **Both pages** — overflow, card geometry and collisions, contrast, tap targets, duplicate ids, heading order, main landmark, table captions, `th` scope, emoji or arrows in link text | These found a formal accessibility audit's blind spot: Cribbage scored 78/100 in a review that @@ -357,7 +357,7 @@ Listed because an undocumented gap reads as coverage. connections to the in-process server, but only one of them is a real `Table`, because `Table` is a module singleton. Two browsers racing for the same seat, or both pressing Deal, is covered at the room level and not at the interface level. -- **Nothing checks colour contrast.** Sheephead has `contrast.js`; euchre inherits its stylesheet +- **Nothing checks color contrast.** Sheephead has `contrast.js`; euchre inherits its stylesheet and has no equivalent, so a palette change here would go unmeasured. ### All of them @@ -369,7 +369,7 @@ Listed because an undocumented gap reads as coverage. Two things that suite learned the hard way, worth knowing before extending it. **A CSS filter is invisible to `getComputedStyle`** — it changes the pixels and nothing else, so a greyscale that - flattens the red suits cannot be found by reading colours; the filter itself has to be asserted + flattens the red suits cannot be found by reading colors; the filter itself has to be asserted on. And **measuring only the first suit glyph on a card missed a real break**, because a card shows its suit in three places and the corner index was still red while the pips were not. - **No shared harness.** The measurement logic in `sheephead/tests/*.js` and `Cribbage/tests/audit.js` diff --git a/thecardplace/euchre/README.md b/thecardplace/euchre/README.md index f3d4c0c..0794708 100644 --- a/thecardplace/euchre/README.md +++ b/thecardplace/euchre/README.md @@ -18,12 +18,12 @@ deployed to Cloudflare from CI. Everything else runs in the browser. Once a suit is trump, the two highest cards in the game are the **right bower** (the jack of trump) and the **left bower** — the jack of the *other suit of the -same colour*. And while it is the left bower, **it is not a card of its printed +same color*. And while it is the left bower, **it is not a card of its printed suit at all**. With spades trump, the jack of clubs is a spade: it follows spades, and you may not play it on a club lead if you hold any spade. A sighted player absorbs that from five cards at a glance. Read out card by card, -it is a memory exercise with a colour rule in it, performed while three other +it is a memory exercise with a color rule in it, performed while three other people wait. So: - **Both bowers are named as bowers** wherever a card is read out — in your hand, @@ -72,7 +72,7 @@ down a per-player table — a number printed twice invites being read as two numbers. S says the tricks each side has this hand, the game score, the match, and how many more tricks you need to make it or to euchre them. -**The dealer's discard is shown, not summarised.** When a hand ends, the actual +**The dealer's discard is shown, not summarized.** When a hand ends, the actual cards are laid out: the upcard, what the dealer put back, and the three cards nobody ever sees at a real table. "The dealer discarded" tells you nothing. @@ -83,7 +83,7 @@ it will never play. Its Cards column says "out". becomes your turn — and to the bidding buttons when the decision is a bid rather than a card — but not while you are in a text field, reading the help, or reading back through the log. The announcement still tells you it is your turn. You can -turn the behaviour off in Settings. +turn the behavior off in Settings. **Pace is configurable, in real seconds.** Computer turns can advance instantly, after four seconds, after ten, or only when you press Continue. The timed @@ -101,9 +101,9 @@ toolbar under the table — nothing depends on a shortcut being available, and Tab, Enter and Space alone are enough to play a whole game. -Also: visible focus outlines, no colour-only meaning (trump is labelled as well +Also: visible focus outlines, no color-only meaning (trump is labeled as well as tinted), a skip link, semantic headings and tables, and support for -`prefers-reduced-motion`, `prefers-contrast` and forced-colours mode. +`prefers-reduced-motion`, `prefers-contrast` and forced-colors mode. ### Keys @@ -184,7 +184,7 @@ Measured over 4,000 hands per row against the hard opponents (`npm run balance`) | normal | 95.5% | 13.8% | 12.2% | 8.1% | 67.2% | | hard | 94.1% | 12.9% | 14.2% | 9.1% | 65.3% | -Those are the numbers a euchre player would recognise, and they are the reason +Those are the numbers a euchre player would recognize, and they are the reason `tests/balance.js` exists. The first draft of the bidding thresholds threw more than two hands in five straight in the bin — a game nobody would sit through, and completely invisible to every test that only checks the rules are obeyed. diff --git a/thecardplace/euchre/index.html b/thecardplace/euchre/index.html index 51319f5..a59e42f 100644 --- a/thecardplace/euchre/index.html +++ b/thecardplace/euchre/index.html @@ -454,7 +454,7 @@
Pressing H during the bidding tells you what your hand would look like with the suit on offer as trump — which cards would be trump, and which jack would become the left bower. A sighted player works that out at a glance from cards they can - see all at once. Having to hold four jacks and a colour rule in your head while a timer runs + see all at once. Having to hold four jacks and a color rule in your head while a timer runs is a different game, and a harder one, so the program does the mapping and you make the decision.
@@ -589,7 +589,7 @@Focus moves to your cards when it becomes your turn, but never while you are typing in a field, reading this help, or reading back through the log. The announcement still tells you it - is your turn. You can turn the behaviour off in Settings.
+ is your turn. You can turn the behavior off in Settings.At an online table you cannot see the other players, so the game says what silence means: diff --git a/thecardplace/euchre/tests/rules-oracle.js b/thecardplace/euchre/tests/rules-oracle.js index 0b933a4..cfa936b 100644 --- a/thecardplace/euchre/tests/rules-oracle.js +++ b/thecardplace/euchre/tests/rules-oracle.js @@ -50,7 +50,7 @@ function check(cond, msg) { checks++; if (!cond) fails.push(msg); } const SUITS = ['C', 'S', 'H', 'D']; const RANKS = ['A', 'K', 'Q', 'J', 'T', '9']; -/* "the jack of the other suit of the same colour" */ +/* "the jack of the other suit of the same color" */ const SAME_COLOUR = { C: 'S', S: 'C', H: 'D', D: 'H' }; /* "with spades trump the order is: jack of spades, jack of clubs, ace, king, diff --git a/thecardplace/index.html b/thecardplace/index.html index 821879a..1c2904a 100644 --- a/thecardplace/index.html +++ b/thecardplace/index.html @@ -185,7 +185,7 @@
The Midwest and Ontario standard. Two partnerships, five tricks a hand, first to ten points — and the jack of the same colour as trump quietly becomes a trump too.
+The Midwest and Ontario standard. Two partnerships, five tricks a hand, first to ten points — and the jack of the same color as trump quietly becomes a trump too.
Learn to play Euchre Play Euchre @@ -276,7 +276,9 @@