When using the :out-of-range pseudo class I noticed it didn't match anymore when it reached a certain threshold of used characters. I've tested this both on Safari 11.1 and Safari Mobile. You can reproduce it using this codepen I made https://codepen.io/mrenty/pen/QrRZwP. If you type "111111111111111111111111111111111111111" it is invalid as expected, but if you add an extra number it becomes in range.
Presumably when it gets so large that it fails to parse as a number.
<rdar://problem/40583017>
I am able to reproduce this bug in Safari 15.6 on macOS 12.5 using attached CodePen from Comment 0 and pasting "111111111111111111111111111111111111111" and then adding "1" makes it in range and change background to "green", while all other browsers (Chrome Canary 106 and Firefox Nightly 105) keeps it "red" to show "out of range". Thanks!
(In reply to Alexey Proskuryakov from comment #1) > Presumably when it gets so large that it fails to parse as a number. This is exactly what's happening. sanitizeValue turns a very long integer into an empty string and that parses as a valid value.
Fixed in even Safari 16.5. Marking as 'RESOLVED CONFIGURATION CHANGED'. Thanks!