Skip to content

Commit 13b28f8

Browse files
committed
Fix checkbox label not read in JAWS
1 parent a1e6a1b commit 13b28f8

File tree

3 files changed

+25
-33
lines changed

3 files changed

+25
-33
lines changed

src/lib/checkbox/checkbox.html

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,6 @@
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()">
4-
<input #input
5-
class="mat-checkbox-input cdk-visually-hidden" type="checkbox"
6-
[id]="inputId"
7-
[required]="required"
8-
[checked]="checked"
9-
[value]="value"
10-
[disabled]="disabled"
11-
[name]="name"
12-
[tabIndex]="tabIndex"
13-
[indeterminate]="indeterminate"
14-
[attr.aria-label]="ariaLabel"
15-
[attr.aria-labelledby]="ariaLabelledby"
16-
(change)="_onInteractionEvent($event)"
17-
(click)="_onInputClick($event)">
184
<div md-ripple class="mat-checkbox-ripple"
195
[mdRippleTrigger]="label"
206
[mdRippleDisabled]="_isRippleDisabled()"
@@ -35,7 +21,22 @@
3521
<div class="mat-checkbox-mixedmark"></div>
3622
</div>
3723
</div>
24+
3825
<span class="mat-checkbox-label" #labelWrapper>
3926
<ng-content></ng-content>
4027
</span>
4128
</label>
29+
<input #input
30+
class="mat-checkbox-input cdk-visually-hidden" type="checkbox"
31+
[id]="inputId"
32+
[required]="required"
33+
[checked]="checked"
34+
[value]="value"
35+
[disabled]="disabled"
36+
[name]="name"
37+
[tabIndex]="tabIndex"
38+
[indeterminate]="indeterminate"
39+
[attr.aria-label]="ariaLabel"
40+
[attr.aria-labelledby]="ariaLabelledby"
41+
(change)="_onInteractionEvent($event)"
42+
(click)="_onInputClick($event)">

src/lib/checkbox/checkbox.scss

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -418,13 +418,6 @@ $_mat-checkbox-mark-stroke-size: 2 / 15 * $mat-checkbox-size !default;
418418
}
419419
}
420420

421-
.mat-checkbox-input {
422-
// Move the input to the bottom and in the middle.
423-
// Visual improvement to properly show browser popups when being required.
424-
bottom: 0;
425-
left: 50%;
426-
}
427-
428421
.mat-checkbox-ripple {
429422
position: absolute;
430423
left: -$_mat-checkbox-ripple-size;

src/lib/radio/radio.html

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,17 @@
1010
[mdRippleDisabled]="_isRippleDisabled()"
1111
[mdRippleCentered]="true"></div>
1212
</div>
13-
14-
<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)">
23-
2413
<!-- The label content for radio control. -->
2514
<div class="mat-radio-label-content" [class.mat-radio-label-before]="labelPosition == 'before'">
2615
<ng-content></ng-content>
2716
</div>
2817
</label>
18+
<input #input class="mat-radio-input cdk-visually-hidden" type="radio"
19+
[id]="inputId"
20+
[checked]="checked"
21+
[disabled]="disabled"
22+
[name]="name"
23+
[attr.aria-label]="ariaLabel"
24+
[attr.aria-labelledby]="ariaLabelledby"
25+
(change)="_onInputChange($event)"
26+
(click)="_onInputClick($event)">

0 commit comments

Comments
 (0)