A webpage should make sense even when someone cannot see its colors, pictures, or layout.
What You Need to Know
A skip link lets keyboard users jump past repeated navigation to the main content. It normally points to an ID on main or a main heading. The target and visible keyboard focus both matter.
In this example: add a working skip-to-content link.
Try the Example
Take a look at the example. We’ll explain the important lines right below it.
<a href="#main-content">Skip to main content</a>
<nav aria-label="Main navigation"><a href="/home">Home</a></nav>
<main id="main-content" tabindex="-1">
<h1>Welcome to our lessons</h1>
<p>Begin reading here.</p>
</main>
Let’s Read the Code
- <nav>: Navigation elements identify groups of important links.
- <main>: The main element marks the primary page content.
- href: Href is the URL to a related resource or destination.
- aria-label: Aria-label supplies an accessible name when a visible one is not available.
Read the named elements and attributes together. They explain how the browser connects this feature to the rest of the page.
What Happens in the Browser?
Try this with Tab and Shift+Tab. If you can, inspect the accessibility tree too; appearance alone does not tell the whole story.
What does assistive technology receive? The example includes aria-label. These relationships can explain names, states, or descriptions when used correctly. They do not automatically move focus, listen for clicks, or create keyboard handling.
Your Turn
Use Tab and Shift+Tab to visit the controls, then read their labels aloud. Is the purpose of each one clear?
Common Beginner Mistakes
- Judging the page only by how it looks, without checking its meaning and keyboard behavior.
- ARIA changes what assistive technology is told; it does not automatically add keyboard controls, visual styling, or JavaScript behavior.
Key Takeaways
- A skip link lets keyboard users jump past repeated navigation to the main content.
- <nav>: Navigation elements identify groups of important links.
- A meaningful HTML element is usually a stronger starting point than adding an ARIA role to a generic div. Also check what happens using only the keyboard.