Skip to content

dashboard: enable keyboard activation of dashboard items (fixes #10248) - #10253

Open
RyanS4 wants to merge 2 commits into
masterfrom
10248-dashboard-card-keyboard-access
Open

dashboard: enable keyboard activation of dashboard items (fixes #10248)#10253
RyanS4 wants to merge 2 commits into
masterfrom
10248-dashboard-card-keyboard-access

Conversation

@RyanS4

@RyanS4 RyanS4 commented Aug 7, 2026

Copy link
Copy Markdown
Member

Fixes #10248

  • Adds Enter and Space keydown navigation handling on dashboard items when selected
  • Redefines navigation router handling for dashboard items

Summary by CodeRabbit

  • New Features

    • Dashboard items can now be opened using keyboard navigation.
    • Pressing Enter or Space activates an item.
    • Item navigation preserves available return-state information.
  • Bug Fixes

    • Prevented accidental navigation when interacting with recently dragged dashboard items.

@coderabbitai

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@Mutugiii, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 26 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Repository UI

Review profile: QUIET

Plan: Pro Plus

Run ID: 860e7d7c-51f2-4a0f-8728-69a62f33cc1c

📥 Commits

Reviewing files that changed from the base of the PR and between 5156936 and 7b582de.

📒 Files selected for processing (3)
  • src/app/dashboard/dashboard-tile.component.html
  • src/app/dashboard/dashboard-tile.component.ts
  • src/app/dashboard/dashboard-tile.scss
📝 Walkthrough

Walkthrough

Dashboard tiles now support keyboard activation and router-based item navigation. Navigation skips missing-link or recently dragged items, normalizes links, and preserves optional return state.

Changes

Dashboard tile navigation

Layer / File(s) Summary
Router navigation implementation
src/app/dashboard/dashboard-tile.component.ts
DashboardTileComponent injects Router and ActivatedRoute. navigateToItem guards navigation, normalizes links, applies optional return state, and navigates relative to the current route.
Keyboard tile activation
src/app/dashboard/dashboard-tile.component.html
Dashboard items expose button semantics and invoke navigateToItem(item) for Enter and Space key events. The empty-state label content remains unchanged.

Estimated code review effort: 2 (Simple) | ~10 minutes

Suggested reviewers: mutugiii

Sequence Diagram(s)

sequenceDiagram
  participant User
  participant DashboardTileComponent
  participant ActivatedRoute
  participant Router
  User->>DashboardTileComponent: Press Enter or Space on a dashboard item
  DashboardTileComponent->>DashboardTileComponent: Check item link and recent drag state
  DashboardTileComponent->>ActivatedRoute: Use current route for relative navigation
  DashboardTileComponent->>Router: Navigate with normalized link and optional return state
Loading
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the keyboard activation change for dashboard items.
Linked Issues check ✅ Passed The changes add Enter and Space keyboard activation and route focused dashboard items to their content, satisfying issue #10248.
Out of Scope Changes check ✅ Passed The changes are limited to dashboard keyboard handlers and related router navigation required by issue #10248.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 10248-dashboard-card-keyboard-access

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/app/dashboard/dashboard-tile.component.html`:
- Around line 38-39: Prevent delete-button keyboard events from reaching the
tile’s key handlers by updating the delete button’s keydown handling, covering
both Enter and Space while preserving its deletion behavior. Use event
propagation control or target/currentTarget filtering so the tile’s
navigateToItem handler is never invoked, and add keyboard coverage for both
keys.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 0eb5984c-5100-420c-becd-bb380c647bfc

📥 Commits

Reviewing files that changed from the base of the PR and between 6c3ea09 and 5156936.

📒 Files selected for processing (2)
  • src/app/dashboard/dashboard-tile.component.html
  • src/app/dashboard/dashboard-tile.component.ts

Comment thread src/app/dashboard/dashboard-tile.component.html Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Dashboard: content cards not activatable when tabbing

2 participants