diff --git a/studio/frontend/src/components/app-sidebar.tsx b/studio/frontend/src/components/app-sidebar.tsx index aac5f8f8a8..dec31f005e 100644 --- a/studio/frontend/src/components/app-sidebar.tsx +++ b/studio/frontend/src/components/app-sidebar.tsx @@ -533,6 +533,12 @@ export function AppSidebar() { data-thread-type={item.type} data-thread-id={item.id} isActive={activeThreadId === item.id} + // Expose full title via the native browser tooltip so + // sighted users can read titles that the inner span's + // `truncate` clips. The truncated span still carries + // the full text content, so screen readers already + // announce the full title without an explicit aria-label. + title={item.title} className="sidebar-nav-btn h-[32px] rounded-[10px] pl-2.5 pr-2.5 group-hover/recent-item:pr-10 group-has-[.sidebar-row-action[data-state=open]]/recent-item:pr-10 text-[14.5px] leading-[19px] tracking-nav font-medium" onClick={() => { navigate({ @@ -612,6 +618,13 @@ export function AppSidebar() { { setSelectedHistoryRunId(run.id); closeMobileIfOpen();