Acha! Chodzilo o XHTML 1.1. W tej specyfikacji IMG i MAP i inne nie mogą być bezpośrednio w BODY. Pajączek to raportuje. Specyfikacje też to mówi, co może zawierać BODY. Wstawienie IMG i MAP w DIV nie generuje już błędów zawierania się.
Co do znaku #, to wartość USEMAP dla IMG w XHTML 1.1 jest typu IDREF i w związku z tym ze względu na wsteczną kompatybilność niektórych znaków nie można stosować, również tego #.
Spróbuj teraz zwalidować
ten plik co poprzednio. Brak błędów. Inna sprawa, że XHTML 1.1 jest marnie wspierany przez przeglądarki i taka konstrukcja mapy nie działa ani w MSIE ani w Firefox.
Pozostań więc przy XHTML 1.0 lub HTML jeśli chcesz, żeby mapy Ci działały.