W3C XHTML 1.0 Strict Compliant Image Map?

Има ли все пак карта на изображение, която да съответства на W3C XHTML 1.0 Strict?

Работя върху тази страница и когато щракна върху значката си W3C Валидатор, получавам грешка при валидиране .

There is no attribute "type", <area type="rect" coords="21,19,155,76" ...

Има ли етикети за стриктно съответствие с XHTML 1.0, които са заменили таговете ‹map› и ‹area› на картата на изображението?

Отидох в w3c и погледнах тяхната спецификация и единственото нещо, което можах да намеря, беше ‹nl› таг с вложен ‹li›, но ги пробвах и те не работят в нито един от браузърите, които опитах.


person leeand00    schedule 19.01.2009    source източник


Отговори (6)


Проверката е неуспешна, защото правилното име на атрибута е shape, т.е. редът трябва да бъде

<area shape="rect" coords="21,19,155,76" ...

Въпреки това, rect е по подразбиране така или иначе, така че можете просто да премахнете атрибута type.

Източник: XHTML 1.0 Trans DTD, потърсете ELEMENT area

person phihag    schedule 19.01.2009

Картите на изображенията не се използват толкова много, колкото преди, но няколко уебсайта (Facebook, MySpace, Flickr) ги използват за маркиране на снимки. Ето връзка, която да ви покаже метод за постигане на подобен резултат.

CSS карти на изображения

CSS Карти на изображения, Redux

A List Apart: Night of the Image Map

person Mike B    schedule 19.01.2009
comment
О..Night of the Image Map вероятно също щеше да свърши работа..но не това е нещото, което трябва да работя...все пак гласувайте за вас... - person leeand00; 07.02.2009

Вместо това използвайте a елементи на връзката и използвайте CSS, за да ги позиционирате. Нещо като (макар и не точно като) това:

<div id="myheader">
    <a href="/bg#" class="link1"><span>Link text for people without CSS</span></a>
</div>

и

#myheader {position:relative}
#myheader a {position:absolute;display:block}
#myheader a.link1 {top:5px;left:10px;width:20px;height:50px}
#myheader a span {display:none}
person Oli    schedule 19.01.2009

Успех!

Намерих отговора благодарение на някой от Ozone Asylum, който ме насочи към, Статия за List Apart на css спрайтове. Можете да направите същото нещо, но не е толкова пряко напред. (Но може да бъде XHTML съвместим!)

Всъщност направих едно тук, просто щракнете върху голямата червена стрелка, за да видите примера...

За да бъда честен обаче ще призная, че изглежда малко скъпарско...избор на снимка на клиента, не мой!

person leeand00    schedule 07.02.2009

Направих някои проучвания и изглежда, че браузърите все още не поддържат XHTML Strict съвместими изображения.

Последният ми препъни камък беше, че повечето браузъри изискват "#" в атрибута usemap, за да работят, което сега е невалидно.

Можете да заобиколите необходимостта от атрибут на име, като откриете дали даден браузър приема типа съдържание application/xhtml+xml и едва след това отговорите, използвайки този тип. (След това коригира Chrome и мисля, че Firefox, без да нарушава IE).

Играх с няколко от css решенията и накрая използвах предложението на Oli. Просто и работеше.

person Tony McCreath    schedule 20.06.2010

Честно казано, шансовете са, че ако правите карта на изображение, използвате неправилна XHTML семантика. Трябва наистина да публикувате това, което се опитвате да направите, и да видите дали те са жизнеспособни алтернативи.

person Andrew G. Johnson    schedule 19.01.2009
comment
Уауууууууууууууууууууууууууууууууууууууу - person Andrew G. Johnson; 19.01.2009