diff --git a/JoshHeaps.Net/Pages/Casino/TexasHoldem.cshtml b/JoshHeaps.Net/Pages/Casino/TexasHoldem.cshtml index 751f20b..0d8445f 100644 --- a/JoshHeaps.Net/Pages/Casino/TexasHoldem.cshtml +++ b/JoshHeaps.Net/Pages/Casino/TexasHoldem.cshtml @@ -101,24 +101,48 @@ "While you deal" below, with the paragraphs that explain them, which is where House take and Without live betting already were: the panel had the vocabulary for this and was only using it for money. *@ + @* Every field below takes digits and none of them is type="number". + That is deliberate, and it is the second half of a fix — the first + half is Render.setField, which stopped a re-render writing over the + text somebody was still typing. + + type="number" was costing more than it paid here. It silently drops + characters it dislikes with no feedback to the person or to assistive + tech; it reports a half-typed "0." as "0", which is what let the + decimal point be written away; it does not expose selectionStart, so + nothing can put a caret back where it was; it draws a spin button + into a 54px-wide blind field, where five digits already need 45 of + the 52 available; and it is the control GOV.UK dropped from their + number patterns after user testing, for the same reasons plus Dragon + and NVDA. + + inputmode is what actually summons the keypad on a phone, and it is + the better keypad: "decimal" carries the separator for the reader's + locale, which is the key a dealer needs to type 0.25 and the one + type="number" leaves them hunting for on iOS. + + min/max/step go with it. Nothing relied on them: the seat count is + clamped to 2..24 in main.js before it is used, and the money fields + are read through a finite-number check that a spinner never provided + anyway. *@
Blinds post themselves each hand. Seats without their own stack start here.