shadcnui

Shadcn `DialogContent` requires a `DialogTitle` for the component to be accessible for screen reader users


I'm getting the following error in my JavaScript console every time I open my Shadcn Sheet component

DialogContent requires a DialogTitle for the component to be accessible for screen reader users.

I'm confused because I don't use any Dialog components in my sheet, so why is this happening and how do I fix this error? Here's my relevant code for the Sheet component:

<Sheet open={openMenu} onOpenChange={setOpenMenu}>
  <SheetTrigger asChild>
    <Button variant="ghost">
      <MenuIcon color={location.pathname === "/" ? "white" : "black"} size="2em" />
    </Button>
  </SheetTrigger>
  <SheetContent side="right" className="fixed z-50">
    <div >
      <p>Sheet Content</p>
    </div>
  </SheetContent>
</Sheet>

Solution

  • The Shadcn Sheet component is an extension of the Dialog component, and so <SheetContent> requires a <SheetTitle> just like a regular Dialog component requires . Just add a sheet title underneath your sheet content and the error will go away.

    <SheetContent side="right">
      <SheetTitle>Menu</SheetTitle> // Add a Sheet title
    </SheetContent>
    

    If you don't want the title to show up in your application, use radixUI's VisuallyHidden component like so:

    <VisuallyHidden.Root>
      <SheetTitle>
        Menu
      </SheetTitle>
    </VisuallyHidden.Root>