Måste javascript-länkar vara omgivna av <a>-tagg?

Permalänk
Medlem

Måste javascript-länkar vara omgivna av <a>-tagg?

Hellu,

Dum fråga kanske, och jag lyckas verkligen inte ens formulera den i en googling, but here goes:

När det kommer till DOM vars klickhantering helt hanteras av js, finns det någon fördel med att omge elementet med en a-tagg? Det verkar vara standard att göra så (t.ex. <a href="#"><img></img></a>) med vad är fördelen, när man kan fånga elementets klick-event ändå?

Är det en bra praxis att omge allt klickbart med <a>? Är det nödvändigt? Och som en liten bonusfråga, måste man ange något i href? Varför används # som standard?

Tack!

Edit: Vi bortser såklart från de faktum att a-taggar fortfarande är klickbara även om webbläsaren inte har js aktiverat. Ponera att det handlar om en webbapplikation där js är självklart.

Visa signatur
Permalänk
Medlem

I och med HTML5 så krävs inte längre attributet hrefa-taggar. Exempelvis är detta giltigt enligt HTML5:

<a>Hej!</a>

Visuellt finns det inga skillnader mellan att använda en a-tagg jämfört med exempelvis en li-tagg (eftersom det går att applicera samma stil på båda), men semantiskt gör det skillnad. Det kan då påverka hur exempelvis skärmläsare läser upp sidinnehållet.

Visa signatur

Citera eller nämn gärna mig (@ToJa92) om du svarar på något jag skrivit.
Uppskattar du eller blir hjälpt av ett inlägg jag skrivit är jag tacksam om du gillar det.

Permalänk
Medlem

Det enda som kan vara negativt med att inte använda <a> är att om någon klickar på sin mitt-knapp (mouse 3) så kommer denna inte öppnas i ett nytt fönster och du måste således hantera detta själv i javascript.

edit: Och självklart om någon har fått för sig att stänga av javascript så kommer detta inte hellre funka

Permalänk
Medlem
Skrivet av timerx:

Det enda som kan vara negativt med att inte använda <a> är att om någon klickar på sin mitt-knapp (mouse 3) så kommer denna inte öppnas i ett nytt fönster och du måste således hantera detta själv i javascript.

edit: Och självklart om någon har fått för sig att stänga av javascript så kommer detta inte hellre funka

Sant detta, men problemet här är ju att eftersom <a>-taggen har href=#", så kommer ett click med mousebutton 3 fortfarande att länka till #, så man får upp den ursprungliga sidan igen i det nya fönstret. Så man måste ändå hantera allt sådant med Javascript.

Permalänk
Medlem
Skrivet av timerx:

Det enda som kan vara negativt med att inte använda <a> är att om någon klickar på sin mitt-knapp (mouse 3) så kommer denna inte öppnas i ett nytt fönster och du måste således hantera detta själv i javascript.

Å andra sidan så kan detta också vara önskvärt. Om länken t.ex. gör ett ajax-anrop och öppnar en meny eller nåt, så vill man kanske inte tillåta mitten-klick (som ändå inte skulle fungera på nåt vettigt sätt).

Jag försöker hitta någon bra artikel om det här, men det är väldigt svårsökt.

Visa signatur