A native <input type="number"> gets spinner buttons and validation from the browser for free. Building one by hand means giving the field role="spinbutton" plus aria-valuenow/aria-valuemin/aria-valuemax, so a screen reader can announce the current value and its range.
Two name collisions are easy to fall into. A slider suits picking an approximate value fast, by dragging across a wide range, while a number input suits a precise, already-known value handled one unit at a time — "4 of an item in a cart." And the "stepper" entry elsewhere in this dictionary is an unrelated component that only shares the everyday word "stepper" — that one shows progress through named stages ("Shipping → Payment → Done"), while this one just raises or lowers a single quantity.
Holding a button down to repeat-increment rapidly is common too, but the final value should still stay clamped within min/max.