← Rule catalog
inforequiredstructured

No semantic HTML5 landmarks

SEMANTIC_HTML_ABSENT · v1.0

What it detects

Pages built entirely from generic <div>/<span> wrappers with no HTML5 landmark elements (<main>, <article>, <nav>, <header>, <footer>).

Why it matters

Landmark elements let an agent identify the primary content region and skip chrome (navigation, footers) without guessing from CSS classes or visual layout.

How to fix

- Check the page's DOM for HTML5 landmark elements: `<main>`, `<article>`, `<nav>`, `<section>`, `<header>`, `<footer>`, `<aside>`. - Wrap the primary content region in `<main>`, self-contained content units in `<article>`, and site/page navigation in `<nav>` — replace bare `<div>` wrappers used purely for layout with the matching landmark tag where one applies. - Do this incrementally per template (product page, listing page, article page) rather than a blanket find/replace, since not every `<div>` maps to a landmark. - Verify: inspect the rendered DOM (or run axe-core) and confirm at least one recognized landmark tag is present and wraps the actual content.

References

Last reviewed: 2026-09-01 · rule v1.0