Came across this a few days ago:
This is a website’s credit card and CVV code fields. They are coded as number fields, which, ok, I mean credit card numbers are numbers…. but because they’re coded as number fields with no kinds of constraints on them, you can use your mouse / touchpad / finger to scroll up or down including negative numbers.
And while it may be conceivable to scroll up to a 3 digit CVV number if you have 5 minutes to kill, even people with the most severe physical disabilities will find it faster to enter a credit card number using their keyboard analogue than it will be to scroll up to the sixteen digit number that is their credit card number.
It’s not necessarily a big deal if you’re using a standard mouse because it takes an extra motion to use the scroll wheel. On the other hand, if you’re using a touchpad and your palm accidentally brushes against it, you could end up ticking the number up or down without realizing it. And don’t get me started on Apple’s Magic Mouse.
Here’s another example:
Number fields are for numbers, but in a very real sense, credit card numbers, CVV codes, and security codes aren’t numbers, they’re a meaningful string of digits similar to a password. It’s a subtle difference, but one that’s really recognizable as soon as the interface allows you to scroll down to -146 as your credit card number.
So when you’re coding a number field, please, ask yourself: is this really a number? Or is it a thing that just happens to use numerical digits to identify itself? If it’s the latter, strongly consider not using the number field.