Skip to content

Commit aa1f954

Browse files
committed
feat: Add accessible label to fieldset/group
Signed-off-by: Akshat Patel <[email protected]>
1 parent 9aab5f2 commit aa1f954

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

src/tiles/tile-group.component.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ import {
77
HostBinding,
88
ContentChildren,
99
QueryList,
10-
OnDestroy
10+
OnDestroy,
11+
TemplateRef
1112
} from "@angular/core";
1213
import { SelectionTile } from "./selection-tile.component";
1314
import { NG_VALUE_ACCESSOR } from "@angular/forms";
@@ -19,6 +20,10 @@ import { takeUntil } from "rxjs/operators";
1920
selector: "ibm-tile-group",
2021
template: `
2122
<fieldset>
23+
<legend *ngIf="legend" class="bx--label">
24+
<ng-container *ngIf="!isTemplate(legend)">{{legend}}</ng-container>
25+
<ng-template *ngIf="isTemplate(legend)" [ngTemplateOutlet]="legend"></ng-template>
26+
</legend>
2227
<ng-content select="ibm-selection-tile"></ng-content>
2328
</fieldset>`,
2429
providers: [
@@ -40,6 +45,8 @@ export class TileGroup implements AfterContentInit, OnDestroy {
4045
*/
4146
@Input() multiple = false;
4247

48+
@Input() legend: string | TemplateRef<any>;
49+
4350
/**
4451
* Emits an event when the tile selection changes.
4552
*
@@ -127,4 +134,8 @@ export class TileGroup implements AfterContentInit, OnDestroy {
127134
registerOnTouched(fn: any) {
128135
this.onTouched = fn;
129136
}
137+
138+
public isTemplate(value) {
139+
return value instanceof TemplateRef;
140+
}
130141
}

src/tiles/tiles.stories.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ storiesOf("Components|Tiles", module)
136136
Edit on Carbon UI Builder
137137
</a>
138138
<br><br>
139-
<ibm-tile-group (selected)="selected($event)" [multiple]="false">
139+
<ibm-tile-group (selected)="selected($event)" [multiple]="false" legend="Radio tile group">
140140
<ibm-selection-tile value="tile1" [disabled]="disabled" [selected]="true" [theme]="theme">Selectable Tile</ibm-selection-tile>
141141
<ibm-selection-tile value="tile2" [disabled]="disabled" [theme]="theme">Selectable Tile</ibm-selection-tile>
142142
<ibm-selection-tile value="tile3" [disabled]="disabled" [theme]="theme">Selectable Tile</ibm-selection-tile>
@@ -174,7 +174,7 @@ storiesOf("Components|Tiles", module)
174174
Edit on Carbon UI Builder
175175
</a>
176176
<br><br>
177-
<ibm-tile-group (selected)="selected($event)" [multiple]="true">
177+
<ibm-tile-group (selected)="selected($event)" [multiple]="true" legend="Radio tile group">
178178
<ibm-selection-tile value="tile1" [selected]="true" [theme]="theme" [disabled]="disabled">Selectable Tile</ibm-selection-tile>
179179
<ibm-selection-tile value="tile2" [theme]="theme" [disabled]="disabled">Selectable Tile</ibm-selection-tile>
180180
<ibm-selection-tile value="tile3" [theme]="theme" [disabled]="disabled">Selectable Tile</ibm-selection-tile>

0 commit comments

Comments
 (0)