Skip to content

Commit

Permalink
fix: allow labels to be hidden but accessibile to screen readers
Browse files Browse the repository at this point in the history
Signed-off-by: Akshat Patel <[email protected]>
  • Loading branch information
Akshat55 committed Jun 12, 2024
1 parent b60e9c1 commit baaeb17
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 1 deletion.
9 changes: 8 additions & 1 deletion src/dropdown/dropdown.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,10 @@ import { hasScrollableParents } from "carbon-components-angular/utils";
*ngIf="label"
[for]="id"
class="bx--label"
[ngClass]="{'bx--label--disabled': disabled}">
[ngClass]="{
'bx--label--disabled': disabled,
'bx--visually-hidden': hideLabel
}">
<ng-container *ngIf="!isTemplate(label)">{{label}}</ng-container>
<ng-template *ngIf="isTemplate(label)" [ngTemplateOutlet]="label"></ng-template>
</label>
Expand Down Expand Up @@ -176,6 +179,10 @@ export class Dropdown implements OnInit, AfterContentInit, AfterViewInit, OnDest
* Label for the dropdown.
*/
@Input() label: string | TemplateRef<any>;
/**
* Hide label while keeping it available for screen readers
*/
@Input() hideLabel = false;
/**
* Sets the optional helper text.
*/
Expand Down
9 changes: 9 additions & 0 deletions src/dropdown/dropdown.stories.ts
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ const getProps = (overrides = {}) => Object.assign({}, {
warnText: text("Text for the warning", "This is a warning"),
disabled: boolean("disabled", false),
label: text("Label", "Dropdown label"),
hideLabel: boolean("Hide label", false),
helperText: text("Helper text", "Optional helper text."),
items: object("items", [
{ content: "one" },
Expand All @@ -84,6 +85,7 @@ const getProps = (overrides = {}) => Object.assign({}, {
<div style="width: 300px">
<ibm-dropdown
[label]="label"
[hideLabel]="hideLabel"
[helperText]="helperText"
[invalid]="invalid"
[invalidText]="invalidText"
Expand All @@ -109,6 +111,7 @@ class ReactiveFormsStory implements OnInit {

@Input() items = [];
@Input() label = "";
@Input() hideLabel = false;
@Input() helperText = "";
@Input() invalid = false;
@Input() invalidText = "";
Expand Down Expand Up @@ -192,6 +195,7 @@ storiesOf("Components|Dropdown", module)
<div style="width: 300px">
<ibm-dropdown
[label]="label"
[hideLabel]="hideLabel"
[helperText]="helperText"
[size]="size"
[dropUp]="dropUp"
Expand All @@ -215,6 +219,7 @@ storiesOf("Components|Dropdown", module)
<div style="width: 300px">
<ibm-dropdown
[label]="label"
[hideLabel]="hideLabel"
[helperText]="helperText"
[size]="size"
[dropUp]="dropUp"
Expand All @@ -241,6 +246,7 @@ storiesOf("Components|Dropdown", module)
<ibm-dropdown
type="multi"
[label]="label"
[hideLabel]="hideLabel"
[helperText]="helperText"
[size]="size"
[dropUp]="dropUp"
Expand Down Expand Up @@ -272,6 +278,7 @@ storiesOf("Components|Dropdown", module)
<div style="width: 300px">
<ibm-dropdown
[label]="label"
[hideLabel]="hideLabel"
[helperText]="helperText"
[size]="size"
[invalid]="invalid"
Expand Down Expand Up @@ -313,6 +320,7 @@ storiesOf("Components|Dropdown", module)
-->
<app-reactive-forms
[label]="label"
[hideLabel]="hideLabel"
[helperText]="helperText"
[invalid]="invalid"
[invalidText]="invalidText"
Expand Down Expand Up @@ -346,6 +354,7 @@ storiesOf("Components|Dropdown", module)
<div style="width: 300px">
<ibm-dropdown
[label]="label"
[hideLabel]="hideLabel"
[helperText]="helperText"
[invalid]="invalid"
[invalidText]="invalidText"
Expand Down

0 comments on commit baaeb17

Please sign in to comment.