+是唯一原生、语义正确且无障碍友好的图片热区方案;usemap与map的name必须严格匹配(#仅在usemap中,大小写敏感),map需在img之后,coords基于原始像素,响应式需js动态重算,area必须含href和alt才符合可访问性要求。

用 <map></map> + @#@#@#@#@#@#@#@#@#@0 可导出多套 coords,但不能替代 JS 运行时校准<h3>area 必须带 href 和 alt 才具备功能与可访问性</h3>
<p>缺失 <code>href 会导致区域不可点击;缺失 alt 会让屏幕阅读器跳过该热区,也违反 WCAG。
-
<area shape="rect" coords="0,0,100,50" href="/home" alt="首页入口">✅ -
<area shape="rect" coords="0,0,100,50" onclick="doSomething()">>❌ 不推荐:绕过语义链接,键盘用户无法聚焦/回车触发 -
shape取值仅限rect(4值)、circle(3值:cx,cy,r)、poly(偶数个顶点坐标),多一个少一个都会使该区域失效
真正难的不是写对标签,而是当图片被 object-fit: cover 或 flex 容器裁剪时,coords 和视觉区域不再对齐——这时候必须放弃纯 HTML 方案,改用 Canvas + 事件坐标换算,或者把图片拆成多个独立 <img usemap="#nav-map"> 分别包裹链接。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











