Skip to content

bug: repository row actions lack accessible names #235

Description

@SHAURYAKSHARMA24

Summary

The icon-only open and delete actions in each repository row have no accessible names. Screen-reader and voice-control users cannot distinguish the actions or identify which repository they affect.

Expected Behavior

Each repository-row action has a unique accessible name that includes the action and repository context, such as “Open kalyx” and “Delete kalyx”. Decorative icons are hidden from the accessibility tree.

Actual Behavior

The buttons contain only decorative SVG icons and expose no visible text, aria-label, or aria-labelledby. The violation repeats for every row.

Reproduction Steps

  1. Sign in with an account that owns at least one analysed repository.
  2. Open /repositories.
  3. Run axe-core with the WCAG 2.2 AA tag set.
  4. Inspect the icon-only open and delete actions in a repository row.
  5. Observe the button-name violation.

Severity

P1 - High

Evidence

  • axe-core 4.12.1 reports button-name with critical automated impact.
  • WCAG 2.2: 4.1.2 Name, Role, Value (Level A).
  • Manually reconfirmed through Safari accessibility inspection on 2026-08-02.

Environment

  • Browser/tooling: Chromium 151 with axe-core 4.12.1; Safari accessibility smoke check.
  • Application state: authenticated seeded repository list.
  • OS, Node/Python versions, Docker state, and original branch/commit were not recorded in the initial audit.

Acceptance Criteria

  • Open and delete actions have repository-specific accessible names.
  • Decorative SVG icons are hidden from assistive technology.
  • Existing navigation and deletion behavior is unchanged.
  • Focused repository-list regression coverage is added.
  • Frontend test, lint, and production build pass.

Roadmap Alignment

Advances the §28 trusted-output and usable-workflow criteria by making repository operations inspectable and operable without visual icon interpretation.

Related to #118.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions