Make hidden mean hidden, and check that it does #114

Closed
jheaps wants to merge 1 commits from fix/casino-holdem-sidebar-crowding into fix/casino-holdem-contribution-rule
Owner

Three rounds inside the money, so this one was a look at the thing. On a desktop screenshot of a table mid-session there's a small empty box under the bank check: 21 pixels wide, 44 tall, no text, no purpose. It's the "Take $600 from 3 players" button from #111, which sets hidden when there's nothing to record — and hidden was losing.

The attribute carries its display: none from the browser's own stylesheet, the weakest rule in the cascade, so any class that sets a display beats it. Every button class here sets inline-flex. This isn't a new discovery in this file either: seven overlays already carry their own [hidden] { display: none }, each presumably found the same way. One global rule now covers all of them, so there's no ninth.

The audit had been telling me

Its touch check reported the box as "could not be probed (drawn 21x44)" — in the warnings, which my sweeps printed only sometimes and never failed on. So the check now says the plainer thing: an element that claims to be hidden and is drawn anyway is a fault, not a note. It's in runAll with the rest, and I put the bug back by hand to confirm it fires — "hidden, but drawn 27x44".

The same warning stream had a second thing in it: the waiting list's Add button was 43px wide. Three letters, one pixel under the rule, and a thumb doesn't know the word is short.

Validated

  • 182 audits across 13 viewports, both input kinds, every overlay, on a table carrying a rake, a cash-out, a waiting list and six logged hands: clean. The only note left is the one saying the 44px rule stood itself down on a mouse — which is the rule working.
  • The new check fault-injected in the browser: clean as shipped, fires when the display is forced back.
  • Suite unchanged at 578, 0 failures — this round is CSS and the instrument.

One thing I checked and did not change: the sidebar is 3,379px tall with every panel open, which looked like crowding in the screenshot. The panels are <details> and default to closed, so that height is only what you get when you deliberately open all six at once. No fault to report there.

Three rounds inside the money, so this one was a look at the thing. On a desktop screenshot of a table mid-session there's a small empty box under the bank check: **21 pixels wide, 44 tall, no text, no purpose**. It's the *"Take $600 from 3 players"* button from #111, which sets `hidden` when there's nothing to record — and `hidden` was losing. The attribute carries its `display: none` from the browser's own stylesheet, the weakest rule in the cascade, so any class that sets a display beats it. Every button class here sets `inline-flex`. This isn't a new discovery in this file either: **seven overlays already carry their own `[hidden] { display: none }`**, each presumably found the same way. One global rule now covers all of them, so there's no ninth. ### The audit had been telling me Its touch check reported the box as *"could not be probed (drawn 21x44)"* — in the **warnings**, which my sweeps printed only sometimes and never failed on. So the check now says the plainer thing: **an element that claims to be hidden and is drawn anyway is a fault, not a note.** It's in `runAll` with the rest, and I put the bug back by hand to confirm it fires — *"hidden, but drawn 27x44"*. The same warning stream had a second thing in it: the waiting list's **Add** button was 43px wide. Three letters, one pixel under the rule, and a thumb doesn't know the word is short. ### Validated - **182 audits** across 13 viewports, both input kinds, every overlay, on a table carrying a rake, a cash-out, a waiting list and six logged hands: clean. The only note left is the one saying the 44px rule stood itself down on a mouse — which is the rule working. - The new check fault-injected in the browser: clean as shipped, fires when the display is forced back. - Suite unchanged at **578, 0 failures** — this round is CSS and the instrument. One thing I checked and did **not** change: the sidebar is 3,379px tall with every panel open, which looked like crowding in the screenshot. The panels are `<details>` and default to closed, so that height is only what you get when you deliberately open all six at once. No fault to report there.
jheaps added 1 commit 2026-09-02 09:37:20 -06:00
Three rounds inside the money, so this one was a look at the thing. On a desktop
screenshot of a table mid-session there is a small empty box under the bank
check: 21 pixels wide, 44 tall, no text, no purpose. It is the "Take $600 from 3
players" button from three rounds ago, which sets `hidden` when there is nothing
to record — and `hidden` was losing.

The attribute carries its `display: none` from the browser's own stylesheet,
which is the weakest rule in the cascade, so any class that sets a display beats
it. Every button class here sets `inline-flex`. This is not a new discovery in
this file either: seven overlays already carry their own `[hidden] { display:
none }`, each one presumably found the same way. One global rule now covers all
of them, so there is no ninth.

The audit had been telling me. Its touch check reported the box as "could not be
probed (drawn 21x44)" — in the warnings, which my sweeps printed only sometimes
and never failed on. So the check now says the plainer thing: an element that
claims to be hidden and is drawn anyway is a fault, not a note. It is in runAll
with the rest, and the bug was put back by hand to confirm it fires.

The same warning stream had a second thing in it: the waiting list's Add button
was 43px wide. Three letters, one pixel under the rule, and a thumb doesn't know
the word is short.

182 audits across 13 viewports, both input kinds, every overlay and a table with
a rake, a cash-out, a waiting list and six logged hands on it: clean, and the
only note left is the one that says the 44px rule stood itself down on a mouse.

Co-Authored-By: Claude Opus 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_015bnp7xKUPFFSpwkYNFaPgb
jheaps closed this pull request 2026-09-02 09:58:09 -06:00

Pull request closed

Please reopen this pull request to perform a merge.
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: jheaps/JoshHeaps.Net#114