Description

Provides supplementary text for form fields and other components

Import

import { Description } from '@heroui/react';

Usage

We'll never share your email with anyone else.
"use client";

import {Description, Input, Label} from "@heroui/react";

export function Basic() {
  return (
    <div className="flex flex-col gap-1">
      <Label htmlFor="email">Email</Label>
      <Input
        aria-describedby="email-description"
        className="w-64"
        id="email"
        placeholder="you@example.com"
        type="email"
      />
      <Description id="email-description">
        We'll never share your email with anyone else.
      </Description>
    </div>
  );
}

API

Description Props

PropTypeDefaultDescription
classNamestring-Additional CSS classes
childrenReactNode-The content of the description

Accessibility

The Description component enhances accessibility by:

  • Using semantic HTML that screen readers can identify
  • Providing the slot="description" attribute for React Aria integration
  • Supporting proper text contrast ratios

Styling

The Description component uses the following CSS classes:

  • .description - Base description styles with muted text color

Examples

With Form Fields

<div className="flex flex-col gap-1">
  <Label htmlFor="password">Password</Label>
  <Input id="password" type="password" aria-describedby="password-description" />
  <Description id="password-description">
    Must be at least 8 characters with one uppercase letter
  </Description>
</div>

Integration with TextField

import {TextField, Label, Input, Description} from '@heroui/react';

<TextField type="email">
  <Label>Email</Label>
  <Input placeholder="Enter your email" />
  <Description>We'll never share your email</Description>
</TextField>

When using the TextField component, accessibility attributes are automatically applied to the label and description.