Project
cortex-ide
Description
The context mention shortcut buttons (@file, @selection, @workspace) each contain an Icon and a text <span class="hidden sm:inline">. At small viewport widths, the text is hidden via CSS, leaving icon-only buttons with only a title attribute and no aria-label. Since title is not reliably announced as the accessible name, these buttons become effectively unlabeled.
Visual Evidence

Affected Element
MessageInput.tsx:982-998 — three shortcut buttons:
<button title={mention.label} onClick={() => insertMention(mention)}>
<Icon name={mention.icon} />
<span class="hidden sm:inline">{mention.label}</span>
</button>
At < sm breakpoint, the <span> is display: none, leaving only the Icon with no text content and no aria-label.
Steps to Reproduce
- Resize the sidebar to narrow width (below sm breakpoint)
- The @file/@selection/@workspace buttons show only icons
- Screen reader announces "button" with no accessible name
Expected Behavior
Each button should have aria-label={mention.label} as a fallback when the text span is hidden (WCAG 4.1.2).
Actual Behavior
Icon-only buttons with empty accessible name at small viewports.
Project
cortex-ide
Description
The context mention shortcut buttons (
@file,@selection,@workspace) each contain an Icon and a text<span class="hidden sm:inline">. At small viewport widths, the text is hidden via CSS, leaving icon-only buttons with only atitleattribute and noaria-label. Sincetitleis not reliably announced as the accessible name, these buttons become effectively unlabeled.Visual Evidence
Affected Element
MessageInput.tsx:982-998 — three shortcut buttons:
At
< smbreakpoint, the<span>isdisplay: none, leaving only the Icon with no text content and noaria-label.Steps to Reproduce
Expected Behavior
Each button should have
aria-label={mention.label}as a fallback when the text span is hidden (WCAG 4.1.2).Actual Behavior
Icon-only buttons with empty accessible name at small viewports.