WTF, forms?

Each checkbox and radio is wrapped in a for three reasons: It provides a larger hit areas for checking the control. It provides a helpful and semantic wrapper to help us replace the default s. It triggers the state of the automatically, meaning no JavaScript is required.

Cody Hopper

Source: WTF, forms?