Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I make a checkbox toggle from clicking on the text label as well?

Tags:

html

checkbox

Checkboxes in HTML forms don't have implicit labels with them. Adding an explicit label (some text) next to it doesn't toggle the checkbox.

How do I make a checkbox toggle from clicking on the text label as well?

like image 724
Ronnie Avatar asked Aug 05 '08 11:08

Ronnie


People also ask

Should checkbox label be clickable?

Clickable Checkbox LabelWithout label tags, users can't click the label to tick the checkbox. Instead, they have to click the checkbox itself. This causes users to struggle because the checkbox is a small target to hit especially for motor-impaired users.

How do I make a checkbox accessible on my keyboard?

Since a checkbox is an interactive control, it must be focusable and keyboard accessible. If the role is applied to a non-focusable element, use the tabindex attribute to change this. The expected keyboard shortcut for activating a checkbox is the Space key.


2 Answers

If you correctly markup your HTML code, there is no need for javascript. The following code will allow the user to click on the label text to tick the checkbox.

<label for="surname">Surname</label> <input type="checkbox" name="surname" id="surname" /> 

The for attribute on the label element links to the id attribute on the input element and the browser does the rest.

This has been testing to work in:

  • IE6
  • IE7
  • Firefox
like image 144
GateKiller Avatar answered Sep 19 '22 01:09

GateKiller


Set the CSS display property for the label to be a block element and use that instead of your div - it keeps the semantic meaning of a label while allowing whatever styling you like.

For example:

label {    width: 100px;    height: 100px;    display: block;    background-color: #e0e0ff;  }
<label for="test">    A ticky box! <input type="checkbox" id="test" />  </label>
like image 40
Mat Avatar answered Sep 22 '22 01:09

Mat