Skip to content

🎨 Palette: Add skip-to-main content links#70

Open
0m364 wants to merge 1 commit intoadd-0m364-website-1232764033486168073from
palette-skip-to-main-content-17139637552377216615
Open

🎨 Palette: Add skip-to-main content links#70
0m364 wants to merge 1 commit intoadd-0m364-website-1232764033486168073from
palette-skip-to-main-content-17139637552377216615

Conversation

@0m364
Copy link
Copy Markdown
Owner

@0m364 0m364 commented May 1, 2026

💡 What: Added a "Skip to main content" link to all HTML pages (index.html, contact.html, products.html, concepts.html) that allows keyboard users to bypass the site header and jump directly to the primary content. The link is visually hidden off-screen using transform: translateY(-100%) and becomes visible on :focus.

🎯 Why: Without a skip link, keyboard-only users (and often screen reader users) are forced to repeatedly Tab through all navigation elements on every single page load before reaching the actual content. This is a crucial WCAG accessibility requirement.

📸 Before/After:

  • Before: Pressing Tab on page load focuses the first header link.
  • After: Pressing Tab on page load focuses the new "Skip to main content" link, which slides down gracefully from the top of the screen. Pressing Enter immediately shifts focus and scroll position to the main content area.

Accessibility:

  • Added <a href="#main-content" class="skip-link">Skip to main content</a> as the first focusable element.
  • Updated <main class="container"> to <main id="main-content" class="container" tabindex="-1">. The tabindex="-1" is essential to ensure the <main> element can receive programmatic focus when the skip link is activated, fixing a common issue where focus gets lost in some browsers.
  • Added .skip-link utility class utilizing transform instead of display: none or absolute top positioning for robust cross-browser and varied-screen-size behavior.

PR created automatically by Jules for task 17139637552377216615 started by @0m364

Added a visually hidden `Skip to main content` link immediately after the `<body>` tag across all HTML pages. The link becomes visible on `:focus` to allow keyboard and screen-reader users to bypass repetitive header navigation. The primary `<main>` containers were updated with `id="main-content"` and `tabindex="-1"` to ensure programmatic focus works consistently.
@google-labs-jules
Copy link
Copy Markdown

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

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.

1 participant