The gamepad API is a W3C draft.
Currently only Chrome and Firefox have implementations.
Chrome requires you to enable it on the chrome://flags page.
Firefox requires a special build found here.
The API is low-level.
There are no events. It relies on you polling the system for gamepad state changes.
gamepad.js offers a wrapper for the low-level API.
Abstracts out vender prefixes (webkit, moz, etc.) and creates a common mapping for controller buttons and axes.
Gamepads are ubiquitous with video games.
With WebGL and Canvas2D, video games with JS and HTML are ready for the front stage.
Controlling websites with navigators and remotes is also possible now.