In General

<..image maps..>
 \Odef\Ar:a[#1]#2{{\def\tag:A{area}\Link[#1 ]{#2}{}\EndLink}}
 -_-_-

<..NewHaddr fix..>
 \def\:temp##1-{##1-imap}%
 \edef\:tempA{\expandafter\:temp\:tempA}%
 -_-_-

<..image maps..>+
 \Odef\Map[#1]#2#3{%
    \def\:tempd{\Map:[#1]{#2}{#3}}%
    \rm:attr{#1}\ifx \:tempB\empty  <.IMG from /Map.>\fi  \:tempd}
 
 \def\in:mp#1=#2=#3==#4<.par del.>#5{\IMG:LINK{#1}{#4#5}{#2}{#3}}
 \def\rm:attr#1{\edef\:tempB{\noexpand\rm:atr#1 <.par del.>}\:tempB}
 \def\rm:atr#1 #2<.par del.>{\def\:tempB{#1}}
 
 \Odef\Map:[#1]#2#3{%
    \NewHaddr\:tempA    <.NewHaddr fix.>%
    \NewHaddr\alt:map
    <.IMG from /Map.../EndMap.>%
    \HCode{<map\Hnewline name="\GetHname\:tempA" id="imap-\:tempA">}%
    \def\EndMap{%
       \HPage[\alt:map]{}{\let\set:mp=\st:mp \:Map}\EndHPage{}%
       \HCode{</map>}%
       \let\u:map=\empty}}
 
 \let\set:mp=\relax
 \def\st:mp#1#2#3{\def\:temp{#1#2}\ifx \:temp\empty  \else
       [\Link[#1]{#2}{}#3\EndLink]
    \fi }
 -_-_-

<..IMG from /Map.../EndMap..>
 \def\:temp{#3}\ifx \:temp\:empty\else
    \rm:attr{#1}%
    \Tag{<.auto tag.><.map tag.>#3}{\alt:map=\:tempA=#2==\:tempB}\fi
 \edef\:tempB{\noexpand\IMG:LINK{\noexpand\alt:map}{#1}}\:tempB
    \:tempA{#2}\let\:Map=\empty
 -_-_-

<..IMG from /Map..>
 \expand:after{\let\:tempc=}\csname
                    cw:<.auto tag.><.map tag.>#2\endcsname
 \ifx\:tempc\relax\else
    \edef\:tempd{\noexpand\in:mp\:tempc<.par del.>{#1}}%
    \def\:temp{#3}\ifx \:temp\empty\else
       \Tag{<.auto tag.><.map tag.>#3}{\:tempc}%
 \fi \fi
 -_-_-

<..image maps..>+
 \def\IMG:LINK#1#2#3#4{\Link[\RefFile{#1}]{}{}%
    {\def\tag:A{img}\def\HREF:{src=}\def\empty:lnk{/}%
     \Link[#2 alt="textual map"  usemap="\GetHref#3"]{#4}{}}\EndLink}
 -_-_-

<..auto tag..>
 )-_-_-

<..image maps..>+
 \def\RectArea(#1){\bgroup\def\:tempa{\M:nMx#1,}\def\:tempb{rect}\Are:}
 \def\CircleArea(#1){\bgroup\def\:tempa{#1}\def\:tempb{circle}\Are:}
 \def\PolyArea(#1){\bgroup\def\:tempa{#1}\def\:tempb{poly}\Are:}
 \def\M:nMx#1,#2,#3,#4,{\M:n{#1}{#3},%
                        \M:n{#2}{#4},\M:x{#1}{#3},\M:x{#2}{#4}}
 -_-_-

<..image maps..>+
 \Odef\Are:[#1]#2#3{%
    \xdef\:Map{\:Map\set:mp{#1}{#2}{#3}}%
    \Ar:a[#1\Hnewline shape="\:tempb"\Hnewline
          coords="\:tempa"\Hnewline alt="#3"]{#2}\egroup}
 -_-_-