Skip to content

fix(frontend): name repository row actions - #286

Open
adity982 wants to merge 1 commit into
Second-Origin:devfrom
adity982:fix/235-repository-action-labels
Open

fix(frontend): name repository row actions#286
adity982 wants to merge 1 commit into
Second-Origin:devfrom
adity982:fix/235-repository-action-labels

Conversation

@adity982

Copy link
Copy Markdown

Summary

Give every repository-row open and delete action a repository-specific accessible name, hide the decorative icons from assistive technology, and pin the behavior in component and WCAG baseline coverage.

Linked issue

Closes #235

Roadmap alignment

  • Roadmap §23 workstream this advances: repository workflow quality and accessibility, as scoped by bug: repository row actions lack accessible names #235 (the private roadmap file is not present in the public checkout)
  • §28 market-fit criterion this moves toward: trusted output and usable repository workflows
  • Accepted evidence it is real (test/usage/repo state, not intent): accessible-role assertions for every seeded repository, a focused component regression, removal of the issue-specific axe exception, and passing lint/build checks

What changed

  • Added Open <repository> and Delete <repository> labels to the existing row actions.
  • Marked both Lucide icons as decorative.
  • Added focused component assertions and explicit per-fixture E2E accessible-name checks.
  • Removed issue bug: repository row actions lack accessible names #235 from the accepted axe baseline findings.

Acceptance criteria completed

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

Testing performed

npm run lint:frontend
PASS

npm run build:frontend
PASS — 2,430 modules transformed

npm --prefix apps/frontend test -- --run
PASS on the initial full run — 40 files, 221 tests
One later full run timed out in the unrelated #179 architecture deep-link test after 220/221 tests passed.

cd apps/frontend
npm exec -- vitest run src/app/pages/RepositoriesPage.test.tsx src/app/routes/router.test.tsx --reporter=verbose
PASS after rebase — 2 files, 4 tests, including the previously timed-out #179 test

Screenshots

Not applicable. This changes accessibility semantics without changing the visible UI.

Security and data considerations

None. No auth, persistence, request, or data-handling behavior changed.

Dependencies and blocked work

None.

Scope changes or remaining work

The public checkout does not include the private roadmap file, so the roadmap workstream wording above follows the alignment recorded in issue #235. No implementation work was deferred.

Contributor checklist

  • This PR targets dev
  • I claimed the issue before starting substantial work
  • The branch was created from and rebased onto the latest upstream/dev
  • This PR addresses one clearly scoped issue
  • Roadmap alignment and accepted evidence are recorded above
  • Every acceptance criterion I claim as complete is actually complete
  • Relevant tests pass; the one intermittent unrelated full-suite result is disclosed above
  • No visible documentation change is required
  • No secrets, credentials, local env files, or generated artifacts are included
  • No unrelated files were changed
  • Closing syntax is used because the issue is fully resolved
  • Dependencies and follow-up work are linked

Reviewer requested by the contribution guide: @parthrohit22

Signed-off-by: Aditya Datta <crazyme07071996@gmail.com>
@parthrohit22
parthrohit22 marked this pull request as ready for review August 10, 2026 15:46
@parthrohit22
parthrohit22 self-requested a review as a code owner August 10, 2026 15:46

@parthrohit22 parthrohit22 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @adity982 , thanks for the clean, well-scoped fix and for the honest test notes (including the disclosed #179 timeout). The code change is correct: handlers are unchanged, and you handled the private-roadmap constraint properly by scoping alignment to #235 .
I am requesting changes as,
Blocking: the public WCAG baseline doc still lists #235 as an open violation.
The PR body says #235 was "removed from the accepted axe baseline findings" — that's true for accessibility.spec.ts, but docs/accessibility/WCAG_2_2_AA_BASELINE.md still records it as a live confirmed violation at line 106, and its own rule at line 110 states no confirmed violation may be left only in the report. As written, the public doc asserts a violation the code no longer has, and the "No visible documentation change is required" checklist item is therefore inaccurate. Please strike that row and add a resolved note, e.g.:

/repositories, success list | Every open/delete icon action lacks a repository-specific accessible name (button-name) … | #235
Resolved by #286 — open/delete actions now carry repository-specific accessible names (Open <repo> / Delete <repo>); icons marked decorative.

Then re-run npm run lint:frontend and npm --prefix apps/frontend test -- --run, and push to the same branch. The component test, E2E per-fixture assertions, and aria-hidden handling are all good as-is - this doc edit is the only blocker; approval follows once it lands.

keep up the good work.

Tested: read the full handler block in RepositoriesPage.tsx (onClick unchanged), the new component test, and the E2E delta; confirmed CI is running (CodeQL passed, CI in progress) and the fork-PR workflow-approval gate is the expected first-run behaviour.
Mapped against: the public WCAG 2.2 AA baseline doc (line 106 still lists #235; its own line 110 forbids a confirmed violation remaining only in the report) and the PR's stated acceptance criteria.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bug: repository row actions lack accessible names

2 participants