Skip to content

feat(a11y): keyboard-accessible task glance tooltip - #3566

Merged
kolaente merged 1 commit into
mainfrom
feat-glance-tooltip-a11y
Aug 19, 2026
Merged

feat(a11y): keyboard-accessible task glance tooltip#3566
kolaente merged 1 commit into
mainfrom
feat-glance-tooltip-a11y

Conversation

@tink-bot

Copy link
Copy Markdown
Collaborator

Task glance card (TaskGlanceTooltip) was mouse-only: mouseenter/mouseleave handlers, no focus path, no Escape, no aria-describedby. Keyboard and AT users got none of the glance info. Follow-up from #3544 review (flagged by the a11y pass there).

Now: opens on focus of the wrapped link (same delay), sets aria-describedby on the focused element while visible, Escape dismisses without moving focus (stops propagation + preventDefault only when it actually closed the tooltip, so a surrounding <dialog> stays open), hover behaviour unchanged. Teleport no longer gated on the hover media query — the canHover check moved into the mouse handler, so keyboard focus works on touch devices too. Still not hoverable (pointer-events: none) — out of scope.

How to verify

  1. Open a project in the List view (task titles are wrapped in the glance tooltip).
  2. Tab until a task title link has focus and wait about a second.
  3. Expected: the glance card appears above the link; the focused link carries aria-describedby pointing at the card's id.
  4. Press Escape.
  5. Expected: the card disappears, focus stays on the link, no other Escape handler fires (nothing else closes).
  6. Tab to the next task title.
  7. Expected: the previous card is gone and a new one appears for the focused task.
  8. Hover a title with the mouse.
  9. Expected: unchanged — card shows after the delay and hides on mouse leave.
    Before this PR: focusing a title showed nothing; only hover worked.

…Escape

The glance card was mouse-only. It now opens on focus, links itself to
the focused element via aria-describedby and closes on Escape without
moving focus (WCAG 1.4.13).
@github-actions github-actions Bot added area/list-view Flat list view and subtask rendering in list mode area/task-editor Task detail view, inline editing, rich text concern/accessibility Accessibility / a11y, keyboard nav, screen reader labels Aug 19, 2026
@github-actions

Copy link
Copy Markdown

Preview Deployment

Preview deployments for this PR are available at:

URL Tag Commit
https://pr-3566.preview.vikunja.dev ghcr.io/go-vikunja/vikunja:pr-3566 latest
https://sha-a4f092fa50ad6910b7423e148701db64d7796fb5.preview.vikunja.dev ghcr.io/go-vikunja/vikunja:sha-a4f092fa50ad6910b7423e148701db64d7796fb5 a4f092f

The preview environment will start automatically on first visit. Subsequent pushes to this PR will update the pr-3566 image — the preview picks up the new version on restart. The per-commit URLs point to a specific version and will not change.

Run locally with Docker
docker pull ghcr.io/go-vikunja/vikunja:pr-3566
docker run -p 3456:3456 ghcr.io/go-vikunja/vikunja:pr-3566

Last updated for commit a4f092f

@kolaente
kolaente enabled auto-merge (rebase) August 19, 2026 19:43
@kolaente
kolaente merged commit 849ea1d into main Aug 19, 2026
42 checks passed
@kolaente
kolaente deleted the feat-glance-tooltip-a11y branch August 19, 2026 20:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/list-view Flat list view and subtask rendering in list mode area/task-editor Task detail view, inline editing, rich text concern/accessibility Accessibility / a11y, keyboard nav, screen reader

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants