Proč (ne)otevírat odkazy do nového okna
Marek Prokop, vydáno/aktualizováno: 15.4.2002/12.09.2003
Pokud dovolíte, začnu, poněkud v rozporu s titulkem článku, tím, jak vůbec odkazy do nového okna otevírat. Začátečníkum to totiž nemusí být jasné a vy, pokročilí, jistě těch pár odstavců snadno přeskočíte.
Jak otevírat odkazy do nového okna prohlížeče
Pokud vložíte odkaz do stránky základním způsobem, tj. např.:
<a href="cilodkazu.html">Cílová stránka</a>
a uživatel na něj normálním způsobem klikne, načte se cílová stránka do aktuálního okna prohlížeče. To jistě není třeba vysvětlovat. Důležité je, že uživatel u všech moderních prohlížečů může aktivovat odkaz „nenormálním“ způsobem a otevřít tak odkaz do nového okna — má tedy možnost volby. V IE to lze provést např. kliknutím na odkaz za současnéo držení klávesy Shift.
Pokud chcete uživateli tuto možnost volby vzít a odkaz vždy otevřít do nového okna, lze toho dosáhnout atributem target
takto:
<a href="cilodkazu.html" target="_blank">Cílová stránka</a>
Nové okno má v tom případě výchozí vlastnosti (velikost, umístění, atd.) a je vždy opravdu nové. Pomocí JavaScriptu lze navíc otevřít okno s jinými než výchozími vlastnostmi, např. s určitou velikostí, v určité poloze, bez nástrojové lišty, apod.
Konečně lze otevřít odkaz i do pojmenovaného okna takto:
<a href="cilodkazu.html" target="jineokno">Cílová stránka</a>
V takovém připadě první „odkliknutí“ odkazu vytvoří nové okno jineokno
(stejné jako u _target="blank"
) a v něm zobrazí cílovou stránku. Každý další odkaz se shodným jménem v atributu target
se pak otevře opět do toho samého pojmenovaného okna, žádné nové se již nevytváří.
Problémy s otevíráním nových oken
Nyní již všichni víme, jak odkazy do nových oken otevírat a než si shrneme možnosti použití této techniky, ujasněme si problémy, které mohou nová okna znamenat pro přístupnost a použitelnost stránek.
Přístupnost
Přistupností stránek se obvykle chápe přístupnost jejich obsahu uživatelům méně rozšířených prohlížečů a zařízení a uživatelům hendikepovaným, ať už jejich zdravotním stavem (např. nevidomí), nebo vnějšími podmínkami (např. světelnými). Otázka zní, zda otevírání odkazů do nových oken přístupnost stránek snižuje. Odpověď jsem hledal v nejuznávanějším zdroji těchto informací, WCAG 1.0 [1] od W3C.
Problematiku nových oken explicitně zmiňuje 10. pravidlo WCAG 1.0, které zní:
„V mezidobí (tj. dokud se o to nepostarají prohlížeče sami — poznámka MP) používejte řešení zajišťující přístupnost tak, aby starší prohlížeče a pomocná zařízení pracovala správně.“
Jako některá další pravidla WCAG, ani toto není samo o sobě právě nejsrozumitelnější. Vše je však jasné, jakmile se podíváme na první kontrolní bod tohoto pravidla. V něm se praví:
„Dokud klienty (rozuměj prohlížeče — poznámka MP) neumožní uživatelům vypnout otevírání nových oken, nepřipusťte, aby se vyskakovací a jiná okna objevovala, nebo aby se aktivní okno měnilo bez toho, že o tom uživatele informujete.“
Tento kontrolní bod má prioritu 2, což znamená, že by jej autor měl splnit a pokud ho splní, „odstraní tím významné překážky v přístupnosti dokumentu“ [1]. Naopak, stránky, které ho nesplní, nemohou aspirovat na přístupnost úrovně AA podle WCAG 1.0.
Co to znamená v praxi? WCAG evidentně nezakazují otevírat nová okna bezpodmínečně. Pouze požadují, aby byl uživatel o otevření nového okna předem informován. Z jiných pravidel WCAG vyplývá, že by tato informace neměla být poskytnuta pouze např. barvou, či obrázkem. Zbývá tedy zřetelná informace textová, např. „odkaz se otevře do nového okna“ v závorce za odkazem, nebo upozornění na začátku stránky, že všechny odkazy se otevírají do nového okna.
Použitelnost
S použitelností, čili snadností ovládání stránek je to již složitější, neboť zde žádná jednoznačná pravidla k dispozici nejsou. Nezbývá tedy, než čerpat z uživatelských testů a průzkumů, případně z osobní zkušenosti a intuice webových autorů. Při tom je vhodné vzít v úvahu tyto skutečnosti:
Otevření nového okna může být na slabším počítači a u některých prohlížečů poměrně pomalé a prodloužit tak i o víc než 10 sekund načtení nové stránky.
Některé prohlížeče otevřou nové okno pod oknem aktivním, takže uživatel ho nemusí vůbec postřehnout.
Někdy naopak nové okno zcela překryje okno původní, což uživatel nepostřehne a otevření nového okna tak ztratí svůj autorem zamýšlený smysl.
Nezkušení uživatelé se obvykle ve více otevřených oknech obtížně orientují a snadno si pak omylem zavřou to, které je zrovna nejdůležitější.
V nově otevřeném okně nemusí být dostupná funkce prohlížeče Historie, což je pro uživatele nepraktické a může to být až matoucí.
Moderní prohlížeče a některé doplňkové nástroje (např. populární Google Toolbar) umožňují nově otevíraná okna blokovat. Toho využívá čím dál víc uživatelů, kteří se pak ke stránce otevírané v novém okně vůbec nemusí dostat - kliknou na odkaz a nic se nestane.
Kdy má smysl odkazy do nových oken otevírat
Z předešlého by se zdálo, že otevírání odkazů do nových oken přináší samé problémy. Ve skutečnosti však může mít i výhody, někdy sice zdánlivé, někdy však reálné. Zkusme si hlavní výhody vyjmenovat:
Pokud do nového okna otevíráte externí odkazy (tj. odkazy mířící mimo vaše stránky), neriskujete, že vám návštěvníci utečou a už se nevrátí. Ve skutečnosti tuto „výhodu“ považuji za poněkud falešnou — vaši návštěvnici stejně dříve či později odejdou a držet je na stránkách proti jejich vůli nemá moc smysl. Navíc se tento přístup může i obrátit proti vám, pokud si návštěvník původní okno omylem zavře a v novém nemá k dispozici historii.
Pokud však počítáte se zkušenými uživateli, může mít předešlý důvod své opodstatnění. Nové okno dá totiž uživateli výraněji na vědomí, že se již nachází na jiném serveru a může tedy zvýšit přehlednost navigace.
Výhody nového okna se dobře projeví tehdy, když uživatel postupně navštěvuje více odkazů z jedné a téže stránky. Typické je to u různých seznamů odkazů, např. výsledků hledání. V takovém případě uživateli ušetříte opakované načítání původní stránky.
Nové okno je praktické i tehdy, je-li třeba současně vidět původní stránku i stránku novou. Typicky se jedná např. o nápovědu k ovládání stránek, či k vyplnění formuláře. V takových případech je zároveň vhodné otevírat nové okno JavaScriptem tak, aby bylo menší a bez obvyklých ovládacích prvků (menu, nástrojová lišta).
Konečně je nové okno na místě tehdy, kdy slouží jen určité akci a víte, že po jejím vykonání se uživatel bude chtít vrátit k oknu původnímu. Např. se může jednat o formulář, kterým lze poslat známému upozornění na článek, nebo o okno obsahující tiskovou verzi stránky.
Závěr
Nic naplat, jednoznačný závěr tento článek mít nebude. Nelze říci „odkazy do nových oken nikdy neotevírejte“, nelze říci ani opak. Vždy záleží na konkrétním cíli, kterého chcete dosáhnout a na cílové skupině uživatelů, pro které je váš web určen.
Obecně ovšem platí, že normální je otevírat odkazy do aktivního okna prohlížeče. Tím ponecháváte uživatelům svodnou volbu. Otvíráním nových oken již uživatele více či méně omezujete a měli byste tak tedy činit až po pečlivém zvážení všech pro a proti. A pokud vám zároveň leží na srdci dobrá přístupnost vašich stránek, nezapomeňte na textové upozornění dle WCAG.