Skip to content

Add ARIA tab semantics to BatchOperationsPanel #17

@kanweiwei

Description

@kanweiwei

The BatchOperationsPanel component (web/src/components/batch-operations/BatchOperationsPanel.tsx lines 412-424) uses <button> elements as tabs but lacks proper ARIA semantics for screen readers.

What to do:

  1. Read web/src/components/batch-operations/BatchOperationsPanel.tsx
  2. Add role="tablist" to the tab container
  3. Add role="tab" and aria-selected={isActive} to each tab button
  4. Add role="tabpanel" to the tab content panels
  5. Add aria-controls and aria-labelledby to link tabs and panels
  6. Verify with keyboard navigation (arrow keys between tabs)
  7. Run: pnpm -C web run typecheck

Skills needed: HTML accessibility, React, TypeScript

Estimated time: 30 minutes

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