Dzień 16: Bez wymuszania nowych okien

Jedyną rzeczą, którą na pewno rozumie każdy użytkownik Internetu jest klawisz "Wstecz". Stanowi on integralną część procesu przeglądania Sieci. Przechodzisz do innej strony, wracasz. Oglądasz wyniki wyszukiwania, wracasz. Każdy to potrafi.

We wszystkich popularnych przeglądarkach użycie taga <a target="_blank"> i wymuszenie otwarcia linku w nowym oknie powoduje, że klawisz "Wstecz" nie działa. Nowe okno nie przejmuje historii stron odwiedzonych w oknie poprzednim, zatem klawisz "Wstecz" jest wyłączony. To jest strasznie mylące, nawet dla mnie, chociaż używam Sieci od prawie 10 lat. To zadziwiające, że w 2003 roku ludzie wciąż to robią. Nie rób tego. Nie wymuszaj otwierania linków w nowym oknie.

Zauważ, że chodzi mi o Ciebie, jako twórcę strony internetowej, nie jako jej użytkownika. Jeżeli Ty jako użytkownik zechcesz otworzyć nowe okno podczas przeglądania Sieci - śmiało, zrób to. W Internet Explorerze dla Windows przytrzymaj klawisz Shift kiedy klikasz link, a otworzy się w nowym oknie. W Netscape 6 i Mozilli przytrzymaj Control. W Internet Explorerze dla Mac'a przytrzymaj Command. W Operze - Control + Shift i nowe okno otworzy się w tle. Chodzi o to, że wybór, czy link ma się otwierać w nowym oknie, czy nie, należy do użytkownika - nie może być narzucony przez twórcę strony.

Kto na tym skorzysta?

  1. Jadzia skorzysta. Chociaż JAWS zapowiada otwarcie nowego okna na głos, to jednak dosyć łatwo to przeoczyć, ponieważ jest to powiedziane pomiędzy tekstem linku a zawartością nowej strony. Home Page Reader ma trochę lepsze rozwiązanie - odgrywa specjalny dźwięk za każdym razem kiedy otwiera nowe okno. Natomiast Window Eyes, kolejny popularny program udźwiekawiający, w ogóle nie zaznacza otwarcia nowego okna.

    Oczywiście niezależnie od tego klawisz "Wstecz" nie działa. Jeżeli Jadzia przegapi zapowiedź otwarcia nowego okna, nie może sobie po prostu zerknąć na pasek zadań i stwierdzić obecności dwóch okien przeglądarki. Będzie musiała przeczytać listę wszystkich otwartych okien używając albo skrótu INSERT+F10 programu JAWS albo standardowego ALT+TAB.

  2. Julia skorzysta. Jej Internet Explorer jest zawsze zmaksymalizowany (tak, aby mogła coś w nim widzieć) a nowe okno domyślnie również otwiera się zmaksymalizowane. Co więcej przy domyślnych ustawieniach Windows XP grupuje wielokrotne okna tej samej aplikacji pod jedną pozycją na pasku zadań, więc dla Julii praktycznie nie ma na ekranie śladu, że powstało jakieś nowe okno. Nagle klawisz "Wstecz" jest zablokowany bez żadnego widocznego powodu i Julia nie ma pojęcia dlaczego. Jeżeli uważasz, że po czymś takim przeczyta jeszcze resztę Twojej strony, to bardzo się mylisz.

  3. Bill skorzysta. Jego siostra skonfigurowała użycie paneli w Mozilli, więc Bill może szybko przejrzeć panele i zorientować się jakie strony ma aktualnie otwarte. Może też szybko się między nimi przemieszczać za pomocą CTRL+PAGEUP and CTRL+PAGEDOWN. Linki zmuszone do otwarcia nowego okna uruchamiają całkiem nowe okno Mozilli, co stwarza wrażenie, że wszystkie otwarte strony zniknęły, ponieważ nowe okno nie przejmuje paneli z okna poprzedniego.

Jak to zrobić?

  1. Nie używaj <a target="_blank">, bo to wymusza otwarcie linku w nowym oknie.
  2. Jeżeli już koniecznie musisz otworzyć nowe okno, poinformuj o tym użytkownika wprost, np. dopisując obok linku tekst "uwaga: ten link otwiera nowe okno przeglądarki", albo przynajmniej "(nowe okno)" lub oznaczając to w jakiś jednoznaczny (i dostępny) sposób. To jest pewien kompromis, najczęściej wymuszony przez okoliczności biznesowe, takie jak konieczność odseparowania treści i nie wprowadzania skojarzeń z zewnętrznym źródłem informacji. Na przykład, na stronie CNN linki do zewnętrznych źródeł informacji (często np. TIME.com) są oznaczone ikonką z opisem "external link", a na dole strony widnieje wyjaśnienie ikony: "All external sites will open in a new browser. CNN.com does not endorse external sites."
  3. Jeżeli masz na stronie opcję "otwieraj linki w nowym oknie", upewnij się, że jest ona domyślnie wyłączona.

Zobacz także

  • Jakob Nielsen: The Top Ten New Mistakes of Web Design. (Strona w języku angielskim)

    Dziesięć największych błędów popełnianych podczas tworzenia stron internetowych. Numer jeden: Wyłączanie lub utrudnianie działania klawisza "Wstecz". Numer dwa: Automatyczne otwieranie nowych okien przeglądarki.

  • W3C Web Accessibility Initiative: Example for Checkpoint 10.1 podaje przykład ostrzeżenia użytkownika o tym, że dany link otwiera nowe okno przeglądarki. (Strona w języku angielskim)
  • W3C Validator mailing list: Re: opening a link in a new window. (Strona w języku angielskim)

    Ci, którzy dbają o takie sprawy, powinni wiedzieć, że atrybut target w tagu <a> jest przedawniony i uniemożliwia poprawną walidację strony w HTML 4.01 Strict, XHTML 1.0 Strict lub którejkolwiek z późniejszych wersji.

  • WebAIM mailing list: mailto: links open new windows. (Strona w języku angielskim)

    Linki typu mailto: nie należą do problemów dostępności strony, nawet jeśli otwierają program pocztowy w nowym oknie, ponieważ to zachowanie jest zależne całkowicie od oprogramowania po stronie klienta, a nie od kodu strony internetowej. Strona z formularzem zamiast linku do adresu e-mail może być dobrym rozwiązaniem, pod warunkiem, że ten formularz będzie dostępny. Ponadto taki formularz będzie działał dla użytkowników bez zintegrowanego z przeglądarką klienta e-mail (z powodu błędów konfiguracji lub okoliczności, np. w kawiarence internetowej) oraz chroni Twój adres e-mail przez robotami zbierającymi adresy dla spamerów. Jednak z drugiej strony niektórzy ludzie naprawdę wolą użyć normalnego programu pocztowego z powodu przyzwyczajenia, funkcjonalności (np. wbudowany moduł sprawdzania pisowni) czy też możliwości przechowywania wysłanych maili. Trudno jednoznacznie zarekomendować jedną z tych metod.