The needsClick() method returns true if the target is a label,
Synthetic clicks apparently don't reliably toggle the label's associated checkbox (input of type checkbox), which I assume was the motivation for having this method return true for labels.
Problem:
needsClick() returns false if the target is inside a label.
Thus, if the user taps (say) a nested span inside the label, needsClick() returns false, and the associated input of type checkbox doesn't get toggled.
Possible resolutions:
Have this method check ancestry, and return true if the target is a label or inside one. (I suspect that "label" is not the only case in this method that needs this ancestry check, e.g. span within a disabled button.)
If the ancestry check is considered a performance concern, consider updating the "needsclick case 1" section of the doc so users know to watch out for this case.
Workaround:
Page author can put needsclick class on all DOM nodes inside the label's subtree, which can be verbose.
Observations:
Problem:
Possible resolutions:
Workaround: