Skip to content

Commit 5c48949

Browse files
authored
fix(checkbox, radio): Fix checkbox label not read in JAWS (#4610)
* Fix checkbox label not read in JAWS * use another way
1 parent 97a9bdc commit 5c48949

File tree

2 files changed

+13
-9
lines changed

2 files changed

+13
-9
lines changed

src/lib/checkbox/checkbox.html

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<label class="mat-checkbox-layout" #label>
1+
<label [attr.for]="inputId" class="mat-checkbox-layout" #label>
22
<div class="mat-checkbox-inner-container"
33
[class.mat-checkbox-inner-container-no-side-margin]="!_hasLabel()">
44
<input #input
@@ -36,6 +36,8 @@
3636
</div>
3737
</div>
3838
<span class="mat-checkbox-label" #labelWrapper>
39+
<!-- Add an invisible span so JAWS can read the label -->
40+
<span style="display:none">&nbsp;</span>
3941
<ng-content></ng-content>
4042
</span>
4143
</label>

src/lib/radio/radio.html

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,19 @@
1212
</div>
1313

1414
<input #input class="mat-radio-input cdk-visually-hidden" type="radio"
15-
[id]="inputId"
16-
[checked]="checked"
17-
[disabled]="disabled"
18-
[name]="name"
19-
[attr.aria-label]="ariaLabel"
20-
[attr.aria-labelledby]="ariaLabelledby"
21-
(change)="_onInputChange($event)"
22-
(click)="_onInputClick($event)">
15+
[id]="inputId"
16+
[checked]="checked"
17+
[disabled]="disabled"
18+
[name]="name"
19+
[attr.aria-label]="ariaLabel"
20+
[attr.aria-labelledby]="ariaLabelledby"
21+
(change)="_onInputChange($event)"
22+
(click)="_onInputClick($event)">
2323

2424
<!-- The label content for radio control. -->
2525
<div class="mat-radio-label-content" [class.mat-radio-label-before]="labelPosition == 'before'">
26+
<!-- Add an invisible span so JAWS can read the label -->
27+
<span style="display:none">&nbsp;</span>
2628
<ng-content></ng-content>
2729
</div>
2830
</label>

0 commit comments

Comments
 (0)