- From: Masayuki Nakano <notifications@github.com>
- Date: Thu, 16 Oct 2025 19:30:05 -0700
- To: w3c/uievents <uievents@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <w3c/uievents/issues/404@github.com>
masayuki-nakano created an issue (w3c/uievents#404)
As far as I've read the specs, there is no mention about `<area>` HTML element used for image map.
In my understanding, it does not make a layout object (i.e., non-empty bounding client rect) on `<img>` whose `usemap` refers the parent `<map>`. Therefore, `<area>` can be never an element underneath the pointing device. However, all browsers set some event target to an `<area>` element when the event position is in the shape of `<area>` on an `<img>`. This causes a tricky behavior from the behavior with normal elements. E.g., in the following HTML fragment:
```html
<div>
<map id="map1">
<area shape="rect" coords="0,0,100,100" href="#">
</map>
<img usemap="#map1" width="100" height="100">
</div>
```
When mouse cursor is moved over the `<img>`, browsers dispatch `mousemove` event with mouse boundary events as hoverring the `<area>`. Therefore, `mouseenter` is fired on `<div>`, `<map>` and `<area>` but not fired on `<img>` itself.
Additionally, if the position/size of `<area>` is changed or `usemap` is changed to different `<map>`, that should be treated as a layout change and mouse/pointer boundary events should be fired on the new element underneath the pointer. However, currently, Chrome and Firefox do not treat this as a layout change and do not dispatch mouse/pointer boundary events immediately. (Making an explicit layout change causes they fire mouse/pointer boundary events, so, this behavior is just a bug of them, and Firefox may cause mouse/pointer boundary events in some other cases too.)
So, I think the spec should mention:
1. there is a special case of `HTMLAreaElement`
2. changes of image map data should cause mouse/boundary events
Cc: @smaug----
--
Reply to this email directly or view it on GitHub:
https://github.com/w3c/uievents/issues/404
You are receiving this because you are subscribed to this thread.
Message ID: <w3c/uievents/issues/404@github.com>
Received on Friday, 17 October 2025 02:30:09 UTC