Skip to content

[Auto-QA] Interactive elements missing ARIA labels #19765

Description

@clubanderson

Auto-QA [Accessibility]: Missing ARIA Labels

Detected: 2026-06-27T02:10:07.298Z | Focus: Accessibility | Commit: f1740da | Run: View

Findings

### Buttons possibly missing ARIA labels

src/lib/modals/UtilitySections.tsx:245: <button
src/lib/modals/ModalRuntime.tsx:374: <button
src/lib/modals/KeyValueSection.tsx:134: <button
src/lib/modals/BaseModal.tsx:238: <button
src/lib/modals/BaseModal.tsx:282: <button
src/lib/modals/BaseModal.tsx:395: <button
src/lib/modals/tests/ModalSections-coverage.test.tsx:40: <button onClick={onClick as () => void} title={title as string} {...props}>
src/lib/modals/tests/ModalSections.test.tsx:27: <button onClick={onClick as () => void} {...props}>
src/lib/modals/tests/ModalRuntime-coverage.test.tsx:39: {showBack && onBack && Back}
src/lib/modals/tests/ModalRuntime-coverage.test.tsx:40: {onClose && Close}
src/lib/modals/tests/ModalRuntime-coverage.test.tsx:61: <button
src/lib/modals/tests/ConfirmDialog.test.tsx:23: <button onClick={onClick as () => void} disabled={disabled as boolean} {...props}>
src/lib/unified/dashboard/UnifiedDashboard.tsx:490: <button
src/lib/unified/dashboard/UnifiedDashboard.tsx:526: <button
src/lib/unified/dashboard/DashboardGrid.tsx:277: <button
src/lib/unified/dashboard/tests/UnifiedDashboard.test.tsx:28: cancel-confirm
src/lib/unified/dashboard/tests/UnifiedDashboard.test.tsx:29: {confirmLabel || 'confirm'}
src/lib/unified/demo/tests/UnifiedDemo.test.tsx:63: Toggle
src/lib/unified/demo/tests/UnifiedDemo.test.tsx:64: RegenAll
src/lib/unified/demo/tests/UnifiedDemo.test.tsx:65: <button data-testid="regen" onClick={() => ctx.regenerate('test-id')}>Regen


### Icon-only buttons without ARIA labels

src/lib/dashboards/tests/DashboardComponents.test.tsx:99: render(<DashboardHeader title="T" icon="Server" extra={{TEST_STRINGS.dashboard.custom}} />)
src/components/feedback/FeedbackModal.tsx:357: // Use closest() so child elements (e.g. / inside a )
src/components/drilldown/views/PodDrillDown.tsx:242:

{TABS.map(tab => { const Icon = tab.icon; return <button type="button" key={tab.id} id={tab-${tab.id}} role="tab" aria-controls={panel-${tab.id}} aria-selected={activeTab === tab.id} tabIndex={activeTab === tab.id ? 0 : -1} onClick={() => setActiveTab(tab.id)} onKeyDown={handleKeyDown} className={cn('flex items-center gap-2 border-b-2 px-4 py-2 text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 focus-visible:ring-offset-background', TOUCH_TARGET_SIZE_CLASS, activeTab === tab.id ? 'border-primary text-primary' : 'border-transparent text-muted-foreground hover:border-border hover:text-foreground')}>{tab.label}
})}


### Images without alt text

src/components/mission-control/svg/ProjectNode.tsx:269: <img
src/components/mission-control/PayloadCard.tsx:102: <img
src/components/marketplace/Marketplace.tsx:200: <img
src/components/marketplace/Marketplace.tsx:415: <img
src/components/marketplace/MarketplaceThumbnail.tsx:122: <img
src/components/layout/UserProfileDropdown.tsx:175: <img
src/components/layout/UserProfileDropdown.tsx:213: <img
src/components/layout/navbar/LearnDropdown.tsx:212: <img
src/components/ui/CloudProviderIcon.tsx:216: <img
src/components/ui/LogoWithStar.tsx:26: <img

Suggested Improvements

  • Add aria-label to icon-only buttons
  • Add alt text to all images
  • Use semantic HTML elements where possible
  • Test with a screen reader to verify

PR Guidance: Keep PRs small and focused. Smaller PRs have higher acceptance rates.


This issue was automatically created by the Auto-QA workflow during Accessibility focus day.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions