Ett av de mest omdiskuterade html-attributen är target. Attributet är inte tillåtet i strict doctype för xhtml 1.0 och html 4.01, vilket fått många utvecklare fundera på hur man ska få länkar att öppnas i ett nytt fönster. Här presenterar jag några förhållningssätt till target och att öppna länkar i nytt fönster.
En vanlig ståndpunkt är att target inte behövs alls, för att man aldrig bör låta länkar öppnas i nytt fönster. Det är dåligt för användbarheten eftersom det bryter det normala beteendet hos webbsidor, och kan till och med vara förvirrande. Användare kan öppna länkar i nytt fönster själva om de vill, det är inte något man kodmässigt ska tvinga på dom. Dessutom klarar inte alla webbläsare av att öppna nya fönster, främst webbläsare i mobiler och handdatorer.
Andra menar dock att det finns tillfällen man bör låta en länk öppnas i nytt fönster, framför allt länkar som går till dokument i andra format än (x)html, till exempel pdf.
Man kan låta javascript sköta öppnandet av en länk i nytt fönster. Många tycker att det passar extra bra eftersom det är ett beteende, och beteenden ska skötas genom just script.
Funktionaliteten bör implementeras som ”unobtrusive javascript” (vad heter det på svenska egentligen!?) genom att lägga till ett onclick-event för länken som kör window.open när länken klickas på. Jesse Skinner har ett fullständigt kodexempel på detta.
För användare som har javascript avstängt kommer länken fungera som en vanlig länk och öppnas i samma fönster.
Ett annat alternativ är att medvetet bryta mot standard och använda target fastän DTD:n inte tillåter det. Man får då ett valideringsfel i sin kod. Robert Nyman tar upp detta alternativ i artikeln How evil is the target attribute?.
Av kommentarerna och annan respons att döma är det inget som bör göras.
Martin Kliehm presenterar ett sista alternativt sätt att öppna länkar i nytt fönster, och det är att använda sig av xhtml 1.1 och modifiera DTD:n. Genom att importera target-modulen gör man target-attributet möjligt att använda.
Detta verkar krångligt och är väl inte heller så aktuellt, eftersom xhtml 1.1 ändå inte kan tolkas av Internet Explorer.
För tillfället verkar alltså följande regel bäst: Öppna inte länkar i nytt fönster, och om du måste göra det; använd unobtrusive javascript.
I framtiden kan dock andra tillvägagångssätt gälla. Det kan komma att bli i css:et man sätter hur en länk ska öppnas eftersom target finns med css3-specifikationen. Attributet kommer även finnas med i nästa version av xhtml 1.1 (via Learning the world ).
Till sist: Om man nu väljer att låta en länk öppnas i nytt fönster, bör man alltid tala om när en länk öppnas i nytt fönster, t.e.x. genom att skriva ”nytt fönster” eller liknande i själva länken.
[tags]html, target-attributet, länkar, länkar i nytt fönster, användbarhet[/tags]