Skip to content

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

Merged
parthrohit22 merged 2 commits into
Second-Origin:devfrom
adity982:fix/235-repository-action-labels
Aug 11, 2026
Merged

fix(frontend): name repository row actions#286
parthrohit22 merged 2 commits into
Second-Origin:devfrom
adity982:fix/235-repository-action-labels

Conversation

@adity982

@adity982 adity982 commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

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.
  • Marked the public WCAG baseline row resolved and recorded the new accessible names.

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 --prefix apps/frontend test -- --run
Initial parallel Windows run: 145 passed before worker-start timeouts affected 3 route tests and prevented 7 files from starting.
Single-worker rerun: PASS — 42 files, 223 tests.

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

The branch was rebased onto current upstream/dev before these checks.

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 frontend tests, lint, and production build pass after the current-dev rebase
  • Public WCAG baseline documentation is updated
  • 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

@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.

adity982 and others added 2 commits August 11, 2026 13:12
@adity982
adity982 force-pushed the fix/235-repository-action-labels branch from 46a22a2 to f2feb59 Compare August 11, 2026 08:00
@parthrohit22

Copy link
Copy Markdown
Collaborator

Hi @adity982 ,
Before I review and merge, can you comment down here and briefly mention what changes have you made after “request changes” comment, mark conversation as resolved in comments, if you implemented all the required fixes.

@adity982

Copy link
Copy Markdown
Contributor Author

Implemented all requested follow-up on current head f2feb59: struck the #235 WCAG baseline row; added the explicit Resolved by #286 note; updated the PR checklist; revalidated the rebased head (frontend lint passed; full Vitest coverage passed serially, 42 files / 223 tests; hosted CI and CodeQL are green). GitHub reports no inline review threads on this PR, so there is no separate conversation control to resolve; the top-level requested-change blocker is fully addressed. Ready for re-review.

@parthrohit22
parthrohit22 self-requested a review August 11, 2026 09:18

@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.

@adity982 — thanks for turning the doc fix around quickly. This is an approval.

What's resolved

  • The blocking item is closed: docs/accessibility/WCAG_2_2_AA_BASELINE.md now strikes the #235 row and records "Resolved by #286 — repository open/delete actions now carry repository-specific accessible names (Open <repository> / Delete <repository>), and their icons are marked decorative." The public doc no longer asserts a violation the code no longer has, and the "documentation updated" checklist item is now accurate.
  • The code change remains correct: RepositoriesPage.tsx adds aria-label={Open ${repo.name}} / Delete ${repo.name} and marks both Lucide icons aria-hidden="true" focusable="false"; the onClick handlers are unchanged.
  • accessibility.spec.ts removes the #235 axe exception and adds explicit per-fixture getByRole('button', { name: 'Open <repo>' }) assertions across all FIXTURES.repos — stronger than the prior exception.
  • The new component test asserts the accessible name and the decorative aria-hidden SVG on both actions.

Checks

  • CI: success (run 31471319296). CodeQL: success (run 31471319305). The earlier action_required runs were the expected fork first-run workflow-approval gate, now cleared.
  • Test disclosure is honest: the parallel Windows run hit worker-timeout flakiness, and you re-ran single-worker to a clean 42 files / 223 tests plus a green build. Good.

Minor (non-blocking) nit
The strike-through inside a markdown table cell may not render as strikethrough on GitHub for all viewers. If you want it unambiguous, consider deleting the row entirely rather than striking it — but the following "Resolved by #286" note already makes the state clear, so this is optional.

Nicely done. Approving.

Tested: read the full handler block in RepositoriesPage.tsx (onClick unchanged), the new RepositoriesPage.test.tsx, the E2E delta, and the WCAG_2_2_AA_BASELINE.md strike + resolved note; confirmed latest CI and CodeQL runs report success.
Mapped against: the public WCAG 2.2 AA baseline doc (line 106 now struck; line 110's "no confirmed violation left only in the report" rule satisfied) and the PR's stated acceptance criteria.

@parthrohit22
parthrohit22 merged commit 268e831 into Second-Origin:dev Aug 11, 2026
8 checks passed
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