I have used the below code using checkbox and it works quite well. But the code is slight different from the one you posted. Hope you find your solution.
require(["dijit/form/CheckBox", "dojo/domReady!"], function(CheckBox){
var checkBox = new CheckBox({
name: "checkBox",
value: "agreed",
checked: false,
onChange: function(b){ alert('onChange called with parameter = ' + b + ', and widget value = ' + this.get('value') ); }
}, "checkBox");
});
Design:
<input id="checkBox" /> <label for="checkBox">I agree</label>