Server-Side Image Maps Must Not Be Used: How to Fix It

No Comments
Server-side image maps must not be used: how to fix it

What this check flags

This check fires when an image on your page uses the ismap attribute, which turns it into a server-side image map. That pattern sends only the raw x/y pixel coordinates of a click to the server, so it is unusable by keyboard and screen-reader users and cannot be given accessible link text. It fails WCAG 2.1 Success Criterion 2.1.1 (Keyboard) and is flagged by axe-core's server-side-image-map rule; the fix is to replace it, not patch it.

Why ismap is a dead end

The tell-tale markup is an <img> with ismap, wrapped in a link that points at a server script:

<a href="/cgi-bin/regionmap">
  <img src="/img/sales-regions.png" ismap width="800" height="450">
</a>

When a mouse user clicks, the browser appends the click coordinates to the request, e.g. GET /cgi-bin/regionmap?312,190, and the server decides where to send them. There are no discrete links, so a keyboard user has nothing to tab to, and a screen reader has nothing to announce beyond a single unlabeled image link. There is no attribute you can add to make coordinate-only navigation accessible. The correct move is to rebuild it as a client-side image map or, better, as ordinary links.

Here is the same graphic rebuilt as a client-side map, where each region becomes a real, labelable hyperlink:

<img src="/img/sales-regions.png" usemap="#regions" width="800" height="450"
     alt="Clickable map of sales regions">

<map name="regions">
  <area shape="poly" coords="0,0,400,0,400,450,0,450" href="/regions/west/"
        alt="West region">
  <area shape="poly" coords="400,0,800,0,800,450,400,450" href="/regions/east/"
        alt="East region">
</map>

Now each hotspot is keyboard-focusable and carries text. For most designs the cleanest option is to drop image maps entirely and use a list of styled links or an inline SVG with linked shapes, which is responsive and accessible without pixel coordinates.

Server-side vs client-side vs plain links

ApproachKeyboard accessible?Can carry link text?Verdict
Server-side map (ismap)NoNoReplace; this is what the check flags
Client-side map (usemap + <area alt>)YesYes, per areaAcceptable if labeled
List of real <a> linksYesYesBest for maintainability
Inline SVG with linked shapesYesYesBest for responsive graphics

How to detect it on your own site

  1. Screaming Frog. Use Custom Search or Custom Extraction with the XPath //img[@ismap]. Any hit is a server-side image map. Since this pattern is genuinely rare, the report is usually one or two legacy pages.
  2. axe DevTools. Run it on the suspect page; the violation appears as "Server-side image maps must not be used" (server-side-image-map) with the node identified.
  3. curl. curl -s https://example.com/page/ | grep -i "ismap" confirms whether the attribute is present in the raw HTML.

How to fix it

  1. Find the <img ismap> and the server endpoint its parent link points to.
  2. Work out the regions the server currently maps coordinates to; you will need those destinations for the replacement.
  3. Rebuild the navigation as plain links, a labeled client-side map, or a linked SVG. For most sites, a short list of links is the least fragile choice.
  4. Remove the ismap attribute and retire the coordinate-handling server script if nothing else uses it.
  5. Re-scan with axe and tab through the new links with the keyboard to confirm each region is reachable and announced.

FAQ

Can I just add alt text to fix a server-side image map?

No. Alt text on the image does not create discrete, focusable links, and coordinate-based clicking still excludes keyboard users entirely. That is exactly why the rule says these maps must not be used rather than must be labeled. You have to replace the mechanism.

How is this different from the image-map alt check?

The image map area elements check is about client-side maps that are salvageable by labeling each <area>. This check is about server-side maps (ismap), which have no areas to label and cannot be made accessible in place.

Do server-side image maps hurt SEO as well as accessibility?

Yes, indirectly. Search engines cannot follow coordinate-based clicks, so the destinations behind an ismap may never be discovered through that graphic. Replacing it with crawlable <a> links exposes those pages to bots as well as to assistive tech.

Why do these still exist if they are so old?

They linger in legacy CGI applications, archived microsites, and content imported from very old systems. The attribute is still valid HTML, so nothing breaks visually for a mouse user, which is why it survives until an audit surfaces it.

Is a client-side image map a safe replacement?

It is acceptable if every <area> is labeled, but pixel coordinates still do not scale on responsive layouts. For anything that needs to work on phones, prefer real links or an SVG.

For the accessible alternatives, see image map area elements need alt text and the broader images need alt check. For where these rules sit in search strategy overall, read accessibility and SEO.

Claude Vincent is a technical SEO consultant focused on crawlability, rendering, and AI-search visibility. He writes the field guides and case studies at SEO ProCheck, with a bias toward the durable, unglamorous work that decides whether search engines and AI answer engines can actually read and cite a site.

About SEO ProCheck

Technical SEO consulting and GEO strategy with 20 years of enterprise experience. Case studies, resources, and tools for search and AI visibility.

Work With Me

Technical SEO audits, GEO strategy, site migrations, and international SEO. Hourly consulting for teams who need hands-on support, not just reports.

Subscribe to our newsletter!

More from our blog