Skip to content

fix(ui): show notif dismiss btn on keyboard focus - #1019

Merged
skevetter merged 1 commit into
mainfrom
ui-polish/notif-dismiss-focus-visible
Aug 12, 2026
Merged

skevetter merged 1 commit into
mainfrom
ui-polish/notif-dismiss-focus-visible

Conversation

@devsy-app

@devsy-app devsy-app Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Problem

In desktop/src/renderer/src/lib/components/layout/NotificationHistory.svelte, the per-notification dismiss button is hidden by default (opacity-0) and only revealed on mouse hover (group-hover/item:opacity-60, hover:!opacity-100). The button is focusable and has an aria-label, but there is no focus-visible reveal, so a keyboard user who tabs to it cannot see it. This is an accessibility gap for the notification dismiss action.

Change

Added focus-visible:opacity-100 to the dismiss button's class list so the button becomes fully visible when it receives keyboard focus, matching the existing hover-reveal behaviour for mouse users. One class token added; no logic, markup, or behaviour change.

-  class="mt-0.5 shrink-0 rounded p-0.5 opacity-0 transition-opacity hover:bg-muted group-hover/item:opacity-60 hover:!opacity-100"
+  class="mt-0.5 shrink-0 rounded p-0.5 opacity-0 transition-opacity hover:bg-muted group-hover/item:opacity-60 hover:!opacity-100 focus-visible:opacity-100"

Why it's safe / reviewable in <15 min

  • Touches a single line in one component (one CSS utility class).
  • No routing, store, IPC, or data-flow changes; no new dependencies.
  • Uses an existing Tailwind variant (focus-visible) already available in the project's utility set, consistent with the surrounding hover-based reveal pattern.
  • The aria-label="Dismiss notification" was already present, so the only missing piece was the visible focus indicator.

Verification

  • cd desktop && npm install --ignore-scripts — succeeded.
  • cd desktop && npm run check (svelte-check / TypeScript) — svelte-check found 0 errors and 0 warnings.
  • cd desktop && npx vitest run — 38 passed (38), 328 passed (328).
  • task cli:format — clean.
  • task cli:lint:ci — 0 issues.
  • task cli:test — passes except the known pre-existing pkg/git TestRepoClone* failures (stale assertion on origin/main, unrelated to this change which only touches a desktop Svelte component).

This PR was created by an AI agent as part of an automated daily UI polish job.

Add focus-visible:opacity-100 to the notification dismiss button in NotificationHistory.svelte. The button was opacity-0 and only revealed on mouse hover, so keyboard users could not see it when focused. aria-label was already present; this adds the missing visible focus indicator.
@netlify

netlify Bot commented Aug 12, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for devsydev canceled.

Name Link
🔨 Latest commit 4240e6a
🔍 Latest deploy log https://app.netlify.com/projects/devsydev/deploys/6a7c754257f95100086fd735

@netlify

netlify Bot commented Aug 12, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for images-devsy-sh canceled.

Name Link
🔨 Latest commit 4240e6a
🔍 Latest deploy log https://app.netlify.com/projects/images-devsy-sh/deploys/6a7c7542f6e46e00088439d2

@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

AI Reviewer: run a review on demand. To trigger the first review automatically, go to your organization or repository integration settings. AI can make mistakes. Always validate suggestions.

Run reviewer

TIP This summary will be updated as you push new changes.

@skevetter
skevetter marked this pull request as ready for review August 12, 2026 14:30
@skevetter
skevetter merged commit 9203814 into main Aug 12, 2026
28 checks passed
@skevetter
skevetter deleted the ui-polish/notif-dismiss-focus-visible branch August 12, 2026 14:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant