Website problems
Menu links that lead nowhere
The primary navigation is how most visitors move through a site, which makes a broken entry in it more expensive than a broken link anywhere else. The failures are unglamorous: an entry whose target is a placeholder, an entry pointing at a page that no longer exists, a dropdown parent that cannot be activated, an icon-only control with nothing a screen reader can announce. Each loses visitors quietly, and each is usually one component rather than many pages.
The shapes a dead entry takes
A placeholder target — a hash, a hash followed by nothing, or an empty attribute — left where a real destination was meant to go.
A target pointing at a page that was removed or moved, which is a broken link in the most visible position on the site.
A dropdown parent whose own target is a placeholder because it exists only to open a submenu, which breaks for anyone who cannot hover.
An entry rendered conditionally that renders as an empty element when its condition fails.
An icon-only entry with no text and no accessible name, which is announced as a link with no destination described.
Why it costs more than a broken link elsewhere
The navigation appears on every page, so a single defect is present on the whole site.
It is the first thing a visitor uses when they do not find what they came for, which is the moment a failure costs most.
Crawlers follow it to discover the site's structure, so an entry that leads nowhere removes a discovery path for everything beneath it.
And it is the element users trust most: an entry that does nothing reads as the site being broken rather than as one link being wrong.
The dropdown parent problem specifically
A parent entry that only opens a submenu is frequently given a placeholder target so it looks like a link.
On a mouse it works, because hovering opens the submenu and the target is never followed.
On a keyboard or a touch device, activating it navigates to the placeholder — which does nothing or jumps to the top of the page.
The correct markup is a button with an expanded state when the parent only opens a submenu, and a real link when it also has a destination.
Which is the same distinction as anywhere else: a control that acts is a button, a control that navigates is a link.
How to fix it
Give every entry a real destination, or make it a button if it does not navigate.
Give every entry an accessible name — visible text, or a label where the entry is an icon.
Label the navigation landmark itself, so assistive technology offers it as a named region rather than an unnamed list.
Remove entries whose destination no longer exists rather than pointing them at the home page, which tells a visitor nothing.
Fix it in the component rather than per page, since that is almost always where it lives.
The mobile variant
A collapsed menu whose toggle has no accessible name, which is the most common mobile navigation defect.
A toggle implemented on a non-interactive element, which a keyboard cannot reach at all.
Entries that exist in the desktop menu and are dropped from the mobile one, which makes part of the site unreachable on a phone.
A submenu that cannot be opened without hovering, which no touch device can do.
Each of those is the same class of defect appearing at a different viewport, which is why the navigation is worth checking at both.
How to check it yourself
View source and read every target in the navigation — a hash alone or an empty attribute is the finding.
Tab through the menu and activate each entry with the keyboard, which finds the dropdown parents immediately.
Check the menu at a phone viewport, where the markup is frequently different.
Run a link check restricted to the navigation, which is a small list and the highest-value one on the site.
Listen to the menu with a screen reader, which is where unnamed icon entries become obvious.
How VeriFixScan detects it
`structure.menu` analyses the primary navigation region: its links, its ARIA attributes, its sub-menus and its dead entries.
`structure.navigation` compares navigation across the crawled pages and checks the key pages are linked from it.
`availability.broken_links` reports targets that answer with an error, which covers the entries pointing at removed pages.
`mobile.menu` and `mobile.navigation` examine the same region at a phone viewport.
`accessibility.interactive_elements` reports elements made interactive without the semantics that make them reachable, which is the dropdown parent case.
Frequently asked questions
- What should a dropdown parent that only opens a submenu be?
- A button with an expanded state. A placeholder link works with a mouse and navigates to nothing on a keyboard or a touch device.
- Can I point a removed page's entry at the home page?
- It stops the error and tells the visitor nothing about what happened. Removing the entry, or pointing it at the real successor, is the honest answer.
- Why check the mobile menu separately?
- Because the markup is frequently different: entries get dropped, toggles get built on non-interactive elements, and submenus depend on hover that no touch device has.
Sources
Related
VeriFixScan crawls a site and applies its checks to every page it reaches, keeping the evidence behind each finding. Scanning one website is free.
Scan a website