diff --git a/.changeset/lovely-days-march.md b/.changeset/lovely-days-march.md
new file mode 100644
index 00000000000..743c7bf5882
--- /dev/null
+++ b/.changeset/lovely-days-march.md
@@ -0,0 +1,5 @@
+---
+'@primer/react': patch
+---
+
+ActionList: Adds `aria-labelledby` to `ActionList.TrailingVisual`, making it part of the accessible name of `ActionList.Item`
diff --git a/packages/react/src/ActionList/ActionList.features.stories.tsx b/packages/react/src/ActionList/ActionList.features.stories.tsx
index 42f50eac08e..e2beee85f9e 100644
--- a/packages/react/src/ActionList/ActionList.features.stories.tsx
+++ b/packages/react/src/ActionList/ActionList.features.stories.tsx
@@ -11,6 +11,7 @@ import Box from '../Box'
 import Label from '../Label'
 import Heading from '../Heading'
 import {AnchoredOverlay} from '../AnchoredOverlay'
+import CounterLabel from '../CounterLabel'
 import {
   EyeIcon,
   BookIcon,
@@ -25,6 +26,9 @@ import {
   PeopleIcon,
   FileDirectoryIcon,
   PlusCircleIcon,
+  GitPullRequestIcon,
+  IssueOpenedIcon,
+  ProjectIcon,
   LinkExternalIcon,
 } from '@primer/octicons-react'
 import {FeatureFlags} from '../FeatureFlags'
@@ -726,6 +730,38 @@ export const GroupWithFilledTitle = () => {
   )
 }
 
+export const WithCustomTrailingVisuals = () => (
+  
+    
+      
+        
+      
+      Issues
+      
+        20
+      
+    
+    
+      
+        
+      
+      PRs
+      
+        12
+      
+    
+    
+      
+        
+      
+      Projects
+      
+        2
+      
+    
+  
+)
+
 export const ActionListWithButtonSemantics = () => {
   return (
     
diff --git a/packages/react/src/ActionList/Item.tsx b/packages/react/src/ActionList/Item.tsx
index 6894a2f7132..03e6764148f 100644
--- a/packages/react/src/ActionList/Item.tsx
+++ b/packages/react/src/ActionList/Item.tsx
@@ -261,6 +261,7 @@ export const Item = React.forwardRef(
     const labelId = `${itemId}--label`
     const inlineDescriptionId = `${itemId}--inline-description`
     const blockDescriptionId = `${itemId}--block-description`
+    const trailingVisualId = `${itemId}--trailing-visual`
     const inactiveWarningId = inactive && !showInactiveIndicator ? `${itemId}--warning-message` : undefined
 
     const ButtonItemWrapper = React.forwardRef(({as: Component = 'button', children, ...props}, forwardedRef) => {
@@ -294,10 +295,14 @@ export const Item = React.forwardRef(
       'data-inactive': inactive ? true : undefined,
       'data-loading': loading && !inactive ? true : undefined,
       tabIndex: disabled || showInactiveIndicator ? undefined : 0,
-      'aria-labelledby': `${labelId} ${slots.inlineDescription ? inlineDescriptionId : ''}`,
-      'aria-describedby': slots.blockDescription
-        ? [blockDescriptionId, inactiveWarningId].join(' ')
-        : inactiveWarningId,
+      'aria-labelledby': `${labelId} ${slots.trailingVisual ? trailingVisualId : ''} ${
+        slots.inlineDescription ? inlineDescriptionId : ''
+      }`,
+      'aria-describedby':
+        [slots.blockDescription ? blockDescriptionId : undefined, inactiveWarningId ?? undefined]
+          .filter(String)
+          .join(' ')
+          .trim() || undefined,
       ...(includeSelectionAttribute && {[itemSelectionAttribute]: selected}),
       role: itemRole,
       id: itemId,
@@ -327,7 +332,14 @@ export const Item = React.forwardRef(
 
     return (
       
         > = ({s
 
 export type ActionListTrailingVisualProps = VisualProps
 export const TrailingVisual: React.FC> = ({sx = {}, ...props}) => {
-  const {variant, disabled, inactive} = React.useContext(ItemContext)
+  const {variant, disabled, inactive, trailingVisualId} = React.useContext(ItemContext)
   return (
      & {
   inlineDescriptionId?: string
   blockDescriptionId?: string
+  trailingVisualId?: string
   inactive?: boolean
 }
 
diff --git a/packages/react/src/NavList/__snapshots__/NavList.test.tsx.snap b/packages/react/src/NavList/__snapshots__/NavList.test.tsx.snap
index e271f9f9a53..dfae7671884 100644
--- a/packages/react/src/NavList/__snapshots__/NavList.test.tsx.snap
+++ b/packages/react/src/NavList/__snapshots__/NavList.test.tsx.snap
@@ -339,7 +339,7 @@ exports[`NavList renders a simple list 1`] = `
       >