With various widgets available, users can personalize the widget’s appearance and functionality to their liking. My conclusion is that you should use input type=text, with pattern attribute and with some JavaScript that checks the input for correctness on browsers that do not support the pattern attribute natively. The Chronus app offers a customizable and feature-rich clock, weather, and calendar widget for the home screen. It’s quite possible that the user has to type 12.30 (with a period) and not 12:30, when the browser locale uses “.” as a separator in times. And placeholder='hrs:mins', if it were implemented, would be potentially misleading. Note that pattern and placeholder attributes are not allowed in input type=time. (Except possibly added clarifications to the text, making this behavior described as intended.) This is intentional the problem has been raised in HTML5 discussions several times, with the same outcome: no change. Thus, input type=time are based on an idea of localization that takes it all out of the hands of the page author. For example, using a Finnish-language version of Chrome, I see the widget as using the standard 24-hour clock. So independently of the language of the surrounding content, the presentation varies by the language of the browser, the language of the underlying operating system, or the system-wide locale settings (depending on browser). But this really means using a widget where time presentation follows the rules of the browser’s locale. By HTML5 drafts, input type=time creates a control for time of the day input, expected to be implemented using “the user’s preferred presentation”.