I have the following issue in my application. To improve accessibility we are using NVDA. When NVDA turned on razor checkbox does not recognize that it's checked when we use Enter or Space bar. Following is one of the code snippets how we are using CheckBoxFor in my application.
<label class="label_check @GetRadioButtonValidationClass(Model.InvalidPurpose)" for="PurposeIsSignificantPurchaseOrExpense" tabindex="0">
@Html.CheckBoxFor(m => m.PurposeIsSignificantPurchaseOrExpense, new { @id = "PurposeIsSignificantPurchaseOrExpense", @class = "js-toggle" })
@Model.PurposeSignificantPurchaseOrExpenseDisplay
</label>