Input = time, How to allow input of only the hour. No minutes or seconds

The step attribute is the step amount you can do in milliseconds, so in this case you should use 60 * 60 * 1000 (60 minutes * 60 seconds * 1000 milliseconds = 1 hour) as the value:

<input type="time" step="3600000" />

Note that this does not work in Safari, but I did test it in Chrome. Safari simply doesnt support this type at all, so no validation happens as far as I can see. Which makes this not universally compatible.