Yeah, the empty button tag is weird, I agree. Didn't know about the `type="button"` thing so I'm happy to add that in.

The empty button thing had to do with being able to set the z-index for the label to a lower layer than the button so the label could slide under the button, basically. I think I can achieve the same effect with slightly more canonical HTML though, so I'll spend a few minutes on that.