{allItemsToRender.length ? (
{children}
diff --git a/packages/react/src/NavList/NavList.test.tsx b/packages/react/src/NavList/NavList.test.tsx
index 05f92549307..af28a18f30b 100644
--- a/packages/react/src/NavList/NavList.test.tsx
+++ b/packages/react/src/NavList/NavList.test.tsx
@@ -23,6 +23,42 @@ const NextJSLikeLink = React.forwardRef(
describe('NavList', () => {
implementsClassName(NavList)
+ it('renders data-component attributes for NavList, NavList.Item, and NavList.SubNav', () => {
+ const {container, getByRole} = render(
+
+ Item 1
+
+ Item 2
+
+ Sub Item 1
+
+
+ ,
+ )
+
+ const nav = container.querySelector('nav')
+ expect(nav).toBeInTheDocument()
+ expect(nav).toHaveAttribute('data-component', 'NavList')
+
+ const item1Link = getByRole('link', {name: 'Item 1'})
+ expect(item1Link).toBeInTheDocument()
+ expect(item1Link).toHaveAttribute('data-component', 'NavList.Item')
+
+ const item2Button = getByRole('button', {name: 'Item 2'})
+ expect(item2Button).toBeInTheDocument()
+ expect(item2Button).toHaveAttribute('data-component', 'NavList.Item')
+
+ const subNav = container.querySelector('[data-component="NavList.SubNav"]')
+ expect(subNav).toBeInTheDocument()
+
+ // Expand so nested links are in the accessible tree
+ fireEvent.click(item2Button)
+
+ const subItem1Link = getByRole('link', {name: 'Sub Item 1'})
+ expect(subItem1Link).toBeInTheDocument()
+ expect(subItem1Link).toHaveAttribute('data-component', 'NavList.Item')
+ })
+
it('supports TrailingAction', async () => {
const {getByRole} = render(
diff --git a/packages/react/src/NavList/NavList.tsx b/packages/react/src/NavList/NavList.tsx
index 524281f4018..6af6985976b 100644
--- a/packages/react/src/NavList/NavList.tsx
+++ b/packages/react/src/NavList/NavList.tsx
@@ -29,7 +29,7 @@ export type NavListProps = {
const Root = React.forwardRef(({children, ...props}, ref) => {
return (
-