Skip to content

a11y: skip-to-main-content link in layout shell - #25

Merged
ulises-jeremias merged 1 commit into
Create-Python-App:mainfrom
KhyFee:a11y/skip-to-main-13
Aug 17, 2026
Merged

a11y: skip-to-main-content link in layout shell#25
ulises-jeremias merged 1 commit into
Create-Python-App:mainfrom
KhyFee:a11y/skip-to-main-13

Conversation

@KhyFee

@KhyFeeKhyFee commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Summary

Test plan

  • Tab from URL bar hits skip link first
  • Enter jumps to main (templates/docs/extensions via shared layout)

Summary by CodeRabbit

  • Accessibility Improvements
    • Added a keyboard-accessible “Skip to main content” link.
    • Added a clearly identified main content landmark to improve navigation for assistive technology users.

@vercel

vercelBot commented Aug 5, 2026

Copy link
Copy Markdown

@KhyFee is attempting to deploy a commit to the create-node-app Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai

coderabbitaiBot commented Aug 5, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: a2acedb4-14e3-4eb2-850b-c62f5dd08380

📥 Commits

Reviewing files that changed from the base of the PR and between 7b25987 and efb68bb.

📒 Files selected for processing (1)
  • src/components/layout-shell.tsx

📝 Walkthrough

Walkthrough

The site shell adds a keyboard-accessible “Skip to main content” link and wraps page children in a focusable <main id="main-content"> landmark.

Changes

Accessibility navigation

Layer / File(s)Summary
Skip link and main landmark
src/components/layout-shell.tsx
Adds a skip link targeting #main-content and wraps page children in a focusable <main> element.

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

Suggested reviewers:ulises-jeremias

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly and concisely describes the main accessibility change in the pull request.
Linked Issues check✅ PassedThe change directly implements issue #13 by adding a shared skip link and a focusable #main-content landmark.
Out of Scope Changes check✅ PassedThe reported changes are limited to the shared layout accessibility enhancement described in issue #13.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@KhyFee

Copy link
Copy Markdown
ContributorAuthor

Friendly ping on this accessibility PR — happy to adjust if review feedback comes up, or close it if the approach isn’t a fit. Thanks for considering!

@ulises-jeremias

Copy link
Copy Markdown
Member

Thanks for the ping — the skip-link pattern is the right one (sr-only until focus, href="#main-content").

Please do not wrap {children} in a new <main>. Most routes already render their own <main> (homepage, catalog pages, docs/layout.tsx), so this would nest landmarks and fail axe.

Two clean options:

  1. Keep the skip link in LayoutShell, and target a wrapper that is notmain:
    <div id="main-content" tabIndex={-1} className="flex-1">{children}</div>
  2. Or put id="main-content" on the existing page-level <main>s and leave the shell as a skip-link-only change.

The Vercel check is org preview authorization for the create-node-app team, not a problem with this diff. Happy to re-review after the landmark fix.

This tracks website#13.

@ulises-jeremias
ulises-jeremias merged commit 16d5b24 into Create-Python-App:mainAug 17, 2026
4 of 7 checks passed
Sign up for freeto 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.

a11y: add skip-to-main-content link in site layout

2 participants

@KhyFee@ulises-jeremias