Close Menu
    DevStackTipsDevStackTips
    • Home
    • News & Updates
      1. Tech & Work
      2. View All

      Error’d: You Talkin’ to Me?

      September 20, 2025

      The Psychology Of Trust In AI: A Guide To Measuring And Designing For User Confidence

      September 20, 2025

      This week in AI updates: OpenAI Codex updates, Claude integration in Xcode 26, and more (September 19, 2025)

      September 20, 2025

      Report: The major factors driving employee disengagement in 2025

      September 20, 2025

      Development Release: Zorin OS 18 Beta

      September 19, 2025

      Distribution Release: IPFire 2.29 Core 197

      September 19, 2025

      Development Release: Ubuntu 25.10 Beta

      September 18, 2025

      Development Release: Linux Mint 7 Beta “LMDE”

      September 18, 2025
    • Development
      1. Algorithms & Data Structures
      2. Artificial Intelligence
      3. Back-End Development
      4. Databases
      5. Front-End Development
      6. Libraries & Frameworks
      7. Machine Learning
      8. Security
      9. Software Engineering
      10. Tools & IDEs
      11. Web Design
      12. Web Development
      13. Web Security
      14. Programming Languages
        • PHP
        • JavaScript
      Featured

      The attack on the npm ecosystem continues

      September 20, 2025
      Recent

      The attack on the npm ecosystem continues

      September 20, 2025

      Feature Highlight

      September 20, 2025

      SVAR React Core – New UI Library with 20+ Components

      September 20, 2025
    • Operating Systems
      1. Windows
      2. Linux
      3. macOS
      Featured

      Hyprland Made Easy: Preconfigured Beautiful Distros

      September 20, 2025
      Recent

      Hyprland Made Easy: Preconfigured Beautiful Distros

      September 20, 2025

      Development Release: Zorin OS 18 Beta

      September 19, 2025

      Distribution Release: IPFire 2.29 Core 197

      September 19, 2025
    • Learning Resources
      • Books
      • Cheatsheets
      • Tutorials & Guides
    Home»Development»How to Improve Web Accessibility with Landmarks – Explained with Examples

    How to Improve Web Accessibility with Landmarks – Explained with Examples

    August 5, 2025

    If you’re reading this article on the freeCodeCamp publication, you should see some visual clues in different sections of the page. The header is at the top of the page. If you scroll all the way to the bottom of the page, you can see the footer section in grey background, which is clearly separated from the body with a white background.

    freecCodeCamp, like other websites, visually separates the sections of the page to give the user clues so they can easily navigate between sections.

    While sighted users have visual clues about the sections, those who use assistive technology like a screen reader, rely on landmarks to navigate through the page.

    Simply put, landmarks are semantic regions in a web page that define the purpose of its sections. Landmarks allow assistive technologies to jump between major parts of the page, just like sighted users visually scan headings or menus.

    Common HTML landmarks include:

    • <header> – Represents introductory content or a page header.

    • <nav> – Identifies navigation links.

    • <main> – Marks the main content area of the page.

    • <aside> – Contains complementary or related information.

    • <footer> – Represents page or section footer.

    Table of contents

    • How to Navigate Landmarks in Any Browser

    • How to Navigate Through Landmarks on a Mac Voice Over

    • Why Landmarks Matter for Accessibility

    • How to Use Landmarks

    • Concrete Examples of Each Landmark

    • Final Thoughts

    How to Navigate Landmarks in Any Browser

    General Browser Support

    Most screen readers support landmark navigation with shortcut keys. Here’s a basic overview:

    Screen Reader OS Shortcut
    VoiceOver macOS Control + Option + U (to open Rotor), then arrow keys to navigate
    NVDA Windows D to move to the next landmark
    JAWS Windows R to cycle through regions
    Narrator Windows Caps Lock + Right Arrow to move by landmark
    ChromeVox Chrome OS Search + Left/Right Arrow to move between landmarks

    These shortcuts let users jump between regions—for example, from the <main> content directly to the <footer>—without tabbing through every interactive element.

    How to Navigate Through Landmarks on a Mac Voice Over

    1. Turn on VoiceOver: You can easily turn VoiceOver by opening Finder and typing VoiceOver. Toggle VoiceOver on.

      Finder searching the word, "voiceOver" Underneath is a VoiceOver with a toggle to turn on. Underneath that is VoiceOver Utility

    2. Open rotor: Once you turned on voiceOver, press Control+Option+U on your keyboard. This will open the VoiceOver rotor. You can press right and left arrow to switch through different rotor items which include navigating with all headings, links and landmarks. Screenshot below is the accessibility rotor’s landmark item option on freeCodeCamp article. The article is divided up into navigation, search, main, article and footer elements.

    Landmarks title followed up by navigation, search, main, article and footer

    1. Press down and up arrow to navigate through landmarks: Once you are on accessibility rotor’s landmark items, you can press down and up arrow to navigate to different sections of the page. If you want to go to the footer, press the down arrow until you reach footer and then press enter.

    Why Landmarks Matter for Accessibility

    1. Easier Navigation for Screen Reader Users

    Screen readers provide shortcuts to navigate through landmarks. Without landmarks, users must tab through every single link or element, which is frustrating and time-consuming. In the freeCodeCamp article example, the user might want to skip to the footer in order to find and click on the donation link. Without landmarks, the user will need to tab through the entire article to reach the footer. This is time consuming and exhausting. Landmarks provide easy navigation to users that rely on screen readers.

    2. Consistent Structure Across Pages

    When every page uses the same landmark structure, users can predict where navigation menus, main content, and sidebars are located. This predictability reduces cognitive load. With organizing the page into sections, you can easily figure out where to go next.

    3. Clear Context and Orientation

    Landmarks communicate the role of content. For instance:

    • The main landmark signals: “This is the core content of the page.”

    • The aside landmark signals: “This is supplementary or related content.”

    This helps users decide which areas to skip or focus on.

    How to Use Landmarks

    ✅ Basic Landmark Structure

    Here’s an example of a page using HTML5 landmarks:

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>Accessible Landmark Example</title>
    </head>
    <body>
    
      <header>
        <h1>Website Logo</h1>
        <nav>
          <ul>
            <li><a href="#home">Home</a></li>
          </ul>
        </nav>
      </header>
    
      <main>
        <h2>Main Content Area</h2>
        <p>This is the primary content of the page.</p>
      </main>
    
      <aside>
        <h3>Related Links</h3>
        <ul>
          <li><a href="#resource1">Resource 1</a></li>
        </ul>
      </aside>
    
      <footer>
        <p>2025 Example Company</p>
      </footer>
    
    </body>
    </html>
    

    The HTML is divided into 5 landmark sections which are header, navigation, main, aside and footer. If the screen reader wants to skip the header and go direct to the main content, they can do so by turning the accessibility rotor and clicking on the main landmark. Landmarks allow screen reader users to easily navigate through the page.

    Here’s a breakdown of what each landmark is and how it’s typically used:

    <nav> – Navigation Section

    Used for menus, site-wide links, or breadcrumbs.

    <nav>
      <ul>
        <li><a href="/about">About</a></li>
        <li><a href="/courses">Courses</a></li>
      </ul>
    </nav>
    

    Real-world use: Jump straight to the navigation to find the “Contact” page without browsing through all the content.

    <main> – Primary Page Content

    Used once per page to wrap the most important content.

    <main>
      <h1>Learn Accessibility</h1>
      <p>This article explains how to use landmarks...</p>
    </main>
    

    Real-world use: Skip past the header and sidebar to dive into the tutorial or article.

    <aside> – Complementary Information

    Used for sidebars, ads, related links, or pull quotes.

    <aside>
      <h3>Related Tutorials</h3>
      <ul>
        <li><a href="/accessibility/forms">Accessible Forms</a></li>
      </ul>
    </aside>
    

    Real-world use: Users can skip the aside if they don’t want extra content, or jump to it for helpful resources.

    <footer> – Page Footer

    Used for closing content like copyright.

    <footer>
      <p>&copy; 2025 FreeCodeCamp. All rights reserved.</p>
    </footer>
    

    Real-world use: Quickly navigate to support links, licensing info, or a newsletter sign-up.

    <header> – Top-of-Page or Section Header

    Used for introductory content, such as logos or search bars.

    <header>
      <img src="logo.png" alt="Site Logo" />
      <form role="search">
        <input type="text" aria-label="Search site" />
      </form>
    </header>
    

    Real-world use: Quickly access the search input or return to the homepage.

    Final Thoughts

    Landmarks aren’t just an accessibility bonus—they’re a fundamental part of good UX. By implementing landmarks properly, you make your site easier to navigate for users with disabilities, comply with WCAG, and create a more predictable structure for everyone.

    Source: freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More 

    Facebook Twitter Reddit Email Copy Link
    Previous ArticleAcquia Source: What it is, and why you should be learning to use it
    Next Article Build an AI assistant using Amazon Q Business with Amazon S3 clickable URLs

    Related Posts

    Development

    The attack on the npm ecosystem continues

    September 20, 2025
    Development

    Feature Highlight

    September 20, 2025
    Leave A Reply Cancel Reply

    For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.

    Continue Reading

    Nmap 7.96 Released With New Scanning Features & Upgraded Libraries

    Security

    Welcome to Manga Office

    Artificial Intelligence

    Using Nightlight in Hyprland

    Learning Resources

    Pre-Auth Exploit Chains Found in Commvault Could Enable Remote Code Execution Attacks

    Development

    Highlights

    Your Slack app is getting a big upgrade – here’s how to try the new AI features

    June 29, 2025

    New and exciting features are coming for both free and paid subscribers. Source: Latest news 

    From Backup to Cyber Resilience: Why IT Leaders Must Rethink Backup in the Age of Ransomware

    July 18, 2025

    Kaspersky ontdekt geavanceerde backdoor in Exchange-systemen

    July 18, 2025

    20+ Stunning Free NextJs Website Templates 2025

    June 30, 2025
    © DevStackTips 2025. All rights reserved.
    • Contact
    • Privacy Policy

    Type above and press Enter to search. Press Esc to cancel.