In each set of pages, can the “site map” page be reached through an identical feature?
A user navigating your site by keyboard is looking for the site map. They find it in the footer on the home page. They navigate to a product page: no footer — the marketing template has removed this block. This criterion addresses exactly this situation. Three distinct tests, three ways to fail.
The requirement is threefold: the mechanism for accessing the site map must be of the same nature on all pages of the same set (always an <a>, or always a <button> — not one on one page and the other on another), positioned in the same place in the generated HTML code, and visually placed in the same location in the layout.
A shared footer is the safest approach. A footer component common to all templates guarantees the three conditions by default. The classic audit mistake: a "lightweight" footer on landing pages, error pages, or conversion funnels, which makes the link to the site map disappear. These pages nevertheless belong to the same set.
Warning: this criterion only applies if the site has a site map. If it does not, criterion 12.1 may be applicable instead.
3 tests to verify that the site map is accessible from each page
Identical nature of mechanism to access site map
- Take two pages from the sample belonging to the same set (e.g., home page and article page).
- Open the browser inspector on each one (not "View Source" — you need the DOM generated client-side).
- Locate the mechanism for accessing the site map on each page.
- Verify that this mechanism is of the same nature on both pages: an
<a>everywhere, or a<button>everywhere. - If the nature of the mechanism is identical: test validated. If it changes, or if the link is missing on one of the pages: test failed.
Identical structural position of site map access
- Take two pages from the sample belonging to the same set.
- In the browser inspector, locate the link or button to the site map in the generated DOM of each page.
- Verify that its position in the structure is the same: same parent element (
<footer>,<nav>...), same relative position among its siblings in the DOM. - If the structural position is identical on both pages: test validated. If the link has moved from one block to another, or if it has disappeared: test failed.
Identical visual position of site map access
- Take two pages from the sample belonging to the same set.
- Visually observe the two pages (without inspecting the code) and locate where the link or button to the site map is.
- Verify that its position on the screen is consistent: if it is at the bottom left of the page on one, it should be on the other as well.
- If the visual position is identical: test validated. If the layout has moved the element or if it has disappeared: test failed.
Examples
❌ Non-compliant : Site map link missing from footer on a landing page
<!-- Footer of the home page -->
<footer>
<nav aria-label="Useful links">
<ul>
<li><a href="/site-map">Site map</a></li>
<li><a href="/legal-notice">Legal notice</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</nav>
</footer>
<!-- Footer of the "special-offer" landing page -->
<footer class="footer-minimal">
<p>© 2026 My Site. All rights reserved.</p>
</footer>The link to the site map is present on the home page but disappears on the landing page. A user who lands directly on this page has no identical means of accessing it. Tests 12.4.1, 12.4.2, and 12.4.3 fail simultaneously.
✅ Compliant : Site map link consistent via a shared footer
<!-- Footer identical injected on all templates -->
<footer>
<nav aria-label="Footer navigation">
<ul>
<li><a href="/site-map">Site map</a></li>
<li><a href="/legal-notice">Legal notice</a></li>
<li><a href="/accessibility">Accessibility</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</nav>
</footer>The same footer component is rendered on all pages of the site, including landing pages and error pages. The <a> to /site-map is always present, in the same block, visually in the same place. The three tests pass mechanically.
Tips and pitfalls
⚠️ The "lightweight" footer on conversion pages
This is the most common audit mistake. The marketing team removes the standard footer from conversion pages to "avoid distractions". The link to the site map disappears. These pages are nevertheless part of the same set of pages as the rest of the site. Result: criterion 12.4 fails across the entire campaign.
⚠️ The nature of the mechanism changes depending on the template
On desktop, the site map is accessible via an <a> in the footer. On mobile, the same link has been transformed into a <button> that unfolds a panel. Test 12.4.1 compares the code generated client-side: if the tag changes depending on the context, the test fails even if the link remains visually present.
⚠️ SPA and dynamic rendering: audit the DOM, not the source
In a single-page application (React, Vue, Angular), the footer is a component rendered client-side. The audit concerns the generated DOM, not the raw HTML source. Use the browser inspector. If the footer loads via lazy loading or after an event, verify that it is present in the DOM at the time of comparison.
💡 Structure vs. presentation: two independent tests
Test 12.4.2 evaluates the position in the DOM (order of HTML elements). Test 12.4.3 evaluates the visual position on the screen. A link can be in the same place in the code but repositioned visually by CSS (position: absolute, order in flexbox...). Both tests must pass independently.
⚠️ Criterion not applicable without a site map
If the site does not have a site map page, criterion 12.4 is not applicable. The absence of a site map may however cause criterion 12.1 to fail (two different navigation systems). The two criteria are related but distinct: 12.4 presupposes that 12.1 is satisfied.
Frequently asked questions
Where should the link to the site map appear according to RGAA criterion 12.4?
No. The position in the footer is a common convention, not an RGAA requirement. The link can appear in the header, main navigation, or elsewhere. The requirement is consistency: whatever placement is chosen, it must be identical in nature and position on all pages of the same set.
How can I concretely verify the same place in the structure according to RGAA test 12.4.2?
Open the browser inspector on two pages and locate the link to the site map in the DOM. Verify that it is in the same parent element (same <footer>, same <nav>...) and that it occupies the same relative position among its siblings. A link that migrates from the footer to the main navigation between two templates causes this test to fail.
How does RGAA criterion 12.4 apply to 404 and 500 error pages?
Yes, if these pages are part of the same set. A 404 page whose lightweight footer removes the link to the site map causes a failure. In practice, error pages should include the same footer as the rest of the site.
What difference distinguishes RGAA test 12.4.2 (structure) from test 12.4.3 (presentation)?
Test 12.4.2 compares the order in the generated HTML code. Test 12.4.3 compares the visual position on the screen. The two can diverge: a link can be in the same place in the DOM but repositioned by CSS (order, position, transform). Each test must be evaluated separately.
How does RGAA criterion 12.4 apply to a single-page site?
No. Criterion 12.4 applies "in each set of pages". A site with a single page has no set: the criterion is not applicable. The notion of set designates a group of pages sharing the same structure and the same site map.