Lasse Reichstein Nielsen wrote:
> "John S. Thomsen" <john.s.thomsen@gmail.com> writes:
>
>> MooreHojer wrote:
>>>>> <map id="imagemap">
>> Man bruger id i XHTML 1.0
>>
>>>> <map name="imagemap">
>> og name i HTML 4.01
>
> Man bruger også, i høj grad, "id" i HTML 4.01.
Ja, men ikke i denne sammenhæng (<map>).
> Man bruger "name" af hensyn til ældre browsere, der ikke forstår "id"
> ordentligt.
> Man kan sætte id på alle elementer, mens "name" kun kan bruges på
> nogle af dem, og i mange tilfælde betyder det bare det samme som id
> (
http://www.w3.org/TR/html4/struct/links.html#h-12.2.3).
Dette er så tilfældigvis en undtagelse.
http://www.w3.org/TR/html4/struct/objects.html#edef-MAP
>>> ahhh... det skal hede 'name' og ikke 'id', jeg har bare kopieret fra html.dk
>> Hvis man bruger begge attributter er ens markup både kompatibelt med
>> HTML 4.01 og XHTML 1.0
>>
>> <map id="imagemap" name="imagemap">...</map>
>
> Den er både kompatibel med moderne browsere og forældede browsere.
Moderne og forældede browsere er *ikke* det væsentlige i denne
sammenhæng. Moderne browsere som Firefox og Konqueror (og sandsynligvis
også Safari og iPhone) opfører sig forskelligt afhængig af mimetype.
Sender man ægte html til disse browsere fungerer <map> kun med
attributten name, mens ægte xhtml kun fungerer med attributten id. Prøv
det! Resultatet følger her for Firefox og Konqueror:
- id.html
+ id.xhtml
+ name.html
- name.xhtml
+ id+name.html
+ id+name.xhtml
Det handler om specifikationer, som er forskellige. Forskellen mellem
HTML 4.01 og XHTML 1.0 er andet og mere end blot at huske sluttags og
gåseøjne omkring attributnavne.
Den gode nyhed er at id ser ud til at blive tilladt i HTML5 i denne
sammenhæng, mens name ryger ud. Det vil formindske forskellen mellem
HTML og XHTML.